/* Layout: painel do almoxarifado com a identidade do Pier Residências — faixa azul no topo, logo no cabeçalho, conteúdo em largura de bancada (1120px) */
:root{
  --bg:#eef3f7; --surface:#ffffff; --surface-2:#e2ebf2; --fg:#16283a; --muted:#566b7e; --line:#cddae5;
  --accent:#3a7ba0; --on-accent:#ffffff; --accent-ink:#2a6286; --accent-soft:#e3eef5; --s1:#2a74b0; --s2:#eb6834;
  --ok:#2c7a4c; --ok-bg:#dff1e6; --warn:#a86300; --warn-bg:#fbedd5; --crit:#b8362a; --crit-bg:#f8e0dc;
  --info:#28507a; --info-bg:#e0e8f2; --swap:#714aa8; --swap-bg:#ece4f7; --teal:#16786f; --teal-bg:#dcf1ee;
  --grey-bg:#e6ecf1; --shadow:0 1px 2px rgba(22,40,58,.06),0 4px 16px rgba(22,40,58,.07);
  --f-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --f-body:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0f1820; --surface:#16222d; --surface-2:#1f2e3b; --fg:#e4edf4; --muted:#8fa3b4; --line:#2a3b4a;
  --accent:#5f9fc6; --on-accent:#0d1720; --accent-ink:#8cc0e0; --accent-soft:#1d3546; --s1:#4a95d0; --s2:#d95926;
  --ok:#5fc48b; --ok-bg:#163326; --warn:#eaa53d; --warn-bg:#3a2a12; --crit:#f06c5f; --crit-bg:#3d1b18;
  --info:#8fb3dd; --info-bg:#1b2c40; --swap:#b393e4; --swap-bg:#2b2140; --teal:#55c6b9; --teal-bg:#123330;
  --grey-bg:#223240; --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25); color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#0f1820; --surface:#16222d; --surface-2:#1f2e3b; --fg:#e4edf4; --muted:#8fa3b4; --line:#2a3b4a;
  --accent:#5f9fc6; --on-accent:#0d1720; --accent-ink:#8cc0e0; --accent-soft:#1d3546; --s1:#4a95d0; --s2:#d95926;
  --ok:#5fc48b; --ok-bg:#163326; --warn:#eaa53d; --warn-bg:#3a2a12; --crit:#f06c5f; --crit-bg:#3d1b18;
  --info:#8fb3dd; --info-bg:#1b2c40; --swap:#b393e4; --swap-bg:#2b2140; --teal:#55c6b9; --teal-bg:#123330;
  --grey-bg:#223240; --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25); color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
[hidden]{display:none!important}
img{max-width:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.5}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mono{font-family:var(--f-mono);font-size:.86em;letter-spacing:.01em}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}

/* Cabeçalho */
.stripe{height:6px;background:linear-gradient(90deg,var(--accent-ink),var(--accent) 55%,var(--accent-soft))}
header.top{background:var(--surface);border-bottom:1px solid var(--line)}
.wrap{max-width:1120px;margin:0 auto;padding-inline:16px}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:14px}
.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand .logo{display:block;height:60px;width:auto;flex:none}
.brand .sep{width:1px;align-self:stretch;background:var(--line);flex:none}
.brand h1{margin:0;font-family:var(--f-display);font-weight:700;font-size:1.55rem;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--accent-ink)}
.brand p{margin:4px 0 0;color:var(--muted);font-size:.85rem}
.me{display:flex;align-items:center;gap:10px;min-width:0}
.me img{width:32px;height:32px;border-radius:50%;flex:none}
.me .who{font-weight:600;font-size:.9rem;line-height:1.2}
.role{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:var(--grey-bg);color:var(--muted)}
.role.adm{background:var(--accent);color:var(--on-accent)}

nav.tabs{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
nav.tabs .wrap{display:flex;align-items:stretch;gap:4px}
nav.tabs .tabscroll{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1 1 auto}
nav.tabs button{background:none;border:0;padding:12px 12px 10px;font-family:var(--f-display);font-weight:600;font-size:1.05rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px}
nav.tabs button:hover{color:var(--fg)}
nav.tabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent)}
.badge{font-family:var(--f-body);font-size:.7rem;font-weight:700;min-width:20px;padding:1px 6px;border-radius:10px;background:var(--surface-2);color:var(--fg);letter-spacing:0}
.badge.alert{background:var(--crit);color:#fff}

main{padding-block:22px 60px}
.notice{border-radius:8px;padding:12px 14px;margin-bottom:16px;font-size:.92rem;border:1px solid var(--line);background:var(--surface)}
.notice.warn{background:var(--warn-bg);border-color:transparent;color:var(--fg)}
.notice.crit{background:var(--crit-bg);border-color:transparent}

h2.sec{font-family:var(--f-display);font-weight:700;font-size:1.35rem;letter-spacing:.03em;text-transform:uppercase;margin:0;text-wrap:balance}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.sec-head .muted{font-size:.85rem}
.stack{display:grid;gap:22px}

/* Painel */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:grid;gap:2px;text-align:left;cursor:pointer}
.kpi:hover{border-color:var(--muted)}
.kpi .lbl{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.kpi .val{font-family:var(--f-display);font-weight:700;font-size:2.4rem;line-height:1.05}
.kpi .sub{font-size:.82rem;color:var(--muted)}
.kpi.crit .val{color:var(--crit)} .kpi.warn .val{color:var(--warn)}
.grid2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:start}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}
.panel h3{margin:0 0 10px;font-family:var(--f-display);font-weight:700;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase}
.rows{display:grid}
.row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.row:first-child{border-top:0}
.row .t{font-weight:600;overflow-wrap:anywhere}
.row .d{font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}
.row .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.empty{padding:18px 4px;color:var(--muted);font-size:.92rem}
.bars{display:grid;gap:8px}
.bar{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr) 2.5rem;gap:10px;align-items:center;font-size:.88rem}
.bar .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar .track{height:10px;background:var(--surface-2);border-radius:3px;overflow:hidden}
.bar .fill{height:100%;background:var(--info);border-radius:3px}
.bar .v{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}

/* Pílulas */
.pill{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:4px;white-space:nowrap}
.p-entrada{background:var(--ok-bg);color:var(--ok)}
.p-saida{background:var(--info-bg);color:var(--info)}
.p-troca{background:var(--swap-bg);color:var(--swap)}
.p-emprestimo{background:var(--warn-bg);color:var(--warn)}
.p-devolucao{background:var(--teal-bg);color:var(--teal)}
.p-ajuste,.p-estorno{background:var(--grey-bg);color:var(--muted)}
.s-ok{background:var(--ok-bg);color:var(--ok)}
.s-baixo{background:var(--warn-bg);color:var(--warn)}
.s-zero{background:var(--crit-bg);color:var(--crit)}
.struck{text-decoration:line-through;opacity:.6}

/* Formulários */
.seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}
.seg button{border:1.5px solid var(--line);background:var(--surface);border-radius:8px;padding:12px 10px;cursor:pointer;text-align:left;display:grid;gap:2px}
.seg button b{font-family:var(--f-display);font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}
.seg button span{font-size:.78rem;color:var(--muted);line-height:1.3}
.seg button[aria-pressed="true"]{border-color:var(--fg);box-shadow:inset 0 -4px 0 var(--accent)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.form .full{grid-column:1/-1}
.field{display:grid;gap:5px;min-width:0}
.field label{font-size:.8rem;font-weight:600;color:var(--muted)}
.field label .req{color:var(--crit)}
.input,select.input,textarea.input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--bg);min-width:0}
textarea.input{min-height:64px;resize:vertical}
.input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.hint{font-size:.8rem;color:var(--muted)}
.hint.err{color:var(--crit);font-weight:600}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:9px 14px;font-weight:600;cursor:pointer;font-size:.9rem}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.primary:hover{filter:brightness(1.05)}
.btn.danger{color:var(--crit)}
.btn.small{padding:5px 10px;font-size:.8rem}
.btn:disabled{opacity:.5;cursor:not-allowed}
.link{background:none;border:0;padding:0;color:var(--accent-ink);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-size:inherit}

/* Seletor de item */
.combo{position:relative}
.combo-list{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);max-height:280px;overflow:auto;z-index:20}
.combo-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:9px 11px;cursor:pointer;align-items:center}
.combo-list button:first-child{border-top:0}
.combo-list button:hover,.combo-list button.hl{background:var(--surface-2)}
.picked{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;background:var(--surface-2);border-radius:6px;padding:9px 11px}

/* Tabelas */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.toolbar .input{width:auto;flex:1 1 200px}
.toolbar select.input{flex:0 1 190px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:5px 12px;font-size:.82rem;font-weight:600;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.tablebox{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}
td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td .sub{display:block;font-size:.8rem;color:var(--muted)}
.summary{display:flex;gap:18px;flex-wrap:wrap;font-size:.88rem;color:var(--muted);margin-bottom:12px}
.summary b{color:var(--fg);font-variant-numeric:tabular-nums}

/* Janela */
.overlay{position:fixed;inset:0;background:rgba(10,15,20,.45);display:grid;place-items:center;padding:16px;z-index:50}
.modal{background:var(--surface);border-radius:10px;box-shadow:var(--shadow);width:min(640px,100%);max-height:92vh;overflow:auto;padding:20px}
.modal h3{margin:0 0 14px;font-family:var(--f-display);font-weight:700;font-size:1.4rem;letter-spacing:.03em;text-transform:uppercase}
.confirm{background:var(--crit-bg);border-radius:6px;padding:12px;display:grid;gap:10px}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:6px;font-weight:600;font-size:.9rem;z-index:60;max-width:calc(100% - 32px);box-shadow:var(--shadow)}
.toast.err{background:var(--crit);color:#fff}

@media (max-width:820px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2{grid-template-columns:minmax(0,1fr)}
  .hide-m{display:none}
}
@media (max-width:560px){
  .seg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form{grid-template-columns:minmax(0,1fr)}
  .kpi .val{font-size:2rem}
  .brand h1{font-size:1.3rem}
  .brand .logo{height:40px}
  .brand p{display:none}
  .hide-s{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Entrada */
.login{position:fixed;inset:0;background:#1d3a52;display:grid;place-items:center;padding:16px;z-index:70;overflow:auto;isolation:isolate}
/* foto do condomínio ao fundo; um leve desfoque e um véu azul deixam o cartão em destaque */
.login::before{content:"";position:fixed;inset:-24px;z-index:-2;background:url(img/fundo-login.jpg) center/cover no-repeat;filter:blur(3px) saturate(1.05)}
.login::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,36,54,.25) 0%,rgba(16,36,54,.45) 100%)}
.login .card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 40px rgba(5,15,25,.35);width:min(400px,100%);overflow:hidden}
.login .card .stripe{height:6px}
.login .logo-login{display:block;width:min(260px,80%);height:auto;margin:4px auto 6px}
.login .inner{padding:22px 22px 24px;display:grid;gap:14px}
.login h2{margin:0;text-align:center;font-family:var(--f-display);font-weight:700;font-size:1.8rem;line-height:1;text-transform:uppercase;letter-spacing:.01em}
.login p{margin:0;color:var(--muted);font-size:.9rem}
.login .inner > p{text-align:center}
.me .sair{background:none;border:0;padding:0;color:var(--muted);font-size:.8rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.sync{font-size:.78rem;color:var(--muted);white-space:nowrap}
.spin{display:inline-block;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:gira .8s linear infinite;vertical-align:-2px}
@keyframes gira{to{transform:rotate(360deg)}}

/* Dashboard */
.kpis6{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi.static{cursor:default;min-width:0}
.kpis6 .val{white-space:nowrap}
.kpi.static:hover{border-color:var(--line)}
.kpi .val{font-variant-numeric:normal}
.panel h3{margin:0}
.panel .cap{margin:2px 0 12px;color:var(--muted);font-size:.84rem}
.grid-dash{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.dash-filtros{justify-content:space-between}
#t-dashboard.carregando .kpis, #t-dashboard.carregando .panel{opacity:.55;transition:opacity .2s}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.sw{display:inline-block;width:10px;height:10px;border-radius:2px}
.chart{min-height:230px}
.chart svg{display:block;overflow:visible}
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .base{stroke:var(--muted);stroke-width:1}
.chart .ax{fill:var(--muted);font-size:11px;font-family:var(--f-body);font-variant-numeric:tabular-nums}
.chart rect[data-tip]:hover, .chart rect[data-tip]:focus-visible{fill:var(--fg);fill-opacity:.05;outline:none}
.hbars{display:grid;gap:7px}
.hb{display:grid;grid-template-columns:minmax(0,10.5rem) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.86rem;border-radius:4px;padding:1px 2px}
.hb:hover, .hb:focus-visible{background:var(--surface-2);outline:none}
.hb-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-t{height:12px;display:block}
.hb-f{display:block;height:100%;background:var(--s1);border-radius:0 4px 4px 0}
.hb-v{color:var(--fg);font-weight:600;white-space:nowrap;min-width:2.5rem;text-align:right}
.tablebox.flat{border:0;border-radius:0;background:none}
.tablebox.flat th{background:none;padding-inline:8px}
.tablebox.flat td{padding-inline:8px}
.viz-tip{position:fixed;z-index:80;pointer-events:none;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:8px 10px;font-size:.82rem;min-width:120px;max-width:260px}
.viz-tip-t{color:var(--muted);font-size:.76rem;margin-bottom:4px}
.viz-tip-r{display:flex;align-items:center;gap:6px}
.viz-tip-r b{font-variant-numeric:tabular-nums}
.viz-tip-r span:last-child{color:var(--muted)}
.viz-key{display:inline-block;width:12px;height:2px;border-radius:1px}

/* Usuários e permissões */
tr.inativo td{color:var(--muted)}
.small-link{font-size:.8rem}
.matriz th.c, .matriz td.c{text-align:center;white-space:nowrap}
.matriz th div{font-weight:500;text-transform:none;letter-spacing:0;margin-top:2px}
.matriz tr.grp td{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);padding-block:6px}
.matriz .sim{color:var(--ok);font-weight:700}
.matriz .nao{color:var(--line)}
.perm-grupos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.perm-g{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0;display:grid;gap:6px;min-width:0}
.perm-g legend{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 4px}
.perm{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;cursor:pointer}
.perm input{margin-top:3px;accent-color:var(--accent)}
.kpi:disabled{cursor:default;opacity:1}

@media (max-width:820px){
  .kpis6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-dash{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .perm-grupos{grid-template-columns:minmax(0,1fr)}
  .hb{grid-template-columns:minmax(0,7.5rem) minmax(0,1fr) auto}
}
@media (max-width:440px){ .kpis6{grid-template-columns:minmax(0,1fr)} }

/* Ordens de serviço */
.row-btn{width:100%;background:none;border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;border-radius:0;padding-inline:4px}
.rows .row-btn:first-child{border-top:0}
.row-btn:hover,.row-btn:focus-visible{background:var(--surface-2)}
.atras{color:var(--crit);font-weight:600}
.pill.prio-urgente{background:var(--crit);color:#fff}
.pill.prio-alta{background:var(--warn-bg);color:var(--warn)}
.pill.prio-normal{background:var(--info-bg);color:var(--info)}
.pill.prio-baixa{background:var(--grey-bg);color:var(--muted)}
.pill.st-aberta{background:var(--accent-soft);color:var(--accent-ink)}
.pill.st-andamento{background:var(--teal-bg);color:var(--teal)}
tr.click{cursor:pointer}
tr.click:hover td, tr.click:focus-visible td{background:var(--surface-2)}
tr.click:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.modal.largo{width:min(780px,100%)}
.os-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.modal h3.os-tit{margin:0 0 12px;text-transform:none;letter-spacing:0;font-size:1.45rem;line-height:1.2;text-wrap:balance}
.os-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin:0 0 14px}
.os-info div{min-width:0}
.os-info dt{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.os-info dd{margin:2px 0 0;overflow-wrap:anywhere}
.os-desc{white-space:pre-wrap;background:var(--surface-2);border-radius:6px;padding:10px 12px;margin:0 0 12px}
.os-sol{border-left:3px solid var(--ok);padding:4px 0 4px 12px;margin:0 0 12px}
.os-sol.canc{border-left-color:var(--muted)}
.os-sol p{margin:4px 0 0;white-space:pre-wrap}
.os-acoes{margin:4px 0 14px}
.os-subform{background:var(--surface-2);border-radius:8px;padding:14px;margin:0 0 14px}
.os-subform .input{background:var(--surface)}
.os-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.modal section{margin-bottom:14px}
.modal h4{margin:0 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fotos{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.foto{position:relative;width:84px;height:84px}
.foto-ver{width:100%;height:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);padding:0;overflow:hidden;cursor:zoom-in;display:grid;place-items:center;font-size:.7rem}
.foto-ver img{width:100%;height:100%;object-fit:cover;display:block}
.foto-x{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--crit);font-weight:700;line-height:1;cursor:pointer;padding:0}
.foto-add{width:84px;height:84px;border:1.5px dashed var(--line);border-radius:6px;display:grid;place-items:center;color:var(--accent-ink);font-weight:600;font-size:.85rem;cursor:pointer}
.foto-add:hover{border-color:var(--accent)}
.foto-add:focus-within{outline:2px solid var(--accent)}
.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);display:grid;gap:6px;font-size:.88rem}
.timeline li{position:relative}
.timeline li::before{content:"";position:absolute;left:-19px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.timeline .when{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:4px}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(5,10,15,.85);display:grid;place-items:center;padding:16px;gap:12px;grid-template-rows:1fr auto}
.lightbox img{max-width:100%;max-height:calc(100vh - 100px);border-radius:6px;object-fit:contain}
.imp-resumo{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem;margin-bottom:10px}
.imp-modo{margin-bottom:10px}
.imp-tab{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:6px}
.dash-bloco{display:grid;gap:22px}
h2.sec.sub-sec{font-size:1.15rem;color:var(--accent-ink)}
@media (max-width:560px){
  .os-info{grid-template-columns:repeat(2,minmax(0,1fr))}
  .os-grid{grid-template-columns:minmax(0,1fr)}
}
td.mono{white-space:nowrap}

/* Demandas */
.pill.st-ciente{background:var(--warn-bg);color:var(--warn)}
.btn.wa{background:var(--ok);border-color:var(--ok);color:var(--on-accent)}
.btn.wa:hover{filter:brightness(1.06);border-color:var(--ok)}
.aviso-dem{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px 20px;align-items:start;background:var(--accent-soft);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:8px;padding:14px 16px;margin-bottom:18px}
.aviso-txt{display:grid;gap:3px}
.aviso-txt .aviso-tit{font-family:var(--f-display);font-size:1.25rem;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-ink);line-height:1.1}
.aviso-txt span{font-size:.88rem;color:var(--muted)}
.aviso-lista{display:grid;gap:6px;justify-items:start}
.aviso-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:7px 10px;cursor:pointer;font-size:.9rem}
.aviso-item:hover{border-color:var(--accent)}
.aviso-wa{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--ok-bg);border-radius:8px;padding:10px 12px;margin:0 0 14px;font-size:.9rem}
@media (max-width:720px){ .aviso-dem{grid-template-columns:minmax(0,1fr)} }
.ai-p{font-size:.82rem;white-space:nowrap}
.stack>*{min-width:0}
.so-s{display:none}
@media (max-width:560px){
  .so-s{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px;font-size:.8rem;color:var(--muted)}
  .aviso-item{grid-template-columns:auto minmax(0,1fr)}
  .aviso-item .ai-p{grid-column:2}
}
.login #l-entrar{width:100%}
.login .actions .hint{width:100%;text-align:center}

/* Nota fiscal das compras */
.nf-anexo{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nf-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center}
.nf-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.nf-btn:focus-within{outline:2px solid var(--accent)}
.nf-lista{display:flex;gap:6px;flex-wrap:wrap}
.nf-chip{display:inline-flex;gap:8px;align-items:center;background:var(--surface-2);border-radius:6px;padding:5px 10px;font-size:.85rem}
.nf-chip.ok{background:var(--ok-bg)}
.nf-chip.aviso{background:var(--crit-bg);display:inline;line-height:1.4}
.nf-ver{display:grid;gap:12px}
.nf-item{min-height:60px;display:flex;align-items:center;gap:8px}
.foto-ver.nf-img{width:100%;height:auto;max-height:70vh;background:var(--surface-2)}
.foto-ver.nf-img img{width:100%;height:auto;max-height:70vh;object-fit:contain}

/* Itens lidos da nota */
.lote{display:grid;gap:10px}
.lote-item{border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;gap:10px;background:var(--surface)}
.lote-item.off{opacity:.55}
.lote-item.feito{background:var(--ok-bg);border-color:transparent}
.lote-top{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.lote-top input{margin-top:4px;accent-color:var(--accent)}
.lote-top .sub{display:block;font-size:.82rem;color:var(--muted)}
.lote-campos{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,.8fr) minmax(0,1fr);gap:10px}
.lote-st:empty{display:none}
.lote-st.ok{color:var(--ok);font-weight:600}
@media (max-width:560px){ .lote-campos{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .lote-campos .field:first-child{grid-column:1/-1} }
.lote-top .selo{margin-left:6px;vertical-align:1px}
.lote-top .pill{margin-left:6px;vertical-align:1px}
.lote-campos .lote-nome{grid-column:1/-1;order:5}
.lote-campos .lote-nome[hidden]{display:none}
/* conferência da nota: o que precisa de atenção fica marcado na borda da linha */
.lote-item.st-confira,.lote-item.st-escolha{border-left:4px solid var(--warn)}
.lote-item.st-medida{border-left:4px solid var(--crit)}
.lote-item.off.st-confira,.lote-item.off.st-escolha,.lote-item.off.st-medida{border-left-color:var(--line)}
.lote-n{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-right:6px;border-radius:11px;background:var(--surface-2);font-size:.75rem;font-weight:700;color:var(--muted)}
.car-lista{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.car{font-size:.75rem;font-weight:600;padding:1px 7px;border-radius:4px;background:var(--info-bg);color:var(--info);white-space:nowrap}
.car.sec{background:var(--grey-bg);color:var(--muted);font-weight:500}
.lote-estoque{margin:0;font-size:.88rem;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.lote-estoque .car-lista{margin-top:0}
.lote-aviso{border-radius:6px;padding:8px 10px;font-size:.88rem;margin:0}
.lote-aviso.crit{background:var(--crit-bg)}
.lote-aviso.warn{background:var(--warn-bg)}
.lote-alerta{display:grid;gap:6px}
.lote-alerta:empty{display:none}
.lote-conf{display:flex;gap:8px;align-items:center;margin-top:6px;font-weight:600;cursor:pointer}
.lote-conf input{accent-color:var(--accent);width:18px;height:18px}
.lote-memo{margin:0;font-size:.84rem;color:var(--muted)}
.lote-memo.aviso{color:var(--warn)}
.lote-resumo{margin:0 0 12px;font-size:.92rem}
.txt-warn{color:var(--warn)}
.lote-pend{margin:0;padding:10px 14px 10px 30px;border-radius:8px;background:var(--warn-bg);font-size:.88rem;display:grid;gap:2px}
.lote-pend[hidden]{display:none}
.lote-rep ul{margin:6px 0 8px;padding-left:20px}
.lote-rep .actions{margin-top:8px}
.lote-div .actions{margin:8px 0 6px}
.lote-div{margin-bottom:10px}
.lote-rev-nota{margin:0 0 8px}
.rep-conf{margin-top:10px}
.rep-campos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:10px;margin-top:8px}
.rep-campos[hidden]{display:none}
@media (max-width:560px){ .rep-campos{grid-template-columns:minmax(0,1fr)} }
.lote-rev{border:1px solid var(--accent);border-radius:8px;padding:12px 14px;background:var(--accent-soft)}
.lote-rev[hidden]{display:none}
.lote-rev h4{margin:0 0 8px;font-size:1rem}
.lote-rev ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lote-rev li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 14px;padding-top:8px;border-top:1px solid var(--line)}
.lote-rev li:first-child{border-top:0;padding-top:0}
.lote-rev .sub{display:block;font-size:.82rem;color:var(--muted)}
.rev-aviso{color:var(--crit);font-weight:600}
@media (max-width:560px){ .lote-rev li{grid-template-columns:minmax(0,1fr)} }

/* Resumo da nota finalizada */
.resumo-nota{display:grid;gap:14px;border-left:5px solid var(--ok)}
.resumo-top h3{margin:8px 0 4px;font-family:var(--f-display);font-weight:700;font-size:1.35rem;letter-spacing:.03em;text-transform:uppercase}
.resumo-top p{margin:0;font-size:.9rem}
.resumo-nota td .pill{margin-left:6px;vertical-align:1px}

/* Filtro por data nos itens */
.per-filtro{margin-top:-2px}
.per-lbl{font-size:.8rem;font-weight:600;color:var(--muted)}
.toolbar .per-filtro select.input,#i-per-tipo{flex:0 1 270px}
#i-per-mes,#i-per-dia{flex:0 1 180px;width:auto}
.per-cel{font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.per-ent{color:var(--ok);font-weight:600}
.per-sai{color:var(--info);font-weight:600}

/* Setor do estoque */
.setor-bar{background:var(--surface-2);border-bottom:1px solid var(--line)}
.setor-bar .wrap{display:flex;align-items:center;gap:12px;padding-block:8px;flex-wrap:wrap}
.setor-lbl{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.setor-btns{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:3px;gap:3px}
.setor-btns button{border:0;background:none;padding:6px 16px;border-radius:6px;font-family:var(--f-display);font-weight:600;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.setor-btns button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.setor-nome{color:var(--accent-ink)}

.locais-rapidos{margin-top:6px;gap:6px;align-items:center}
.locais-rapidos .chip{padding:4px 10px;font-size:.8rem}
.imp-hist{background:var(--accent-soft);border-radius:8px;padding:10px 12px;margin:0 0 10px}

/* Menu Administração */
nav.tabs button.admbtn{flex:none;margin-left:auto;color:var(--accent-ink);border-left:1px solid var(--line);padding-left:14px}
nav.tabs button.admbtn .lbl-c{display:none}
@media (max-width:560px){nav.tabs button.admbtn{padding-inline:10px 4px} nav.tabs button.admbtn .lbl-l{display:none} nav.tabs button.admbtn .lbl-c{display:inline}}
nav.tabs button.admbtn .car{font-size:.75em;transition:transform .15s}
nav.tabs button.admbtn[aria-expanded="true"] .car{transform:rotate(180deg)}
nav.tabs button.admbtn.on{color:var(--fg);border-bottom-color:var(--accent)}
.admmenu{position:absolute;top:100%;min-width:270px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:6px;z-index:30;display:grid;gap:2px}
.admmenu .mh{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px}
nav.tabs .admmenu button{display:grid;gap:1px;text-align:left;background:none;border:0;border-radius:6px;padding:9px 10px;cursor:pointer;font-family:var(--f-body);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--fg);white-space:normal}
nav.tabs .admmenu button:hover,nav.tabs .admmenu button:focus-visible{background:var(--surface-2)}
nav.tabs .admmenu button[aria-current="page"]{box-shadow:inset 3px 0 0 var(--accent);background:var(--surface-2)}
nav.tabs .admmenu button b{font-weight:600;font-size:.92rem}
nav.tabs .admmenu button span{font-size:.78rem;color:var(--muted)}

/* Controle de pendências */
.pd-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pd-stat{display:flex;align-items:baseline;gap:7px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer}
.pd-stat:hover{border-color:var(--muted)}
.pd-stat[aria-pressed="true"]{border-color:var(--fg);box-shadow:inset 0 -3px 0 var(--accent)}
.pd-stat b{font-family:var(--f-display);font-size:1.4rem;line-height:1;font-variant-numeric:tabular-nums}
.pd-stat span{font-size:.82rem;color:var(--muted)}
.pd-stat.late b{color:var(--crit)}
.pd-prog{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:.85rem;color:var(--muted);flex-wrap:wrap}
.pd-prog .track{flex:0 1 320px;min-width:120px;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}
.pd-prog .track i{display:block;height:100%;width:0;background:var(--ok);transition:width .3s}
.pd-chk{display:inline-flex;gap:6px;align-items:center;font-size:.88rem;color:var(--muted);white-space:nowrap}
.pd-sec{display:grid;gap:8px;margin-bottom:22px}
.pd-sec .sh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.pd-sec h3{margin:0;font-family:var(--f-display);font-weight:700;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase}
.pd-sec .cnt{font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}
.pd-sec .sbar{flex:0 0 80px;height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden}
.pd-sec .sbar i{display:block;height:100%;background:var(--ok)}
.pd-sec .sh .btn{margin-left:auto}
.pd-list{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.pd-row{display:grid;grid-template-columns:36px minmax(0,1fr) 160px 108px 124px 136px 136px 28px;gap:10px;align-items:start;padding:10px 12px;border-top:1px solid var(--line)}
.pd-row:first-child{border-top:0}
.pd-row.sub{padding-left:30px;background:color-mix(in srgb,var(--surface-2) 45%,var(--surface))}
.pd-num{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);padding-top:8px;font-variant-numeric:tabular-nums}
.pd-main{min-width:0;display:grid;gap:1px}
.pd-tit,.pd-obs{width:100%;background:transparent;border:1px solid transparent;border-radius:6px;resize:none;overflow:hidden;min-width:0}
.pd-tit{font-weight:600;padding:6px 8px;line-height:1.35}
.pd-obs{font-size:.86rem;color:var(--muted);padding:3px 8px;line-height:1.4}
.pd-tit:hover,.pd-obs:hover{border-color:var(--line)}
.pd-tit:focus,.pd-obs:focus{border-color:var(--accent);background:var(--bg);outline:0}
.pd-meta{font-size:.74rem;color:var(--muted);padding-left:8px}
.pd-row.done .pd-tit{color:var(--muted);text-decoration:line-through}
.pd-row .input{padding:7px 8px;font-size:.88rem}
.pd-st{font-weight:700;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:24px!important;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 13px) 55%,calc(100% - 8px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.pd-st[data-s="Concluído"]{color:var(--ok);background-color:var(--ok-bg);border-color:transparent}
.pd-st[data-s="Em andamento"]{color:var(--info);background-color:var(--info-bg);border-color:transparent}
.pd-st[data-s="Aguardando entrega"]{color:var(--warn);background-color:var(--warn-bg);border-color:transparent}
.pd-st[data-s="Aguardando síndico"]{color:var(--swap);background-color:var(--swap-bg);border-color:transparent}
.pd-st[data-s="A cotar"]{color:var(--teal);background-color:var(--teal-bg);border-color:transparent}
.pd-st[data-s="Pendente"]{color:var(--crit);background-color:var(--crit-bg);border-color:transparent}
.pd-st[data-s="Cancelado"]{color:var(--muted);background-color:var(--surface-2,transparent);text-decoration:line-through}
.pd-row.canc .pd-tit{text-decoration:line-through;color:var(--muted)}
.pd-st option{color:var(--fg);background:var(--surface)}
.pd-row.late .pd-prazo{border-color:var(--crit);color:var(--crit);font-weight:700}
.pd-lbl{display:block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.pd-del{background:none;border:0;color:var(--muted);cursor:pointer;font-size:1.2rem;line-height:1;padding:8px 4px;border-radius:4px}
.pd-del:hover{color:var(--crit)}
.pd-conf{grid-column:2/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.88rem}
.pd-new{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.pd-new .input{flex:1 1 240px;width:auto;min-width:0}
#pd-email{font-family:var(--f-mono);font-size:.8rem;min-height:300px;width:100%}
@media (max-width:820px){
  .pd-row{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr);gap:8px}
  .pd-row .pd-main{grid-column:2/-1}
  .pd-row .c-st{grid-column:2/3} .pd-row .c-crit{grid-column:3/4}
  .pd-row .c-resp{grid-column:2/3} .pd-row .c-prazo{grid-column:3/4}
  .pd-row .c-concl{grid-column:2/3}
  .pd-row .c-del{grid-column:3/4;justify-self:end;align-self:end}
  .pd-row.sub{padding-left:12px}
}
/* prazo bloqueado e data de conclusão */
.pd-prazo-fixo{display:flex;align-items:center;gap:6px;padding:7px 8px;font-size:.88rem;font-variant-numeric:tabular-nums;border:1px dashed var(--line);border-radius:6px;background:var(--surface-2);color:var(--fg);min-width:0;cursor:help}
.pd-prazo-fixo svg{flex:0 0 auto;width:13px;height:13px;color:var(--muted)}
.pd-row.late .pd-prazo-fixo{border-color:var(--crit);color:var(--crit);font-weight:700}
.pd-row.late .pd-prazo-fixo svg{color:var(--crit)}
.pd-concl[data-cheio="1"]{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}
.pd-fim{font-weight:700;margin-right:6px}
.pd-fim.ok{color:var(--ok)} .pd-fim.atraso{color:var(--crit)}
.pd-new-prazo{display:grid;gap:2px;flex:0 1 170px}
.pd-new-prazo span{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pd-new-prazo .input{flex:none;width:100%}

/* Pendências incluídas pelo síndico */
nav.tabs button.admbtn .badge{margin-left:2px}
.pd-stat.nova b{color:var(--s2)}
.pd-row.nova{background:color-mix(in srgb,var(--s2) 8%,var(--surface));box-shadow:inset 3px 0 0 var(--s2)}
.pd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.pd-nova-pill{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:var(--s2);color:#fff}
.pd-ciente{font-size:.78rem;padding:2px 9px}
.pd-row.flash{animation:pd-flash 2.4s ease-out 1}
@keyframes pd-flash{0%{background:var(--accent-soft)}100%{background:inherit}}
.form-pend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.form-pend .full{grid-column:1/-1}
@media (max-width:560px){.form-pend{grid-template-columns:minmax(0,1fr)}}

/* Criticidade */
.pd-crit{font-weight:700;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:24px!important;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 13px) 55%,calc(100% - 8px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.pd-crit[data-c=""]{font-weight:400;color:var(--muted)}
.pd-crit[data-c="Alta"]{color:var(--crit);background-color:var(--crit-bg);border-color:transparent}
.pd-crit[data-c="Média"]{color:var(--warn);background-color:var(--warn-bg);border-color:transparent}
.pd-crit[data-c="Baixa"]{color:var(--muted);background-color:var(--grey-bg);border-color:transparent}
.pd-crit option{color:var(--fg);background:var(--surface);font-weight:400}
.pd-row.alta .pd-num{color:var(--crit);font-weight:700}
.pd-row.alta .pd-num::after{content:"";display:block;width:8px;height:8px;border-radius:50%;background:var(--crit);margin-top:6px}
.pd-stat.alta b{color:var(--crit)}

/* Histórico de acessos */
.ac-resumo{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ac-pessoa{display:grid;gap:1px;text-align:left;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;min-width:0}
.ac-pessoa:hover{border-color:var(--muted)}
.ac-pessoa[aria-pressed="true"]{border-color:var(--fg);box-shadow:inset 0 -3px 0 var(--accent)}
.ac-pessoa b{font-size:.9rem}
.ac-pessoa span{font-size:.78rem;color:var(--muted)}
.ac-pessoa.falha b{color:var(--crit)}
tr.ac-falha td{background:color-mix(in srgb,var(--crit-bg) 60%,var(--surface))}

/* Tarefas constantes e subitens */
.pd-cst{display:grid;gap:6px}
.pd-cst-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:.82rem;font-weight:700;padding:7px 8px;border-radius:6px;background:var(--teal-bg);color:var(--teal)}
.pd-cst-pill::before{content:"↻";font-weight:700}
.pd-cst-pill.venc{background:var(--crit-bg);color:var(--crit)}
.pd-feito{width:100%}
.pd-row.constante .pd-num{color:var(--teal)}
.pd-ult{color:var(--fg)}
.pd-acoes{display:inline-flex;gap:12px;margin-left:auto}
.pd-acoes .link{font-size:.78rem}
.pd-stat.cst b{color:var(--teal)}
.lbl-campo{font-size:.8rem;font-weight:600;color:var(--muted)}
.seg2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.seg2 label{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:start;border:1.5px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;background:var(--surface)}
.seg2 label:has(input:checked){border-color:var(--fg);box-shadow:inset 0 -3px 0 var(--accent)}
.seg2 input{margin-top:3px;grid-row:span 2}
.seg2 b{font-size:.92rem}
.seg2 span{font-size:.78rem;color:var(--muted);grid-column:2}
.pd-execs{margin:4px 0 0;padding-left:18px;font-size:.86rem;display:grid;gap:2px}
@media (max-width:560px){.seg2{grid-template-columns:minmax(0,1fr)}}

/* Cabeçalho: seletor de setor e usuário */
.me{display:grid;justify-items:end;gap:6px}
.me-box{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.setor-sel{position:relative;display:grid;gap:3px}
.setor-lbl{font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.setor-btn{--c:var(--s1);--cb:color-mix(in srgb,var(--s1) 12%,var(--surface));display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:8px;border:1.5px solid color-mix(in srgb,var(--c) 45%,var(--line));background:var(--cb);color:var(--fg);font-family:var(--f-display);font-weight:700;font-size:1.02rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;min-height:40px}
.setor-btn:hover:not(:disabled){border-color:var(--c)}
.setor-btn:disabled{cursor:default;opacity:1}
.setor-btn .ico{width:18px;height:18px;fill:none;stroke:var(--c);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.setor-btn .car{font-size:.75em;color:var(--muted);transition:transform .15s}
.setor-btn[aria-expanded="true"] .car{transform:rotate(180deg)}
.setor-btn.lim,.setor-menu .lim{--c:var(--teal);--cb:color-mix(in srgb,var(--teal) 12%,var(--surface))}
.setor-btn.adm,.setor-menu .adm{--c:var(--s2);--cb:color-mix(in srgb,var(--s2) 12%,var(--surface))}
.setor-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:270px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;display:grid;gap:2px}
.setor-menu .mh{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px}
.setor-menu button{--c:var(--s1);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left;background:none;border:0;border-radius:7px;padding:9px 10px;cursor:pointer;color:var(--fg)}
.setor-menu button:hover,.setor-menu button:focus-visible{background:var(--surface-2)}
.setor-menu button[aria-checked="true"]{background:color-mix(in srgb,var(--c) 10%,var(--surface))}
.setor-menu .ico{width:20px;height:20px;fill:none;stroke:var(--c);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.setor-menu .t{display:grid;gap:1px}
.setor-menu .t b{font-size:.92rem}
.setor-menu .t span{font-size:.78rem;color:var(--muted)}
.setor-menu .ok{color:var(--c);font-weight:700}
.me-user{display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--line)}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);font-weight:700;font-size:.85rem;letter-spacing:.02em;flex:none}
.me-dados{display:grid;gap:3px;text-align:left}
.me .who{font-weight:600;font-size:.92rem;line-height:1.15;white-space:nowrap}
.me-linha{display:flex;align-items:center;gap:8px}
.me .sync{text-align:right}
@media (max-width:640px){
  .me{justify-items:stretch;width:100%}
  .me-box{justify-content:space-between;width:100%}
  .me-user{border-left:0;padding-left:0}
  .setor-menu{right:auto;left:0}
  .me .sync{text-align:left}
}

/* Histórico de acessos: entradas no sistema × alterações (auditoria) */
.ac-modo{display:inline-flex;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:14px;background:var(--surface);max-width:100%}
.ac-modo button{border:0;background:transparent;padding:8px 14px;font:inherit;font-weight:700;font-size:.88rem;color:var(--muted);cursor:pointer}
.ac-modo button+button{border-left:1px solid var(--line)}
.ac-modo button[aria-pressed="true"]{background:var(--fg);color:var(--surface)}
.ac-modo button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
div.ac-pessoa{cursor:default}
.ac-det{font-size:.86rem;color:var(--fg);min-width:0;word-break:break-word}
.u-acesso .actions{align-items:center;gap:8px;flex-wrap:wrap}
#f-u .field{align-content:start}

/* pendências: aprovação, atualização de prazo, ordenação e seções recolhíveis */
.pd-tog{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border-radius:4px}
.pd-tog::before{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;transition:transform .15s}
.pd-sec.recolhida .pd-tog::before{transform:rotate(-90deg)}
.pd-tog:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pd-tog:hover{color:var(--accent)}
.pd-sec.recolhida{gap:0}
.pd-lbl2{margin-top:6px}
.pd-prazo2[data-cheio="1"]{color:var(--info);border-color:color-mix(in srgb,var(--info) 45%,var(--line));font-weight:700}
.pd-row.late .pd-prazo2[data-cheio="1"]{border-color:var(--crit);color:var(--crit)}
.pd-aprov{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:var(--warn-bg);color:var(--warn)}
.pd-aprov.concl{background:var(--ok-bg);color:var(--ok)}
.pd-aprovar,.pd-recusar{font-size:.78rem;padding:2px 9px}
.pd-row.aguardando{box-shadow:inset 3px 0 0 var(--warn)}
.pd-stat.aprov b{color:var(--warn)}
.pd-aprov-info{margin:4px 0 0;padding-left:18px;font-size:.86rem;display:grid;gap:2px}
.pd-aprov-info span{color:var(--muted)}
#pd-ord{flex:0 1 250px}
.pd-resp{cursor:pointer}
.pd-resp[data-v=""]{color:var(--muted)}
/* pendências: OS criada a partir da pendência */
.pd-ospill{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:4px;background:var(--info-bg);color:var(--info);font-family:var(--f-mono)}
.pd-ospill.ok{background:var(--ok-bg);color:var(--ok)}
.pd-ospill.canc{background:var(--grey-bg);color:var(--muted);text-decoration:line-through}
.pd-chk-os{font-weight:600;color:var(--fg)}
/* login: esqueci minha senha; topo: trocar senha */
.l-esqueci{margin-top:12px;display:grid;gap:6px}
.l-esqueci .link{justify-self:start;font-size:.9rem}
.l-redef,.l-redef-passo{display:grid;gap:10px}
.l-redef[hidden],.l-redef-passo[hidden]{display:none}
.me-linha .sair+.sair{margin-left:8px}
.ac-modo{flex-wrap:wrap}

/* cotações e mapa de cotação */
.ct-topo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:14px}
.ct-topo .sec{margin:0}
.ct-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto;align-items:center}
.ct-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:14px}
.ct-card h3{margin:0 0 10px;font-family:var(--f-display);font-size:1rem;letter-spacing:.03em;text-transform:uppercase}
.ct-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.ct-h h3{margin:0 auto 0 0}
.ct-scroll{overflow-x:auto;max-width:100%}
.ct-tab{border-collapse:collapse;min-width:100%}
.ct-tab th,.ct-tab td{padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left}
.ct-tab thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);white-space:nowrap}
.ct-forn th[scope=row]{white-space:nowrap;font-size:.8rem;color:var(--muted);background:var(--surface-2)}
.ct-forn td{min-width:180px}
.ct-tab .input{padding:6px 7px;font-size:.86rem;width:100%;min-width:0}
.ct-itens input[data-k=descricao]{min-width:230px}
.ct-itens input[data-k=refFonte]{min-width:140px}
.ct-tab .ct-un{width:62px}
.ct-tab .ct-q{width:66px}
.ct-tab .ct-p{width:112px}
.ct-tab .num,.ct-lt,.ct-tab tfoot td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-tab tfoot th{text-align:right;font-size:.82rem}
.ct-best{background:var(--ok-bg)!important;color:var(--ok)!important;font-weight:700}
.ct-total th,.ct-total td{font-weight:700;border-top:2px solid var(--fg)}
.ct-st{display:inline-flex;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:4px;background:var(--grey-bg);color:var(--muted);white-space:nowrap}
.ct-st[data-st="Em cotação"]{background:var(--info-bg);color:var(--info)}
.ct-st[data-st="Aguardando gerente"],.ct-st[data-st="Aguardando síndico"]{background:var(--warn-bg);color:var(--warn)}
.ct-st[data-st="Aprovada"]{background:var(--ok-bg);color:var(--ok)}
.ct-st[data-st="Cancelada"]{text-decoration:line-through}
/* conversa da cotação */
.ct-msgs{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}
.ct-msg{max-width:min(560px,88%);align-self:flex-start;background:var(--surface-2);border-radius:10px 10px 10px 2px;padding:8px 12px;display:grid;gap:3px}
.ct-msg.sind{border-left:3px solid var(--warn)}
.ct-msg.eu{align-self:flex-end;background:var(--info-bg);border-radius:10px 10px 2px 10px}
.ct-msg-h{font-size:.76rem;color:var(--muted)}.ct-msg-h b{color:var(--fg)}
.ct-msg-t{white-space:pre-wrap;overflow-wrap:anywhere}
.ct-msg-novo{display:grid;gap:8px}
.ct-conv-r{display:block;margin-top:2px}.ct-conv-r .pill{margin-left:4px}
.ct-anx{display:grid;gap:4px;justify-items:start}
.ct-anx .link{font-size:.8rem;text-align:left}
.ct-up{cursor:pointer}
.ct-valor{font-size:1.25rem;font-weight:700;padding:4px 0;font-variant-numeric:tabular-nums}
.ct-sair{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-radius:8px;background:var(--warn-bg);margin-bottom:12px}
.pd-cotpill{border:0;cursor:pointer;background:var(--teal-bg);color:var(--teal)}

/* ---------- menu lateral (substitui as abas do topo) ---------- */
:root{--side-w:264px}
nav.tabs{display:none!important}
.menu-btn{display:none;flex:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);cursor:pointer;align-items:center;justify-content:center;padding:0}
.menu-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.side{position:fixed;inset:0 auto 0 0;width:var(--side-w);z-index:40;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.side[hidden]{display:none}
.side-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 16px 12px;border-bottom:1px solid var(--line)}
.side-logo{height:44px;width:auto}
@media (prefers-color-scheme: dark){.side-logo{content:url("img/logo-claro.png")}}
.side-x{display:none;border:0;background:none;color:var(--muted);font-size:1.7rem;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px}
.side-nav{flex:1 1 auto;overflow-y:auto;padding:10px 10px;display:grid;align-content:start;gap:2px}
.side-item{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:var(--fg);text-align:left;padding:11px 12px;border-radius:10px;font:inherit;font-weight:600;font-size:.98rem;cursor:pointer;min-height:44px}
.side-item:hover{background:var(--surface-2)}
.side-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.side-item[aria-current="page"]{background:var(--accent-soft);color:var(--accent-ink)}
.side-ico,.side-item .ico{flex:none;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.side-rot{flex:1 1 auto;min-width:0}
.side-car{flex:none;width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;transition:transform .15s}
.side-item[aria-expanded="true"] .side-car{transform:rotate(180deg)}
.side-grupo.ativo>.side-g{color:var(--accent-ink)}
.side-sub{display:grid;gap:1px;padding:2px 0 6px 22px}
.side-sub[hidden]{display:none}
.side-item.sub{font-weight:500;font-size:.93rem;padding:9px 12px;min-height:40px;border-left:2px solid var(--line);border-radius:0 10px 10px 0}
.side-item.sub[aria-current="page"]{border-left-color:var(--accent);font-weight:700}
.side-b{flex:none}
.side-setor{border-top:1px solid var(--line);padding:10px 10px 14px;display:grid;gap:2px}
.side-lbl{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 12px 2px}
.side-setor-btn{background:var(--accent-soft);color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line))}
.side-setor-btn:disabled{cursor:default;opacity:1}
.side-setores .side-item small{display:block;font-size:.76rem;color:var(--muted);font-weight:400}
.side-setores .side-item[aria-pressed="true"]{background:var(--surface-2);border-left-color:var(--accent)}
.side-fundo{position:fixed;inset:0;z-index:39;background:rgba(10,20,30,.45)}
.side-fundo[hidden]{display:none}
/* computador: menu sempre aberto à esquerda */
@media (min-width:1024px){
  body.com-menu{padding-left:var(--side-w)}
  body.com-menu .side-logo{display:none}
  body.com-menu .side-topo::before{content:"Menu";font-family:var(--f-display);font-weight:700;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
}
/* celular e tablet: gaveta que abre pelo botão ☰ */
@media (max-width:1023px){
  body.com-menu .menu-btn{display:inline-flex}
  /* fechado: fora da tela e invisível (o teclado e o leitor de tela não entram nele) */
  .side{width:min(86vw,320px);transform:translateX(-102%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s;box-shadow:none}
  .side.aberto{transform:none;visibility:visible;transition:transform .2s ease;box-shadow:0 10px 40px rgba(0,0,0,.25)}
  .side-x{display:inline-block}
  body.menu-aberto{overflow:hidden}
}
.top .wrap{align-items:center}

/* Painel de pendências: cartões com ícone e gráfico dos últimos 12 meses */
.pp-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:20px 22px 22px}
.pp-tit{display:flex;align-items:center;gap:9px;margin:0 0 16px;font-size:1.15rem;font-weight:600}
.pp-tit svg{width:22px;height:22px;fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:20px}
.pp-card{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;text-align:left;padding:18px 18px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;min-height:118px;box-shadow:0 1px 2px rgba(22,40,58,.05)}
.pp-card:hover{border-color:var(--muted);box-shadow:var(--shadow)}
.pp-txt{display:flex;flex-direction:column;min-width:0}
.pp-rot{font-size:.88rem;color:var(--muted);font-weight:500}
.pp-v{font-size:1.9rem;font-weight:700;line-height:1.15;margin-top:6px}
.pp-sub{font-size:.8rem;color:var(--muted);margin-top:6px}
.pp-sub.ok{color:var(--ok);font-weight:600}
.pp-ico{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff}
.pp-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pp-ico.azul{background:#3b82f6}.pp-ico.verde{background:#10b981}.pp-ico.teal{background:#0d9488}.pp-ico.info{background:#2a74b0}
.pp-ico.ambar{background:#f59e0b}.pp-ico.vermelho{background:#ef4444}.pp-ico.roxo{background:#8b5cf6}.pp-ico.laranja{background:#eb6834}
.pp-grafbox{background:var(--bg);border-radius:10px;padding:16px 16px 12px}
.pp-grafbox h4{margin:0 0 8px;text-align:center;font-size:1rem;font-weight:600;color:var(--muted)}
.pp-leg{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;font-size:.8rem;color:var(--muted);margin-bottom:8px}
.pp-leg span{display:inline-flex;align-items:center;gap:6px}
.pp-leg i{display:inline-block;width:28px;height:10px;border-radius:2px}
.pp-leg i.inc,.pp-pto.inc{background:#3b82f6;fill:#3b82f6}.pp-leg i.con,.pp-pto.con{background:#10b981;fill:#10b981}.pp-leg i.abe,.pp-pto.abe{background:#f59e0b;fill:#f59e0b}
.pp-graf{width:100%;overflow:hidden}
.pp-graf svg{display:block}
.pp-grade{stroke:var(--line);stroke-width:1}
.pp-eixo{font-size:11px;fill:var(--muted);font-family:var(--f-body)}
.pp-linha{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.pp-linha.inc{stroke:#3b82f6}.pp-linha.con{stroke:#10b981}.pp-linha.abe{stroke:#f59e0b}
.pp-pto{stroke:var(--surface);stroke-width:1.5}
.pp-num{margin-top:8px;font-size:.85rem}
.pp-num summary{cursor:pointer;color:var(--accent-ink)}
.pp-num .tablebox{margin-top:8px}
@media (max-width:640px){.pp-box{padding:14px}.pp-cards{grid-template-columns:1fr 1fr;gap:10px}.pp-card{padding:12px;min-height:0;flex-direction:column-reverse}.pp-ico{width:38px;height:38px}.pp-ico svg{width:20px;height:20px}.pp-v{font-size:1.5rem}}
@media (max-width:360px){.pp-cards{grid-template-columns:1fr}}

/* Início (Administração) */
.in-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:4px 0 18px}
.in-ola{font-family:var(--f-display);font-size:2rem;font-weight:700;margin:0;line-height:1.1;color:var(--fg)}
.in-topo p{margin:4px 0 0}
.in-h{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 10px}
.in-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:24px}
.in-card{display:flex;align-items:center;gap:14px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;box-shadow:0 1px 2px rgba(22,40,58,.05)}
.in-card:hover{border-color:var(--muted);box-shadow:var(--shadow)}
.in-card b{display:block;font-size:1.7rem;line-height:1.1;font-weight:700}
.in-card small{display:block;color:var(--muted);font-size:.85rem}
.in-card.zero{opacity:.6}
.in-card.zero b{color:var(--muted)}
.in-ok{grid-column:1/-1;margin:0;color:var(--ok);font-weight:600}
.in-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}
.in-bloco{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow)}
.in-atalhos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.in-atalho{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}
.in-atalho:hover{border-color:var(--accent);background:var(--accent-soft)}
.in-atalho b{display:block;font-size:.92rem}
.in-atalho small{display:block;color:var(--muted);font-size:.78rem;line-height:1.3}
.in-aico{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent-ink)}
.in-aico svg,.in-card .pp-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.in-card .pp-ico{width:44px;height:44px}
.in-ult{list-style:none;margin:0;padding:0}
.in-ult li+li{border-top:1px solid var(--line)}
.in-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 10px;width:100%;text-align:left;padding:10px 4px;border:0;background:none;cursor:pointer;border-radius:6px}
.in-item:hover{background:var(--bg)}
.in-num{font-family:var(--f-mono);font-size:.8rem;color:var(--muted)}
.in-tit{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.in-item small{grid-column:2/-1;color:var(--muted);font-size:.78rem}
.pd-mini{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--grey-bg);color:var(--muted);white-space:nowrap}
.pd-mini[data-s="Concluído"]{background:var(--ok-bg);color:var(--ok)}
.pd-mini[data-s="Cancelado"]{color:var(--muted);text-decoration:line-through}
.pd-mini[data-s="Em andamento"]{background:var(--info-bg);color:var(--info)}
.pd-mini[data-s="Pendente"]{background:var(--crit-bg);color:var(--crit)}
.pd-mini[data-s="A cotar"]{background:var(--teal-bg);color:var(--teal)}
.pd-mini[data-s="Aguardando entrega"],.pd-mini[data-s="Aguardando síndico"]{background:var(--warn-bg);color:var(--warn)}
@media (max-width:860px){.in-grid{grid-template-columns:1fr}}
@media (max-width:480px){.in-atalhos{grid-template-columns:1fr}.in-cards{grid-template-columns:1fr 1fr}.in-card{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.in-ola{font-size:1.6rem}}

/* Indicadores da manutenção */
.ind-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px}
.ind-h{display:flex;align-items:center;gap:10px;margin:0;font-size:1.9rem;font-weight:700;line-height:1.1}
.ind-h svg{width:30px;height:30px;fill:none;stroke:var(--s1);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ind-head p{margin:4px 0 0}
.ind-acoes{display:flex;gap:8px;flex-wrap:wrap}
.ind-vistas{display:inline-flex;flex-wrap:wrap;gap:4px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:14px}
.ind-vistas button{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:8px 14px;border-radius:8px;font-weight:600;cursor:pointer;color:var(--fg)}
.ind-vistas button[aria-selected="true"]{background:#2563eb;color:#fff}
.ind-vistas .badge{background:var(--grey-bg);color:var(--muted)}
.ind-vistas button[aria-selected="true"] .badge{background:rgba(255,255,255,.25);color:#fff}
.ind-filtros{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:16px;box-shadow:var(--shadow)}
.ind-fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 12px}
.ind-fgrid .field{display:grid;gap:4px;margin:0}
.ind-fgrid .field>span{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ind-fbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.ind-fbar .chips{margin:0}
.ind-filtros .hint{margin:8px 0 0}
.ind-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}
.ind-kpi{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;text-align:left;border:0;border-radius:12px;padding:14px 16px 16px;color:#fff;cursor:pointer;min-height:112px;box-shadow:0 2px 8px rgba(22,40,58,.15)}
.ind-kpi:hover{filter:brightness(1.06);transform:translateY(-1px)}
.ind-kpi .ind-kl{font-size:.82rem;font-weight:700}
.ind-kpi b{font-size:1.9rem;line-height:1.15;font-weight:800;margin-top:6px}
.ind-kpi .ind-ks{font-size:.76rem;opacity:.92}
.ind-kpi svg{position:absolute;right:-6px;bottom:-8px;width:64px;height:64px;fill:none;stroke:rgba(255,255,255,.28);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ind-kpi.azul{background:linear-gradient(135deg,#2563eb,#3b82f6)}.ind-kpi.verde{background:linear-gradient(135deg,#059669,#10b981)}
.ind-kpi.ambar{background:linear-gradient(135deg,#d97706,#f59e0b)}.ind-kpi.roxo{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.ind-kpi.vermelho{background:linear-gradient(135deg,#e11d48,#f43f5e)}.ind-kpi.grafite{background:linear-gradient(135deg,#334155,#475569)}
.ind-ptop{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.ind-ptop h3{margin:0}
.ind-leg{display:inline-flex;flex-wrap:wrap;gap:4px 14px;font-size:.78rem;color:var(--muted)}
.ind-leg span{display:inline-flex;align-items:center;gap:6px}
.ind-leg i{display:inline-block;width:12px;height:12px;border-radius:3px}
.ind-leg i.ab,.ind-b.ab{background:#3b82f6;fill:#3b82f6}.ind-leg i.fi,.ind-b.fi{background:#10b981;fill:#10b981}
.ind-p-tempo{margin-bottom:16px}
.ind-graf{width:100%;overflow:hidden}
.ind-graf svg{display:block}
.ind-alvo{fill:transparent}
.ind-barra{cursor:pointer;outline:none}
.ind-barra:hover .ind-alvo,.ind-barra:focus-visible .ind-alvo{fill:var(--accent-soft)}
.hb.click{cursor:pointer}
.hb.click:hover{background:var(--bg)}
.ind-drill{margin:0 0 10px}
.ind-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 6px 5px 12px;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft);font-size:.86rem}
.ind-chip button{border:0;background:none;font-size:1.1rem;line-height:1;cursor:pointer;color:var(--accent-ink);padding:0 4px}
.ind-tipo{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--info-bg);color:var(--info);white-space:nowrap}
.ind-tipo.demanda{background:var(--swap-bg);color:var(--swap)}.ind-tipo.preventiva{background:var(--teal-bg);color:var(--teal)}
td.atras{color:var(--crit);font-weight:600}
.ind-kb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.ind-col{background:var(--surface-2);border-radius:12px;padding:10px}
.ind-col h4{display:flex;align-items:center;gap:8px;margin:2px 4px 10px;font-size:.95rem}
.ind-col h4 small{margin-left:auto;font-weight:500;color:var(--muted);font-size:.75rem}
.ind-col.aguardando h4{color:#b45309}.ind-col.em-atendimento h4{color:#7c3aed}.ind-col.finalizada h4{color:#047857}
.ind-cards{display:grid;gap:8px;max-height:70vh;overflow:auto;padding:2px}
.ind-kc{display:grid;gap:3px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer}
.ind-kc:hover{box-shadow:var(--shadow)}
.ind-kc.prio-urgente{border-left-color:#e11d48}.ind-kc.prio-alta{border-left-color:#f59e0b}.ind-kc.prio-normal{border-left-color:#3b82f6}.ind-kc.prio-baixa{border-left-color:#94a3b8}
.ind-kc.exp{background:var(--crit-bg)}
.ind-kc-top{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.75rem;color:var(--muted)}
.ind-kc b{font-size:.9rem;line-height:1.3}
.ind-kc-meta{font-size:.76rem;color:var(--muted)}
.ind-ag-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ind-ag-top h4{margin:0 6px;font-size:1.1rem;min-width:150px;text-align:center}
.ind-ag-top .ind-leg{margin-left:auto}
.ind-leg i.ag,.ind-ev.ag{background:#fef3c7;color:#92400e}.ind-leg i.at,.ind-ev.at{background:#ede9fe;color:#5b21b6}
.ind-leg i.exp,.ind-ev.exp{background:#ffe4e6;color:#9f1239}.ind-leg i.fin,.ind-ev.fin{background:#d1fae5;color:#065f46}
.ind-leg i.prog,.ind-ev.prog{background:#e0f2fe;color:#075985}
.ind-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ind-sem{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;padding:4px 0}
.ind-dia{min-height:96px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:5px;display:flex;flex-direction:column;gap:3px;min-width:0}
.ind-dia.vazio{background:transparent;border-color:transparent}
.ind-dia.hoje{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}
.ind-dn{font-size:.78rem;font-weight:700;color:var(--muted)}
.ind-dn small{display:none;font-weight:500}
.ind-dia.hoje .ind-dn{color:#2563eb}
.ind-ev{display:block;width:100%;text-align:left;border:0;border-radius:5px;padding:2px 5px;font-size:.72rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
span.ind-ev{cursor:default}
.ind-mais{font-size:.7rem;color:var(--muted)}
@media (max-width:860px){.ind-kb{grid-template-columns:1fr}.ind-cards{max-height:none}}
@media (max-width:640px){
  .ind-h{font-size:1.5rem}.ind-kpis{grid-template-columns:1fr 1fr}.ind-kpi{min-height:96px;padding:12px}.ind-kpi b{font-size:1.5rem}
  .ind-fgrid{grid-template-columns:1fr 1fr}
  .ind-cal{grid-template-columns:1fr}.ind-sem,.ind-dia.vazio,.ind-dia.sem{display:none}
  .ind-dia{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center}.ind-dn{width:100%}.ind-dn small{display:inline}
  .ind-ag-top .ind-leg{margin-left:0}
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ind-ev,:root:not([data-theme="light"]) .ind-leg i{filter:brightness(.9) saturate(1.1)}}
/* modo apresentação: só os indicadores, em tela cheia */
body.ind-apres #side,body.ind-apres header.top,body.ind-apres .stripe,body.ind-apres .ind-filtros,body.ind-apres #menu-btn,body.ind-apres nav.tabs,body.ind-apres #notices{display:none!important}
body.ind-apres main.wrap{max-width:none;padding:18px 28px}
body.ind-apres.com-menu{padding-left:0!important}
body.ind-apres .ind-kpi b{font-size:2.6rem}
body.ind-apres .ind-kpi{min-height:140px}

/* Categorias de materiais, Equipe e Minha equipe */
.cat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.cat-card{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;box-shadow:0 1px 2px rgba(22,40,58,.05)}
.cat-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.cat-card b{grid-column:1/-1;font-size:1rem}
.cat-n{font-family:var(--f-display);font-size:1.9rem;font-weight:700;line-height:1.1}
.cat-card small{color:var(--muted);justify-self:start;grid-column:1/-1;margin-top:-4px}
.cat-st{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.eq-pessoa{display:flex;align-items:center;gap:10px}
.eq-pessoa .sub{display:block}
td.num.atras{color:var(--crit);font-weight:700}
.me-quadro{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:start}
.me-col{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--shadow)}
.me-col.sem{border-color:var(--warn);background:var(--warn-bg)}
.me-col h4{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.me-col h4>span:nth-child(2),.me-col.livres h4>span{flex:1;min-width:0}
.me-col h4 b{display:block;font-size:.95rem}
.me-col h4 small{display:block;color:var(--muted);font-weight:500;font-size:.78rem}
.me-col ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.me-t{display:block;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;font-size:.88rem}
.me-t:hover{border-color:var(--accent)}
.me-t.atr{border-left:4px solid var(--crit);background:var(--crit-bg)}
.me-t small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}
.me-col.livres p{margin:0;color:var(--muted);font-size:.88rem}

/* Prestadores de serviço */
.pr-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.pr-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:10px;box-shadow:0 1px 2px rgba(22,40,58,.05)}
.pr-card.warn{border-left-color:var(--warn)}.pr-card.crit{border-left-color:var(--crit)}.pr-card.inativo{opacity:.65;border-left-color:var(--line)}
.pr-abrir{display:grid;gap:4px;text-align:left;border:0;background:none;padding:14px 14px 10px;cursor:pointer;border-radius:10px 10px 0 0}
.pr-abrir:hover{background:var(--bg)}
.pr-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.pr-top b{font-size:1rem}
.pr-serv{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--teal-bg);color:var(--teal);white-space:nowrap}
.pr-lin{font-size:.84rem;color:var(--muted)}
.pr-lin b{color:var(--fg)}
.pr-lin b.atr,.os-info b.atr{color:var(--crit)}
.pr-al{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.pr-cont{display:flex;gap:8px;padding:0 14px 12px}
.pr-docs{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.pr-docs li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.88rem}
.pr-docs .link.danger{color:var(--crit)}
.pr-up{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.pr-up .input{width:auto;flex:1 1 140px}
.pr-up .hint{flex-basis:100%}
.pr-h{margin:6px 0 -4px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pr-visform{margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.pd-stat.warn b{color:var(--warn)}.pd-stat.alerta b{color:var(--crit)}
.pr-cont a.btn{text-decoration:none}
.pr-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}

/* Ronda (vistorias) */
.rd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}
.rd-grid .panel h3{margin:0 0 8px}
.rd-turno{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.rd-turno p{margin:4px 0}
.rd-turno ul,.rd-lst{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.rd-turno li,.rd-lst li{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.rd-foco{margin:10px 0 0}
.rd-regra{margin:10px 0 0;padding:8px 10px;border-radius:8px;background:var(--warn-bg);color:var(--fg);font-size:.86rem}
.rd-chips{display:flex;flex-wrap:wrap;gap:6px}
.rd-chip{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--grey-bg);color:var(--muted);font-weight:700;font-size:.82rem}
.rd-chip.ok{background:var(--ok-bg);color:var(--ok)}.rd-chip.falta{background:var(--crit-bg);color:var(--crit)}
.rd-tag{display:inline-block;margin:2px 0;padding:2px 8px;border-radius:6px;background:var(--grey-bg);color:var(--muted);font-size:.78rem}
.rd-tag.ok{background:var(--ok-bg);color:var(--ok)}
.rd-nova{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px 0;border-top:1px solid var(--line)}
.rd-nova:first-of-type{border-top:0}
.rd-nova .field{display:grid;gap:4px;margin:0;flex:1 1 160px}
.rd-nova .field>span,.rd-nova>span{font-size:.85rem;font-weight:600}
.rd-nova>span{flex:1 1 200px}
.rd-legenda{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.88rem}
.rd-cod{display:inline-block;min-width:34px;text-align:center;padding:2px 6px;border-radius:6px;font-weight:800;font-size:.78rem;background:var(--grey-bg);color:var(--muted)}
.c-OK.rd-cod,.rd-seg .c-OK[aria-pressed="true"],.rd-sel.c-OK{background:var(--ok-bg);color:var(--ok)}
.c-P.rd-cod,.rd-seg .c-P[aria-pressed="true"],.rd-sel.c-P{background:var(--warn-bg);color:var(--warn)}
.c-C.rd-cod,.rd-seg .c-C[aria-pressed="true"],.rd-sel.c-C{background:var(--crit);color:#fff}
.c-NA.rd-cod,.rd-seg .c-NA[aria-pressed="true"],.rd-sel.c-NA{background:var(--grey-bg);color:var(--fg)}
.c-NV.rd-cod,.rd-seg .c-NV[aria-pressed="true"],.rd-sel.c-NV{background:var(--info-bg);color:var(--info)}
.rd-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex:none}
.rd-seg button{border:0;border-left:1px solid var(--line);background:var(--surface);padding:6px 9px;font-weight:800;font-size:.8rem;cursor:pointer;min-width:38px}
.rd-seg button:first-child{border-left:0}
.rd-seg button:disabled{cursor:default}
.rd-itens{margin:0;padding-left:1.4em;display:grid;gap:10px}
.rd-item{padding:4px 0 10px;border-bottom:1px solid var(--line)}
.rd-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rd-item-r{font-size:.92rem}
.rd-pontos{margin-top:6px}
.rd-det{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--bg)}
.rd-det.crit{background:var(--crit-bg)}
.rd-det b{flex-basis:100%;font-size:.86rem}
.rd-det .input{flex:1 1 260px}
.rd-dets{display:grid;gap:8px;margin-top:10px}
.rd-fotos{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.rd-fotos .link.danger{color:var(--crit);text-decoration:none;font-weight:700}
.rd-fadd{cursor:pointer}
.rd-grade{font-size:.84rem}
.rd-grade th,.rd-grade td{padding:5px 6px;white-space:nowrap}
.rd-grade tbody th{font-weight:600;text-align:left;white-space:normal;min-width:150px}
.rd-sel{border:1px solid var(--line);border-radius:6px;padding:4px 2px;font-weight:800;min-width:54px;background:var(--surface)}
.rd-fill{display:flex;flex-direction:column;gap:2px;font-size:.76rem}
.rd-prog{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:.86rem;color:var(--muted)}
.rd-prog .track{flex:0 0 220px;height:8px;border-radius:99px;background:var(--grey-bg);overflow:hidden}
.rd-prog .track i{display:block;height:100%;background:var(--ok)}
.rd-cab{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.rd-pend{display:grid;gap:10px;margin-top:10px}
.rd-pi{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:10px;padding:12px 14px}
.rd-pi.crit{border-left-color:var(--crit)}.rd-pi.res{border-left-color:var(--ok);opacity:.85}
.rd-pi-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rd-pi-o{margin:6px 0 2px}
.rd-pi-m{margin:0;font-size:.82rem}
.rd-pi-res{display:block;margin-top:6px;color:var(--ok);font-weight:600;font-size:.86rem}
.rd-resolver{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rd-resolver .input{flex:1 1 260px}
.rd-sem{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rd-fech th{width:230px;vertical-align:top;text-align:left}
.rd-fl{margin:4px 0 0;padding-left:1.2em;font-size:.86rem}
@media (max-width:760px){
  .rd-grade thead{display:none}
  .rd-grade,.rd-grade tbody,.rd-grade tr,.rd-grade th,.rd-grade td{display:block;width:100%}
  .rd-grade tr{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:6px 10px;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
  .rd-grade tbody th{grid-column:1/-1;padding:4px 0;font-size:.92rem}
  .rd-grade td{display:flex;justify-content:space-between;align-items:center;padding:2px 0;white-space:normal}
  .rd-grade td::before{content:attr(data-lbl);font-size:.76rem;color:var(--muted);margin-right:6px}
  .rd-grade td.rd-fill{grid-column:1/-1;flex-direction:row;gap:14px}
  .rd-gradebox{border:0;background:none;box-shadow:none}
  .rd-item-top{flex-direction:column}
  .rd-fech th{width:auto}
}

/* Unidades e moradores */
.un-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.un-head h2{margin:0}.un-head p{margin:4px 0 0}
.un-ferr{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.un-ferr .ind-vistas{margin:0}
.un-ferr #ul-q{width:220px}
.un-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.pp-card.sel{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}
.pp-ico.cinza{background:#9ca3af}
.un-pre{white-space:pre-line}
.un-acoes{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.un-linhas{display:grid;gap:10px}
.un-linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.un-linha .field{display:grid;gap:3px;margin:0}
.un-linha .field>span{font-size:.74rem;font-weight:700;color:var(--muted)}
.un-lp{grid-template-columns:2fr 1.4fr .8fr .8fr .8fr 2fr auto}
.un-lv{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.un-lv .un-x{grid-row:1/3;grid-column:4}
.un-x{align-self:center;color:var(--crit)}
.un-conf{margin-top:14px;display:block}
.cf-ocup{margin-bottom:14px}.cf-ocup h3{margin:0 0 4px}.cf-ocup p{margin:0 0 10px}
.cf-verde{background:#10b981;border-color:#10b981;color:#fff}
.cf-grid{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:14px;align-items:start}
.cf-blocos ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.cf-blocos li{display:flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid transparent;border-radius:8px}
.cf-blocos li.sel{background:var(--accent-soft);border-color:var(--accent)}
.cf-b{flex:1;text-align:left;border:0;background:none;cursor:pointer;font-weight:600;padding:6px 4px}
.cf-b small{display:block;font-weight:400;color:var(--muted)}
.cf-blocos .link{text-decoration:none}
.cf-unid h3{margin:0 0 10px}
.cf-andares{display:grid;gap:10px;margin-top:12px}
.cf-andar{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg)}
.cf-andar .ct-h span{display:flex;gap:8px;align-items:center}
.cf-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.cf-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-family:var(--f-mono);font-size:.86rem}
.cf-chip.cad{border-color:var(--accent)}
.cf-chip button{border:0;background:none;cursor:pointer;color:var(--muted);font-size:1rem;line-height:1}
.cf-nova{display:inline-flex;gap:6px}.cf-nova .input{width:90px}
@media (max-width:860px){.cf-grid{grid-template-columns:1fr}.un-lp,.un-lv{grid-template-columns:1fr 1fr}.un-lp .un-larga,.un-lp .field:first-child{grid-column:1/-1}.un-ferr #ul-q{width:100%}}

/* ---------- central de medições ---------- */
.md-abas{display:flex;width:100%}
.md-abas button{flex:1;justify-content:center}
.md-filtros{gap:14px;align-items:flex-end}
.md-lbl{display:grid;gap:4px;font-size:.8rem;font-weight:700;color:var(--muted)}
.md-lbl .input{min-width:170px;font-weight:400}
.md-ac{white-space:nowrap;text-align:right}.md-ac .link+.link{margin-left:10px}
.md-mn{display:inline-flex;align-items:center;gap:8px}
.pp-ico.mini{width:28px;height:28px}.pp-ico.mini svg{width:16px;height:16px}
.md-data{max-width:220px;margin:6px 0 12px}
.md-ls{display:grid;gap:10px}
.md-l{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(120px,.8fr) minmax(140px,1fr);gap:8px 12px;align-items:end;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.md-l .field{display:grid;gap:3px;margin:0}.md-l .field>span{font-size:.74rem;font-weight:700;color:var(--muted)}
.md-l-n{display:flex;gap:10px;align-items:center;align-self:center}.md-l-n .sub{display:block}
.md-prev{grid-column:1/-1;font-size:.86rem;color:var(--muted)}.md-prev:empty{display:none}
.md-prev.err{color:var(--crit)}.md-alto{color:#b45309;font-weight:700}
.md-vir{grid-column:1/-1;display:flex;gap:8px;align-items:center;font-size:.86rem}
.md-chk{display:flex;gap:8px;align-items:center}
.md-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.md-card{display:flex;flex-direction:column;gap:10px}
.md-card.inativo{opacity:.7}
.md-card-h{display:flex;gap:12px;align-items:center}.md-card-h h3{margin:0;font-size:1.05rem}.md-card-h .pill{margin-left:auto}
.md-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;margin:0}
.md-dl div:nth-child(n+4){grid-column:span 3}
.md-dl dt{font-size:.74rem;font-weight:700;color:var(--muted)}.md-dl dd{margin:2px 0 0}.md-dl .sub{display:inline;margin-left:6px}
.md-obs-t{margin:0;font-size:.86rem}
.md-card-a{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto}
.md-relbar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:16px}
/* medição individual (Exista) */
.mi-h{margin:0 0 10px;font-size:1rem}
.mi-conf,.mi-blocos{margin-bottom:16px}
.mi-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 16px;margin:0 0 8px}
.mi-dl dt{font-size:.74rem;font-weight:700;color:var(--muted)}.mi-dl dd{margin:2px 0 0}.mi-dl .sub{display:block;font-size:.8rem;color:var(--muted)}
.mi-barra{display:grid;grid-template-columns:80px 1fr auto;gap:10px;align-items:center;width:100%;background:none;border:0;padding:5px 4px;border-radius:6px;cursor:pointer;color:inherit;font:inherit;text-align:left}
.mi-barra:hover,.mi-barra[aria-pressed="true"]{background:var(--surface-2)}
.mi-bn{font-weight:600;font-size:.88rem}.mi-bt{height:10px;background:var(--surface-2);border-radius:5px;overflow:hidden}.mi-bt span{display:block;height:100%;background:#2563eb;border-radius:5px}
.mi-bv{font-size:.85rem;white-space:nowrap}.mi-bv .sub{margin-left:6px;color:var(--muted);font-size:.78rem}
.mi-tab tr.mi-alerta td:first-child{box-shadow:inset 3px 0 0 var(--crit)}
.mi-tab td .pill{margin-right:4px}
.mi-rod{margin-top:10px}
.mi-li{margin:0;padding-left:18px;display:grid;gap:4px}.mi-li .err{color:var(--crit)}
.mi-hist{display:flex;align-items:flex-end;gap:6px;height:140px;margin:10px 0 14px;overflow-x:auto}
.mi-hb{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:38px;height:100%;gap:3px}
.mi-hbar{width:22px;background:#93b4f0;border-radius:4px 4px 0 0}.mi-hb.atual .mi-hbar{background:#2563eb}
.mi-hv{font-size:.72rem}.mi-hm{font-size:.7rem;color:var(--muted);white-space:nowrap}
.un-agua{margin-top:12px}.un-agua h4{margin:0 0 6px}.un-agua p{margin:0 0 4px}
@media (max-width:640px){.mi-barra{grid-template-columns:62px 1fr auto}}
.md-relbar-a{margin-left:auto;display:flex;gap:10px}
.md-xls{background:#10b981;border-color:#10b981;color:#fff}.md-pdf{background:#dc2626;border-color:#dc2626;color:#fff}
.md-sec{margin-bottom:16px;padding:18px}
.md-sec-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.md-sec-h .ind-vistas{margin:0}
.md-tit{display:flex;align-items:center;gap:8px;margin:0;font-size:1.2rem}
.md-tit svg{width:22px;height:22px;fill:currentColor;stroke:none}
.md-tit.azul{color:#2563eb}.md-tit.ambar{color:#d97706}.md-tit.laranja{color:#ea580c}
.md-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:14px}
.md-kpi{cursor:default}
.md-kpi .pp-v{font-size:1.45rem;line-height:1.25}
.md-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.md-gsel{min-width:240px}
.md-nw{white-space:nowrap}
#ml-corpo .md-mn{min-width:160px}
.pp-sub.md-sobe{color:#b45309}
.md-filtro{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}
.md-filtro-r{font-weight:700;padding-top:6px;white-space:nowrap}
.md-chips{display:flex;flex-wrap:wrap;gap:6px}
.md-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:6px 12px;cursor:pointer;font:inherit;font-size:.86rem}
.md-chip i{display:inline-block;width:10px;height:10px;border-radius:50%}
.md-chip.on{background:var(--accent-soft);border-color:var(--accent);font-weight:700}
.md-graf-box{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 12px}
.md-graf-t{margin:0;text-align:center;color:#2563eb;font-size:1rem}
.md-graf-s{text-align:center;margin:2px 0 8px}
.md-graf{min-height:120px}
.md-pc{display:block;width:max-content;margin-top:4px;background:#92d050;color:#1f3a10;font-size:.7rem}
tr.md-ciclo td:first-child{box-shadow:inset 4px 0 0 #92d050}
.md-exc{color:var(--crit);font-weight:700}
.md-acum{font-size:.86rem;white-space:nowrap}
.md-cic{color:var(--muted)}.md-graf svg{display:block;max-width:100%}
@media (max-width:860px){.md-l{grid-template-columns:1fr 1fr}.md-l-n{grid-column:1/-1}.md-relbar-a{margin-left:0}}
@media (max-width:520px){.md-l{grid-template-columns:1fr}.md-filtro{flex-direction:column}.md-lbl .input{min-width:0;width:100%}.md-filtros .md-lbl{flex:1}}
.md-hist td{padding-top:12px;padding-bottom:12px}
.md-tipo{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:#dbeafe;color:#1e40af}
.md-tipo.ambar{background:#fef3c7;color:#92400e}.md-tipo.laranja{background:#ffedd5;color:#9a3412}
.md-st{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;margin:1px 4px 1px 0}
.md-st.ok{background:#d1fae5;color:#065f46}.md-st.verm{background:#fee2e2;color:#991b1b}.md-st.ambar{background:#fef3c7;color:#92400e}
.md-st.cinza{background:var(--grey-bg);color:var(--muted)}.md-st.conc{background:#e0f2fe;color:#075985}
.md-ib{display:inline-grid;place-items:center;width:34px;height:30px;border:0;border-radius:6px;background:var(--grey-bg);color:var(--fg);cursor:pointer;margin-left:6px}
.md-ib svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.md-ib.del{background:#fee2e2;color:#dc2626}.md-ib.conf{width:auto;padding:0 8px;font-size:.78rem;font-weight:700}
/* ---------- espaços ---------- */
.md-sub-t{margin:4px 0 10px}
.es-fazer{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-bottom:18px}
.es-f{display:flex;justify-content:space-between;align-items:center;gap:10px}.es-f .sub{display:block}
.es-its{display:grid;gap:6px;margin-bottom:12px}
.es-it{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.es-it-n .sub{display:block}.es-it-o{grid-column:1/-1}
.es-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.es-seg label{cursor:pointer}.es-seg input{position:absolute;opacity:0;pointer-events:none}
.es-seg span{display:block;padding:6px 10px;font-size:.84rem;font-weight:600;background:var(--surface)}
.es-seg input:checked+span{background:#10b981;color:#fff}.es-seg label:nth-child(2) input:checked+span{background:#dc2626}.es-seg label:nth-child(3) input:checked+span{background:#6b7280}
.es-seg input:focus-visible+span{outline:2px solid var(--accent)}
.es-regras{white-space:pre-line;max-height:7.5em;overflow:hidden}
@media (max-width:520px){.es-it{grid-template-columns:1fr}}
tr.md-inat td{opacity:.6}
/* ---------- abrir OS ---------- */
#modal-box.ao{max-width:880px}
.ao-cab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}
.ao-cab h3{display:flex;align-items:center;gap:10px;margin:0}
.ao-mais{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2563eb;color:#fff;font-size:1.2rem;line-height:1}
.ao-sec{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:16px;background:var(--surface)}
.ao-sec h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:1.02rem}
.ao-i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#2563eb;color:#fff;font-size:.75rem;font-weight:700;font-style:italic}
.ao-sub{border:0!important;margin-top:16px!important;padding:0!important}
.ao-tog{display:flex;align-items:center;gap:10px;cursor:pointer;margin:4px 0 12px;font-weight:600}
.ao-tog input{position:absolute;opacity:0;pointer-events:none}
.ao-sw{position:relative;width:44px;height:24px;border-radius:12px;background:#cbd5e1;flex:none;transition:background .15s}
.ao-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s}
.ao-tog input:checked+.ao-sw{background:#2563eb}.ao-tog input:checked+.ao-sw::after{left:23px}
.ao-tog input:focus-visible+.ao-sw{outline:2px solid var(--accent);outline-offset:2px}
.ao-solic{margin-bottom:12px}
.ao-outra-ativ{margin-top:6px}
.ao-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;border:2px dashed var(--line);border-radius:12px;background:var(--bg);cursor:pointer;text-align:center}
.ao-drop:hover{border-color:var(--accent)}
.ao-drop-i{font-size:2rem;opacity:.6}
.ao-prev{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ao-ft{position:relative;margin:0;width:120px}
.ao-ft img{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.ao-ft figcaption{font-size:.78rem;text-align:center;margin-top:2px}
.ao-ft-x{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer}
.ao-ft-a{display:block;width:100%;border:0;background:none;color:var(--accent);font-size:.75rem;cursor:pointer;text-decoration:underline}
.ao-mais-d summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.ao-mais-d summary::-webkit-details-marker{display:none}
.ao-acoes{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}
.ao-acoes .hint{margin-right:auto}
@media (max-width:520px){.ao-acoes{justify-content:stretch}.ao-acoes .btn{flex:1}}
/* ---------- lista de OS ---------- */
.os-busca{padding:14px 16px;margin-bottom:12px}
.os-busca-l{display:flex;gap:10px}.os-busca-l .input{flex:1}
.os-tipos{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.os-tp{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-weight:600;cursor:pointer}
.os-tp svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.os-tp-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--grey-bg);font-size:.78rem}
.os-tp.verm{border-color:#fca5a5;color:#b91c1c}.os-tp.azul{border-color:#93c5fd;color:#1d4ed8}.os-tp.roxo{border-color:#c4b5fd;color:#6d28d9}.os-tp.cinza{color:var(--muted)}
.os-tp.on{box-shadow:inset 0 0 0 1.5px currentColor;background:var(--accent-soft)}
.os-fpainel{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.os-st{margin-bottom:12px}
.os-lista{display:grid;gap:8px}
.os-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}
.os-card:hover,.os-card:focus-visible{border-color:var(--accent)}
.os-card.os-atr{border-left:4px solid var(--crit)}
.os-card-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:10px}
.os-card-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.os-card-ico.verm{background:#fee2e2;color:#b91c1c}.os-card-ico.azul{background:#dbeafe;color:#1d4ed8}
.os-card-t{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.os-card-tit{display:block;margin:3px 0 2px}
.os-card-m{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.84rem;color:var(--muted)}
.os-card-r{display:grid;gap:2px;text-align:right;font-size:.84rem;white-space:nowrap}
.os-card-r .atras{color:var(--crit);font-weight:700}
.pill.os-ag{background:#ede9fe;color:#5b21b6}
.os-vazio{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:center}
.os-vazio-i{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--grey-bg)}
.os-vazio-i svg{width:34px;height:34px;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linejoin:round}
@media (max-width:640px){.os-card{grid-template-columns:auto minmax(0,1fr)}.os-card-r{grid-column:2;text-align:left;display:flex;gap:12px}}
