@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200..1000&display=swap');
:root{font-family:"Nunito", sans-serif;color:#17202a;background:#f5f7f9;--line:#e7ebee;--muted:#68737d;--dark:#111;--danger:#a52a2a}
*{font-family:"Nunito", sans-serif;margin:0;padding:0;box-sizing:border-box;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}
body{margin:0}

.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1085px)/2));position:sticky;top:0;z-index:20}
.topbar .brand{display:flex;text-decoration:none}
.topbar .brand img{width:140px;height:auto}

.topbar nav{width:100%;max-width:600px;height:100%;position:fixed;right:-600px;top:0;z-index:3;background-color:#111;display:flex;flex-direction:column;gap:3px;padding:0 10px}
.topbar nav.active{right:0;}
.topbar .overlay-menu{width:100%;height:100%;background-color:#000000a1;position:fixed;left:0;top:0;z-index:2;backdrop-filter:blur(10px);display:none}
.topbar .overlay-menu.active{display:block}
.topbar nav .logo{width:100%;height:60px;display:flex;align-items:center;border-bottom:1px solid #454545;margin-bottom:15px}
.topbar nav .logo a{width:auto;height:auto;display:flex;background:transparent;padding:0;border-radius:0}
.topbar nav .logo a img{width:100px;height:auto}
.topbar nav > a,.linkbtn{width:100%;height:50px;background-color:#2d2d2d;color:#c5c5c5;display:flex;align-items:center;padding:0 10px;border-radius:5px;font-size:18px;font-weight:600;border:0;text-decoration:none;cursor:pointer}
.topbar.header-adm nav > a, .topbar.header-adm .linkbtn{height:auto;font-size:14px;padding:5px 10px}
.topbar.header-adm nav > a:first-child{margin-top:15px}
.topbar nav form{width:100%;}

.topbar .actions-header{display: flex;align-items:center;gap: 20px}

.topbar .icon-messages-to-sindico{width:27px;height:27px;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center}
.topbar .icon-messages-to-sindico svg{width:27px;height:27px;stroke:#0c1014}

.topbar .icon-messages{width:27px;height:27px;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center}
.topbar .icon-messages svg{width:27px;height:27px;stroke:#0c1014}

.topbar .search-posts{width:27px;height:27px;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center}
.topbar .search-posts svg{width:27px;height:27px;stroke:#0c1014}
.topbar .wrap-form-search-posts{width:100%;height:100%;position:fixed;left:0;top:0;z-index:100;background-color:#000000bf;backdrop-filter:blur(10px);display:none;align-items:start;justify-content:center;text-align:center;padding:20px}
.topbar .wrap-form-search-posts.active{display:flex}
.topbar .wrap-form-search-posts form{width:100%;max-width:600px;height:160px;background-color:#fff;border-radius:20px;box-shadow:0 10px 20px #00000026;display:flex;align-items:center;justify-content:center;gap:20px;margin:0;position:relative}

.topbar .wrap-form-search-posts form .close-search{width:35px;height:35px;background-color:#f44336;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-size:30px;border-radius:10px;position:absolute;right:-10px;top:-10px;border:3px solid #fff;cursor:pointer}
.topbar .wrap-form-search-posts form .close-search:hover{background-color:#ff5722}

.topbar .user-profile{width:45px;height:auto;border-radius:100%;border:2px solid #dbe0e9;cursor:pointer}
.topbar .user-profile:hover{border:2px solid #06c781}

.topbar .profile-default{width:45px;height:45px;background-color:#f0f2f5;border:2px solid #dbe0e9;display:flex;align-items:center;justify-content:center;border-radius:100%;cursor:pointer}
.topbar .profile-default:hover{background-color:#06c78121;border:2px solid #06c781}
.topbar .profile-default svg{width:35px;height:35px;border-radius:100%}
.topbar .profile-default svg path{fill:#183568}
.topbar .profile-default:hover svg path{fill:#06c781}

.topbar .close-menu{width:35px;height:35px;background-color:#f44336;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-size:30px;border-radius:10px;position:absolute;right:10px;top:12px;cursor:pointer}
.topbar .close-menu:hover{background-color:#ff5722}

.shell{max-width:1100px;margin:auto;padding:25px 20px}

.banner{width:100%;margin-bottom:20px}
.banner .content{width:100%;height:150px;display:flex;flex-direction:column;justify-content:center;background-image:linear-gradient(190deg,#fff 0%,#e5eaef 100%);border:1px solid #e5eaef;border-radius:20px;padding:0 270px 0 30px;position:relative}
.banner .content:before{width:190px;height:140px;content:"";position:absolute;left:0;bottom:0;z-index:1;background-image:linear-gradient(190deg,transparent 0%,#06e59417 100%);border-radius:350px 280px 150px 80px}
.banner.banner-community .content:before{background-image:linear-gradient(190deg,transparent 0%,#bfd8ff63 100%)}
.banner .content:after{width:240px;height:120px;content:"";position:absolute;right:20px;bottom:0;z-index:1;background-image:linear-gradient(190deg,transparent 0%,#bfd8ff63 100%);border-radius:350px 280px 150px 100px}
.banner .content h2{color:#73808f;font-size:16px;font-weight:800;margin:0;position:relative;z-index:3}
.banner .content h3{color:#17202a;font-size:24px;font-weight:800;margin:3px 0;position:relative;z-index:3}
.banner .content p{color:#73808f;font-size:18px;font-weight:400;margin:0;position:relative;z-index:3}
.banner .content img{width:205px;height:auto;position:absolute;right:20px;bottom:0;z-index:2}
.banner.banner-community .content img{width:170px;right:60px;bottom:-8px}

.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 12px 40px rgba(20,30,40,.045)}
.auth-card{max-width:520px;margin:4vh auto}
.wide{max-width:850px;margin:0 auto}
.center{text-align:center}
.auth-card .actions{justify-content:space-between}

.status-icon{width:48px;height:48px;border-radius:15px;background:#111;color:#fff;display:grid;place-items:center;font-weight:800;margin:auto}

h1{font-size:32px}
h2{margin-top:30px}
.muted{color:var(--muted)}
.eyebrow{font-size:12px;font-weight:850;letter-spacing:.12em;color:#77828c}
.alert{padding:12px 14px;border-radius:12px;margin:0 0 18px}
.alert.error{background:#fff0f0;color:#8b1e1e}
.alert.success{background:#edf8f0;color:#216a35}
.alert.info{background:#eef5ff;color:#24588b}
form{display:grid;gap:16px;margin:24px 0}
form.inline{display:inline;margin:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
label{display:grid;gap:7px;font-weight:700;font-size:14px}
input,select,textarea{width:100%;border:1px solid #d9dfe4;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}
.btn{border:1px solid #d9dfe4;border-radius:12px;padding:12px 16px;background:#fff;font-weight:800;text-decoration:none;color:inherit;cursor:pointer;display:inline-block;text-align:center}
.btn.primary{background:#111;color:#fff;border-color:#111}
.btn.danger{color:var(--danger);border-color:#efcaca}
.btn.small{padding:8px 10px;font-size:11px}
.password-wrap{position:relative;display:block}
.password-wrap input{padding-right:48px}

.eye{width:25px;height:36px;position:absolute;right:7px;top:6px;border:0;background:transparent;cursor:pointer}
.eye svg{width:25px;height:36px;fill:#17202a}
.eye[aria-label="Mostrar senha"] svg{fill:#17202a}
.eye[aria-label="Ocultar senha"] svg{fill:#43a047}

.text-link{color:#17202a}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
.stat{text-decoration:none;color:inherit}
.stat strong{font-size:30px;display:block}
.stat span{color:var(--muted)}
.page-head,.dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.table-card{padding:0;overflow:hidden}
.table-scroll{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:12px;letter-spacing:.06em;color:#69747e}
.user-cell{display:flex;gap:12px;align-items:center}
.user-cell img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.user-cell small{display:block;color:var(--muted);margin-top:3px}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.status{font-size:11px;font-weight:850;text-transform:uppercase;padding:6px 9px;border-radius:999px;background:#edf0f2}
.status.active{background:#e9f7ee;color:#26713b}
.status.pending{background:#fff5d8;color:#7a5a00}
.status.blocked,.status.rejected{background:#fff0f0;color:#8b1e1e}
.check-row{display:flex;align-items:center;gap:10px}
.check-row input{width:auto}

.photo-field{width:100%;background-color:#f5f7f9;grid-column:1 / -1;text-align:center;margin-bottom:20px;padding:20px 20px 25px 20px;border-radius:20px}
.photo-field span{font-size:20px;font-weight:800}
.avatar-picker{width:100%;display:flex;flex-direction:column;align-items:center;gap:5px}
.avatar-picker img{width:150px;height:150px;border-radius:100%;object-fit:cover;border:2px solid #dbe0e9}
.avatar-picker .btn{border:none;background-color:#e3e8ed;padding:6px 20px 5px 20px;font-size:12px}
.avatar-picker .btn:hover{background-color: #d2e1c0;}

.crop-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:100;display:grid;place-items:center;padding:20px}
.crop-modal[hidden]{display:none}
.crop-dialog{width:min(650px,100%);background:#fff;border-radius:20px;overflow:hidden}
.crop-head,.crop-actions{display:flex;align-items:center;justify-content:space-between;padding:16px 18px}
.crop-head button{border:0;background:none;font-size:28px;cursor:pointer}
.crop-stage{height:450px;background:#111}
.crop-stage img{max-width:100%;display:block}
.crop-actions{justify-content:flex-end;gap:10px}
hr{border:0;border-top:1px solid var(--line);margin:30px 0}

@media(max-width:760px){
  .topbar{height:60px;padding:0 10px}
  .topbar .brand img{width:100px}
  .topbar .header-poll-alert{width:50px;height:50px;background-color:#fff;border:1px solid #d7dfe5;border-radius:15px;box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);position:fixed;right:10px;bottom:10px}
  .topbar .header-poll-alert > span{right:-6px;top:-6px}
  .form-grid,.grid{grid-template-columns:1fr}
  .shell{padding:10px 10px 20px 10px;}
  .shell.page-feed{padding:10px 0 20px 0}
  .shell.page-community{padding:10px 0 20px 0}
  .shell.page-profile{padding:10px 0 20px 0}
  .banner{margin-bottom:10px;padding:0 10px}
  .banner .content{height:120px;border-radius:10px;padding:0 130px 0 10px}
  .banner.banner-community .content{padding:0 120px 0 10px}
  .banner .content:before{width:150px;height:110px;border-radius:350px 280px 150px 35px}
  .banner .content:after{width:115px;height:90px;right:5px}
  .banner .content h2{font-size:12px}
  .banner .content h3{font-size:18px;line-height:20px;margin:1px 0}
  .banner .content p{width:100%;font-size:12px}
  .banner .content img{width:125px;right:5px}
  .banner.banner-community .content img{width:105px;right:10px;bottom:7px}
  .card{padding:20px}
  .crop-stage{height:360px}
  h1{font-size:27px}
}

.smtp-diagnostic{border:1px solid #f0c7c7;background:#fff8f8;border-radius:14px;padding:16px 18px;margin:0 0 20px}
.smtp-diagnostic p{margin:7px 0 10px}
.smtp-diagnostic details{margin-top:8px}
.smtp-diagnostic summary,.log-detail summary{cursor:pointer;font-weight:800}
.smtp-diagnostic pre,.log-detail pre{white-space:pre-wrap;word-break:break-word;background:#111820;color:#edf3f6;padding:12px;border-radius:10px;font-size:12px;line-height:1.45;max-width:100%;overflow:auto}

.log-detail{margin-top:8px;min-width:280px}
.log-detail strong{display:block;margin-bottom:6px;text-transform:uppercase;font-size:11px;color:#68737d}

.feed-shell{max-width:720px;margin:0 auto}
.feed-title-row{align-items:center;justify-content:space-between;gap:16px}

.feed-search-result-title{width:100%;margin-bottom:23px}
.feed-search-result-title span{width:100%;display:block;background-color:#e3edd8;border-radius:10px;padding:10px 20px}

.feed-resume{width:100%;background-color:#fff;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px;border:1px solid#d7dfe5;border-radius:15px;padding:15px}
.feed-resume .total-posts{color:#17202a;font-size:16px;font-weight:800;line-height:1}
.feed-resume .view-switch{display:flex;flex-direction:row;justify-content:end}
.feed-resume .view-switch .view-toggle{width:40px;height:40px;background-color:#fff;border:2px solid #d7dfe5;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.feed-resume .view-switch .view-toggle svg{width:26px;height:26px;stroke:#96aab9}
.feed-resume .view-toggle svg:nth-child(2){display:none}
.feed-resume .view-toggle.active svg:first-child{display:none}
.feed-resume .view-toggle.active svg:nth-child(2){display:block}


.feed-list{display:grid;gap:25px}
.feed-card{background:#fff;border:1px solid #d7dfe5;border-radius:20px;overflow:hidden;box-shadow:0 12px 40px rgba(20,30,40,.04)}
.feed-card-head{padding:15px 17px}
.feed-author{color:#17202a;display:flex;align-items:center;gap:11px}
.feed-author a{color:inherit;text-decoration:none}
.feed-author a.photo{display:flex;border-radius:100%;position:relative}
.feed-author a.photo img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid #607d8b30}
.check .feed-author a.photo:after{width:20px;height:20px;content:"";background-image:url(../img/check.svg);background-position:center;background-repeat:no-repeat;background-size:100%;position:absolute;right:-3px;bottom:-3px;border-radius:100%}
.avatar-fallback{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid #607d8b30}
.avatar-fallback{background:#111;color:#fff;display:grid;place-items:center;font-weight:900}
.feed-author small{display:block;color:var(--muted);margin-top:3px}
.feed-media{position:relative;background:#f0f2f5;aspect-ratio:1/1}

.carousel-track{display:flex;width:100%;height:100%;transition:transform .28s ease;position:relative;z-index:1}
.carousel-slide{flex:0 0 100%;width:100%;height:100%}

.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.carousel-slide img.is-pinching-image{transition:none;}

.carousel-btn{display:none;position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:29px;line-height:1;cursor:pointer;z-index:2}
.carousel-btn.prev{left:12px}
.carousel-btn.next{right:12px}
.carousel-dots{width:100%;position:relative;display:flex;align-items:center;justify-content:center;gap:5px;background-color:#fff;padding-top:7px}
.carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#0000003d;cursor:pointer}
.carousel-dots button.active{background:#4a5df9}

.feed-actions{display:flex;gap:20px;padding:14px 17px 2px}
.feed-actions .wrap-like{display:flex;align-items:center;gap:5px;}
.icon-action{border:0;background:none;font-size:27px;cursor:pointer;line-height:1}
.icon-action.liked{transform:scale(1.04)}

.icon-action[data-like-button]{}
.icon-action[data-like-button] > span{width:24px;height:24px;display:block;}
.icon-action[data-like-button] > span svg{}
.icon-action[data-like-button] > span svg path{stroke:#000;}

.icon-action.liked[data-like-button] > span svg{fill:#4a5df9;}
.icon-action.liked[data-like-button] > span svg path{stroke:transparent;}

.icon-action[data-show-comments]{display:flex;align-items:center;gap:2px;}
.icon-action[data-show-comments] span{color:#17202a;font-size:16px;font-weight:700;}
.icon-action[data-show-comments] svg{width:24px;height:24px;display:block;}
.icon-action[data-show-comments] svg path{stroke:#000;}

/* Zoom por pinça no feed */
.feed-card:has(.feed-media.is-pinching){overflow:visible;position:relative;z-index:50}
.feed-media.is-pinching{z-index:100;overflow:visible}
.feed-media.is-pinching .carousel-track{position:relative;z-index:200;overflow:visible}
.feed-media.is-pinching .carousel-slide{overflow:visible}
.feed-media.is-pinching .carousel-slide img{position:relative;z-index:110}
.feed-media.is-pinching .carousel-dots{z-index:1}
.feed-card:has(.feed-media.is-pinching) .feed-actions{position:relative;z-index:1}

.feed-body{padding:8px 17px 17px}
.feed-body h2{font-size:17px;margin:0 0 5px 0}
.post-description{line-height:1.55;margin:0 0 16px}
.comments-list{display:grid;gap:10px;margin:14px 0}
.comment-row{display:flex;align-items:flex-start;gap:8px}
.comment-row img{width:28px;height:28px;border-radius:50%;object-fit:cover}
.comment-row p{font-size:14px;margin:4px 0;line-height:1.4}
.empty-state{text-align:center}
.post-media-box{border:1px dashed #cfd6dc;border-radius:16px;padding:18px}
.post-media-head{display:flex;justify-content:space-between;gap:18px;align-items:center}
.post-media-head p{margin:5px 0 0}
.post-image-previews,.existing-post-images{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.post-image-preview{position:relative;aspect-ratio:1/1}
.post-image-preview img,.existing-post-images img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}
.post-image-preview button{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;cursor:pointer;font-weight:900}
.small-copy{font-size:12px}
.feed-error{position:fixed;right:20px;bottom:20px;max-width:360px;background:#111;color:#fff;padding:13px 16px;border-radius:12px;z-index:200;box-shadow:0 10px 35px rgba(0,0,0,.2)}

.feed-card.without-photos{display:flex;flex-direction:column}
.feed-card.without-photos .feed-card-head{order:1}
.feed-card.without-photos .feed-body{padding:0 15px;order:2}
.feed-card.without-photos .feed-actions{padding:0 0 20px 15px;order:3}

.feed-shell.format-width{}
.feed-list.resume{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-radius:20px;overflow:hidden}
.feed-list.resume article.feed-card{aspect-ratio:1 / 1;min-width:0;min-height:0;border-radius:0;border:0;position:relative;background-image:linear-gradient(180deg, #fff 0%, #f5f7f9 100%);overflow:hidden;}
.feed-list.resume article.feed-card:before{width:100%;height:100%;content:"";position:absolute;left:0;top:0;z-index:5;opacity:0.5}

.feed-list.resume article.feed-card .feed-card-head,
.feed-list.resume article.feed-card .feed-actions,
.feed-list.resume article.feed-card .feed-body h2,
.feed-list.resume article.feed-card .feed-attachments,
.feed-list.resume article.feed-card .post-description-wrap,
.feed-list.resume article.feed-card .carousel-dots{display: none;}

.feed-list.resume article.feed-card .feed-body{padding:0}

.feed-list.resume article.feed-card .feed-attachments{width:20px;height:20px;background-color:#fff;position:absolute;right:5px;bottom:5px;margin:0;display:block;border-radius:100%;border:2px solid #fff;box-sizing:initial;overflow:hidden}
.feed-list.resume article.feed-card .feed-attachments a.feed-attachment{gap:0;border:0;padding:0;background-color:transparent}
.feed-list.resume article.feed-card .feed-attachments a.feed-attachment span.attachment-icon{width:20px;min-width:20px;height:20px;}
.feed-list.resume article.feed-card .feed-attachments a.feed-attachment span.attachment-icon svg{width:12px;height:12px;}
.feed-list.resume article.feed-card .feed-attachments a.feed-attachment span:nth-child(2){display:none}

.feed-list.resume article.feed-card.without-photos .feed-body{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden;}
.feed-list.resume article.feed-card.without-photos .feed-body h2{margin:0;text-align:center;font-size:18px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;}

@media(max-width:760px){
  .feed-shell{max-width:100%}
  .feed-title-row,.post-media-head{align-items:flex-start;flex-direction:column}
  .feed-title-row{padding:0 10px}
  .feed-search-result-title{padding:0 10px;margin-bottom:10px}

  .feed-resume{margin-bottom:0;border:none;border-radius:0;padding:10px}
  .feed-resume .view-switch .view-toggle{width:30px;height:30px;border:1px solid #d7dfe5;border-radius:5px}
  .feed-resume .view-switch .view-toggle svg{width:22px;height:22px}

  .feed-list{gap:20px}
  .feed-list.resume{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:0;overflow:inherit}
  .feed-card{border-left:none;border-right:none;border-radius:0}
  .post-image-previews,.existing-post-images{grid-template-columns:repeat(3,1fr)}
}

.count-button{border:0;background:none;padding:0;margin:0;cursor:pointer;color:#17202a;font-size:16px;font-weight:700}
.count-button:hover{text-decoration:underline}

.likes-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:300;display:grid;place-items:center;padding:20px}
.likes-modal[hidden]{display:none}
.likes-dialog{width:min(420px,100%);max-height:70vh;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.likes-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.likes-head button{border:0;background:none;font-size:26px;cursor:pointer}
.likes-list{padding:10px 18px 18px;overflow:auto;max-height:60vh}
.like-user-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.like-user-row:last-child{border-bottom:0}
.like-user-row img,.avatar-fallback.mini{width:42px;height:42px;border-radius:50%;object-fit:cover}

.existing-post-image{position:relative;aspect-ratio:1/1}
.existing-post-image img{width:100%;height:100%;object-fit:cover;border-radius:12px;transition:opacity .18s ease,filter .18s ease}
.existing-post-image button{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;cursor:pointer;font-weight:900;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.existing-post-image.marked-delete img{opacity:.28;filter:grayscale(1)}
.existing-post-image.marked-delete::after{content:"REMOVER";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:900;background:#111;color:#fff;padding:5px 7px;border-radius:7px;pointer-events:none}

.drag-handle{position:absolute;left:6px;top:6px;z-index:2;background:rgba(255,255,255,.94);border-radius:7px;padding:4px 6px;font-weight:900;cursor:grab;user-select:none}

.existing-post-image.dragging{opacity:.45}
.existing-post-image[draggable="true"]{cursor:grab}

.attachment-box{border:1px solid var(--line);border-radius:16px;padding:18px;margin-top:4px}
.attachment-box>div:first-child p{margin:5px 0 14px}

.existing-attachments{display:grid;gap:8px;margin:12px 0}

.attachment-admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.attachment-admin-row small{display:block;color:var(--muted);margin-top:3px}
.attachment-admin-row.marked-delete{opacity:.5;text-decoration:line-through}

.feed-attachments{display:grid;gap:8px;margin:12px 0 16px}
.feed-attachment{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-decoration:none;color:inherit;background:#fafbfc}
.feed-attachment:hover{background:#f3f6f8}
.feed-attachment .attachment-icon{width:34px;min-width:34px;height:34px;border-radius:100%;background:#8bc34a;display:flex;align-items:center;justify-content:center;text-align:center}
.feed-attachment .attachment-icon svg{width:20px;height:20px}
.feed-attachment .attachment-icon svg path{stroke:#fff}
.feed-attachment strong{display:block;font-size:14px}
.feed-attachment small{display:block;color:var(--muted);font-size:11px;margin-top:2px}

.feed-media[data-carousel]{touch-action:pan-y;user-select:none;cursor:grab}
.feed-media[data-carousel].dragging{cursor:grabbing}
.feed-media[data-carousel] img{-webkit-user-drag:none;user-select:none;pointer-events:none}

.carousel-track{will-change:transform}

.feed-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.post-edit-shortcut{font-size:11px;font-weight:900;text-decoration:none;color:#111;border:1px solid var(--line);padding:8px 10px;border-radius:10px;white-space:nowrap}
.post-edit-shortcut:hover{background:#f4f6f8}

.post-description-wrap{margin:0 0 16px; position:relative;}
.post-description-wrap .post-description{margin:0;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:calc(1.55em * 2)}
.post-description-wrap .post-description a{color:#2196f3;text-decoration:none}
.post-description-wrap .post-description a:hover{color:#4caf50}
.post-description-wrap .post-description.expanded{display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible}
.post-description-wrap .post-description-more{border:0;padding:0;margin:0;color:#2196f3;font-size:12px;font-weight:600;cursor:pointer;background-color:#fff}

.post-description-more{margin-top:2px}

.comments-modal{position:fixed;inset:0;background:rgba(0, 0, 0, .58);z-index:350;display:flex;align-items:end;justify-content:center;padding:20px 0 0 0}
.comments-modal[hidden]{display:none}
.comments-dialog{width:min(720px, 100%);height:min(720px, 95vh);min-height:280px;max-height:min(95vh, 760px);position:relative;display:flex;flex-direction:column;background:#fff;border-radius:20px 20px 0 0;overflow:hidden;box-shadow:0 22px 80px rgba(0, 0, 0, .25)}
.comments-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);flex:0 0 auto}
.comments-modal-head button{border:0;background:none;font-size:28px;line-height:1;cursor:pointer}
.comments-modal-list{padding-bottom:80px;overflow:auto;padding:5px 15px 80px 15px;flex:1 1 auto}

.modal-comment-row{padding:11px 0;border-bottom:1px solid var(--line)}
.modal-comment-row:last-child{border-bottom:0}
.modal-comment-body{min-width:0;flex:1}
.modal-comment-body p{margin:2px 0;line-height:1.5;word-break:break-word}
body.modal-open{overflow:hidden}

.comments-modal-form{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-top:1px solid var(--line)}
.comments-modal-user{flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.comments-modal-user img,.comments-modal-user .avatar-fallback.mini{width:42px;height:42px;border-radius:50%;object-fit:cover}
.comments-modal-form input{min-width:0;flex:1;border:0;outline:none;padding:12px 0;font-size:16px;background:transparent}
.comments-modal-form button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:10px;background:#607d8b1a;cursor:pointer;display:flex;align-items:center;justify-content:center}
.comments-modal-form button:disabled{cursor:wait;opacity:.55}
.comments-modal-form button svg{width:26px;height:26px}
.comments-modal-form button svg path{stroke:#000}
.modal-comment-row .avatar-fallback.mini{width:28px;height:28px;flex:0 0 28px;font-size:11px}
.post-description-more[hidden]{display:none!important}

@media(max-width:640px){
  .feed-card-head{align-items:flex-start}
  .post-edit-shortcut{font-size:10px;padding:7px 8px}
  .comments-dialog{height:min(720px,50vh);max-height:min(90vh,760px);}
  .comments-modal-form{padding:9px 10px}
}


.comment-inline-actions{display:flex;align-items:center;gap:10px;margin-top:4px}
.comment-inline-actions button{border:0;background:none;padding:0;color:var(--muted);font-size:10px;font-weight:600;cursor:pointer}
.comment-inline-actions button:hover{text-decoration:underline}

.comment-edit-textarea{width:100%;min-height:90px;resize:vertical;margin:2px 0 9px}
.comment-edit-actions{display:flex;justify-content:flex-end;gap:8px}

.app-modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:20px}
.app-modal[hidden]{display:none}
.app-modal-backdrop{position:absolute;inset:0;background:rgba(7,12,18,.58);backdrop-filter:blur(3px)}
.app-modal-dialog{position:relative;z-index:1;width:min(440px,100%);background:#fff;border-radius:20px;padding:22px;box-shadow:0 24px 90px rgba(0,0,0,.28);animation:appModalIn .16s ease-out}
.app-modal-icon{width:46px;height:46px;border-radius:14px;background:#111;color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;margin-bottom:14px}
.app-modal-content h3{margin:0 0 8px;font-size:21px}
.app-modal-content p{margin:0;color:var(--muted);line-height:1.55;white-space:pre-line}
.app-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}
.app-modal-actions .danger{background:#b42318;color:#fff;border-color:#b42318}
@keyframes appModalIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}

input[readonly]{background:#f1f3f5;color:#69727a;cursor:not-allowed}
input[readonly]:focus{box-shadow:none;border-color:var(--line)}

@media(max-width:560px){
  .app-modal-dialog{border-radius:17px;padding:18px}
  .app-modal-actions{flex-direction:column-reverse}
  .app-modal-actions .btn{width:100%}
}

.app-loading{position:fixed;inset:0;z-index:700;display:grid;place-items:center;padding:20px}
.app-loading[hidden]{display:none}
.app-loading-backdrop{position:absolute;inset:0;background:rgba(8,13,18,.62);backdrop-filter:blur(2px)}
.app-loading-box{position:relative;z-index:1;width:min(370px,calc(100vw - 40px));background:#fff;border-radius:20px;padding:27px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 24px 90px rgba(0,0,0,.3)}
.app-loading-spinner{width:50px;height:50px;border:4px solid #e2e7eb;border-top-color:#111;border-radius:50%;animation:appLoadingSpin .75s linear infinite;margin-bottom:16px}
.app-loading-box strong{font-size:18px;margin-bottom:6px}
.app-loading-box span{color:var(--muted);font-size:14px;line-height:1.5}
body.loading-open{overflow:hidden}
@keyframes appLoadingSpin{to{transform:rotate(360deg)}}

@media(prefers-reduced-motion:reduce){
  .app-loading-spinner{animation-duration:1.5s}
}

.feed-infinite-status{display:flex;justify-content:center;align-items:center;min-height:64px;padding:18px 12px;color:var(--muted);font-size:14px;text-align:center}
.feed-infinite-sentinel{height:1px;width:100%}

/* v0.7.6 — paginação administrativa e Política de Privacidade */
.admin-total-count{margin:7px 0 0;color:var(--muted);font-size:14px}
.admin-total-count strong{color:var(--text)}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:20px 0 4px}
.admin-page-link{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;text-decoration:none}
.admin-page-link:hover{background:#f5f7f9}
.admin-page-link.active{background:#111;color:#fff;border-color:#111;cursor:default}
.admin-page-ellipsis{min-width:24px;text-align:center;color:var(--muted)}
.privacy-card{max-width:900px;margin:0 auto;padding:28px}
.privacy-card>p{line-height:1.7;color:#3f4850}
.privacy-card h2{font-size:19px;margin:28px 0 8px}
.privacy-page-head{max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:560px){
  .privacy-card{padding:20px}
  .admin-page-link{min-width:34px;height:34px;padding:0 8px}
}

/* v0.7.8 — carregamento incremental nos modais de interações */
.modal-infinite-loader{margin:10px 0;padding:8px 0;text-align:center;font-size:13px}

/* v0.7.12 — busca nas listagens administrativas */
.admin-list-tools{display:flex;align-items:center;justify-content:flex-end;margin:0 0 14px}
.admin-search-form{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;width:100%}
.admin-search-form input[type="search"]{width:min(360px,100%);height:40px;margin:0;padding:0 12px}
.admin-search-form .btn{height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center}
.admin-search-clear{font-size:12px;font-weight:800;color:var(--muted);text-decoration:none;padding:10px 4px}
.admin-search-clear:hover{text-decoration:underline;color:var(--text)}
.admin-empty-result{padding:24px;text-align:center;color:var(--muted)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:560px){
  .admin-list-tools{justify-content:stretch}
  .admin-search-form{display:grid;grid-template-columns:1fr auto}
  .admin-search-form input[type="search"]{width:100%}
  .admin-search-clear{grid-column:1/-1;justify-self:end;padding-top:0}
}

/* v0.7.14 — busca de publicações no Feed */
.topbar .wrap-form-search-posts form input[type="search"]{width:min(360px,calc(100% - 150px));height:48px;border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:16px;outline:none;user-select:text;-webkit-user-select:text}
.topbar .wrap-form-search-posts form input[type="search"]:focus{border-color:#06c781;box-shadow:0 0 0 3px #06c7811f}
.topbar .wrap-form-search-posts form button[type="submit"]{height:48px;border:0;border-radius:10px;padding:0 20px;background:#17202a;color:#fff;font-weight:800;cursor:pointer}
.topbar .wrap-form-search-posts form button[type="submit"]:hover{opacity:.9}
.feed-search-empty .btn{display:inline-flex;margin-top:16px;text-decoration:none}
@media(max-width:640px){
  .topbar .wrap-form-search-posts form{height:auto;min-height:160px;flex-direction:column;padding:28px 20px;gap:12px}
  .topbar .wrap-form-search-posts form input[type="search"]{width:100%}
  .topbar .wrap-form-search-posts form button[type="submit"]{width:100%}
}

/* v0.7.16 — hierarquia administrativa e avatares nas listagens */
.admin-user-avatar,.admin-user-avatar-fallback{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;object-fit:cover;vertical-align:middle}
.admin-user-avatar-fallback{background:#eef1f3;font-weight:800;color:#3f4850}

/* v0.7.18 — módulo de enquetes */
.header-poll-alert{width:auto;height:auto;position:relative;display:flex;align-items:center;justify-content:center;text-decoration:none}
.header-poll-alert svg{width:30px;height:30px;stroke: #0c1014}
.header-poll-alert > span{min-width:20px;height:20px;position:absolute;right:-8px;top:-8px;padding:1px 5px 0 5px;border-radius:8px;border:2px solid #fff;display:flex;align-items:center;justify-content:center;background:#f44336;color:#fff;font-size:11px;font-weight:800;line-height:1}

.poll-editor-card{overflow:visible}
.poll-editor-head,.poll-editor-content,.poll-editor-footer{padding:4px 0 22px}
.poll-editor-content,.poll-editor-footer{margin-top:8px;border-top:1px solid var(--line);padding-top:22px}
.poll-editor-content h2,.poll-editor-footer h2{margin:0 0 14px;font-size:18px}
.poll-options-scroll{max-height:360px;overflow:auto;padding-right:8px}
.poll-option-input-row{margin-bottom:12px}
.poll-option-input-row input{width:100%;height:46px;border:0;border-bottom:2px solid #aaa;border-radius:0;padding:0 2px;background:transparent;font-size:16px;outline:none}
.poll-option-input-row input:focus{border-bottom-color:#19aa68}
.poll-option-input-row input[readonly]{opacity:.75;cursor:not-allowed}
.poll-toggle-row{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;margin:0!important;border-bottom:1px solid #eee;font-weight:500}
.poll-toggle-row input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:40px;height:22px;min-width:40px;border:2px solid #999;border-radius:999px;background:#eee;position:relative;cursor:pointer;margin:0;padding:0}
.poll-toggle-row input[type="checkbox"]:before{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#999;transition:.18s ease}
.poll-toggle-row input[type="checkbox"]:checked{background:#1fb06b;border-color:#1fb06b}
.poll-toggle-row input[type="checkbox"]:checked:before{left:20px;background:#fff}
.poll-toggle-row input[type="checkbox"]:disabled{opacity:.55;cursor:not-allowed}
.poll-expiry-fields{padding-top:15px}
.poll-expiry-fields[hidden]{display:none!important}
.poll-media-box{margin-top:22px}
.poll-admin-table td small{display:block;margin-top:5px;color:var(--muted)}
.poll-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;letter-spacing:.03em}
.poll-status.active{background:#dff8e9;color:#147a47}
.poll-status.ended{background:#eee;color:#666}
.polls-page{width:min(760px,100%);margin:0 auto;padding-bottom:40px}
.polls-title-row{margin-bottom:20px}
.poll-feed{display:grid;gap:22px}
.poll-card{padding:0;overflow:hidden}

.poll-card .poll-vote-status{width:100%;display:block;background-color:#e5e9ed;padding:5px 0 5px 20px;font-size:14px;font-weight:700;color:#17202a}
.poll-card .poll-vote-status.is-pending{background-color:#ffc1073b}
.poll-card .poll-vote-status.is-voted{background-color:#8bc34a3b}

.poll-card-head{padding:16px 18px}
.poll-card-body{padding:20px 20px 16px 20px}
.poll-card-body h2{font-size:21px;margin:0 0 8px}
.poll-meta-lines{display:flex;flex-wrap:wrap;gap:7px 14px;margin:0 0 18px;color:var(--muted);font-size:13px}
.poll-meta-lines span+span:before{content:"•";margin-right:14px}
.poll-vote-form{gap:10px;margin:0}
.poll-options-list{display:grid;gap:15px}
.poll-option-card{display:block;cursor:pointer;margin:0!important}
.poll-option-card input{position:absolute;opacity:0;pointer-events:none}
.poll-option-main{display:flex;align-items:center;gap:10px;min-height:30px;position:relative}
.poll-option-main:before{content:"";width:19px;height:19px;min-width:19px;border:2px solid #738176;border-radius:50%;box-sizing:border-box}
.poll-option-card.selected .poll-option-main:before{border-color:#1fb06b;background:#1fb06b;box-shadow:inset 0 0 0 4px #fff}
.poll-option-text{flex:1;min-width:0}
.poll-option-votes{display:flex;align-items:center;gap:7px;margin-left:auto}
.poll-voter-preview{display:flex;align-items:center;padding-left:10px}
.poll-voter-preview img,.poll-voter-mini{width:36px;height:36px;border-radius:50%;object-fit:cover;border:3px solid #fff;margin-left:-8px;background:#ddd;display:inline-flex;align-items:center;justify-content:center;font-size:12px;}
.poll-progress{height:8px;background:#d9eadc;border-radius:999px;overflow:hidden;margin:5px 0 0 29px}
.poll-progress span{display:block;height:100%;min-width:0;background:#22ad69;border-radius:inherit;transition:width .5s ease}
.poll-card.is-ended .poll-progress span{background:#999}

.poll-submit-vote{width:100%;margin-top:18px;background-color:#22ad69 !important;border:none !important;color:#fff !important;}
.poll-submit-vote:disabled{opacity:.42;background-color:#d9dfe4 !important;color:#17202a !important;cursor:not-allowed;pointer-events:none}

.poll-show-votes{display:block;margin:18px -18px -18px;padding:15px 18px;text-align:center;border-top:1px solid var(--line);text-decoration:none;font-weight:800;color:#168d57}
.poll-votes-page{max-width:760px;margin:0 auto}
.poll-votes-top{display:flex;gap:14px;align-items:flex-start;margin-bottom:30px}
.poll-votes-top h1{margin:3px 0 6px}
.poll-back{font-size:28px;text-decoration:none;line-height:1;color:inherit}
.poll-result-section{padding:18px 0;border-top:1px solid var(--line)}
.poll-result-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.poll-result-head h2{margin:0;font-size:18px}
.poll-result-head span{background:#e9eef1;border-radius:5px;padding:4px 8px;font-size:14px;font-weight:800;white-space:nowrap}
.poll-result-section>.poll-progress{margin:10px 0 16px}
.poll-voter-list{display:grid;gap:12px;margin-top:14px}
.poll-voter-row{display:flex;align-items:center;gap:12px}
.poll-voter-row>img,.poll-voter-row>.avatar-fallback{width:42px;height:42px;min-width:42px;border-radius:50%;object-fit:cover}
.poll-voter-row strong,.poll-voter-row small{display:block}
.poll-voter-row small{color:var(--muted);margin-top:2px}
.poll-anonymous-note{margin:14px 0 0}

.poll-voters-more{display:inline-flex;align-items:center;justify-content:center;margin:20px 0 0 0;border:0;border-radius:50px;padding:3px 20px;background:#2452e6;color:#fff;font-size:10px;font-weight:800;cursor:pointer}
.poll-voters-more:hover{opacity:.9}
.poll-voters-more:disabled{opacity:.55;cursor:wait}

@media(max-width:700px){
  .polls-page{width:100%}
  .poll-card .poll-vote-status{padding:3px 0 3px 20px;font-size:11px}
  .poll-card-head{padding:14px 16px}
  .poll-card-body{padding:0 15px 16px 15px}
  .poll-show-votes{margin:18px -16px -16px}
  .poll-admin-table{min-width:850px}
  .poll-meta-lines{display:grid;gap:5px}
  .poll-meta-lines span+span:before{content:none;margin:0}
}
.poll-ended-divider{display:flex;align-items:center;gap:12px;margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.poll-ended-divider:after{content:"";height:1px;background:var(--line);flex:1}

/* HOME START */
.banner-home{width:100%;min-height:calc(100vh - 68px);background-color:#616d7f;display:flex;flex-direction:column;align-items:center;justify-content:start;gap:20px;position:relative;padding:50px 20px 0 20px}
.banner-home:after{width:100%;height:100%;content:"";background-image:url(../img/home/mural.webp);background-position:center;background-repeat:no-repeat;background-size:cover;position:absolute;left:0;top:0;z-index:1}
.banner-home .content-banner{width:100%;max-width:600px;height:250px;background-color:#1f2e4840;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:30px;backdrop-filter:blur(5px);padding:20px 20px 30px 20px;border:1px solid #ffffff33}
.banner-home.logged-in .content-banner{height:auto}
.banner-home .content-banner h1{font-size:40px;font-weight:900;color:#fff;text-shadow:0 5px 15px rgba(0, 0, 0, 0.8)}
.banner-home .content-banner p{font-size:22px;font-weight:800;color:#fff;text-shadow:0 3px 10px rgba(0, 0, 0, 0.8);margin-bottom:15px}
.banner-home .content-banner img{width:120px;height:auto;border-radius:100%;border:3px solid #ffffff36}
.banner-home .content-banner .links{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;margin-top:15px}
.banner-home .content-banner .links a{width:150px;padding:10px 0;font-size:16px;font-weight:800;color:#fff;border-radius:15px;border:2px solid #ffffff73;background-color:#2832459e;text-decoration:none}
.banner-home .content-banner .links a:hover{border: 2px solid #06c781;}
.content-home{display:none !important;width:100%;background-color: #fff;padding: 50px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.content-home p{font-size:16px;font-weight:800}
.footer-home{display:none !important;width:100%;min-height:200px;padding:50px 20px;background:#3f51b5;display:flex;flex-direction:column;align-items:center;justify-content:center}
.footer-home p{font-size:16px;font-weight:800;color:#fff}
@media(max-width:800px){
  .banner-home{min-height:100vh;padding:160px 20px 0 20px;position:fixed;left:0;top:0}
  .banner-home.logged-in{padding:80px 20px 0 20px}
  .banner-home:after{background-image:url(../img/home/mural-mobile.webp)}
  .banner-home .content-banner{height:200px}
  .banner-home .content-banner h1{font-size:32px}
  .banner-home .content-banner p{font-size:18px}
}
/* HOME END */

/* v0.7.28 — respostas aninhadas nos comentários */
.comment-thread{border-bottom:1px solid var(--line);padding:0 0 8px}
.comment-thread>.modal-comment-row{border-bottom:0}
.comment-replies{margin-left:38px}
.comment-reply-row{padding:8px 0;border-bottom:0}
.comment-replies-more{margin:2px 0 4px 38px;border:0;background:transparent;color:#667085;font-size:13px;font-weight:700;cursor:pointer;padding:5px 0}
.comment-replies-more:disabled{opacity:.55;cursor:wait}
.comment-replying{position:absolute;left:0;right:0;bottom:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 14px;background:#f4f6f8;border-top:1px solid var(--line);font-size:13px}
.comment-replying[hidden]{display:none}
.comment-replying button{width:26px;height:26px;flex:0 0 26px;border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer}
.comment-inline-actions{display:flex;gap:12px;align-items:center;margin-top:4px}
.comment-inline-actions button{border:0;background:transparent;padding:0;color:#667085;font-size:12px;font-weight:700;cursor:pointer}
@media(max-width:767px){.comment-replies{margin-left:30px}.comment-replies-more{margin-left:30px}}

/* v0.7.29 — alvo visual das respostas, mantendo apenas dois níveis */
.comment-reply-target{font-size:12px;font-weight:700;color:#667085;white-space:nowrap}

/* v0.7.31 — Comunidade */
.community-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.community-admin-list,.community-my-list{display:grid;gap:14px;margin-top:16px}
.community-admin-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.community-admin-row.is-pending{outline:2px solid rgba(36,82,230,.18)}
.community-admin-row h3{margin:6px 0}
.community-admin-row p{margin:6px 0 10px}
.community-admin-meta{font-size:13px;color:#667085}
.community-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eef2f6;color:#344054}
.community-status.published{background:#e8f7ee;color:#157347}
.community-status.pending{background:#fff4df;color:#9a6700}
.community-status.hidden{background:#f2f4f7;color:#667085}
.community-status.edited{background:#eaf0ff;color:#2452e6}
.community-settings{margin-bottom:18px}
.community-settings form{display:grid;gap:8px}
.community-row-actions form{margin:0}
@media(max-width:767px){.community-admin-row{flex-direction:column}.community-row-actions{width:100%}}

/* v0.7.37 — perfis, listagem de moradores e bloqueio global */
.residents-tools{margin-bottom:18px}
.residents-tools form{display:flex;gap:8px;align-items:center}
.residents-tools input{flex:1}

.residents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.resident-card{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.resident-card img,.resident-card .avatar-fallback,.resident-card-info img,.resident-card-info .avatar-fallback{width:52px;height:52px;flex:0 0 52px;border-radius:50%;object-fit:cover}
.resident-card>div:last-child{display:flex;flex-direction:column;gap:3px}
.resident-card small{color:#667085}
.resident-private-label{font-size:11px;font-weight:800;color:#667085;text-transform:uppercase}

.resident-profile-head{width:100%;margin-bottom:20px}
.resident-profile-head .content-profile-head{width:100%;height:auto;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:10px;background-image:linear-gradient(155deg, #fff 0%, #e5eaef 100%);border:1px solid #e5eaef;border-radius:20px;padding:20px 30px 18px 30px;box-shadow:none;position:relative}

.resident-profile-main{width:100%;display:flex;align-items:center;gap:10px}
.resident-profile-main .resident-profile-photo{width:90px;height:auto;border-radius:100%;border:2px solid #dbe0e9}
.resident-profile-main .resident-profile-photo.avatar-fallback{width:90px;min-width:90px;height:90px;}
.resident-profile-main div{width:100%}
.resident-profile-main div h1{color:#17202a;font-size:24px;font-weight:800;line-height:26px;margin-bottom:10px}

.resident-profile-actions{width:100%;display:flex;align-items:center;gap:10px}
.resident-profile-actions a,.resident-profile-actions button.send-message,.resident-profile-actions form button{width:115px;min-width:115px;height:24px;background-color:#4150f7;border-radius:7px;border:none;color:#fff;font-size:12px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:0;text-decoration:none;appearance:none;-webkit-appearance:none}
.resident-profile-actions a.edit-profile{width:100%;max-width:115px;min-width:max-content}
.resident-profile-actions form{width:100%;margin:0}
.resident-profile-actions form button{width:100%;max-width:115px;min-width:max-content;background-color:transparent;color:#f44336ad;border:2px solid #f443369e}

.bio-wrap{}
.bio{max-height:calc(1.55em * 2);color:#17202a;font-size:16px;font-weight:500;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-bottom:-1px}
.bio.expanded{display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible;}
.bio-more{border:0;padding:0;margin:0;color:#2196f3;font-size:12px;font-weight:600;cursor: pointer;background-color:transparent}
.bio-more[hidden]{display:none !important}

.resident-private{text-align:center;padding:40px 20px}
.resident-profile-feed{}
.profile-privacy-box{padding:14px 0;margin:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

.blocked-users-list{display:grid;gap:12px}
.blocked-user-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.resident-card-info{display:flex;align-items:center;gap:12px}
.resident-unavailable{text-align:center;padding:50px 20px}

@media(max-width:767px){
  .residents-grid{grid-template-columns:1fr}
  .residents-tools form{align-items:stretch;flex-wrap:wrap}
  .residents-tools input{flex-basis:100%}

  .resident-profile-head{margin-bottom:10px;padding:0 10px}
  .resident-profile-head .content-profile-head{border-radius:10px;padding:17px 10px 15px 10px}
  .resident-profile-main{}
  .resident-profile-main .resident-profile-photo{width:75px}
  .resident-profile-main .resident-profile-photo.avatar-fallback{width:75px;min-width:75px;height:75px}
  .resident-profile-main div h1{font-size:18px;line-height:22px;margin-bottom:7px}
  .resident-profile-actions a, .resident-profile-actions button.send-message, .resident-profile-actions form button{}

  .bio{font-size:14px;line-height:22px}

  .blocked-user-row{align-items:flex-start;flex-direction:column}
}

/* v0.7.55 - Links dos autores nos comentarios */
.comment-author-photo-link{display:inline-flex;flex:0 0 auto;text-decoration:none;position:relative}
.check .comment-author-photo-link:after{width:15px;height:15px;content:"";background-image:url(../img/check.svg);background-position:center;background-repeat:no-repeat;background-size:100%;position:absolute;right:-3px;bottom:-3px;border-radius:100%}
.comment-author-name-link{color:inherit;text-decoration:none}

/* v0.7.57 - Porteiro e consulta operacional de moradores */
.resident-card-doorman{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
#doormanResidentModal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.55)}
#doormanResidentModal[hidden]{display:none !important;}
#doormanResidentModal .doorman-resident-modal-card{width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow-y:auto;position:relative;margin:0;padding:30px;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
#doormanResidentModal .modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:transparent;font-size:25px;line-height:1;cursor:pointer}
#doormanResidentModal .doorman-resident-head{display:flex;align-items:center;gap:18px;padding:10px 35px 20px 0}
#doormanResidentModal .doorman-resident-head > img,#doormanResidentModal .doorman-resident-head > .avatar-fallback{width:86px;height:86px;min-width:86px;border-radius:50%;object-fit:cover}
#doormanResidentModal .doorman-resident-head h2{margin:0 0 8px}
#doormanResidentModal .doorman-resident-head p{margin:3px 0}
#doormanResidentModal .doorman-resident-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#doormanResidentModal .doorman-resident-actions a{height:50px;display:flex;flex-direction:row;align-items:center;padding:0 15px}
#doormanResidentModal .doorman-resident-actions a.whatsapp-btn{gap:5px;background-color:#22ad69;border:none}
#doormanResidentModal .doorman-resident-actions a.whatsapp-btn:hover{background-color:#169758}
#doormanResidentModal .doorman-resident-actions a.whatsapp-btn svg{width:30px;height:30px}
#doormanResidentModal .doorman-resident-actions a.whatsapp-btn svg path{fill:#fff}
@media(max-width:600px){
  #doormanResidentModal{padding:15px}
  #doormanResidentModal .doorman-resident-modal-card{padding:25px 20px 20px;border-radius:15px}
  #doormanResidentModal .doorman-resident-head{flex-direction:column;align-items:center;gap:12px;text-align:center;padding-right:0}
  #doormanResidentModal .doorman-resident-actions{flex-direction:column}
  #doormanResidentModal .doorman-resident-actions a{width: 100%;height:auto;flex-direction:column;text-align:center;padding:10px 5px;font-size:16px}
}
/* v0.7.60 - Mensagens privadas */
.messages-app{
  max-width:none !important;
  height:calc(100vh - 120px);
  display:grid;
  grid-template-columns:380px minmax(0, 1fr);
  background-color:#fff;
  border:1px solid #e7ebee;
  border-radius:10px;
}
.messages-sidebar{border-right:1px solid #dfe3e8;padding:18px 16px;overflow-y:auto}
.messages-sidebar h3{margin:16px 8px}
.messages-search{position:relative}
.messages-search input{width:100%;border:0;background:#f1f3f5;border-radius:30px;padding:13px 18px}
.message-search-results{position:absolute;z-index:20;left:0;right:0;top:50px;background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 8px 30px #0002;max-height:350px;overflow:auto}
.message-search-result{display:flex;gap:10px;align-items:center;padding:10px;text-decoration:none;color:inherit}
.conversation-item{position:relative;display:flex;gap:12px;align-items:center;padding:9px 8px;text-decoration:none;color:inherit;border-radius:12px}
.conversation-item:hover,.conversation-item.active{background:#f5f7fa}
.message-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:#e6eaee;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700}
.message-avatar img{width:100%;height:100%;object-fit:cover}
.conversation-copy{min-width:0;display:flex;flex-direction:column;flex:1}
.conversation-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#667085}
.conversation-unread{width:8px;height:8px;background:#4169e1;border-radius:50%}
.conversation-delete{border:0;background:none;font-size:18px;cursor:pointer}
.message-panel{min-width:0;display:flex;flex-direction:column;overflow:hidden}
.message-panel-head{height:76px;display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid #dfe3e8}
.message-panel-head .message-avatar{width:44px;height:44px;flex-basis:44px}
.message-panel-head div{display:flex;flex-direction:column}
.message-history{flex:1;overflow-y:auto;padding:24px 30px;display:flex;flex-direction:column;gap:8px}
.message-empty{margin:auto;font-size:20px;font-weight:600;text-align:center}
.message-row{display:flex}
.message-row.mine{justify-content:flex-end}
.message-bubble{max-width:min(70%,700px);background:#f0f2f5;border-radius:20px;padding:9px 13px}
.message-row.mine .message-bubble{background:#4169e1;color:#fff}
.message-bubble p{margin:0;white-space:normal;overflow-wrap:anywhere}
.message-meta{display:block;font-size:11px;margin-top:5px;opacity:.75;text-align:right}
.message-meta button{border:0;background:none;color:inherit;font-size:11px;cursor:pointer}
.message-files{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:5px}
.message-files img{width:100%;max-height:300px;object-fit:contain;border-radius:12px}
.message-attachment{display:block;padding:10px;border-radius:10px;background:#ffffff30;color:inherit}
.message-composer{
  padding: 10px;
  border-top: 1px solid #dfe3e8;
  margin: 0;
  gap: 0;
}
.message-compose-row{display:flex;align-items:center;gap:12px;border:1px solid #d7dce2;border-radius:28px;padding:8px 14px}
.message-compose-row textarea{flex:1;border:0;outline:0;resize:none;max-height:100px}
.message-compose-row label{font-size:22px;cursor:pointer}
.message-compose-row label svg{width:25px;height:25px}
.message-compose-row label svg path{stroke:#0c1014}
.message-compose-row button{border:0;background:none;font-weight:800;font-size:18px;letter-spacing:2px;cursor:pointer}
.message-previews{display:flex;gap:8px;overflow-x:auto}
.message-previews img{width:70px;height:70px;object-fit:cover;border-radius:10px}
.header-message-count{position:absolute;top:-8px;right:-10px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#e52b2b;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:700}
.icon-messages{position:relative}
.syndic-message-modal{position:fixed;inset:0;z-index:9999;background:#0008;display:flex;align-items:center;justify-content:center;padding:20px}
.syndic-message-modal[hidden]{display:none!important}
.syndic-message-card{width:min(420px,100%);max-height:75vh;background:#fff;border-radius:20px;overflow:auto;padding:18px}
.syndic-message-card header{display:flex;justify-content:space-between;align-items:center}
.syndic-message-card button{cursor:pointer}
.syndic-list .message-search-result{border-bottom:1px solid #eee}
@media(max-width:760px){
  .messages-app{grid-template-columns:1fr;height:calc(100vh - 90px)}
  .messages-sidebar{display:none}
  .messages-app:not(.has-conversation) .messages-sidebar{display:block}
  .messages-app:not(.has-conversation) .message-panel{display:none}
  .message-history{padding:16px 10px}
  .message-bubble{max-width:85%}
  .message-files{grid-template-columns:1fr}
}
.icon-messages-to-sindico{border:0;background:transparent;padding:0;cursor:pointer;color:inherit}
.syndic-list .message-search-result span:not(.message-avatar){display:flex;flex-direction:column}

/* Mensagens - previews de imagens e anexos */
.message-preview-item{
  position:relative;
  flex:0 0 auto;
  margin-bottom:10px
}

.message-preview-image img{
  display:block;
}

.message-preview-remove{
  position:absolute;
  top:-5px;
  right:-5px;
  z-index:2;
  width:22px;
  height:22px;
  padding:0;
  border:1px solid #d7dce2;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-size:17px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.message-preview-attachment{
  min-height:42px;
  max-width:260px;
  display:flex;
  align-items:center;
  padding:8px 30px 8px 12px;
  border:1px solid #d7dce2;
  border-radius:10px;
  background:#f5f7fa;
}

.message-preview-attachment span{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:13px;
}