*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);font-size:14px;transition:background .3s,color .3s;overflow-x:hidden}

/* ── MANROPE NOS TÍTULOS (Architectural voice) ── */
.header-logo,.card-title,.section-title,.prop-total-value,.prop-item-value,
.modal-title,.people-card-title,.phase-header,.flow-item-total,.emp-name{font-family:'Manrope',sans-serif}

/* ══════════════════════════════════════════════
   TOKENS — LIGHT
   Surface hierarchy: lavender-tinted, no harsh whites
   ══════════════════════════════════════════════ */
:root{
  --blue:#6D28D9;            /* primary */
  --primary-dark:#5300B7;    /* primary core (darker) */
  --navy:#1e1040;            /* on-surface / headlines */
  --green:#16a34a;--red:#dc2626;--amber:#d97706;
  --gray:#7c6ea0;

  /* Surface tiers (from dim → elevated) */
  --bg:#f5f3ff;              /* surface_dim — page background */
  --card:#ffffff;            /* surface / surface_container_lowest */
  --surf-low:#f3f0ff;        /* surface_container_low */
  --surf:#ede9fe;            /* surface_container */
  --surf-high:#ddd6fe;       /* surface_container_high */

  --text:#1e1040;
  --text-variant:#5b4f7a;

  /* Ghost border — felt, not seen (15% opacity rule) */
  --border:rgba(109,40,217,.13);

  /* Compat aliases */
  --surface:#ffffff;
  --input-bg:#f3f0ff;--input-color:#1e1040;--readonly-bg:#ede9fe;
  --sidebar-bg:#ffffff;--tab-bg:#f3f0ff;--tab-active:#ffffff;
  --prop-item-bg:#f3f0ff;--balance-bg:#f3f0ff;--redist-bg:#ffffff;
  --split-bg:#f3f0ff;--action-bar-bg:#ffffff;
  --emp-hover-bg:#ede9fe;--unit-th-bg:#f3f0ff;
  --unit-hover-bg:#ede9fe;--unit-sel-bg:#ddd6fe;
}

/* ══════════════════════════════════════════════
   TOKENS — DARK
   Deep purple-slate, not muddy black
   ══════════════════════════════════════════════ */
body.dark{
  --blue:#a78bfa;            /* primary bright for dark bg */
  --primary-dark:#8B5CF6;
  --navy:#ede9fe;
  --green:#4ade80;--red:#f87171;--amber:#fbbf24;
  --gray:#9e8cc0;

  --bg:#0c0a1a;
  --card:#170e2e;
  --surf-low:#1e1238;
  --surf:#281a4a;
  --surf-high:#3b2567;

  --text:#ede9fe;
  --text-variant:#9e8cc0;
  --border:rgba(255,255,255,.08);

  --surface:#170e2e;
  --input-bg:#1e1238;--input-color:#ede9fe;--readonly-bg:#170e2e;
  --sidebar-bg:#170e2e;--tab-bg:#0c0a1a;--tab-active:#1e1238;
  --prop-item-bg:#1e1238;--balance-bg:#1e1238;--redist-bg:#1e1238;
  --split-bg:#1e1238;--action-bar-bg:#170e2e;
  --emp-hover-bg:#281a4a;--unit-th-bg:#170e2e;
  --unit-hover-bg:#281a4a;--unit-sel-bg:#3b2567;
}
body.dark{background:var(--bg);color:var(--text)}
body.dark .card,body.dark .flow-phase,body.dark .people-card{box-shadow:0 4px 20px rgba(0,0,0,.35),0 1px 4px rgba(0,0,0,.25)}
body.dark .prop-item,body.dark .balance-bar{box-shadow:0 4px 14px rgba(0,0,0,.3),0 1px 3px rgba(0,0,0,.2)}

/* ── HEADER — Gradient Signature (135°) ── */
.header{background:linear-gradient(135deg,#6D28D9 0%,#5300B7 100%);color:#fff;padding:10px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 24px rgba(83,0,183,.3);min-width:0;position:relative;z-index:100}
.header-logo{font-size:18px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:center;gap:8px;flex-shrink:0;white-space:nowrap}
.header-logo-img{height:36px;width:auto;display:block;flex-shrink:0}
.header-logo span{background:rgba(255,255,255,.15);padding:4px 10px;border-radius:8px;backdrop-filter:blur(8px)}
.header-sub{font-size:10px;opacity:.5;margin-left:auto;text-transform:uppercase;letter-spacing:.08em}

/* ── LAYOUT ── */
.container{display:grid;grid-template-columns:27vw 1fr;gap:0;height:calc(100vh - 56px)}

/* ── SIDEBAR — tonal separation, no border-lines ── */
.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);overflow:hidden;padding:0;display:flex;flex-direction:column}
.sidebar .tabs{flex-shrink:0}
.sidebar .tab-panel.active{flex:1;display:flex;flex-direction:column;overflow:hidden}
.sidebar .tab-panel.active .section:first-child{flex-shrink:0}
.sidebar .tab-panel.active .section:last-child{flex:1;display:flex;flex-direction:column;overflow:hidden}
#unit-tabela-section{flex:1;display:flex;flex-direction:column;min-height:0}
#unit-tabela-section .unit-table-wrap{flex:1;min-height:0;overflow-y:auto;border-radius:8px;border:1px solid var(--border)}
/* No-Line Rule: sections use bg shifts, not borders */
.section{padding:16px;background:var(--sidebar-bg)}
.section+.section{background:var(--surf-low)}
.section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gray);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.section-title::before{content:'';width:3px;height:14px;background:var(--blue);border-radius:2px;display:block}

/* ── FORM ── */
label{display:block;font-size:12px;font-weight:500;color:var(--text-variant);margin-bottom:4px;margin-top:10px}
label:first-child{margin-top:0}
/* Inputs: surface_container_lowest, focus = scale + bottom-glow (no heavy border) */
input,select{width:100%;padding:8px 10px;border:none;border-radius:8px;font-size:13px;font-family:inherit;color:var(--input-color);background:var(--input-bg);transition:transform .15s,box-shadow .15s,background .3s;outline:none}
input:focus,select:focus{transform:scale(1.01);box-shadow:0 2px 0 var(--blue),0 4px 16px rgba(109,40,217,.15)}
input[readonly]{background:var(--readonly-bg);color:var(--gray);cursor:default;transform:none;box-shadow:none}
.input-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* ── TABS — pill chips ── */
.tabs{display:flex;background:var(--tab-bg);padding:8px 10px;gap:4px;border-bottom:1px solid var(--border)}
.tab{padding:5px 14px;font-size:12px;font-weight:600;cursor:pointer;border-radius:999px;color:var(--gray);transition:all .2s;white-space:nowrap}
.tab.active{color:#fff;background:var(--blue);box-shadow:0 2px 8px rgba(109,40,217,.35)}
.tab-panel{display:none}.tab-panel.active{display:block}

/* ── MAIN AREA ── */
.main{overflow-y:auto;padding:20px;background:var(--bg)}

/* ── CARDS — ROUND_TWELVE, tonal lift ── */
.card{background:var(--card);border-radius:12px;border:1px solid var(--border);margin-bottom:16px;overflow:hidden;box-shadow:0 4px 16px rgba(30,16,64,.08),0 1px 4px rgba(30,16,64,.05)}
.card-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.card-title{font-size:13px;font-weight:700;color:var(--navy)}
.card-body{padding:18px}

/* ── PROPERTY SUMMARY ── */
.prop-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px}
/* No borders — tonal background is enough */
.prop-item{background:var(--surf-low);border-radius:12px;padding:12px;box-shadow:0 4px 12px rgba(30,16,64,.07),0 1px 3px rgba(30,16,64,.04)}
.prop-item-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--gray);margin-bottom:4px;font-weight:600}
.prop-item-value{font-size:15px;font-weight:700;color:var(--navy)}
/* Gradient Signature: hero bar */
.prop-total{background:linear-gradient(135deg,#6D28D9 0%,#5300B7 100%);color:#fff;border-radius:12px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;box-shadow:0 4px 20px rgba(83,0,183,.25)}
.prop-total-label{font-size:12px;opacity:.8}
.prop-total-value{font-size:22px;font-weight:800}

/* ── BALANCE BAR ── */
.balance-bar{background:var(--surf-low);border-radius:12px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px rgba(30,16,64,.07),0 1px 3px rgba(30,16,64,.04)}
.balance-label{font-size:12px;color:var(--gray);min-width:80px}
.balance-track{flex:1;height:6px;background:var(--surf-high);border-radius:4px;overflow:hidden}
.balance-fill{height:100%;background:var(--green);border-radius:4px;transition:width .3s,background .3s}
.balance-val{font-size:12px;font-weight:600;min-width:90px;text-align:right}
.balance-ok{color:var(--green)}
.balance-over{color:var(--red)}
.balance-under{color:var(--amber)}

/* ── FLOW BLOCKS — No-Divider Rule ── */
.flow-phase{border-radius:12px;margin-bottom:12px;overflow:hidden;background:var(--card);box-shadow:0 4px 16px rgba(30,16,64,.08),0 1px 4px rgba(30,16,64,.05)}
/* Tonal separation instead of colored borders */
.fase-construcao .phase-header{background:var(--surf-low);color:var(--blue)}
.fase-chaves .phase-header{background:var(--surf);color:var(--blue)}
body.dark .fase-construcao .phase-header{background:var(--surf-low);color:#a78bfa}
body.dark .fase-chaves .phase-header{background:var(--surf);color:#a78bfa}

/* ── RESUMO DO FLUXO ── */
.fase-resumo .phase-header{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#5300B7}
body.dark .fase-resumo .phase-header{background:linear-gradient(135deg,var(--surf-low),var(--surf));color:#c4b5fd}
.resumo-section{padding:10px 16px;border-bottom:1px solid var(--border)}
.resumo-section:last-child{border-bottom:none;padding-bottom:14px}
.resumo-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--gray);margin-bottom:7px}
.resumo-row{display:flex;align-items:center;gap:7px;font-size:12px;padding:2px 0;color:var(--text);line-height:1.5}
.resumo-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.resumo-dot-sinal{background:var(--amber)}
.resumo-dot-mens{background:var(--blue)}
.resumo-dot-semi{background:var(--green)}
.resumo-tag-hoje{display:inline-flex;align-items:center;font-size:9px;font-weight:700;background:#7c3aed;color:#fff;border-radius:4px;padding:0 6px;margin-left:2px;letter-spacing:.3px;text-transform:uppercase;line-height:16px}
.phase-header{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:13px}
.phase-total{font-size:15px}
/* Alternating tonal backgrounds instead of 1px border-top dividers */
.flow-item{padding:14px 16px;background:var(--card)}
.flow-item+.flow-item{background:var(--surf-low)}
.flow-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.flow-item-name{font-size:12px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}
.flow-item-badge{font-size:10px;background:rgba(109,40,217,.1);color:var(--blue);padding:2px 9px;border-radius:999px;font-weight:700}
.pct-badge-wrap{display:inline-flex;align-items:center;background:rgba(109,40,217,.12);color:var(--blue);padding:2px 7px 2px 5px;border-radius:999px;font-size:10px;font-weight:700;gap:1px;cursor:text;transition:background .15s}
.pct-badge-wrap:focus-within{background:var(--blue)}
.pct-badge-wrap:focus-within .pct-input,.pct-badge-wrap:focus-within .pct-sym{color:#fff}
.pct-input{background:transparent;border:none;outline:none;color:var(--blue);width:32px;font-size:10px;font-weight:700;font-family:inherit;text-align:right;padding:0;-moz-appearance:textfield}
.pct-input::-webkit-inner-spin-button,.pct-input::-webkit-outer-spin-button{-webkit-appearance:none}
.pct-sym{font-size:10px;font-weight:700;color:var(--blue)}
.flow-item-total{font-size:14px;font-weight:700;color:var(--navy)}

/* ── CONTROLS ── */
.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ctrl-group{display:flex;align-items:center;gap:6px}
.ctrl-label{font-size:11px;color:var(--gray)}
.ctrl-input{width:90px;padding:6px 8px;border:none;border-radius:8px;font-size:13px;font-family:inherit;text-align:right;background:var(--surf-low);color:var(--input-color);transition:transform .15s,box-shadow .15s}
.ctrl-input:focus{outline:none;transform:scale(1.01);box-shadow:0 2px 0 var(--blue)}
.split-btns{display:flex;gap:4px}
.split-btn{width:32px;height:28px;border:none;background:var(--surf-low);border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;color:var(--gray);transition:all .2s}
.split-btn.active,.split-btn:hover{background:var(--blue);color:#fff;box-shadow:0 2px 8px rgba(109,40,217,.3)}
/* Selection chips: always full rounded (contrast with md containers) */
.toggle-tipo{display:flex;background:var(--surf-low);border-radius:999px;padding:2px;gap:2px}
.toggle-btn{padding:4px 14px;font-size:11px;font-weight:600;border:none;background:transparent;cursor:pointer;color:var(--gray);transition:all .2s;border-radius:999px}
.toggle-btn.active{background:var(--blue);color:#fff;box-shadow:0 2px 6px rgba(109,40,217,.3)}

/* ── INCC ── */
.incc-bar{background:rgba(109,40,217,.08);border-radius:12px;padding:12px 16px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.incc-bar label{margin:0;font-size:12px;font-weight:600;color:var(--blue)}
.incc-total{font-size:11px;color:var(--gray);margin-left:auto}
body.dark .incc-bar{background:rgba(167,139,250,.1)}
body.dark .incc-bar label{color:#a78bfa}
.switch{position:relative;width:36px;height:20px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.slider-sw{position:absolute;cursor:pointer;inset:0;background:var(--surf-high);border-radius:20px;transition:.3s}
.slider-sw::before{content:'';position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
input:checked+.slider-sw{background:var(--blue)}
input:checked+.slider-sw::before{transform:translateX(16px)}

/* ── REDISTRIBUTION SLIDER ── */
.redist-block{padding:14px 16px;background:var(--surf-low)}
.redist-label{font-size:11px;color:var(--gray);margin-bottom:8px;text-align:center}
.redist-row{display:flex;align-items:center;gap:8px}
.redist-side{font-size:11px;font-weight:600;color:var(--gray);width:80px}
.redist-side:last-child{text-align:right}
input[type=range]{flex:1;accent-color:var(--blue)}

/* ── SPLIT DETAIL ── */
.split-detail{background:var(--surf-low);border-radius:8px;padding:8px 12px;margin-top:8px;font-size:12px;color:var(--gray)}
.split-detail span{font-weight:600;color:var(--navy)}

/* ── ACTION BAR ── */
.action-bar{display:flex;gap:10px;margin-top:4px;padding:16px 20px;background:var(--action-bar-bg);border-top:1px solid var(--border);position:sticky;bottom:0}
.btn{padding:10px 20px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;gap:6px;transition:all .2s;font-family:inherit}
/* Primary: gradient + inner-glow (physical button simulation) */
.btn-primary{background:linear-gradient(135deg,#6D28D9,#5300B7);color:#fff;box-shadow:inset 0 2px 0 rgba(255,255,255,.12),0 2px 12px rgba(83,0,183,.3)}
.btn-primary:hover{background:linear-gradient(135deg,#7c3aed,#6D28D9);box-shadow:inset 0 2px 0 rgba(255,255,255,.18),0 4px 20px rgba(83,0,183,.45);transform:translateY(-1px)}
.btn-whats{background:#25d366;color:#fff}
.btn-whats:hover{background:#128c7e}
/* Secondary: surface_container_high, no border */
.btn-outline{background:var(--surf-high);color:var(--navy);border:none}
.btn-outline:hover{background:var(--surf)}
.btn-danger{background:var(--red);color:#fff;border:none}
.btn-danger:hover{background:#b91c1c}
.btn-sm{padding:6px 12px;font-size:12px}

/* ── EMPREENDIMENTO ── */
.emp-card{background:var(--surf-low);border-radius:12px;padding:12px;margin-bottom:8px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s}
.emp-card:hover,.emp-card.selected{background:var(--surf);box-shadow:0 0 0 2px var(--blue)}
.emp-name{font-weight:700;font-size:13px}
.emp-info{font-size:11px;color:var(--gray)}
.emp-actions{margin-left:auto;display:flex;gap:6px}

/* ── MODAL — Glassmorphism ── */
/* Overlay: surface_variant 60% + 24px blur */
.modal-overlay{position:fixed;inset:0;background:rgba(15,8,40,.55);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
/* Architect Shadow: on_surface 6% opacity, 48px blur */
.modal{background:var(--card);border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 48px 64px rgba(30,16,64,.06),0 0 0 1px rgba(109,40,217,.12)}
.modal-header{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.modal-title{font-size:15px;font-weight:700;color:var(--navy)}
.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--gray);line-height:1}
.modal-body{padding:20px}
.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}
.hidden{display:none!important}

/* ── PDF PREVIEW — always light ── */
#pdf-output{background:#fff;padding:30px;max-width:680px;margin:0 auto;font-family:'Inter',sans-serif;font-size:13px;line-height:1.5;display:none}
.pdf-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:3px solid #5300B7}
.pdf-logo{font-size:20px;font-weight:800;color:#6D28D9;font-family:'Manrope',sans-serif}
.pdf-logo small{display:block;font-size:10px;color:#7c6ea0;font-weight:400}
.pdf-title{font-size:18px;font-weight:700;color:#1e1040;font-family:'Manrope',sans-serif}
.pdf-subtitle{font-size:11px;color:#7c6ea0}
.pdf-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;padding:16px;background:#f5f3ff;border-radius:12px}
.pdf-info-section h4{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#7c6ea0;margin-bottom:8px}
.pdf-info-row{font-size:12px;margin-bottom:4px}
.pdf-info-row strong{color:#1e1040}
.pdf-total-box{background:linear-gradient(135deg,#6D28D9,#5300B7);color:#fff;border-radius:12px;padding:12px 16px;text-align:right;margin-bottom:20px}
.pdf-total-box .label{font-size:11px;opacity:.7}
.pdf-total-box .value{font-size:22px;font-weight:800;font-family:'Manrope',sans-serif}
.pdf-phase{margin-bottom:16px}
/* No borders on PDF phases — use tonal bg */
.pdf-phase-header{background:#ede9fe;border-radius:8px 8px 0 0;padding:10px 14px;display:flex;justify-content:space-between;font-weight:700;font-size:13px;color:#5300B7;font-family:'Manrope',sans-serif}
.pdf-phase-body{background:#f5f3ff;border-radius:0 0 8px 8px;overflow:hidden}
.pdf-row{display:flex;justify-content:space-between;padding:9px 14px;font-size:12px}
.pdf-row:nth-child(even){background:#ede9fe}
.pdf-row-name{color:#5b4f7a;font-weight:500}
.pdf-row-val{font-weight:700;color:#1e1040}
.pdf-phase-chaves .pdf-phase-header{background:#ddd6fe;color:#5300B7}
.pdf-phase-chaves .pdf-phase-body{background:#f5f3ff}
.pdf-obs{background:#fefce8;border-left:3px solid #d97706;border-radius:8px;padding:12px;margin-bottom:16px;font-size:11px;color:#78350f}
.pdf-obs strong{display:block;margin-bottom:4px}
.pdf-footer{border-top:1px solid #ede9fe;padding-top:14px;display:flex;justify-content:space-between;align-items:flex-end}
.pdf-footer-corretor{font-size:12px}
.pdf-footer-corretor strong{display:block;font-size:14px;color:#1e1040;font-family:'Manrope',sans-serif}
.pdf-footer-id{font-size:10px;color:#9e8cc0;text-align:right}
.pdf-disclaimer{font-size:9px;color:#c4b5fd;margin-top:12px;font-style:italic;text-align:center}
.pdf-incc-note{font-size:10px;color:#6D28D9;background:#f5f3ff;border-radius:4px;padding:4px 8px;margin-top:4px;display:inline-block}

/* ── TOAST ── */
.toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:#fff;padding:12px 20px;border-radius:10px;font-size:13px;font-weight:500;z-index:9999;transform:translateY(80px);opacity:0;transition:all .3s;max-width:300px;box-shadow:0 8px 32px rgba(83,0,183,.25)}
.toast.show{transform:translateY(0);opacity:1}
.toast.success{background:var(--green)}
.toast.error{background:var(--red)}

/* ── PEOPLE GRID ── */
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
/* Tonal lift: card on surface_dim background */
.people-card{background:var(--card);border-radius:12px;padding:14px;box-shadow:0 4px 16px rgba(30,16,64,.08),0 1px 4px rgba(30,16,64,.05)}
.people-card-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--gray);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.people-card-title::before{content:'';width:3px;height:14px;background:var(--blue);border-radius:2px;display:block}
.people-card label{margin-top:8px}
.people-card label:first-of-type{margin-top:0}

/* ── UNIT TABLE ── */
.unit-table{width:100%;border-collapse:collapse;font-size:12px}
.unit-table th{background:var(--surf-low);padding:8px;text-align:left;border-bottom:1px solid var(--border);font-size:10px;color:var(--gray);text-transform:uppercase;letter-spacing:.6px;font-weight:700}
.unit-table td{padding:7px 8px}
.unit-table tr:hover td{background:var(--surf);cursor:pointer}
.unit-table tr.selected td{background:var(--surf-high);font-weight:600}
.badge-status{font-size:10px;padding:2px 8px;border-radius:999px;font-weight:700}
.badge-disp{background:#dcfce7;color:#15803d}
.badge-res{background:#fee2e2;color:#dc2626}

/* ══ RESPONSIVE — 768px (tablets / large phones) ══ */
@media(max-width:768px){
  .page-wrap{padding:16px}
  .page-title{font-size:20px}
  .page-subtitle{font-size:12px;margin-bottom:16px}
  .stats-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
  .header{padding:10px 14px}
  .header-nav{gap:2px;margin:0 6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .header-nav::-webkit-scrollbar{display:none}
  .nav-pill{padding:5px 10px;font-size:11px;flex-shrink:0}
  .unit-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .modal{max-width:calc(100vw - 24px);margin:12px}
  .toast{max-width:90vw;right:12px;bottom:12px}
  .prop-grid{grid-template-columns:1fr}
  .emp-unit-table{font-size:11px}
  /* Widen sidebar on tablet so inputs don't get crushed */
  .container{grid-template-columns:38vw 1fr}
  /* Summary items wrap to 2 cols on tablet */
  .prop-summary{grid-template-columns:1fr 1fr}
  /* Ensure modals don't overflow */
  .modal-body{padding:14px}
  .input-row{grid-template-columns:1fr}
}

/* ══ RESPONSIVE — 620px (smartphones landscape / small tablets) ══ */
@media(max-width:620px){
  .container{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 56px)}
  .sidebar{max-height:50vh;overflow-y:auto;border-right:none;border-bottom:1px solid var(--border)}
  .main{overflow-y:visible}
  .prop-summary{grid-template-columns:1fr 1fr}
  .prop-total{flex-direction:column;align-items:flex-start;gap:4px}
  .prop-total-value{font-size:20px}
  .people-grid{grid-template-columns:1fr}
  .input-row{grid-template-columns:1fr}
  .action-bar{flex-wrap:wrap;gap:6px}
  .action-bar .btn{flex:1;min-width:130px;justify-content:center}
  .redist-block{padding:10px 12px}
  .split-btns{gap:4px}
  .split-btn{height:38px;width:38px;font-size:13px}
  .ctrl-input{padding:8px 6px;height:38px}
  .tabs{padding:6px 8px;gap:3px}
  .tab{padding:6px 10px;font-size:11px}
  .section{padding:12px}
  .flow-phase{margin-bottom:10px}
  .balance-bar{flex-wrap:wrap;gap:8px}
  .balance-val{min-width:unset}
}

/* ══ RESPONSIVE — 480px (smartphones portrait) ══ */
@media(max-width:480px){
  .stats-row{grid-template-columns:1fr;gap:8px}
  .prop-filters{flex-direction:column;align-items:stretch}
  .prop-search{min-width:unset;width:100%}
  .filter-chips{justify-content:flex-start;flex-wrap:wrap;gap:4px}
  .page-title{font-size:18px}
  .stat-value{font-size:20px}
  .prop-summary{grid-template-columns:1fr}
  .header-nav{margin:0 4px;gap:0}
  .nav-pill{padding:4px 8px;font-size:10px}
  .people-card{padding:14px}
  .modal-body{padding:14px 12px}
  .modal-footer{padding:10px 12px;flex-direction:column;gap:6px}
  .modal-footer .btn{width:100%;justify-content:center}
  .avatar-btn{width:40px;height:40px;font-size:12px}
  .btn{padding:9px 14px;font-size:12px}
  .btn-sm{padding:7px 12px;font-size:11px}
  .header{padding:8px 10px}
  .header-logo{font-size:14px}
  .header-logo-img{height:36px}
  .header-logo span{padding:3px 7px}
  .split-btn{height:34px;width:34px;font-size:12px}
  .action-bar .btn{min-width:unset;font-size:11px;padding:8px 10px}
  .redist-slider-wrap{padding:8px}
  .section{padding:10px}
  .card-body{padding:12px}
  .phase-header{padding:8px 14px}
  .flow-item{padding:6px 12px}
  .resumo-row{font-size:11px}
}

/* ── Unit table sempre com scroll horizontal ── */
#unit-tabela-section .unit-table-wrap{overflow-x:auto;overflow-y:auto}
.unit-table{min-width:340px}

/* ── THEME TOGGLE (sun / moon pill) ── */
.theme-toggle{position:relative;display:inline-block;width:76px;height:38px;cursor:pointer;flex-shrink:0}
.theme-toggle input{opacity:0;width:0;height:0;position:absolute}
.theme-track{position:absolute;top:0;left:0;right:0;bottom:0;background:#9ca3af;border-radius:999px;display:flex;align-items:center;padding:4px;transition:background .3s;overflow:hidden}
.theme-icon{flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;pointer-events:none;transition:color .2s}
.theme-icon-moon{color:#fff}
.theme-icon-sun{color:#555}
.theme-thumb{position:absolute;width:30px;height:30px;background:#fff;border-radius:8px;left:42px;transition:left .25s cubic-bezier(.4,0,.2,1)}
#dark-toggle:checked+.theme-track{background:#6b7280}
#dark-toggle:checked+.theme-track .theme-thumb{left:4px}
#dark-toggle:checked+.theme-track .theme-icon-moon{color:#374151}
#dark-toggle:checked+.theme-track .theme-icon-sun{color:#fff}

/* ── FLOATING CALCULATOR ── */
@import url('https://fonts.googleapis.com/css2?family=Courier+Prime&display=swap');
.calc-float{position:fixed;bottom:80px;right:24px;z-index:900;display:none;filter:drop-shadow(0 8px 40px rgba(0,0,0,.45));font-family:'Courier Prime',monospace}
.calc-float.open{display:block}
.calc-float-header{background:#111;color:#aaa;padding:9px 14px;border-radius:14px 14px 0 0;cursor:grab;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.calc-float-header:active{cursor:grabbing}
.calc-float-close{background:none;border:none;color:#666;font-size:14px;cursor:pointer;line-height:1;padding:0}
.calc-float-close:hover{color:#fff}
.oc-container{position:relative;padding:24px 20px 20px;border-radius:0 0 14px 14px;background:#202020;box-shadow:inset -5px -5px 15px rgba(0,0,0,.25),inset 5px 5px 15px rgba(0,0,0,.25)}
.oc-calculator{position:relative;display:grid}
.oc-calculator .oc-value{grid-column:span 4;height:70px;width:calc(100% - 12px);margin-left:6px;border:none;outline:none;background:#a7af7c;margin-bottom:8px;border-radius:10px;box-shadow:0 0 0 2px rgba(0,0,0,.75);text-align:right;padding:8px 12px;font-size:1.6em;font-family:'Courier Prime',monospace;color:#333}
.oc-num{color:#fff;position:relative;display:grid;width:54px;place-items:center;margin:5px;height:54px;background:linear-gradient(180deg,#2f2f2f,#3f3f3f);box-shadow:inset -8px 0 8px rgba(0,0,0,.15),inset 0 -8px 8px rgba(0,0,0,.25),0 0 0 2px rgba(0,0,0,.75),8px 16px 20px rgba(0,0,0,.35);user-select:none;cursor:pointer;border-radius:10px}
.oc-num:active{filter:brightness(1.5)}
.oc-num::before{content:'';position:absolute;top:3px;left:4px;bottom:10px;right:8px;border-radius:10px;background:linear-gradient(90deg,#2d2d2d,#4d4d4d);box-shadow:-5px -5px 15px rgba(0,0,0,.1),10px 5px 10px rgba(0,0,0,.15);border-left:1px solid #0004;border-bottom:1px solid #0004;border-top:1px solid #0009}
.oc-num i{position:relative;font-style:normal;font-size:1.2em;text-transform:uppercase}
.oc-clear{grid-column:span 2;width:118px;background:#d00}
.oc-clear::before{background:linear-gradient(90deg,#b00,#ffffff3c);border-color:#fff4}
.oc-plus{grid-row:span 2;height:118px}
.oc-equal{background:#2196f3}
.oc-equal::before{background:linear-gradient(90deg,#1479c9,#ffffff3c);border-color:#fff4}

/* ══════════════════════════════════════════════
   NAVEGAÇÃO — Header Nav + Avatar
   ══════════════════════════════════════════════ */
.header-nav{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;margin:0 10px}
.header-nav::-webkit-scrollbar{display:none}
.nav-pill{padding:5px 10px;font-size:11px;font-weight:600;color:rgba(255,255,255,.65);border-radius:999px;text-decoration:none;transition:all .2s;white-space:nowrap;flex-shrink:0}
.nav-pill:hover{color:#fff;background:rgba(255,255,255,.15)}
.nav-pill.active{color:#fff;background:rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
/* ── Dropdown Área do Corretor ── */
.nav-dropdown{position:static;flex-shrink:0}
.nav-dropdown-btn{padding:5px 10px;font-size:11px;font-weight:600;color:rgba(255,255,255,.65);border-radius:999px;text-decoration:none;transition:all .2s;white-space:nowrap;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px}
.nav-dropdown-btn:hover,.nav-dropdown-btn.open{color:#fff;background:rgba(255,255,255,.15)}
.nav-dropdown-btn.active,.nav-dropdown-btn.active.open{background:rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);color:#fff}
.nav-dropdown-btn svg{opacity:.7;transition:transform .2s}
.nav-dropdown-btn.open svg{transform:rotate(180deg);opacity:1}
.nav-dropdown-menu{display:none;position:fixed;top:56px;z-index:99999;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.22);min-width:160px;padding:6px}
.nav-dropdown-menu.open{display:block}
.nav-dropdown-menu a{display:block;padding:8px 14px;font-size:12px;font-weight:600;color:var(--navy);border-radius:8px;text-decoration:none;white-space:nowrap;transition:background .15s}
.nav-dropdown-menu a:hover{background:var(--bg)}
.nav-dropdown-menu a.active{color:#6D28D9;background:rgba(109,40,217,.08)}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
/* ── Mini theme toggle (dropdown) ── */
.avatar-item-theme{justify-content:space-between}
.theme-mini-track{position:relative;width:52px;height:26px;background:#9ca3af;border-radius:999px;display:flex;align-items:center;padding:3px;overflow:hidden;flex-shrink:0;transition:background .3s;pointer-events:none}
.theme-mini-moon,.theme-mini-sun{flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:color .2s}
.theme-mini-moon{color:#fff}
.theme-mini-sun{color:#555}
.theme-mini-thumb{position:absolute;width:20px;height:20px;background:#fff;border-radius:6px;left:29px;transition:left .25s cubic-bezier(.4,0,.2,1)}
body.dark .theme-mini-track{background:#6b7280}
body.dark .theme-mini-thumb{left:3px}
body.dark .theme-mini-moon{color:#374151}
body.dark .theme-mini-sun{color:#fff}

/* ── Avatar ── */
.avatar-wrap{position:relative}
.avatar-btn{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid rgba(255,255,255,.25);transition:all .2s;font-family:'Manrope',sans-serif;user-select:none;flex-shrink:0}
.avatar-btn:hover{background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.45)}
.avatar-menu{position:absolute;top:calc(100% + 10px);right:0;background:var(--card);border-radius:14px;min-width:224px;box-shadow:0 8px 40px rgba(30,16,64,.2),0 0 0 1px var(--border);z-index:500;overflow:hidden}
.avatar-menu.hidden{display:none}
.avatar-menu-head{padding:16px;display:flex;align-items:center;gap:12px;background:var(--surf-low)}
.avatar-lg{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6D28D9,#5300B7);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Manrope',sans-serif}
.avatar-info-name{font-size:13px;font-weight:700;color:var(--navy);font-family:'Manrope',sans-serif}
.avatar-info-role{font-size:11px;color:var(--gray);margin-top:2px}
.avatar-divider{height:1px;background:var(--border);margin:4px 0}
.avatar-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:13px;color:var(--text);background:none;border:none;cursor:pointer;text-align:left;transition:background .15s;font-family:inherit;text-decoration:none}
.avatar-item:hover{background:var(--surf-low)}
.avatar-item-danger{color:var(--red)}
.avatar-item-danger:hover{background:rgba(220,38,38,.07)}

/* ══════════════════════════════════════════════
   PÁGINAS SECUNDÁRIAS (Propostas / Gerenciador)
   ══════════════════════════════════════════════ */
.page-wrap{padding:28px 32px;max-width:1280px;margin:0 auto;min-height:calc(100vh - 56px)}
.page-title{font-family:'Manrope',sans-serif;font-size:24px;font-weight:800;color:var(--navy);margin-bottom:4px}
.page-subtitle{font-size:13px;color:var(--gray);margin-bottom:24px}

/* Stats row */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.stat-card{background:var(--card);border-radius:12px;padding:20px;box-shadow:0 4px 16px rgba(30,16,64,.08),0 1px 4px rgba(30,16,64,.05)}
.stat-icon{font-size:22px;margin-bottom:8px}
.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--gray);font-weight:700;margin-bottom:4px}
.stat-value{font-size:24px;font-weight:800;color:var(--navy);font-family:'Manrope',sans-serif}
.stat-sub{font-size:11px;color:var(--gray);margin-top:2px}

/* Filters */
.prop-filters{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.prop-search{flex:1;min-width:220px;padding:9px 14px;border:none;border-radius:10px;background:var(--card);color:var(--text);font-size:13px;font-family:inherit;box-shadow:0 1px 4px rgba(30,16,64,.06);outline:none;transition:box-shadow .15s}
.prop-search:focus{box-shadow:0 2px 0 var(--blue),0 4px 16px rgba(109,40,217,.1)}
.filter-chips{display:flex;gap:6px;flex-wrap:wrap}
.filter-chip{padding:6px 14px;font-size:12px;font-weight:600;border-radius:999px;border:none;cursor:pointer;background:var(--surf-high);color:var(--gray);transition:all .2s;font-family:inherit}
.filter-chip.active{background:var(--blue);color:#fff}

/* Proposal cards */
.prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.prop-card{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(30,16,64,.08),0 1px 4px rgba(30,16,64,.05);transition:transform .2s,box-shadow .2s}
.prop-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(30,16,64,.13)}
.prop-card-header{padding:14px 16px;background:var(--surf-low);display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.prop-card-emp{font-size:13px;font-weight:700;color:var(--navy);font-family:'Manrope',sans-serif}
.prop-card-date{font-size:11px;color:var(--gray);margin-top:2px}
.prop-card-body{padding:16px}
.prop-card-client{font-size:16px;font-weight:800;color:var(--navy);font-family:'Manrope',sans-serif;margin-bottom:3px}
.prop-card-unit{font-size:12px;color:var(--gray);margin-bottom:12px}
.prop-card-value{font-size:20px;font-weight:800;color:var(--blue);font-family:'Manrope',sans-serif;margin-bottom:14px}
.prop-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.prop-breakdown-item{background:var(--surf-low);border-radius:8px;padding:8px 10px}
.prop-breakdown-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);font-weight:600}
.prop-breakdown-val{font-size:12px;font-weight:700;color:var(--navy);margin-top:2px}
.prop-card-footer{padding:10px 16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}

/* Status badges */
.status-badge{padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.status-enviada{background:rgba(59,130,246,.12);color:#3b82f6}
.status-em_analise{background:rgba(217,119,6,.12);color:#d97706}
.status-aprovada{background:rgba(22,163,74,.12);color:#16a34a}
.status-recusada{background:rgba(220,38,38,.12);color:#dc2626}

/* Gerenciador */
.emp-manager-card{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(30,16,64,.08),0 1px 4px rgba(30,16,64,.05);margin-bottom:16px}
.emp-manager-header{padding:18px 20px;background:var(--surf-low);display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;transition:background .15s}
.emp-manager-header:hover{background:var(--surf)}
.emp-manager-name{font-size:15px;font-weight:700;color:var(--navy);font-family:'Manrope',sans-serif}
.emp-manager-meta{font-size:12px;color:var(--gray);margin-top:3px}
.emp-manager-chevron{font-size:18px;color:var(--gray);transition:transform .2s}
.emp-manager-chevron.open{transform:rotate(90deg)}
.emp-manager-body{padding:20px;display:none}
.emp-manager-body.open{display:block}
.emp-unit-table{width:100%;border-collapse:collapse;font-size:12px}
.emp-unit-table th{text-align:left;padding:8px 10px;background:var(--surf);color:var(--gray);font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.emp-unit-table td{padding:9px 10px;border-top:1px solid var(--border);color:var(--text)}
.emp-unit-table tr:hover td{background:var(--surf-low)}

/* Modal footer */
.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;background:var(--surf-low)}

/* ── NOTIFICATION BELL ───────────────────────────────────────────────────── */
.notif-wrap{position:relative;display:flex;align-items:center}
.notif-bell{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--surface);border:1.5px solid var(--border);transition:all .15s;position:relative;color:var(--gray)}
.notif-bell:hover{border-color:#6D28D9;color:#6D28D9}
.notif-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;background:#ef4444;color:#fff;border-radius:999px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;pointer-events:none}
.notif-badge.hidden{display:none}
.notif-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:320px;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.15);z-index:1100;overflow:hidden}
.notif-dropdown.hidden{display:none}
.notif-drop-head{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1.5px solid var(--border)}
.notif-drop-title{font-size:13px;font-weight:700;color:var(--text)}
.notif-mark-all{font-size:11px;color:#6D28D9;background:none;border:none;cursor:pointer;font-family:inherit;font-weight:600}
.notif-mark-all:hover{text-decoration:underline}
.notif-list{max-height:340px;overflow-y:auto}
.notif-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;display:flex;gap:10px;align-items:flex-start;text-decoration:none}
.notif-item:last-child{border-bottom:none}
.notif-item:hover{background:rgba(109,40,217,.04)}
.notif-item.unread{background:rgba(109,40,217,.05)}
.notif-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;transition:background .2s}
.notif-dot.unread-dot{background:#6D28D9}
.notif-dot.read-dot{background:var(--border)}
.notif-item-content{flex:1;min-width:0}
.notif-item-title{font-size:12px;font-weight:600;color:var(--text);line-height:1.3}
.notif-item-msg{font-size:11px;color:var(--gray);margin-top:2px;line-height:1.4}
.notif-item-time{font-size:10px;color:var(--gray);margin-top:4px}
.notif-empty{padding:36px 16px;text-align:center;color:var(--gray);font-size:13px}
.notif-empty-icon{font-size:28px;margin-bottom:8px}

/* ── ONBOARDING ───────────────────────────────────────────────────────────── */
.onb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.onb-box{background:var(--surface);border-radius:18px;width:100%;max-width:480px;padding:32px;box-shadow:0 24px 64px rgba(0,0,0,.2)}
.onb-logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#6D28D9,#5300B7);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.onb-title{font-size:20px;font-weight:800;color:var(--text);margin-bottom:6px;letter-spacing:-.3px}
.onb-sub{font-size:13px;color:var(--gray);margin-bottom:24px;line-height:1.5}
.onb-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.onb-step{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1.5px solid var(--border);text-decoration:none;transition:all .15s;cursor:pointer;background:var(--surface)}
.onb-step:hover{border-color:#6D28D9;background:rgba(109,40,217,.04)}
.onb-step-icon{font-size:20px;flex-shrink:0;width:36px;text-align:center}
.onb-step-body{flex:1;min-width:0}
.onb-step-title{font-size:13px;font-weight:700;color:var(--text)}
.onb-step-desc{font-size:11px;color:var(--gray);margin-top:1px}
.onb-step-arrow{font-size:14px;color:var(--gray)}
.onb-footer{display:flex;justify-content:space-between;align-items:center}
.onb-btn-start{padding:11px 24px;background:#6D28D9;color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}
.onb-btn-start:hover{background:#5300B7}
.onb-btn-skip{font-size:12px;color:var(--gray);background:none;border:none;cursor:pointer;font-family:inherit}
.onb-btn-skip:hover{color:var(--text)}

/* ── SKELETON LOADING ─────────────────────────────────────────────────────── */
@keyframes skel-pulse{0%,100%{opacity:1}50%{opacity:.45}}
.skel{background:var(--border);border-radius:6px;animation:skel-pulse 1.4s ease-in-out infinite}
.skel-card{background:var(--surface,var(--card));border:1.5px solid var(--border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px;min-height:160px}
.skel-line{height:12px;border-radius:4px;background:var(--border);animation:skel-pulse 1.4s ease-in-out infinite}
.skel-line.w-60{width:60%}
.skel-line.w-40{width:40%}
.skel-line.w-80{width:80%}
.skel-line.w-30{width:30%}
.skel-avatar{width:44px;height:44px;border-radius:10px;background:var(--border);animation:skel-pulse 1.4s ease-in-out infinite;flex-shrink:0}
.skel-row{display:flex;gap:12px;align-items:flex-start}
.skel-body{flex:1;display:flex;flex-direction:column;gap:8px}
.skel-tag{height:20px;width:70px;border-radius:999px;background:var(--border);animation:skel-pulse 1.4s ease-in-out infinite}

/* ── GLOBAL SEARCH ────────────────────────────────────────────────────────── */
.gs-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--surface);border:1.5px solid var(--border);transition:all .15s;color:var(--gray);flex-shrink:0}
.gs-btn:hover{border-color:#6D28D9;color:#6D28D9}
.gs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:1300;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 16px;backdrop-filter:blur(4px)}
.gs-overlay.hidden{display:none}
.gs-box{background:var(--surface);border-radius:16px;width:100%;max-width:560px;box-shadow:0 24px 64px rgba(0,0,0,.25);overflow:hidden}
.gs-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1.5px solid var(--border)}
.gs-icon{color:var(--gray);flex-shrink:0}
.gs-input{flex:1;border:none;background:none;font-size:15px;font-family:inherit;color:var(--text);outline:none;min-width:0}
.gs-input::placeholder{color:var(--gray)}
.gs-kbd{font-size:10px;font-weight:600;color:var(--gray);background:var(--surf-low);border:1px solid var(--border);border-radius:5px;padding:2px 6px;flex-shrink:0;font-family:inherit}
.gs-results{max-height:420px;overflow-y:auto}
.gs-hint{padding:28px 16px;text-align:center;font-size:13px;color:var(--gray)}
.gs-group{padding:8px 16px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray);border-top:1px solid var(--border)}
.gs-group:first-child{border-top:none}
.gs-item{display:flex;flex-direction:column;padding:10px 16px;text-decoration:none;transition:background .1s;border-bottom:1px solid var(--border)}
.gs-item:last-child{border-bottom:none}
.gs-item:hover{background:rgba(109,40,217,.06)}
.gs-item-main{font-size:13px;font-weight:600;color:var(--text);line-height:1.3}
.gs-item-sub{font-size:11px;color:var(--gray);margin-top:1px}

/* ── DASHBOARD ────────────────────────────────────────────────────────────── */
.dash-welcome{margin-bottom:24px}
.dash-greeting{font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-.3px}
.dash-sub{font-size:13px;color:var(--gray);margin-top:3px}
.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.dash-kpi{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:18px 20px;box-shadow:0 2px 8px rgba(30,16,64,.06)}
.dash-kpi-icon{font-size:22px;margin-bottom:8px}
.dash-kpi-val{font-size:26px;font-weight:800;font-family:'Manrope',sans-serif;color:var(--navy);line-height:1}
.dash-kpi-label{font-size:11px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.dash-kpi-sub{font-size:11px;color:var(--gray);margin-top:2px}
.dash-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;align-items:stretch}
.dash-card{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:18px 20px;box-shadow:0 2px 8px rgba(30,16,64,.06)}
.dash-card-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:14px;display:flex;align-items:center;gap:6px}
.dash-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.dash-action{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;border:1.5px solid var(--border);text-decoration:none;transition:all .15s;background:var(--surf-low)}
.dash-action:hover{border-color:#6D28D9;background:rgba(109,40,217,.05);transform:translateY(-1px)}
.dash-action.dash-action--purple{background:#6D28D9;border-color:#6D28D9}
.dash-action.dash-action--purple:hover{background:#5b21b6;border-color:#5b21b6;transform:translateY(-1px)}
.dash-action.dash-action--purple .dash-action-label{color:#fff}
.dash-action.dash-action--purple .dash-action-desc{color:rgba(255,255,255,.75)}
.dash-action-icon{font-size:20px;flex-shrink:0}
.dash-action-label{font-size:12px;font-weight:700;color:var(--navy)}
.dash-action-desc{font-size:11px;color:var(--gray);margin-top:1px}
.dash-event{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.dash-event:last-child{border-bottom:none}
.dash-event-date{min-width:42px;text-align:center;background:var(--surf-low);border-radius:8px;padding:4px 0;flex-shrink:0}
.dash-event-day{font-size:16px;font-weight:800;color:var(--navy);line-height:1}
.dash-event-mon{font-size:9px;font-weight:700;color:var(--gray);text-transform:uppercase}
.dash-event-body{flex:1;min-width:0}
.dash-event-title{font-size:12px;font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-event-time{font-size:11px;color:var(--gray);margin-top:2px}
.dash-empty{font-size:12px;color:var(--gray);text-align:center;padding:20px 0}
.dash-prop-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
.dash-prop-item:last-child{border-bottom:none}
.dash-prop-left{min-width:0}
.dash-prop-nome{font-size:13px;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-prop-sub{font-size:11px;color:var(--gray);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-prop-tags{display:flex;align-items:center;gap:5px;margin-top:4px;flex-wrap:wrap}
.dash-prop-tag{font-size:10px;font-weight:600;padding:1px 7px;border-radius:99px;background:var(--surf-high);color:var(--gray);white-space:nowrap}
.dash-prop-mid{text-align:right;flex-shrink:0}
.dash-prop-valor{font-size:14px;font-weight:800;color:var(--navy);font-family:'Manrope',sans-serif;line-height:1;white-space:nowrap}
.dash-prop-valor.green{color:#15803d}
.dash-prop-date{font-size:10px;color:var(--gray);margin-top:3px;white-space:nowrap}
.dash-prop-status{flex-shrink:0;text-align:right}
@media(max-width:768px){.dash-kpis{grid-template-columns:repeat(2,1fr)}.dash-row{grid-template-columns:1fr}}
@media(max-width:480px){.dash-kpis{grid-template-columns:1fr}.dash-actions{grid-template-columns:1fr}}
/* Skeleton table row */
.skel-tr td{padding:14px;border-bottom:1px solid var(--border)}
.skel-tr .skel-line{margin:0}

