:root{--navy:#111c3b;--navy2:#172554;--blue:#2563eb;--blue-soft:#dbeafe;--ink:#172033;--muted:#697386;--line:#e3e8ef;--bg:#f6f8fb;--card:#fff;--shadow:0 18px 55px rgba(15,23,42,.1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-view{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand{padding:54px 7vw;color:#fff;background:radial-gradient(circle at 80% 15%,rgba(59,130,246,.7),transparent 25%),linear-gradient(145deg,var(--navy2),#080d20 76%);display:flex;flex-direction:column;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:900}.brand>span{width:39px;height:39px;border-radius:12px;background:var(--blue);display:grid;place-items:center;color:#fff}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:900}.login-brand h1{font-size:clamp(48px,5.1vw,76px);line-height:1.03;margin:18px 0}.login-brand h1 em{font-style:normal;color:#60a5fa}.brand-description{font-size:19px;color:#cbd5e1;max-width:560px;line-height:1.6}.security-note{font-size:13px;color:#a5b4fc}.login-area{display:grid;place-items:center;padding:30px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:25px;padding:42px;box-shadow:var(--shadow)}.mobile-brand{display:none}.blue{color:var(--blue)}.login-card h2{font-size:34px;margin:8px 0}.muted,.heading p{color:var(--muted)}label{display:grid;gap:8px;font-size:14px;font-weight:800;margin-top:21px}input,select,textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(37,99,235,.13)}button{border:0;cursor:pointer}.primary-button,.secondary-button,.light-button,.logout{padding:13px 17px;border-radius:11px;font-weight:850}.primary-button{background:var(--blue);color:#fff}.primary-button:hover{background:#1d4ed8}.primary-button:disabled{opacity:.6;cursor:wait}.full{width:100%;margin-top:24px}.secondary-button{background:#fff;color:var(--ink);border:1px solid var(--line)}.demo-note{font-size:13px;color:#1e40af;background:#eff6ff;padding:12px;border-radius:10px;margin-top:17px}.app{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:var(--navy);padding:27px 18px;color:#fff;display:flex;flex-direction:column}.sidebar-label{font-size:10px;color:#7182a9;letter-spacing:.17em;font-weight:900;margin:50px 14px 12px}.sidebar nav{display:grid;gap:6px}.nav{display:flex;gap:13px;align-items:center;padding:13px 15px;text-align:left;border-radius:10px;background:transparent;color:#aebbd4}.nav:hover,.nav.active{background:#24345b;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #2a3757;padding-top:18px;display:grid;gap:13px}.api-status{font-size:12px;color:#aebbd4;display:flex;align-items:center;gap:8px}.api-status i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.logout{background:#233153;color:#fff}.main{margin-left:245px;width:calc(100% - 245px)}.topbar{height:90px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:17px 4vw}.topbar h2{margin:4px 0}.profile{display:flex;align-items:center;gap:12px}.profile>span{width:43px;height:43px;border-radius:13px;background:var(--blue-soft);color:#1d4ed8;display:grid;place-items:center;font-weight:900}.profile div{display:grid}.profile small{color:var(--muted)}.content{padding:34px 4vw 60px}.welcome{padding:34px;border-radius:22px;color:#fff;background:linear-gradient(110deg,#172554,#1e3a8a);display:flex;justify-content:space-between;align-items:center}.welcome h1{font-size:36px;margin:9px 0}.welcome p{color:#dbeafe;margin-bottom:0}.light-button{background:#fff;color:#1d4ed8}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px;margin:21px 0 37px}.metrics article{display:flex;align-items:center;gap:15px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px}.metrics strong{font-size:29px;display:block}.metrics small{color:var(--muted)}.icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font-weight:900}.blue-bg{background:#dbeafe;color:#1d4ed8}.amber-bg{background:#fef3c7;color:#b45309}.green-bg{background:#dcfce7;color:#15803d}.violet-bg{background:#ede9fe;color:#7c3aed}.heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 17px}.heading.top{margin-bottom:25px}.heading h1,.heading h3{margin:5px 0}.heading h1{font-size:34px}.heading p{margin:4px 0}.text-button{background:transparent;color:var(--blue);font-weight:850}.toolbar{display:flex;gap:12px;margin-bottom:16px}.toolbar input{max-width:520px}.table-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:16px;align-items:center;padding:15px 20px}.table-head{background:#f8fafc;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.07em}.table-row{border-top:1px solid #eef1f5;font-size:14px}.table-row strong{display:block}.table-row small{color:var(--muted)}.status{justify-self:start;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900}.pending{background:#fef3c7;color:#92400e}.done{background:#dcfce7;color:#166534}.empty{padding:42px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:21px;padding:0;width:min(650px,calc(100% - 30px));box-shadow:0 30px 100px rgba(15,23,42,.32)}dialog::backdrop{background:rgba(8,15,35,.62);backdrop-filter:blur(3px)}dialog form{padding:28px}dialog header,dialog footer{display:flex;justify-content:space-between;align-items:center;gap:15px}dialog h3{font-size:25px;margin:5px 0}.close{font-size:28px;color:var(--muted);background:transparent}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.wide{grid-column:1/-1}dialog footer{justify-content:flex-end;margin-top:27px}.toast{position:fixed;right:24px;top:24px;z-index:99;padding:14px 18px;border-radius:11px;background:var(--navy);color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#991b1b}
@media(max-width:1050px){.metrics{grid-template-columns:1fr 1fr}.sidebar{width:78px;padding:22px 12px}.sidebar .brand{justify-content:center;font-size:0}.sidebar .brand span{font-size:18px}.sidebar-label,.nav span,.api-status span{display:none}.nav{justify-content:center;font-size:19px}.main{margin-left:78px;width:calc(100% - 78px)}}@media(max-width:760px){.login-view{grid-template-columns:1fr}.login-brand{display:none}.mobile-brand{display:block;color:var(--blue);font-weight:900;margin-bottom:27px}.welcome{align-items:flex-start;flex-direction:column;gap:22px}.metrics{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column}.table-card{overflow:auto}.table-head,.table-row{min-width:670px}.profile div{display:none}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}}@media(max-width:520px){.login-area{padding:15px}.login-card{padding:30px 23px}.sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center}.sidebar .brand,.sidebar-label{display:none}.sidebar nav{display:flex;margin-right:auto}.sidebar-bottom{margin:0;border:0;padding:0}.api-status{display:none}.logout{padding:10px}.main{margin:0;width:100%}.app{display:block}.content{padding:23px}.topbar{height:75px}.welcome h1{font-size:30px}.toolbar{align-items:stretch;flex-direction:column}.toolbar input{max-width:none}}


/* Relatórios gerenciais */
.report-heading{align-items:center}.report-actions{display:flex;gap:10px}.report-toolbar{align-items:end;background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.report-toolbar label{margin:0;min-width:190px}.report-toolbar .primary-button{margin-left:auto}.report-period{margin:2px 0 17px}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;margin-bottom:20px}.report-summary article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:grid;gap:4px}.report-summary small{color:var(--muted);font-weight:800}.report-summary strong{font-size:27px}.report-summary span{font-size:12px;color:var(--muted)}.report-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.report-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;min-width:0}.report-panel-wide{grid-column:1/-1}.report-panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:17px}.report-panel-heading h3{margin:4px 0 0}.report-panel-heading small{color:var(--muted)}.report-chart{height:230px;display:grid;grid-template-columns:repeat(var(--report-days),minmax(36px,1fr));align-items:end;gap:7px;overflow-x:auto;padding:13px 4px 3px}.report-day{height:100%;min-width:36px;display:grid;grid-template-rows:22px 1fr 22px;gap:5px;text-align:center}.report-day>strong{font-size:10px;color:var(--muted)}.report-day>div{height:100%;min-height:90px;border-radius:8px;background:#eff4fb;display:flex;align-items:flex-end;overflow:hidden}.report-day i{display:block;width:100%;min-height:2px;background:linear-gradient(180deg,#60a5fa,#2563eb);border-radius:7px 7px 0 0}.report-day small{font-size:10px;color:var(--muted);white-space:nowrap}.report-chart-empty{min-height:180px;display:grid;place-items:center;color:var(--muted);background:#f8fafc;border-radius:12px}.report-breakdown{display:grid;gap:14px}.report-breakdown-row{display:grid;gap:6px}.report-breakdown-row>div{display:flex;justify-content:space-between;gap:15px;font-size:13px}.report-breakdown-row i{display:block;height:9px;background:#eef2f7;border-radius:999px;overflow:hidden}.report-breakdown-row b{display:block;height:100%;background:#2563eb;border-radius:999px}.compact-empty{padding:25px}.report-details-heading{margin-top:30px}.report-details{display:grid;gap:16px}.report-table-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.report-table-title{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.report-table-title h3{margin:0}.report-table-title small{color:var(--muted)}.report-table-scroll{overflow:auto}.report-table-card table{width:100%;border-collapse:collapse;min-width:700px}.report-table-card th,.report-table-card td{text-align:left;padding:13px 17px;border-bottom:1px solid #eef1f5;font-size:13px;vertical-align:middle}.report-table-card th{background:#f8fafc;color:var(--muted);font-size:10px;letter-spacing:.07em}.report-table-card tbody tr:last-child td{border-bottom:0}.report-empty-cell{text-align:center!important;color:var(--muted);padding:28px!important}

.report-cell-stack{display:grid;gap:4px;align-items:start}.report-cell-stack>small{display:block;color:var(--muted);line-height:1.35}.report-cell-stack>small:has(+*){margin-top:2px}.report-print-header,.report-print-footer{display:none}
@media(max-width:900px){.report-layout{grid-template-columns:1fr}.report-panel-wide{grid-column:auto}.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar label{min-width:0}.report-toolbar .primary-button{margin:0}.report-actions{width:100%}.report-actions button{flex:1}}
@page{size:A4 landscape;margin:10mm 9mm 12mm}
@media print{
    body.printing-report{background:#fff;color:#111827;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .printing-report .sidebar,.printing-report .topbar,.printing-report #toast,.printing-report .report-toolbar,.printing-report .report-actions{display:none!important}
    .printing-report .main{margin:0;width:100%}
    .printing-report .content{padding:0}
    .printing-report .section{display:none!important}
    .printing-report #relatorios{display:block!important}
    .printing-report .report-print-header{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10mm;align-items:end;border-bottom:1px solid #cbd5e1;padding:0 0 5mm;margin:0 0 5mm}
    .printing-report .report-print-header>div{display:grid;gap:2px}
    .printing-report .report-print-header>div:nth-child(2){text-align:center}
    .printing-report .report-print-header>div:last-child{text-align:right}
    .printing-report .report-print-header strong{font-size:11px;color:#0f172a}
    .printing-report .report-print-header span{font-size:8px;color:#475569}
    .printing-report .report-heading{margin:0 0 4mm}
    .printing-report .report-heading .eyebrow{font-size:7px}
    .printing-report .report-heading h1{font-size:20px;margin:1mm 0}
    .printing-report .report-heading p{font-size:9px;margin:0}
    .printing-report .report-period{font-size:8px;margin:0 0 3mm}
    .printing-report .report-summary{grid-template-columns:repeat(5,1fr);gap:2.5mm;margin-bottom:4mm}
    .printing-report .report-summary article{padding:3mm;border-radius:3mm;min-height:21mm;break-inside:avoid;box-shadow:none}
    .printing-report .report-summary small{font-size:7px}
    .printing-report .report-summary strong{font-size:15px}
    .printing-report .report-summary span{font-size:6.5px;line-height:1.25}
    .printing-report .report-layout{gap:3mm}
    .printing-report .report-panel{padding:4mm;border-radius:3mm;break-inside:avoid;box-shadow:none}
    .printing-report .report-panel-heading{margin-bottom:2mm}
    .printing-report .report-panel-heading h3{font-size:12px}
    .printing-report .report-panel-heading small{font-size:7px}
    .printing-report .report-chart{height:48mm;overflow:visible;grid-template-columns:repeat(var(--report-days),minmax(0,1fr));gap:1mm;padding:2mm 0 0}
    .printing-report .report-day{min-width:0;grid-template-rows:4mm 1fr 4mm;gap:1mm}
    .printing-report .report-day>strong{font-size:6px}
    .printing-report .report-day>div{min-height:20mm;border-radius:1.5mm}
    .printing-report .report-day small{font-size:5.5px;letter-spacing:-.02em;overflow:visible}
    .printing-report .report-breakdown{gap:2mm}
    .printing-report .report-breakdown-row>div{font-size:8px}
    .printing-report .report-breakdown-row i{height:2mm}
    .printing-report .report-details-heading{break-before:page;margin:0 0 3mm}
    .printing-report .report-details-heading h3{font-size:15px}
    .printing-report .report-details{gap:3mm}
    .printing-report .report-table-card{break-inside:avoid;box-shadow:none;border-radius:2mm}
    .printing-report .report-table-title{padding:3mm 4mm}
    .printing-report .report-table-title h3{font-size:11px}
    .printing-report .report-table-title small{font-size:7px}
    .printing-report .report-table-scroll{overflow:visible}
    .printing-report .report-table-card table{min-width:0;table-layout:fixed}
    .printing-report .report-table-card thead{display:table-header-group}
    .printing-report .report-table-card tr{break-inside:avoid}
    .printing-report .report-table-card th,.printing-report .report-table-card td{font-size:7px;padding:2.2mm;word-break:break-word}
    .printing-report .report-table-card th{font-size:6px}
    .printing-report .status{font-size:5.5px;padding:1mm 1.5mm}
    .printing-report .report-cell-stack{gap:.7mm}
    .printing-report .report-cell-stack>small{font-size:6px}
}

.report-breakdown-columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:25px}

/* Usuários e permissões */
.user-toolbar{align-items:center}.user-toolbar input{flex:1;max-width:none}.user-toolbar select{max-width:210px}.security-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 16px}.security-summary span{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;color:var(--muted);font-size:12px;font-weight:750}.security-summary strong{color:var(--ink);font-size:18px;margin-right:4px}.user-grid{grid-template-columns:1.15fr .9fr 1.25fr 1.35fr}.user-dialog{width:min(920px,calc(100% - 30px))}.permission-editor{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.permission-editor-heading{display:flex;justify-content:space-between;gap:18px;align-items:end}.permission-editor-heading h4{font-size:20px;margin:4px 0}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:15px;max-height:380px;overflow:auto;padding-right:4px}.permission-group{border:1px solid var(--line);border-radius:13px;padding:13px;margin:0;min-width:0}.permission-group legend{padding:0 7px;font-size:12px;font-weight:900;color:var(--blue)}.permission-option{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:9px;margin:9px 0;font-size:12px;font-weight:700;line-height:1.35}.permission-option input{width:17px;height:17px;margin:0;flex:0 0 auto}.permission-option input:disabled{opacity:.65}.security-notice{padding:12px 14px;border-radius:11px;background:#eff6ff;color:#1e40af;font-size:13px;font-weight:750;line-height:1.45}.waiting{background:#e0f2fe;color:#075985}.inactive{background:#fee2e2;color:#991b1b}.danger-button{padding:13px 17px;border-radius:11px;background:#b91c1c;color:#fff;font-weight:850}.danger-button:hover{background:#991b1b}.mini-button{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue);font-size:11px;font-weight:850}.danger-text{color:#b91c1c!important}.resident-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.compact-dialog{width:min(520px,calc(100% - 30px))}
@media(max-width:1000px){.user-grid{grid-template-columns:1.05fr .85fr 1.15fr 1.35fr}.permission-groups{grid-template-columns:1fr}.user-toolbar{align-items:stretch;flex-wrap:wrap}.user-toolbar select{max-width:none;flex:1}}
@media(max-width:760px){.user-grid{min-width:900px}.permission-editor-heading{align-items:flex-start;flex-direction:column}.user-dialog .form-grid{grid-template-columns:1fr}.user-dialog .wide{grid-column:auto}}


/* Estrutura do condomínio */
.structure-summary{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.structure-condominium-card{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(125deg,#fff,#eff6ff);border:1px solid var(--line);border-radius:17px;padding:22px;margin-bottom:18px}.structure-condominium-card h3{font-size:24px;margin:4px 0}.structure-condominium-card p{color:var(--muted);margin:3px 0}.structure-contact{display:grid;gap:6px;text-align:right;color:var(--muted);font-size:13px}.structure-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:16px}.structure-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;min-width:0}.structure-panel-wide{min-width:0}.structure-panel-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.structure-panel-heading h3{margin:4px 0}.compact-toolbar{margin:0 0 12px}.compact-toolbar input{max-width:none}.structure-block-grid{grid-template-columns:1.2fr .55fr 1fr 1fr}.structure-unit-grid{grid-template-columns:1.25fr .8fr 1fr 1fr}.structure-spot-grid{grid-template-columns:1fr 1fr .9fr 1fr}.structure-spot-grid>span:nth-child(3) small{display:block;margin-top:5px;color:var(--muted)}
@media(max-width:1150px){.structure-grid{grid-template-columns:1fr}.structure-condominium-card{align-items:flex-start}.structure-contact{text-align:left}}
@media(max-width:760px){.structure-condominium-card{flex-direction:column}.structure-block-grid,.structure-unit-grid,.structure-spot-grid{min-width:800px}}

/* Notificações e comunicação */
.communication-heading{align-items:center}.communication-actions{display:flex;gap:10px;flex-wrap:wrap}.communication-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px}.provider-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.provider-card i{width:11px;height:11px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 5px #fef3c7}.provider-card.ready i{background:#16a34a;box-shadow:0 0 0 5px #dcfce7}.provider-card div{display:grid;gap:3px;min-width:0;flex:1}.provider-card small{color:var(--muted);line-height:1.35}.provider-card>span{font-size:9px;font-weight:900;letter-spacing:.05em;color:#92400e}.provider-card.ready>span{color:#166534}.communication-toolbar{align-items:center}.communication-toolbar input{flex:1;max-width:none}.communication-toolbar select{max-width:220px}.communication-send-grid{grid-template-columns:1.05fr 1.5fr .9fr 1fr}.communication-send-grid>span:nth-child(2) small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.communication-send-grid>span:nth-child(3){display:grid;gap:7px}.communication-send-grid>span:nth-child(3) small{color:var(--muted);line-height:1.35}.communication-model-heading{margin-top:30px;align-items:end}.communication-model-heading h2{margin:3px 0}.communication-model-heading code{font-size:12px;background:#eaf1ff;color:#1d4ed8;padding:2px 5px;border-radius:5px}.communication-template-grid{grid-template-columns:1.4fr .8fr 1fr 1fr}.notification-dialog{width:min(820px,calc(100% - 30px))}.notification-all-label{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;background:#f8fafc;border:1px solid var(--line);border-radius:11px;padding:12px 14px}.notification-all-label input,.channel-selector input{width:17px;height:17px;margin:0}.channel-selector{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0}.channel-selector legend{padding:0 7px;font-weight:850;font-size:12px}.channel-selector label{display:inline-flex;flex-direction:row;align-items:center;gap:8px;margin:6px 18px 6px 0}.field-help{display:block;color:var(--muted);font-weight:600;line-height:1.35;margin-top:5px}
@media(max-width:1000px){.provider-grid{grid-template-columns:1fr}.communication-toolbar{align-items:stretch;flex-wrap:wrap}.communication-toolbar select{max-width:none;flex:1}.communication-send-grid,.communication-template-grid{min-width:900px}}
@media(max-width:760px){.communication-heading,.communication-model-heading{align-items:flex-start;flex-direction:column}.communication-actions{width:100%}.communication-actions button{flex:1}.notification-dialog .form-grid{grid-template-columns:1fr}.notification-dialog .wide{grid-column:auto}}

/* Atendimento e solicitações */
.request-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.request-summary article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;display:grid;gap:3px}.request-summary strong{font-size:22px}.request-summary small{color:var(--muted);font-weight:750}.service-request-toolbar{align-items:center}.service-request-toolbar input{flex:1;max-width:none}.service-request-toolbar select{max-width:205px}.service-request-grid{grid-template-columns:1.35fr 1fr .85fr 1fr .55fr}.request-overdue{background:#fff8f8}.priority-baixa{background:#e0f2fe;color:#075985}.priority-media{background:#fef3c7;color:#92400e}.priority-alta{background:#fed7aa;color:#9a3412}.priority-urgente{background:#fee2e2;color:#991b1b}.info{background:#dbeafe;color:#1d4ed8}.overdue-text{color:#b91c1c!important;font-weight:850}.service-request-dialog{width:min(960px,calc(100% - 30px))}.request-detail-header{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:15px 0}.request-detail-header div{display:grid;gap:4px}.request-detail-header small{color:var(--muted)}.request-description-card{background:#f8fafc;border:1px solid var(--line);border-radius:13px;padding:15px;margin-bottom:6px}.request-description-card p{margin:7px 0 0;color:var(--muted);line-height:1.55;white-space:pre-wrap}.request-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:22px}.request-history-grid>section{border:1px solid var(--line);border-radius:13px;padding:15px;min-width:0}.request-timeline,.request-attachments{display:grid;gap:9px;margin-top:11px;max-height:260px;overflow:auto}.request-timeline article,.request-attachments article{border:1px solid #edf0f4;border-radius:10px;padding:11px;background:#fff}.request-timeline article{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.request-timeline article p{grid-column:1/-1;margin:4px 0 0;color:var(--muted);white-space:pre-wrap}.request-timeline small,.request-attachments small{color:var(--muted)}.request-attachments article{display:flex;justify-content:space-between;gap:12px;align-items:center}.request-attachments article>div{display:grid;gap:3px;min-width:0}.compact-empty{padding:18px}
@media(max-width:1100px){.service-request-grid{min-width:980px}.service-request-toolbar{align-items:stretch;flex-wrap:wrap}.service-request-toolbar select{max-width:none;flex:1}}
@media(max-width:760px){.request-history-grid{grid-template-columns:1fr}.service-request-dialog .form-grid{grid-template-columns:1fr}.service-request-dialog .wide{grid-column:auto}.request-detail-header{align-items:flex-start;flex-direction:column}}

/* FIX: menu lateral com rolagem interna */
.sidebar{
    height:100vh;
    height:100dvh;
    overflow:hidden;
}
.sidebar nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    align-content:start;
    padding-right:4px;
    overscroll-behavior:contain;
    touch-action:pan-y;
    scrollbar-width:thin;
    scrollbar-color:#40527d transparent;
}
.sidebar nav::-webkit-scrollbar{width:6px}
.sidebar nav::-webkit-scrollbar-track{background:transparent}
.sidebar nav::-webkit-scrollbar-thumb{background:#40527d;border-radius:999px}
.sidebar nav::-webkit-scrollbar-thumb:hover{background:#5b6f9f}
.sidebar-bottom{
    flex:0 0 auto;
    margin-top:14px;
}
@media(max-width:520px){
    .sidebar{
        height:auto;
        overflow:visible;
    }
    .sidebar nav{
        min-width:0;
        overflow-x:auto;
        overflow-y:hidden;
        padding-right:0;
        padding-bottom:4px;
        overscroll-behavior-x:contain;
        touch-action:pan-x;
    }
    .sidebar-bottom{margin-top:0}
}


/* Moradores: foto e criação rápida de unidade */
.resident-dialog{width:min(780px,calc(100% - 30px))}
.resident-person{display:flex;align-items:center;gap:12px;min-width:0}
.resident-person>span:last-child{min-width:0}
.resident-avatar,.resident-photo-preview{display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#eff6ff);color:#1d4ed8;font-weight:900;flex:0 0 auto}
.resident-avatar{width:46px;height:46px;border-radius:14px;font-size:14px}
.resident-avatar img,.resident-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.employee-avatar{background:linear-gradient(135deg,#e0e7ff,#eef2ff);color:#3730a3;box-shadow:inset 0 0 0 1px rgba(55,48,163,.08)}
.employee-avatar.has-photo{background:#eef2ff}
.resident-photo-editor{display:flex;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#f8fafc;margin-top:18px}
.resident-photo-preview{width:92px;height:92px;border-radius:22px;font-size:26px;border:1px solid #bfdbfe}
.resident-photo-controls{min-width:0;flex:1}
.resident-photo-controls strong{display:block}
.resident-photo-controls p{margin:6px 0 11px}
.resident-photo-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.file-button{display:inline-flex!important;align-items:center;justify-content:center;margin:0!important;cursor:pointer}
.visually-hidden{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}
.resident-unit-section{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff}
.resident-unit-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.resident-unit-heading .text-button{font-size:12px}
.resident-new-unit-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.resident-new-unit-fields .wide{grid-column:1/-1}
@media(max-width:760px){
  .resident-photo-editor{align-items:flex-start;flex-direction:column}
  .resident-unit-heading{align-items:flex-start;flex-direction:column}
  .resident-new-unit-fields{grid-template-columns:1fr}
  .resident-new-unit-fields .wide{grid-column:auto}
}

/* Encomendas: foto privada e local de armazenamento */
.delivery-person{display:flex;align-items:center;gap:12px;min-width:0}.delivery-thumb{width:46px;height:46px;flex:0 0 46px;border-radius:12px;border:1px solid var(--line);background:#eef4ff;display:grid;place-items:center;overflow:hidden;font-size:20px}.delivery-thumb.has-photo{padding:0}.delivery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.delivery-thumb.placeholder{color:#1d4ed8}.delivery-location{display:block;margin-top:5px;color:var(--muted)}.delivery-photo-field small{font-weight:500;color:var(--muted)}.delivery-photo-preview{margin-top:15px;border:1px dashed #b9c6d8;background:#f8fafc;border-radius:14px;padding:12px;display:flex;align-items:center;gap:12px}.delivery-photo-preview img{width:76px;height:76px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.delivery-photo-preview div{display:grid;gap:4px;flex:1}.delivery-photo-preview small{color:var(--muted)}.delivery-photo-dialog{width:min(820px,calc(100% - 28px))}.delivery-photo-dialog-card{padding:24px}.delivery-photo-dialog-card header{margin-bottom:16px}.delivery-photo-dialog-card>img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:16px;background:#0b1220}.delivery-photo-dialog-card>p{margin-bottom:0}.danger-text{color:#b91c1c!important}
@media(max-width:760px){.delivery-photo-preview{align-items:flex-start;flex-wrap:wrap}.delivery-photo-preview div{min-width:160px}}

/* CondoControl AI v1.3.13 — Zeladoria / perfil Zelador */
.zeladoria-web-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:20px;align-items:start;margin-top:20px}
.zeladoria-web-card,.zeladoria-web-note{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:22px;box-shadow:0 12px 35px rgba(15,23,42,.06)}
.zeladoria-web-card .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.zeladoria-web-card .wide{grid-column:1/-1}
.zeladoria-web-card textarea{min-height:150px;resize:vertical}
.zeladoria-web-note{display:flex;gap:14px;background:linear-gradient(180deg,#f8fbff,#f4f7ff)}
.zeladoria-web-note>span{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:13px;background:#e8efff;color:#1d4ed8;font-size:20px}
.zeladoria-web-note strong{display:block;margin-bottom:7px}.zeladoria-web-note p{margin:0 0 10px;color:#64748b;line-height:1.55}.zeladoria-web-note small{color:#64748b}
.zeladoria-photo-summary{padding:11px 13px;border-radius:12px;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;font-size:13px}
@media(max-width:900px){.zeladoria-web-grid{grid-template-columns:1fr}.zeladoria-web-card .form-grid{grid-template-columns:1fr}.zeladoria-web-card .wide{grid-column:auto}}

/* Reservas de áreas comuns - operação da portaria */
.common-area-toolbar{align-items:center;flex-wrap:wrap}.common-area-toolbar input{flex:1;min-width:260px;max-width:none}.common-area-toolbar select{width:auto;min-width:180px}.common-area-reservation-grid{grid-template-columns:1.35fr 1fr 1.25fr .8fr}.common-area-reservation-grid>span{min-width:0}.common-area-reservation-grid small{display:block;margin-top:4px;line-height:1.4}.reservation-status-note{margin-top:7px!important;font-weight:800;letter-spacing:.04em}.common-area-reservation-grid .status{display:inline-block}
@media(max-width:1050px){.common-area-reservation-grid{min-width:920px}.common-area-toolbar{align-items:stretch}.common-area-toolbar select{width:100%;min-width:0}}

/* Histórico detalhado v1.6.8 */
#auditTable .audit-row{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}
#auditTable .audit-row:hover{background:#f8fbff}
#auditTable .audit-row:focus{outline:3px solid rgba(37,99,235,.18);outline-offset:-3px;background:#f8fbff}
#auditTable .audit-row .audit-open-hint{display:block;margin-top:4px;color:#2563eb;font-weight:800;font-size:10px}
.audit-detail-dialog{width:min(860px,calc(100% - 30px))}
.audit-detail-body{display:grid;gap:18px;margin-top:20px;max-height:min(68vh,700px);overflow:auto;padding-right:3px}
.audit-detail-hero{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;padding:17px;border:1px solid #dbe5f0;background:#f8fbff;border-radius:14px}
.audit-detail-hero h4{margin:0 0 5px;font-size:20px}
.audit-detail-hero p{margin:0;color:var(--muted);line-height:1.45}
.audit-detail-id{white-space:nowrap;border-radius:999px;background:#eaf1ff;color:#1d4ed8;font-size:11px;font-weight:900;padding:7px 10px}
.audit-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.audit-detail-item{border:1px solid var(--line);border-radius:12px;padding:13px 14px;min-width:0;background:#fff}
.audit-detail-item small{display:block;color:var(--muted);font-weight:850;font-size:10px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px}
.audit-detail-item strong,.audit-detail-item span{display:block;overflow-wrap:anywhere;line-height:1.45}
.audit-detail-section{border-top:1px solid var(--line);padding-top:16px}
.audit-detail-section h4{margin:0 0 11px;font-size:16px}
.audit-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.audit-context-item{padding:11px 12px;border:1px solid #e7ebf1;border-radius:10px;background:#fff;min-width:0}
.audit-context-item small{display:block;color:var(--muted);font-size:10px;font-weight:850;margin-bottom:4px}
.audit-context-item span{display:block;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.4}
.audit-detail-empty{padding:14px;border-radius:10px;background:#f8fafc;color:var(--muted);font-size:13px;line-height:1.5}
.audit-device{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}
@media(max-width:760px){.audit-detail-grid,.audit-context-grid{grid-template-columns:1fr}.audit-detail-hero{grid-template-columns:1fr}.audit-detail-id{justify-self:start}}
