/* ══════════════════════════════════════════════
   LAUDUM — Design System (Sindri Labs)
   ══════════════════════════════════════════════ */
:root {
  --bg:        #05080E;
  --s1:        #080D14;
  --s2:        #0C1520;
  --s3:        #121C2C;
  --border:    #1A2535;
  --border2:   #243348;

  --gold:      #C9A227;
  --gold2:     #E8CC7A;
  --gold3:     #F5E099;
  --steel:     #5A7A94;
  --snow:      #DDE5F0;
  --muted:     #3D5470;

  --ok:        #1A7D4F;
  --ok2:       #25B071;
  --warn:      #956800;
  --warn2:     #D4A017;
  --danger:    #8B1A1A;
  --danger2:   #C0392B;
  --info:      #1B4F72;
  --info2:     #2E86C1;

  --r:         8px;
  --rl:        14px;
  --font-h:    'Space Grotesk', sans-serif;
  --font-b:    'Inter', sans-serif;
  --sh:        0 4px 24px rgba(0,0,0,.65);
  --sh-gold:   0 0 24px rgba(201,162,39,.12);
}

/* ── BASE ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--bg);color:var(--snow);font-family:var(--font-b);font-size:14px;line-height:1.5}
input,textarea,select,button{font-family:inherit;font-size:inherit}
a{color:var(--gold);text-decoration:none}
::placeholder{color:var(--muted)}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ── SCROLL ── */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--s1)}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}

/* ── LOADING ── */
.overlay-full{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:1000;transition:opacity .3s}
.overlay-full.hidden{opacity:0;pointer-events:none}
.spinner{width:36px;height:36px;border:3px solid var(--border2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── LOGIN ── */
.overlay-full.show{display:flex}
.overlay-full:not(.show){display:none}
.login-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--rl);padding:40px 36px;width:100%;max-width:400px;box-shadow:var(--sh)}
.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.login-wordmark{font-family:var(--font-h);font-size:22px;color:var(--snow)}
.login-wordmark b{font-weight:800}
.login-wordmark small{font-size:11px;color:var(--steel);font-weight:400;margin-left:4px}
.login-sub{color:var(--steel);font-size:13px;margin-bottom:24px}
.login-card label{display:block;font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--steel);margin-bottom:6px;margin-top:16px}
.err-msg{background:rgba(192,57,43,.15);border:1px solid var(--danger2);color:#ff6b6b;padding:10px 14px;border-radius:var(--r);font-size:13px;margin-bottom:12px}

/* ── INPUTS ── */
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],textarea,select{
  width:100%;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);
  color:var(--snow);padding:10px 13px;transition:border-color .2s}
input:focus,textarea:focus,select:focus{border-color:var(--gold)}
select{cursor:pointer}
select option{background:var(--s2)}
textarea{resize:vertical;min-height:72px}

/* ── BUTTONS ── */
button{cursor:pointer;border:none;border-radius:var(--r);font-weight:500;transition:all .2s;padding:9px 18px;white-space:nowrap}
.btn-primary{background:var(--gold);color:#05080E;font-weight:700}
.btn-primary:hover{background:var(--gold2)}
.btn-gold{background:var(--gold);color:#05080E;font-weight:700}
.btn-gold:hover{background:var(--gold2)}
.btn-outline{background:transparent;border:1px solid var(--border2);color:var(--snow)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost{background:transparent;color:var(--steel)}
.btn-ghost:hover{color:var(--snow)}
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:600;cursor:pointer;transition:box-shadow .15s}
.btn-google:hover{box-shadow:0 1px 6px rgba(0,0,0,.3)}
.login-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--steel);font-size:.8rem}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--border2)}
.btn-danger{background:transparent;border:1px solid var(--danger2);color:var(--danger2)}
.btn-danger:hover{background:rgba(192,57,43,.15)}
.btn-ia{background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.35);color:var(--gold);border-radius:var(--r);padding:8px 16px;cursor:pointer;font-family:var(--font-b);font-size:13px;font-weight:600;transition:all .2s;letter-spacing:.02em}
.btn-ia:hover{background:rgba(201,162,39,.22);border-color:var(--gold)}
.btn-ia:disabled{opacity:.5;cursor:not-allowed}
.ia-card{border-color:rgba(201,162,39,.25)!important;background:linear-gradient(135deg,rgba(201,162,39,.04),var(--s1))!important}
.ia-alerta{background:rgba(212,160,23,.1);border:1px solid rgba(212,160,23,.3);border-radius:6px;padding:8px 12px;font-size:12px;color:var(--warn2);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.ia-resumo-text{font-size:14px;color:var(--snow);line-height:1.7;margin-bottom:12px}
.ia-proxima{background:rgba(37,176,113,.08);border:1px solid rgba(37,176,113,.2);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--ok2);font-weight:500}
.ia-proxima::before{content:'→ Próxima ação: ';font-weight:700}
.ia-loading{display:flex;align-items:center;gap:10px;padding:16px 0;color:var(--steel);font-size:13px}
.ia-spinner{width:16px;height:16px;border:2px solid rgba(201,162,39,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}
.ia-qa-wrap{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}
.ia-qa-history{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;max-height:300px;overflow-y:auto}
.ia-msg{padding:10px 14px;border-radius:8px;font-size:13px;line-height:1.6}
.ia-msg.user{background:var(--s3);color:var(--snow);text-align:right;align-self:flex-end;max-width:80%}
.ia-msg.ai{background:rgba(201,162,39,.08);border:1px solid rgba(201,162,39,.15);color:var(--snow);align-self:flex-start;max-width:90%}
.ia-msg.ai-loading{color:var(--steel);font-size:12px;align-self:flex-start}
.ia-qa-input-row{display:flex;gap:8px}
.ia-qa-input-row input{flex:1;background:var(--s2);border:1px solid var(--border2);border-radius:var(--r);padding:9px 14px;color:var(--snow);font-family:var(--font-b);font-size:13px}
.ia-qa-input-row input:focus{outline:none;border-color:rgba(201,162,39,.4)}
.btn-back{background:transparent;color:var(--gold);font-weight:600;padding:6px 0}
.btn-back:hover{color:var(--gold2)}
.btn-close{background:transparent;color:var(--steel);font-size:16px;padding:6px 10px}
.btn-close:hover{color:var(--snow)}
.btn-sm{padding:5px 12px;font-size:12px}
button:disabled{opacity:.4;cursor:not-allowed}

/* ── HEADER ── */
header{background:var(--s1);border-bottom:1px solid var(--border);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.header-left{display:flex;align-items:center;gap:14px}
.logo-text{font-family:var(--font-h);font-weight:800;font-size:18px;color:var(--snow);letter-spacing:-.02em}
.logo-text b{color:var(--gold)}
.conn-badge{font-size:11px;color:var(--steel);background:var(--s2);padding:3px 10px;border-radius:99px;border:1px solid var(--border)}
.conn-badge.online{color:var(--ok2);border-color:var(--ok)}
.header-right{display:flex;align-items:center;gap:8px}
.user-info-btn{display:flex;align-items:center;gap:7px;background:var(--s2);border:1px solid var(--border);border-radius:99px;padding:4px 12px 4px 4px;cursor:pointer;color:var(--text);font-size:13px;transition:background .15s;margin-right:4px}
.user-info-btn:hover{background:var(--s3)}
.user-avatar{width:26px;height:26px;border-radius:50%;background:var(--gold);color:#05080E;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.user-nome{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── TABS ── */
.tab-nav{background:var(--s1);border-bottom:1px solid var(--border);padding:0 24px;display:flex;gap:4px}
.tab{background:transparent;color:var(--steel);padding:10px 18px;border-radius:0;border-bottom:2px solid transparent;font-weight:500;font-size:13px}
.tab:hover{color:var(--snow)}
.tab.active{color:var(--gold);border-bottom-color:var(--gold)}

/* ── TAB CONTENT ── */
.tab-content{padding:24px 32px;max-width:1440px;margin:0 auto}

/* ── STATS ── */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.stat-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--rl);padding:16px 20px;cursor:pointer;transition:border-color .2s;text-align:center}
.stat-card:hover,.stat-card.active{border-color:var(--gold)}
.stat-card .num{font-family:var(--font-h);font-size:28px;font-weight:800}
.stat-card .lbl{font-size:11px;color:var(--steel);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.stat-card.primary .num{color:var(--gold)}
.stat-card.danger .num{color:var(--danger2)}
.stat-card.warning .num{color:var(--warn2)}
.stat-card.success .num{color:var(--ok2)}

/* ── SEARCH ── */
.search-bar{margin-bottom:20px}
.search-bar input{background:var(--s1);border-color:var(--border);font-size:14px;padding:11px 16px}

/* ── PROCESS GRID ── */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.empty{text-align:center;padding:60px 20px;color:var(--steel)}
.empty .icon{font-size:40px;margin-bottom:12px}

/* ── PROCESS CARD ── */
.process-card{background:var(--s1);border:1px solid var(--border);border-left:3px solid var(--steel);border-radius:var(--rl);padding:18px 20px;cursor:pointer;transition:all .18s;display:flex;flex-direction:column;gap:10px}
.process-card:hover{border-color:var(--gold);box-shadow:var(--sh-gold);transform:translateY(-1px)}
.process-card.vencido{border-left-color:var(--danger2)}
.process-card.urgente{border-left-color:var(--warn2)}
.process-card.ok{border-left-color:var(--ok2)}
.process-card.concluido{border-left-color:var(--steel);opacity:.7}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.card-num{font-size:10.5px;color:var(--steel);font-family:'Courier New',monospace;letter-spacing:.02em;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.card-title{font-weight:600;font-size:14px;color:var(--snow);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.card-head > div:first-child{min-width:0;overflow:hidden;flex:1}
.card-body{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}
.card-field .key{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.card-field .val{font-size:13px;color:var(--snow);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--border)}
.card-actions{display:flex;gap:5px}
.card-actions button{background:var(--s2);border:1px solid var(--border);color:var(--steel);padding:5px 11px;font-size:12px;border-radius:6px}
.card-actions button:hover{border-color:var(--gold);color:var(--gold)}

/* ── BADGES ── */
.badge{font-size:10px;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}
.badge.vencido{background:rgba(192,57,43,.18);color:var(--danger2);border:1px solid var(--danger)}
.badge.urgente{background:rgba(230,100,20,.15);color:#e06414;border:1px solid #e06414}
.badge.ok{background:rgba(25,177,113,.12);color:var(--ok2);border:1px solid var(--ok)}
.badge.concluido{background:rgba(90,122,148,.15);color:var(--steel);border:1px solid var(--muted)}
.badge.suspenso{background:rgba(212,160,23,.15);color:var(--warn2);border:1px solid var(--warn)}
.prazo-info{font-size:11px;font-weight:500}
.prazo-info.vencido{color:var(--danger2)}
.prazo-info.urgente{color:var(--warn2)}
.prazo-info.ok{color:var(--ok2)}
.prazo-info.concluido{color:var(--steel)}

/* ── DETAIL VIEW ── */
.detail-view{display:none;padding:24px;max-width:860px;margin:0 auto;flex-direction:column;gap:16px}
.detail-view.open{display:flex}
.detail-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.detail-actions{margin-left:auto;display:flex;gap:8px}
.detail-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--rl);padding:24px}
.detail-title{font-family:var(--font-h);font-size:20px;font-weight:800;margin-bottom:4px}
.detail-num{font-size:12px;color:var(--steel);font-family:'Courier New',monospace;margin-bottom:20px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.detail-field .key{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.detail-field .val{font-size:14px;color:var(--snow);font-weight:500}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.section-header h3{font-family:var(--font-h);font-size:15px;font-weight:700;color:var(--snow)}

/* ── MOVIMENTAÇÕES ── */
.mov-list{display:flex;flex-direction:column;gap:8px}
.mov-item{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px}
.mov-date{font-size:11px;color:var(--steel);margin-bottom:3px}
.mov-nome{font-size:13px;font-weight:600;color:var(--snow)}
.mov-comp{font-size:12px;color:var(--steel);margin-top:3px}
.mov-empty{color:var(--muted);font-size:13px;padding:8px 0}
.mov-nova{border-left:2px solid var(--gold)}

/* ── DIÁRIO DE NOTAS ── */
.nota-input-wrap{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.nota-input-wrap .btn-sm{align-self:flex-end;padding:7px 18px}
.notas-list{display:flex;flex-direction:column;gap:8px}
.nota-item{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px}
.nota-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.nota-date{font-size:11px;color:var(--steel)}
.nota-del{background:transparent;color:var(--muted);font-size:11px;padding:2px 6px;border:none}
.nota-del:hover{color:var(--danger2)}
.nota-texto{font-size:13px;color:var(--snow);line-height:1.6;white-space:pre-wrap;word-break:break-word}
.nota-empty{color:var(--muted);font-size:13px;padding:4px 0}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(5,8,14,.85);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;backdrop-filter:blur(4px)}
.modal-overlay.open{display:flex}
.modal-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--rl);width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:var(--sh)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}
.modal-header h2{font-family:var(--font-h);font-size:18px;font-weight:700}
.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border)}
.modal-divider{text-align:center;color:var(--muted);font-size:11px;letter-spacing:.08em;padding:12px 0;position:relative}
.modal-divider::before,.modal-divider::after{content:'';position:absolute;top:50%;width:42%;height:1px;background:var(--border)}
.modal-divider::before{left:0}.modal-divider::after{right:0}

/* ── MODAL FORM ── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px 24px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--steel);text-transform:uppercase}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ── BUSCA BOX ── */
.busca-box{margin:16px 24px 0;background:var(--s2);border:1px solid var(--gold);border-radius:var(--r);padding:14px 16px}
.busca-label{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--gold);margin-bottom:10px}
.busca-row{display:flex;gap:10px}
.busca-row input{flex:1}
.busca-status{margin-top:8px;font-size:12px;min-height:18px}
.busca-status.ok{color:var(--ok2)}
.busca-status.erro{color:var(--danger2)}
.busca-status.loading{color:var(--gold)}

/* ── ATUALIZAR TODOS ── */
.upd-card{max-width:560px}
.upd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 24px;text-align:center}
.upd-stat span{display:block;font-family:var(--font-h);font-size:26px;font-weight:800;color:var(--gold)}
.upd-stat small{font-size:11px;color:var(--steel)}
.upd-bar-wrap{height:4px;background:var(--border);margin:0 24px;border-radius:2px;overflow:hidden}
.upd-bar{height:100%;background:var(--gold);width:0;transition:width .3s;border-radius:2px}
.upd-log{font-family:'Courier New',monospace;font-size:11px;color:var(--steel);padding:12px 24px;height:180px;overflow-y:auto;line-height:1.7}
.upd-log div:last-child{color:var(--snow)}

/* ── CALENDAR ── */
.year-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0;margin-bottom:16px}
.year-nav h2{font-family:var(--font-h);font-size:20px;font-weight:800;color:var(--snow)}
.year-nav button{background:var(--s2);border:1px solid var(--border2);color:var(--snow);padding:6px 14px;font-size:16px;border-radius:var(--r)}
.year-nav button:hover{border-color:var(--gold);color:var(--gold)}
.view-selector{display:flex;gap:6px}
.view-btn{background:var(--s2);border:1px solid var(--border);color:var(--steel);padding:6px 14px;border-radius:var(--r);font-size:12px}
.view-btn:hover,.view-btn.active{border-color:var(--gold);color:var(--gold)}
.months-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mini-cal{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);padding:14px}
.mini-cal h4{font-family:var(--font-h);font-size:13px;font-weight:700;color:var(--snow);margin-bottom:8px;text-align:center}
.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.mini-dow{font-size:9px;color:var(--muted);font-weight:600;padding:2px 0}
.mini-day{font-size:11px;padding:3px 2px;border-radius:4px;color:var(--steel)}
.mini-day.today{background:var(--gold);color:#05080E;font-weight:800;border-radius:50%}
.mini-day.has-events{cursor:pointer}
.mini-day.highlighted{border:2px solid var(--gold);color:var(--gold);font-weight:700}
.cal-events{background:var(--s1);border:1px solid var(--border);border-radius:var(--rl);padding:16px;margin-top:20px}
.cal-events h4{font-family:var(--font-h);font-size:14px;font-weight:700;margin-bottom:12px;color:var(--snow)}
.cal-event-item{border-left:3px solid var(--gold);padding:8px 12px;background:var(--s2);border-radius:0 var(--r) var(--r) 0;margin-bottom:8px;cursor:pointer}
.cal-event-item:hover{background:var(--s3)}
.ev-label{font-size:12px;font-weight:600;color:var(--snow)}
.ev-parts{font-size:11px;color:var(--steel);margin-top:2px}
.month-view-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mv-dow{text-align:center;font-size:11px;color:var(--muted);font-weight:600;padding:6px 0}
.mv-cell{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);padding:6px;min-height:80px;cursor:pointer}
.mv-cell.empty{background:transparent;border-color:transparent;cursor:default;pointer-events:none}
.mv-cell.today{border-color:var(--gold)}
.mv-cell:hover{border-color:var(--border2)}
.mv-num{font-size:11px;font-weight:600;color:var(--steel);margin-bottom:4px}
.mv-ev{font-size:10px;padding:2px 5px;border-radius:4px;border-left:2px solid;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.week-view-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.wv-col{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.wv-header{padding:10px;text-align:center;border-bottom:1px solid var(--border)}
.wv-header.today{background:rgba(201,162,39,.12)}
.wv-dow{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase}
.wv-date{font-size:15px;font-weight:700;color:var(--snow);margin-top:2px}
.wv-ev{margin:8px;padding:8px;border-radius:var(--r);border-left:3px solid;cursor:pointer}
.wv-label{font-size:11px;font-weight:600}
.wv-parts{font-size:10px;color:var(--steel);margin-top:2px}
.wv-empty{text-align:center;color:var(--muted);font-size:20px;padding:16px}

/* ── PLANOS ── */
.planos-wrap{padding:20px 0;text-align:center}
.planos-title{font-family:var(--font-h);font-size:28px;font-weight:800;color:var(--snow);margin-bottom:8px}
.planos-sub{color:var(--steel);margin-bottom:32px}
.planos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:960px;margin:0 auto}
.plano-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--rl);padding:24px;position:relative;text-align:left}
.plano-card.destaque{border-color:var(--gold);box-shadow:var(--sh-gold)}
.plano-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--gold);color:#05080E;font-size:10px;font-weight:800;padding:3px 12px;border-radius:99px}
.plano-nome{font-family:var(--font-h);font-size:16px;font-weight:700;margin-bottom:8px}
.plano-preco{font-family:var(--font-h);font-size:32px;font-weight:800;color:var(--gold);margin-bottom:16px}
.plano-preco span{font-size:14px;font-weight:400;color:var(--steel)}
.plano-card ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.plano-card li{font-size:12px;color:var(--steel)}
.plano-card li:first-child,.plano-card li:nth-child(2),.plano-card li:nth-child(3){color:var(--snow)}
.plano-card button{width:100%}

/* ── RELATÓRIOS ── */
.rpt-wrap{padding:4px 0}
.rpt-title{font-family:var(--font-h);font-size:24px;font-weight:800;color:var(--snow);margin-bottom:24px}
.rpt-section-title{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--steel);text-transform:uppercase;margin-bottom:12px}
.rpt-fin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.rpt-fin-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--rl);padding:16px 20px}
.rpt-fin-card.primary .rpt-fin-val{color:var(--gold)}
.rpt-fin-card.ok .rpt-fin-val{color:var(--ok2)}
.rpt-fin-card.steel .rpt-fin-val{color:var(--steel)}
.rpt-fin-card.muted .rpt-fin-val{color:var(--snow)}
.rpt-fin-val{font-family:var(--font-h);font-size:20px;font-weight:800;margin-bottom:4px}
.rpt-fin-lbl{font-size:11px;color:var(--steel)}
.rpt-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.rpt-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--rl);padding:20px}
.rpt-card-title{font-family:var(--font-h);font-size:14px;font-weight:700;margin-bottom:16px;color:var(--snow)}
.rpt-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.rpt-label{font-size:12px;color:var(--snow);width:170px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:8px}
.rpt-n{background:var(--s2);padding:2px 8px;border-radius:4px;font-size:11px;color:var(--steel);flex-shrink:0}
.rpt-bar-wrap{flex:1;height:6px;background:var(--border2);border-radius:3px;overflow:hidden}
.rpt-bar{height:100%;border-radius:3px;background:var(--steel);transition:width .5s}
.rpt-bar.gold{background:var(--gold)}
.rpt-bar.ok2{background:var(--ok2)}
.rpt-bar.warn2{background:var(--warn2)}
.rpt-pct{font-size:11px;color:var(--muted);width:36px;text-align:right;flex-shrink:0}
.rpt-upcoming{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:border-color .2s}
.rpt-upcoming:hover{border-color:var(--gold)}
.rpt-up-date{font-size:12px;font-weight:700;margin-bottom:2px}
.rpt-up-dias{margin-left:8px;padding:1px 6px;border-radius:4px;background:rgba(255,255,255,.06);font-weight:400;font-size:11px}
.rpt-up-proc{font-size:13px;color:var(--snow);margin-bottom:2px}
.rpt-up-num{font-size:11px;color:var(--muted)}
.rpt-upcoming-list{max-height:320px;overflow-y:auto}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .process-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .tab-content{padding:16px 14px}
  .process-grid{grid-template-columns:1fr}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .months-grid{grid-template-columns:repeat(2,1fr)}
  .form-grid,.planos-grid{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .user-nome{display:none}
  .header-right .btn-outline{display:none}
  .rpt-fin-grid{grid-template-columns:1fr 1fr}
  .rpt-two-col{grid-template-columns:1fr}
  .rpt-label{width:120px}
  .process-card{padding:14px 16px}
  .card-title{font-size:13px}
  .card-field .val{font-size:12px}
  .card-actions button{padding:4px 8px;font-size:11px}
}
@media(max-width:480px){
  .tab-content{padding:12px 10px}
  .header-right .btn-ghost{display:none}
  /* esconde PDF no mobile — botão pequeno demais */
  .header-right button[onclick*="exportPDF"]{display:none}
  .months-grid{grid-template-columns:1fr}
  .stats-row{grid-template-columns:1fr 1fr}
  .stat-card{padding:12px 10px}
  .stat-card .num{font-size:22px}
  .card-body{grid-template-columns:1fr}
  .card-num{font-size:10px}
  .nav-tab{font-size:12px;padding:10px 8px}
}

