:root{
  --ink:#0F1D1A; --ink-2:#16302B; --ink-3:#21423B;
  --sand:#EDE6D6; --paper:#F6F2E9; --card:#FFFFFF; --line:#E4DCCB;
  --gold:#C79A56; --gold-soft:#E4C688; --gold-ink:#7A5A26;
  --text:#1D2B28; --muted:#6B7471;
  --ok:#2E7D5B; --ok-bg:#E3F2EA; --mid:#B7791F; --mid-bg:#FDF1DC; --no:#8A8F8C; --no-bg:#EEEFEC;
  --sold:#9B2C2C; --sold-bg:#FBE4E4; --perm:#5B4BA8; --perm-bg:#ECE8FA; --blk:#4A5568; --blk-bg:#E2E8F0;
  --p1:#2B6CB0; --p2:#C05621; --p3:#2F855A; --p4:#805AD5; --p5:#B83280; --p6:#2C7A7B;
  --radius:14px; --shadow:0 1px 2px rgba(15,29,26,.06),0 4px 16px rgba(15,29,26,.05);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--text);font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%}
a{color:var(--gold-ink)}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;color:var(--ink);margin:0}
h2{font-size:19px;margin-bottom:10px} h3{font-size:16px;margin:18px 0 8px}
.muted{color:var(--muted)} .small{font-size:13px} small{font-size:12px}
.r{text-align:right}

/* ---------- Shell ---------- */
.shell{display:flex;min-height:100vh}
.side{width:248px;flex:0 0 248px;background:var(--ink);color:var(--sand);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:18px 12px;overflow-y:auto}
.logo{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;padding:4px 8px 18px}
.logo b{display:block;font-family:'Fraunces',serif;font-weight:500;font-size:17px}
.logo small{color:var(--gold-soft)}
.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:var(--ink);font-family:'Fraunces',serif;font-weight:600;font-size:15px;flex:0 0 auto}
.logo-mark.big{width:56px;height:56px;border-radius:16px;font-size:22px}
.side nav{display:flex;flex-direction:column;gap:2px;flex:1}
.side nav a{display:flex;gap:10px;align-items:center;color:rgba(237,230,214,.82);text-decoration:none;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500}
.side nav a:hover{background:rgba(237,230,214,.07);color:#fff}
.side nav a.on{background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:var(--ink)}
.side nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.me{border-top:1px solid rgba(237,230,214,.14);padding:14px 10px 4px;font-size:13px}
.me b{display:block;color:#fff} .me small{color:var(--gold-soft)} .me div{margin-bottom:6px}
.me a{color:rgba(237,230,214,.8)}
.main{flex:1;min-width:0;padding:22px 28px 40px}
.top{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.top h1{font-size:28px;line-height:1.15}
.sub{margin:6px 0 0;color:var(--muted);max-width:820px}
.top .pill{margin-left:auto}
.pill{background:var(--no-bg);color:var(--no);font-size:12px;font-weight:600;padding:5px 10px;border-radius:20px;white-space:nowrap}
.burger{display:none;background:none;border:0;padding:6px;margin:-2px 0 0 -6px;cursor:pointer}
.burger svg{width:26px;height:26px;stroke:var(--ink);stroke-width:2;fill:none}
.scrim{display:none}
.foot{margin-top:36px;color:var(--muted);font-size:12px}

/* ---------- Cards e grids ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:18px}
.card.narrow{max-width:560px}
.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.card-head h2{margin-bottom:6px}
.link{font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}
.grid2>.card{margin-bottom:18px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.kpis.small{grid-template-columns:repeat(3,1fr);max-width:640px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.kpi small{display:block;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.kpi b{display:block;font-family:'Fraunces',serif;font-size:24px;font-weight:600;color:var(--ink);margin:4px 0 2px;font-variant-numeric:tabular-nums}
.kpi span{color:var(--muted);font-size:12px}
.kpi.accent{background:var(--ink);border-color:var(--ink)} .kpi.accent b{color:var(--gold-soft)} .kpi.accent small,.kpi.accent span{color:rgba(237,230,214,.75)}

/* ---------- Tabelas ---------- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px}
.t{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.t th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:9px 8px;border-bottom:2px solid var(--line);white-space:nowrap}
.t td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.t tfoot td{font-weight:700;border-top:2px solid var(--line);border-bottom:0}
.t tr.hl td{background:#FBF6EA}
.t td small{display:block;color:var(--muted)}

/* ---------- Chips e tags ---------- */
.chip{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}
.chip.ok{background:var(--ok-bg);color:var(--ok)} .chip.mid{background:var(--mid-bg);color:var(--mid)} .chip.no{background:var(--no-bg);color:var(--no)}
.chip.sold{background:var(--sold-bg);color:var(--sold)} .chip.perm{background:var(--perm-bg);color:var(--perm)} .chip.blk{background:var(--blk-bg);color:var(--blk)}
.tag{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--no-bg);color:var(--muted)}
.tag.gold{background:#F7EBD3;color:var(--gold-ink)}

/* ---------- Flash ---------- */
.flash{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-size:14px;border:1px solid transparent}
.flash.ok{background:var(--ok-bg);color:#1F5A41;border-color:#C4E3D2}
.flash.err{background:var(--sold-bg);color:#7A2020;border-color:#F2C9C9}
.flash.warn{background:var(--mid-bg);color:#7A5214;border-color:#F3DDB5}
.flash.big{font-size:15px}
code.pw{font-size:17px;background:#fff;padding:3px 10px;border-radius:8px;border:1px solid var(--line);user-select:all}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--ink);font:600 14px 'Inter',sans-serif;padding:10px 16px;border-radius:10px;cursor:pointer;text-decoration:none;min-height:42px}
.btn:hover{border-color:var(--gold)}
.btn.gold{background:linear-gradient(180deg,var(--gold-soft),var(--gold));border-color:var(--gold);color:var(--ink)}
.btn.ghost{background:transparent}
.btn.danger{color:var(--sold);border-color:#EBC5C5}
.btn.small{padding:6px 12px;min-height:34px;font-size:13px}
.btn.full{width:100%}
.seg{display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;color:var(--text);font:600 13px 'Inter',sans-serif;padding:8px 12px;border-radius:20px;cursor:pointer;text-decoration:none}
.seg.on{background:var(--ink);color:var(--gold-soft);border-color:var(--ink)}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.filters select{width:auto;min-width:160px}

/* ---------- Formulários ---------- */
label{display:block;font-size:13px;font-weight:600;color:var(--ink-3)}
input,select,textarea{display:block;width:100%;margin-top:5px;font:15px 'Inter',sans-serif;color:var(--text);background:#fff;border:1px solid #D6CDBA;border-radius:9px;padding:9px 11px;min-height:42px}
textarea{resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold-soft);border-color:var(--gold)}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;display:inline-block;margin:0 6px 0 0;accent-color:var(--gold-ink)}
input[type=file]{padding:7px;font-size:13px}
.form label{margin-bottom:12px}
.grid-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px 16px;align-items:start}
.grid-form fieldset{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 14px;margin:0}
.grid-form legend{font-family:'Fraunces',serif;font-weight:600;font-size:15px;padding:0 6px;color:var(--ink)}
.grid-form .help,.grid-form .radio{grid-column:1/-1}
.form-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.help{font-size:13px;color:var(--muted);margin:4px 0 8px;font-weight:400}
.radio,.check{display:flex;align-items:center;font-weight:500;font-size:14px;margin:4px 0;cursor:pointer}
.radios{display:flex;flex-wrap:wrap;gap:6px 18px;margin:6px 0}
.affix{display:flex;align-items:stretch;margin-top:5px}
.affix input{margin-top:0;border-radius:9px 0 0 9px}
.affix span{display:flex;align-items:center;padding:0 10px;border:1px solid #D6CDBA;border-left:0;border-radius:0 9px 9px 0;background:#F3EEE3;color:var(--muted);font-weight:600}
.affix.pre input{border-radius:0 9px 9px 0}
.affix.pre span{order:-1;border-left:1px solid #D6CDBA;border-right:0;border-radius:9px 0 0 9px}
.switch{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;cursor:pointer;margin:8px 0}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch span{position:relative;width:46px;height:26px;border-radius:20px;background:#CFC6B4;transition:.2s;flex:0 0 auto}
.switch span:after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.switch input:checked+span{background:var(--ok)} .switch input:checked+span:after{left:23px}
.savebar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;gap:10px;justify-content:flex-end;background:rgba(246,242,233,.94);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:12px 0;margin-top:8px}
.savebar span{margin-right:auto;color:var(--muted);font-size:13px}
.savebar.dirty span{color:var(--gold-ink);font-weight:600}

/* ---------- Dados da construtora ---------- */
.q{padding:14px 0;border-top:1px solid var(--line)}
.q:first-of-type{border-top:0}
.q-head{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.q-head label{font-size:15px;color:var(--ink)}
.q-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto;max-width:50%}
.q input,.q select,.q textarea{max-width:520px}
.q .affix{max-width:260px} .q .affix.pre{max-width:320px}
.q .auto{margin:6px 0 0;font-size:14px}
.q .answer{margin:6px 0 0;font-size:15px}
.who{font-size:12px;color:var(--muted);margin:6px 0 0}
.q.hide{display:none}

/* ---------- Mapa ---------- */
.map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}
.map-label{font-size:13px;font-weight:600;color:var(--muted);margin-right:4px}
.map-wrap{max-width:min(100%, calc((100vh - 230px) * 1.52));margin:0 auto}
.map{position:relative;border-radius:12px;overflow:hidden;background:#EEE9DD}
.map img{display:block;width:100%;height:auto}
.dot{position:absolute;transform:translate(-50%,-50%);width:3.5%;min-width:18px;max-width:34px;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 11px 'Inter',sans-serif;color:#fff;text-decoration:none;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);transition:transform .15s}
.dot:hover,.dot:focus{transform:translate(-50%,-50%) scale(1.25);z-index:5}
.map[data-mode=situ] .dot.s-ok{background:var(--ok)} .map[data-mode=situ] .dot.s-mid{background:var(--mid)}
.map[data-mode=situ] .dot.s-sold{background:var(--sold)} .map[data-mode=situ] .dot.s-perm{background:var(--perm)}
.map[data-mode=situ] .dot.s-blk{background:var(--blk)} .map[data-mode=situ] .dot.s-no{background:#6F7774}
.map[data-mode=planta] .dot.pl-p1{background:var(--p1)} .map[data-mode=planta] .dot.pl-p2{background:var(--p2)}
.map[data-mode=planta] .dot.pl-p3{background:var(--p3)} .map[data-mode=planta] .dot.pl-none{background:#6F7774}
.map[data-mode=planta] .dot.pl-p4{background:var(--p4)} .map[data-mode=planta] .dot.pl-p5{background:var(--p5)} .map[data-mode=planta] .dot.pl-p6{background:var(--p6)}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--muted)}
.legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.legend .s-ok{background:var(--ok)} .legend .s-mid{background:var(--mid)} .legend .s-sold{background:var(--sold)}
.legend .s-perm{background:var(--perm)} .legend .s-blk{background:var(--blk)} .legend .s-no{background:#6F7774}
.legend .pl-p4{background:var(--p4)} .legend .pl-p5{background:var(--p5)} .legend .pl-p6{background:var(--p6)}
.legend .pl-p1{background:var(--p1)} .legend .pl-p2{background:var(--p2)} .legend .pl-p3{background:var(--p3)} .legend .pl-none{background:#6F7774}
.legend .lg-maison{background:var(--gold)} .legend .lg-new{background:var(--ink-3)} .legend .lg-used{background:#B9B3A6}

/* ---------- Painel ---------- */
.progress-list{list-style:none;padding:0;margin:8px 0 0}
.progress-list li{margin-bottom:12px}
.pl-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:5px}
.bar{height:8px;border-radius:8px;background:#EFE9DC;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-soft));border-radius:8px}
.situ-row{display:flex;flex-wrap:wrap;gap:10px}
.pend,.hist-mini{list-style:none;padding:0;margin:6px 0 0}
.pend li{padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.pend a{color:var(--text);text-decoration:none} .pend a:hover{color:var(--gold-ink)}
.hist-mini li{padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}

/* ---------- Unidades ---------- */
.units input,.units select{margin-top:0;min-height:36px;padding:6px 8px;font-size:14px;min-width:90px}
.units input.xs{min-width:58px;width:64px}
.units td{padding:6px 5px}
.units .num-cell b{font-family:'Fraunces',serif;font-size:17px}
.units .num-cell .ponta{display:block;color:var(--gold-ink);font-size:11px;font-weight:600}
.units{min-width:1380px}
.units select{min-width:110px}
.units td[data-l="Planta"] select{min-width:160px}
.units th{position:sticky;top:0;background:#fff;z-index:2}
.units th:first-child,.units td:first-child{position:sticky;left:0;background:#fff;z-index:1}
.units th:first-child{z-index:3}
.units-wrap{max-height:78vh;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;margin:0}
.units .fila-cell{font-size:12px;color:var(--muted);white-space:nowrap}
.units .price-cell{white-space:nowrap}
.units tr.flash-row td{background:#FFF6DF}
.units tr.hide{display:none}

/* ---------- Preços e fluxo ---------- */
.kv{list-style:none;padding:0;margin:6px 0}
.kv li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed var(--line)}
.kv span{color:var(--muted)}
.kv.small li{font-size:13px;padding:3px 0}
.split{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 14px}
.split span{background:#F8F4EA;border-radius:10px;padding:10px;text-align:center}
.split small{display:block;color:var(--muted)} .split b{font-family:'Fraunces',serif;font-size:20px}

/* ---------- Mercado ---------- */
.comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.comp{border:1px solid var(--line);border-radius:12px;padding:14px;background:#FFFDF8}
.comp-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.comp h3{margin:0;font-size:17px}
.comp-price{margin:8px 0;font-variant-numeric:tabular-nums}
.comp-price b{font-family:'Fraunces',serif;font-size:20px}
.comp-price span{display:block;color:var(--gold-ink);font-weight:600;font-size:13px}
.src{font-size:12px;color:var(--muted);margin:8px 0 0}
.bars{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.bar-row{display:grid;grid-template-columns:minmax(140px,280px) 1fr 100px;gap:10px;align-items:center;font-size:13px}
.bar-row .bt{height:16px;background:#F1ECE1;border-radius:6px;overflow:hidden}
.bar-row .bt i{display:block;height:100%;background:var(--ink-3);border-radius:6px}
.bar-row.maison .bt i{background:var(--gold)} .bar-row.used .bt i{background:#B9B3A6}
.bar-row.maison .bl{font-weight:700}
.bar-row b{text-align:right;font-variant-numeric:tabular-nums}

/* ---------- Editor do site ---------- */
.items{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.item{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:12px;background:#FFFDF8}
.item.text-item{grid-template-columns:1fr auto}
.item.removing{opacity:.45}
.thumb{width:120px;height:90px;border-radius:8px;background:#EFE9DC;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:22px}
.thumb img{width:100%;height:100%;object-fit:cover}
.item-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 12px}
.text-item .item-fields{grid-template-columns:1fr}
.item-ctrl{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.item-ctrl button{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:38px;min-height:34px;cursor:pointer;font-size:15px}
.del{font-size:12px;font-weight:500;color:var(--sold);display:flex;align-items:center}

/* ---------- Usuários ---------- */
.user-list{display:flex;flex-direction:column;gap:10px}
.user{display:grid;grid-template-columns:170px 1fr 170px 90px auto;gap:12px;align-items:end;border:1px solid var(--line);border-radius:12px;padding:12px}
.user.off{opacity:.6}
.u-main b{display:block;font-size:15px} .u-main small{color:var(--muted)}
.u-actions{display:flex;gap:6px;flex-wrap:wrap}
.user .check{margin-bottom:10px}
.hist td.old{color:var(--muted)}

/* ---------- Login ---------- */
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 20% 10%,rgba(199,154,86,.18),transparent 45%),var(--ink)}
.login-card{width:100%;max-width:380px;background:var(--ink-2);border:1px solid rgba(237,230,214,.16);border-radius:20px;padding:28px;color:var(--sand);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.login-brand{text-align:center;margin-bottom:18px}
.login-brand h1{color:#fff;font-size:26px;margin:12px 0 4px;font-weight:500}
.login-brand p{color:var(--gold-soft);margin:0;font-size:13px}
.login-card label{color:var(--sand);margin-bottom:14px}
.login-card input{background:var(--ink);border-color:rgba(237,230,214,.22);color:#fff}
.login-note{font-size:12px;color:rgba(237,230,214,.6);text-align:center;margin:14px 0 0}

/* ---------- Responsivo ---------- */
@media (max-width:1100px){
  .grid2{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .user{grid-template-columns:1fr 1fr}
  .u-main{grid-column:1/-1}
}
@media (max-width:820px){
  .side{position:fixed;left:0;top:0;bottom:0;z-index:100;transform:translateX(-100%);transition:transform .25s;box-shadow:8px 0 30px rgba(0,0,0,.3)}
  .side.open{transform:none}
  .scrim.open{display:block;position:fixed;inset:0;background:rgba(15,29,26,.45);z-index:90}
  .burger{display:block}
  .main{padding:14px 14px 30px}
  .top h1{font-size:23px}
  .card{padding:15px}
  .kpi b{font-size:20px}
  .split{grid-template-columns:repeat(2,1fr)}
  .q-head{flex-direction:column}
  .q-tags{max-width:none;justify-content:flex-start}
  .item{grid-template-columns:1fr}
  .thumb{width:100%;height:150px}
  .item-ctrl{flex-direction:row;flex-wrap:wrap}
  .bar-row{grid-template-columns:1fr 80px}
  .bar-row .bl{grid-column:1/-1}
  .dot{font-size:8px;border-width:1px;min-width:15px}
  /* Tabela de unidades vira cartões */
  .units{min-width:0}
  .units-wrap{max-height:none;overflow:visible;border:0;background:transparent}
  .units th:first-child,.units td:first-child{position:static}
  .units select,.units td[data-l] select{min-width:0}
  .units thead{display:none}
  .units,.units tbody,.units tr,.units td{display:block;width:100%}
  .units tr{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
  .units tr.hide{display:none}
  .units td{border:0;padding:0}
  .units td::before{content:attr(data-l);display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:2px}
  .units td.num-cell,.units td.fila-cell{grid-column:span 1}
  .units td.price-cell{text-align:left}
  .units td[data-l="Observações"]{grid-column:1/-1}
  .units input,.units select,.units input.xs{width:100%;min-width:0}
  .hist thead{display:none}
  .hist tr{display:block;border-bottom:1px solid var(--line);padding:8px 0}
  .hist td{display:block;border:0;padding:2px 0}
  .hist td::before{content:attr(data-l) ': ';color:var(--muted);font-size:12px}
}
@media (max-width:520px){
  .kpis,.kpis.small{grid-template-columns:1fr 1fr}
  .kpi{padding:12px}
  .user{grid-template-columns:1fr}
}

/* ---------- v1.1: tipos de planta e atualizações ---------- */
.grid-form .wide{grid-column:1/-1}
.card.off{opacity:.72}
.rel{border:1px solid var(--line);border-radius:12px;padding:14px;margin:10px 0;background:#FFFDF8}
.rel-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;justify-content:space-between}
.rel-head h3{margin:0}
.rel-notes{font-size:14px;margin:8px 0 0;white-space:normal}
.rel-notes ul{margin:6px 0;padding-left:20px}
.chip.new{background:#E6F0FB;color:#2B6CB0}
.banner-update{display:block;background:#E6F0FB;color:#1E4E8C;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px}

/* ---------- v1.1.1: liberação de vendas ---------- */
.tag.blue{background:#E6F0FB;color:#1E4E8C}
.doc{border-top:1px solid var(--line);padding:14px 0}
.doc:first-of-type{border-top:0}
.doc-nome{font-size:15px}
.doc-form{margin-top:10px}
.conf-form{margin-top:6px;padding:10px;border:1px dashed var(--gold-soft);border-radius:10px;background:#FFFCF5}
.conf{font-size:13px;background:var(--ok-bg);color:var(--ok);padding:8px 10px;border-radius:8px;margin:6px 0}
.conf.bad{background:var(--sold-bg);color:var(--sold)}
.files{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:4px}
.files li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-size:14px}
form.inline{display:inline}
.linkbtn{background:none;border:0;padding:0;color:var(--sold);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline}
details.card summary{cursor:pointer}
details.card[open] summary{margin-bottom:8px}
.doc[hidden]{display:none}

/* ---------- v1.1.2: crédito ---------- */
.credit{margin:6px 0 0;font-size:12px;color:var(--muted)}
.credit a{color:var(--gold-ink);text-decoration:none}
.credit a:hover{text-decoration:underline}
.login-credit{text-align:center;margin-top:18px;color:rgba(237,230,214,.6)}
.login-credit a{color:var(--gold-soft)}
