/* ═══════════════════════════════════════════════
   SSAP — BASE CSS
   Paleta roxa: #7c3aed (brand) / #a78bfa (brand2)
═══════════════════════════════════════════════ */
:root {
  --brand: #7c3aed;
  --brand2: #a78bfa;
  --brand-rgb: 124,58,237;
  --green: #27c97c; --blue: #4b8ef0; --purple: #9b72f0;
  --cyan: #22d3ee; --red: #e8455a; --amber: #f0a832;
  --bg: #0b0d12; --bg2: #10131a; --card: #161922;
  --card2: #1c2030; --border: #21263a;
  --text: #eaedf5; --muted: #6b7385; --muted2: #2e3348;
}

/* ═══ LIGHT MODE ═══ */
[data-theme="light"]{--bg:#f5f5f5;--bg2:#ffffff;--card:#ffffff;--card2:#f0f0f0;--border:#e0e0e0;--text:#1a1a2e;--muted:#555b6e;--muted2:#c8ccd8;}
[data-theme="light"] aside{border-right-color:#e0e0e0;background:#fafafa;}
[data-theme="light"] .topbar{background:#fff;border-bottom-color:#e0e0e0;}
[data-theme="light"] .kcard{box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid #e8e8e8;}
[data-theme="light"] .fg input,[data-theme="light"] .fg select{background:#f5f5f5;color:#1a1a2e;border-color:#d0d0d0;}
[data-theme="light"] .fg input:focus,[data-theme="light"] .fg select:focus{border-color:var(--brand);}
[data-theme="light"] .form-grid,[data-theme="light"] .twrap,[data-theme="light"] .mcp,[data-theme="light"] .cc{background:#fff;border-color:#e0e0e0;}
[data-theme="light"] .mitem.act{background:var(--brand);color:#fff;}
[data-theme="light"] .mitem:hover{background:#f0f0f0;}
[data-theme="light"] .modal{background:#fff;border-color:#e0e0e0;}
[data-theme="light"] .moverlay{background:rgba(0,0,0,.3);}
[data-theme="light"] .mob-header{background:#fff;border-bottom-color:#e0e0e0;}
[data-theme="light"] .mob-bottom-nav{background:#fff;border-top-color:#e0e0e0;}
[data-theme="light"] .shead{color:#1a1a2e;}

/* ═══ RESET ═══ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{max-width:100vw;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
body{max-width:100vw;background:var(--bg);color:var(--text);font-family:'Syne',sans-serif;min-height:100vh;font-size:.87rem;}
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;}

/* ═══ AUTH — DESKTOP ═══ */
#auth-screen{display:none;min-height:100vh;}
#auth-screen.show{display:flex;flex-direction:row;min-height:100vh;background:#09060f;overflow:visible;}
.auth-logo{font-family:'Playfair Display',serif;font-size:2.4rem;background:linear-gradient(135deg,var(--brand),var(--brand2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center;margin-bottom:6px;}
.auth-sub{text-align:center;font-size:.75rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:28px;}
.auth-tabs{display:flex;background:var(--bg2);border-radius:10px;padding:4px;margin-bottom:24px;}
.auth-tab{flex:1;text-align:center;padding:8px;border-radius:7px;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--muted);transition:all .2s;}
.auth-tab.act{background:var(--card);color:var(--text);box-shadow:0 1px 6px rgba(0,0,0,.4);}
.auth-fg{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.auth-fg label{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;}
.auth-fg input{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:11px 13px;color:var(--text);font-family:'Syne',sans-serif;font-size:.85rem;width:100%;transition:border-color .15s;}
.auth-fg input:focus{outline:none;border-color:var(--brand);}
.auth-btn{width:100%;padding:12px;border-radius:9px;border:none;background:var(--brand);color:#fff;font-family:'Syne',sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:6px;}
.auth-btn:hover{filter:brightness(1.1);}
.auth-btn:disabled{opacity:.6;cursor:not-allowed;}
.auth-msg{font-size:.78rem;text-align:center;margin-top:10px;min-height:20px;line-height:1.5;}
.auth-msg.err{color:var(--red);}.auth-msg.ok{color:var(--green);}
.auth-link{font-size:.72rem;color:var(--muted);text-align:center;margin-top:10px;cursor:pointer;transition:color .15s;}
.auth-link:hover{color:var(--brand);}
.auth-link span{text-decoration:underline;}

/* ═══ AUTH SPLIT — PAINEL ESQUERDO ═══ */
.auth-left{flex:1;background:#0d0820;border-right:1px solid #1e1542;display:flex;align-items:center;justify-content:center;padding:40px 36px;position:relative;overflow:hidden;}
.auth-left::before{content:'';position:absolute;top:-140px;left:-100px;width:520px;height:520px;background:radial-gradient(circle,rgba(124,58,237,.13) 0%,transparent 65%);pointer-events:none;}
.auth-left::after{content:'';position:absolute;bottom:-100px;right:-60px;width:380px;height:380px;background:radial-gradient(circle,rgba(99,45,190,.08) 0%,transparent 60%);pointer-events:none;}
.auth-left-inner{position:relative;z-index:2;width:100%;max-width:560px;display:flex;flex-direction:column;gap:24px;}
.al-brand{display:flex;align-items:center;gap:12px;}
.al-logo-icon{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#7c3aed,#5b21b6);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:.95rem;color:#fff;font-weight:700;flex-shrink:0;}
.al-logo-name{font-family:'Playfair Display',serif;font-size:1.35rem;background:linear-gradient(135deg,#c4b5fd,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;}
.al-logo-sub{font-size:.5rem;color:#7c6fa0;letter-spacing:2px;text-transform:uppercase;margin-top:3px;}
.al-tagline-title{font-family:'Playfair Display',serif;font-size:1.45rem;line-height:1.3;color:#e2d9f3;}
.al-tagline-sub{font-size:.74rem;color:#7c6fa0;line-height:1.7;margin-top:6px;}
.al-float-badge{display:inline-flex;align-items:center;gap:8px;background:#1a1035;border:1px solid #2e1f54;border-radius:8px;padding:8px 14px;width:fit-content;animation:floatBadge 3s ease-in-out infinite;font-size:.65rem;color:#9d8fc0;}
.al-float-badge b{color:#c4b5fd;}
.al-badge-dot{width:6px;height:6px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 6px #6ee7b7;flex-shrink:0;}
.al-status-bar{display:flex;align-items:center;gap:8px;font-size:.68rem;color:#7c6fa0;}
.al-status-dot{width:6px;height:6px;border-radius:50%;background:#6ee7b7;flex-shrink:0;}
@keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.al-carousel-wrap{position:relative;overflow:hidden;border-radius:12px;border:1px solid #2e1f54;background:#130d28;}
.al-carousel-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform;}
.al-carousel-slide{min-width:100%;padding:16px;display:flex;flex-direction:column;gap:10px;}
.al-slide-header{display:flex;align-items:center;justify-content:space-between;}
.al-slide-title{font-size:.58rem;color:#7c6fa0;text-transform:uppercase;letter-spacing:1.5px;}
.al-slide-badge{font-size:.55rem;padding:2px 8px;border-radius:4px;font-weight:600;}
.al-slide-badge.ok{background:rgba(39,201,124,.12);color:#6ee7b7;}
.al-slide-badge.warn{background:rgba(240,168,50,.12);color:#fcd34d;}
.al-slide-badge.bad{background:rgba(232,69,90,.12);color:#f87171;}
.al-slide-badge.info{background:rgba(124,58,237,.12);color:#c4b5fd;}
.al-slide-kpis{display:flex;gap:6px;}
.al-slide-kpi{flex:1;background:#1a1035;border-radius:7px;padding:7px 8px;border:1px solid #2a1d48;}
.al-slide-kpi-l{font-size:.46rem;color:#7c6fa0;margin-bottom:3px;}
.al-slide-kpi-v{font-size:.9rem;font-weight:700;font-family:'Playfair Display',serif;}
.al-slide-kpi-v.g{color:#6ee7b7;}.al-slide-kpi-v.a{color:#fcd34d;}.al-slide-kpi-v.p{color:#c4b5fd;}.al-slide-kpi-v.r{color:#f87171;}
.al-slide-bars{display:flex;align-items:flex-end;gap:3px;height:48px;}
.al-slide-bar{flex:1;border-radius:2px 2px 0 0;background:#2d1b5e;}
.al-slide-bar.hi{background:#7c3aed;}
.al-slide-svg{width:100%;height:50px;}
.al-slide-table{display:flex;flex-direction:column;gap:3px;}
.al-slide-row{display:flex;justify-content:space-between;padding:4px 8px;border-radius:5px;background:#1a1035;font-size:.6rem;}
.al-slide-row span:first-child{color:#9d8fc0;}
.al-slide-row span:last-child{font-weight:700;}
.al-carousel-controls{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 12px;background:#130d28;}
.al-carousel-dots{display:flex;gap:5px;align-items:center;}
.al-carousel-dot{width:5px;height:5px;border-radius:50%;background:#2e1f54;cursor:pointer;transition:all .25s;}
.al-carousel-dot.act{width:16px;border-radius:3px;background:#7c3aed;}
.al-carousel-btns{display:flex;gap:5px;}
.al-carousel-btn{width:26px;height:26px;border-radius:6px;border:1px solid #2e1f54;background:#1a1035;color:#9d8fc0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .2s;}
.al-carousel-btn:hover{border-color:#7c3aed;color:#c4b5fd;}

/* ═══ AUTH SPLIT — PAINEL DIREITO ═══ */
.auth-right{width:480px;min-width:360px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:48px 44px;background:#09060f;border-left:1px solid #1e1542;}
.auth-right .auth-box{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;width:100%;max-width:320px;}
.auth-form-header{margin-bottom:24px;}
.auth-form-title{font-family:'Playfair Display',serif;font-size:1.5rem;color:#e2d9f3;line-height:1.2;}
.auth-form-desc{font-size:.75rem;color:#6b5d8a;margin-top:6px;}
.auth-right .auth-tabs{background:#100c20;border-radius:10px;padding:4px;}
.auth-right .auth-tab{color:#6b5d8a;}
.auth-right .auth-tab.act{background:#1a1035;color:#e2d9f3;box-shadow:0 1px 6px rgba(0,0,0,.4);}
.auth-right .auth-fg label{color:#9d8fc0;}
.auth-right .auth-fg input{background:#100c20;border:1px solid #2e1f54;color:#e2d9f3;border-radius:8px;}
.auth-right .auth-fg input::placeholder{color:#3d3056;}
.auth-right .auth-fg input:focus{border-color:#7c3aed;}
.auth-right .auth-btn{background:#5b21b6;color:#e2d9f3;border-radius:9px;font-weight:700;letter-spacing:.03em;}
.auth-right .auth-btn:hover{background:#6d28d9;filter:none;}
.auth-right .auth-link span{color:#6b5d8a;}
.auth-right .auth-link:hover span{color:#a78bfa;}
.auth-right .auth-msg.err{color:#f87171;}
.auth-right .auth-msg.ok{color:#6ee7b7;}
.auth-right .auth-logo,.auth-right .auth-sub{display:none!important;}
.auth-carousel{overflow:hidden;margin:0 0 20px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 85%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 85%,transparent 100%);}
.auth-carousel-track{display:flex;gap:10px;width:max-content;animation:pillScroll 22s linear infinite;}
@keyframes pillScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.auth-pill{background:#1a1035;border:1px solid #2e1f54;border-radius:999px;padding:7px 16px;font-size:.7rem;font-weight:600;color:#9d8fc0;white-space:nowrap;flex-shrink:0;}
.auth-social-proof{margin-top:24px;background:#130d28;border:1px solid #2e1f54;border-radius:10px;padding:12px 14px;text-align:center;}
.auth-social-proof-label{font-size:.6rem;color:#7c6fa0;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
.auth-social-proof-text{font-size:.75rem;color:#c4b5fd;font-weight:600;}

/* ═══ AUTH MOBILE — V3 Mesh + KPI Carrossel ═══ */
.mob-auth-screen{display:none;width:100%;height:100vh;min-height:0;background:#09060f;flex-direction:column;position:relative;overflow:hidden;}
.mob-auth-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 110vw 70vw at 50% -5vw,rgba(124,58,237,.55) 0%,rgba(91,33,182,.28) 35%,transparent 65%),radial-gradient(ellipse 60vw 60vw at 100% 25%,rgba(124,58,237,.08) 0%,transparent 60%),radial-gradient(ellipse 55vw 65vw at 0% 55%,rgba(91,33,182,.07) 0%,transparent 60%);}
.mob-auth-stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1px 1px at 11vw 80px,rgba(167,139,250,.5) 0%,transparent 100%),radial-gradient(1px 1px at 30vw 160px,rgba(167,139,250,.35) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 51vw 52px,rgba(167,139,250,.42) 0%,transparent 100%),radial-gradient(1px 1px at 66vw 200px,rgba(167,139,250,.25) 0%,transparent 100%),radial-gradient(1px 1px at 18vw 390px,rgba(167,139,250,.3) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 61vw 360px,rgba(167,139,250,.28) 0%,transparent 100%),radial-gradient(1px 1px at 8vw 500px,rgba(167,139,250,.22) 0%,transparent 100%),radial-gradient(1px 1px at 44vw 290px,rgba(167,139,250,.18) 0%,transparent 100%);}
.mob-auth-logo{position:relative;z-index:2;padding:52px 24px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;}
.mob-auth-logo-icon{width:18vw;height:18vw;min-width:60px;min-height:60px;max-width:76px;max-height:76px;border-radius:18px;background:rgba(10,8,20,.85);border:1px solid rgba(124,58,237,.25);display:flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:0 0 28px rgba(124,58,237,.2),inset 0 1px 0 rgba(255,255,255,.04);}
.mob-auth-logo-name{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(28px,8vw,40px);letter-spacing:-1px;background:linear-gradient(135deg,#c4b5fd 0%,#7c3aed 55%,#a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:3px;}
.mob-auth-logo-sub{font-size:clamp(7px,2vw,9px);letter-spacing:3px;text-transform:uppercase;font-family:'Syne',sans-serif;color:#2a1e48;}
.mob-auth-kpis{position:relative;z-index:2;padding:0 16px;flex:1;display:flex;flex-direction:column;justify-content:center;}
.mob-kpi-outer{overflow:hidden;border-radius:12px;border:1px solid rgba(124,58,237,.15);background:rgba(16,13,28,.6);padding:14px 12px 10px;}
.mob-kpi-module-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.mob-kpi-module-title{font-size:6.5px;text-transform:uppercase;letter-spacing:1.5px;color:#4a3a7a;font-family:'Syne',sans-serif;}
.mob-kpi-badge{font-size:6.5px;font-family:'Syne',sans-serif;font-weight:700;padding:2px 8px;border-radius:8px;}
.mob-kpi-badge.ok{background:rgba(39,201,124,.1);color:#27c97c;border:1px solid rgba(39,201,124,.2);}
.mob-kpi-badge.warn{background:rgba(240,168,50,.1);color:#f0a832;border:1px solid rgba(240,168,50,.2);}
.mob-kpi-badge.bad{background:rgba(232,69,90,.1);color:#e8455a;border:1px solid rgba(232,69,90,.2);}
.mob-kpi-badge.info{background:rgba(124,58,237,.12);color:#a78bfa;border:1px solid rgba(124,58,237,.2);}
.mob-kpi-track{display:flex;width:400%;animation:mobKpiScroll 12s ease-in-out infinite;}
@keyframes mobKpiScroll{0%,20%{transform:translateX(0);}25%,45%{transform:translateX(-25%);}50%,70%{transform:translateX(-50%);}75%,95%{transform:translateX(-75%);}100%{transform:translateX(0);}}
.mob-kpi-slide{width:25%;flex-shrink:0;}
.mob-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.mob-kpi-card{background:rgba(22,20,38,.95);border:1px solid #21263a;border-radius:8px;padding:8px 8px 6px;position:relative;overflow:hidden;}
.mob-kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--mkc,rgba(124,58,237,.6));}
.mob-kpi-label{font-size:5.5px;text-transform:uppercase;letter-spacing:1.5px;color:#6b7385;font-family:'Syne',sans-serif;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mob-kpi-val{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;line-height:1;}
.mob-kpi-val.ok{color:#27c97c;}.mob-kpi-val.bad{color:#e8455a;}.mob-kpi-val.amb{color:#f0a832;}.mob-kpi-val.pur{color:#a78bfa;}.mob-kpi-val.blu{color:#4b8ef0;}
.mob-kpi-sub{font-size:5.5px;color:#2e3348;margin-top:2px;}
.mob-kpi-dots{display:flex;gap:4px;margin-top:10px;}
.mob-kpi-dot{height:3px;border-radius:2px;background:#2e3348;}
.mob-kpi-dot.d1{animation:dot1 12s infinite;}
.mob-kpi-dot.d2{animation:dot2 12s infinite;}
.mob-kpi-dot.d3{animation:dot3 12s infinite;}
.mob-kpi-dot.d4{animation:dot4 12s infinite;}
@keyframes dot1{0%,20%{width:16px;background:#7c3aed;}25%,95%{width:6px;background:#2e3348;}100%{width:16px;background:#7c3aed;}}
@keyframes dot2{0%,20%{width:6px;background:#2e3348;}25%,45%{width:16px;background:#7c3aed;}50%,100%{width:6px;background:#2e3348;}}
@keyframes dot3{0%,45%{width:6px;background:#2e3348;}50%,70%{width:16px;background:#7c3aed;}75%,100%{width:6px;background:#2e3348;}}
@keyframes dot4{0%,70%{width:6px;background:#2e3348;}75%,95%{width:16px;background:#7c3aed;}100%{width:6px;background:#2e3348;}}
.mob-auth-divider{position:relative;z-index:2;margin:10px 16px 0;height:1px;background:linear-gradient(90deg,transparent,rgba(124,58,237,.18),transparent);}
.mob-auth-form{position:relative;z-index:2;padding:12px 20px 22px;display:flex;flex-direction:column;}
.mob-auth-greet{margin-bottom:11px;}
.mob-auth-greet-title{font-family:'Syne',sans-serif;font-weight:800;font-size:15px;color:#eaedf5;margin-bottom:2px;}
.mob-auth-greet-sub{font-size:9.5px;color:#4a3a7a;}
.mob-auth-tabs{display:flex;background:rgba(255,255,255,.03);border:1px solid rgba(124,58,237,.12);border-radius:11px;padding:3px;gap:3px;margin-bottom:10px;}
.mob-auth-tab{flex:1;text-align:center;padding:7px;border-radius:8px;font-size:10.5px;font-family:'Syne',sans-serif;font-weight:700;color:#4a3a7a;cursor:pointer;}
.mob-auth-tab.act{background:rgba(124,58,237,.18);color:#c4b5fd;border:1px solid rgba(124,58,237,.28);}
.mob-auth-field{background:rgba(255,255,255,.02);border:1px solid rgba(124,58,237,.12);border-radius:10px;padding:9px 13px;margin-bottom:7px;display:flex;align-items:center;gap:10px;}
.mob-auth-field-inner{display:flex;flex-direction:column;flex:1;}
.mob-auth-field-lbl{font-size:6.5px;text-transform:uppercase;letter-spacing:1.5px;font-family:'Syne',sans-serif;color:#3d2d60;margin-bottom:2px;}
.mob-auth-field input{background:transparent;border:none;outline:none;color:#eaedf5;font-family:'Syne',sans-serif;font-size:13px;width:100%;padding:0;}
.mob-auth-field input::placeholder{color:#3d2d60;}
.mob-auth-field-ico{font-size:12px;color:#3d2d60;opacity:.3;flex-shrink:0;}
.mob-auth-btn{background:transparent;border:1.5px solid rgba(124,58,237,.65);box-shadow:0 0 20px rgba(124,58,237,.2),inset 0 0 14px rgba(124,58,237,.06);color:#c4b5fd;border-radius:12px;padding:13px;font-size:13px;font-weight:800;font-family:'Syne',sans-serif;text-align:center;letter-spacing:1px;text-transform:uppercase;margin-top:4px;margin-bottom:10px;width:100%;cursor:pointer;position:relative;overflow:hidden;}
.mob-auth-btn::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(196,181,253,.08),transparent);animation:mobShim 3s ease-in-out infinite;}
@keyframes mobShim{to{left:200%;}}
.mob-auth-btn:disabled{opacity:.6;cursor:not-allowed;}
.mob-auth-foot{display:flex;align-items:center;justify-content:space-between;}
.mob-auth-forgot{font-size:9px;color:#2a1e48;text-decoration:underline;cursor:pointer;background:none;border:none;font-family:'Syne',sans-serif;}
.mob-auth-register{font-size:9px;font-weight:700;font-family:'Syne',sans-serif;color:#7c3aed;cursor:pointer;background:none;border:none;}
.mob-auth-msg{font-size:.75rem;text-align:center;margin-top:8px;min-height:18px;line-height:1.5;}
.mob-auth-msg.err{color:#e8455a;}.mob-auth-msg.ok{color:#27c97c;}
.mob-auth-termos{display:none;margin-bottom:10px;}
.mob-auth-termos label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:.7rem;color:#4a3a7a;line-height:1.6;}
.mob-auth-termos input[type=checkbox]{margin-top:3px;flex-shrink:0;accent-color:#7c3aed;}
.mob-auth-termos a{color:#7c3aed;text-decoration:underline;}

/* ═══ APP ═══ */
#app{display:none;min-height:100vh;}
#app.show{display:flex;height:100vh;overflow:hidden;}

/* ═══ SIDEBAR ═══ */
aside{width:260px;min-height:100vh;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:40;}
.logo-wrap{padding:24px 18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;}
.logo-img-svg{width:40px;height:40px;border-radius:12px;flex-shrink:0;background:var(--brand);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.1rem;color:#fff;font-weight:700;}
.logo-texts{display:flex;flex-direction:column;}
.logo-text{font-family:'Playfair Display',serif;font-size:1.4rem;background:linear-gradient(135deg,var(--brand),var(--brand2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;}
.logo-sub{font-size:.55rem;color:var(--muted);margin-top:2px;letter-spacing:2px;text-transform:uppercase;}
.snav{display:flex;flex-direction:column;gap:4px;padding:14px 12px;flex:1;}
.ni{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;cursor:pointer;font-size:.86rem;color:var(--muted);font-weight:600;transition:all .2s;}
.ni span:first-child{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--card2);font-size:1rem;flex-shrink:0;transition:all .2s;}
.ni.act span:first-child{background:rgba(var(--brand-rgb),.18);}
.ni:hover span:first-child{background:rgba(var(--brand-rgb),.1);}
.ni:hover{background:rgba(var(--brand-rgb),.06);color:var(--text);}
.ni.act{background:rgba(var(--brand-rgb),.14);color:var(--brand);border-left:3px solid var(--brand);}
.sdiv{height:1px;background:var(--border);margin:6px 18px;}
.side-footer{padding:10px 14px;border-top:1px solid var(--border);margin-top:auto;}
.side-user{font-size:.68rem;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:6px;}
.side-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.logout-btn{background:none;border:none;color:var(--muted2);cursor:pointer;font-size:.8rem;padding:3px 5px;border-radius:4px;transition:all .15s;flex-shrink:0;}
.logout-btn:hover{color:var(--red);}

/* ═══ MOBILE HEADER / BOTTOM NAV ═══ */
.mob-header{display:none;padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--border);align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;}
.mob-logo{font-family:'Playfair Display',serif;font-size:1.3rem;background:linear-gradient(135deg,var(--brand),var(--brand2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.mob-menu-btn{background:none;border:none;color:var(--text);font-size:1.4rem;cursor:pointer;padding:4px 8px;}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:35;}
.sidebar-overlay.show{display:block;}
aside.mob-open{transform:translateX(0)!important;}
.mob-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--border);z-index:50;padding:6px 0 max(6px,env(safe-area-inset-bottom));}
.mob-nav-items{display:flex;width:100%;justify-content:space-around;}
.mob-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 8px;cursor:pointer;font-size:.56rem;color:var(--muted);font-weight:600;transition:color .15s;border:none;background:none;font-family:'Syne',sans-serif;flex:1;}
.mob-nav-item.act{color:var(--brand);}
.mob-nav-item-icon{font-size:1.2rem;line-height:1;}

/* ═══ MAIN ═══ */
main{flex:1;display:flex;flex-direction:column;min-width:0;overflow-y:auto;overflow-x:hidden;height:100vh;}
.topbar{padding:14px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--bg2);position:sticky;top:0;z-index:20;gap:10px;}
.tb-title{font-family:'Playfair Display',serif;font-size:1.2rem;flex-shrink:0;}
.tb-right{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
.sync-wrap{font-size:.62rem;color:var(--muted);display:flex;align-items:center;gap:5px;}
.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--green);}
.sync-dot.busy{background:var(--amber);animation:pulse 1s infinite;}
.sync-dot.err{background:var(--red);}
.theme-toggle{background:none;border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;font-size:1.05rem;padding:5px 9px;transition:all .2s;line-height:1;}
.theme-toggle:hover{border-color:var(--brand);color:var(--brand);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.content{padding:20px 24px;flex:1;overflow-x:hidden;max-width:100%;min-width:0;}
.page{display:none;animation:fadeUp .2s ease;max-width:100%;min-width:0;}.page.act{display:block;}

/* ═══ BUTTONS ═══ */
.btn{padding:7px 13px;border-radius:7px;border:none;cursor:pointer;font-family:'Syne',sans-serif;font-size:.74rem;font-weight:700;display:flex;align-items:center;gap:5px;transition:all .2s;white-space:nowrap;}
.btn-r{background:var(--brand);color:#fff;}.btn-r:hover{filter:brightness(1.1);}
.btn-g{background:var(--card);color:var(--muted);border:1px solid var(--border);}.btn-g:hover{color:var(--text);}
.btn-p{background:rgba(155,114,240,.14);color:var(--purple);border:1px solid rgba(155,114,240,.28);}

/* ═══ KPIs ═══ */
.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:11px;margin-bottom:18px;}
.kcard{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:15px;position:relative;overflow:hidden;transition:transform .2s;}
.kcard:hover{transform:translateY(-1px);}
.kcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--kc,var(--brand));}
.klabel{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px;}
.kval{font-family:'Playfair Display',serif;font-size:1.5rem;line-height:1;}
.ksub{font-size:.62rem;color:var(--muted);margin-top:4px;}
.ok{color:var(--green);}.bad{color:var(--red);}

/* ═══ CHARTS ═══ */
.crow{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:13px;margin-bottom:18px;}
.cc{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:17px;}
.clabel{font-size:.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:11px;}
.cwrap{height:280px;position:relative;width:100%;}

/* ═══ FORMS ═══ */
.shead{font-size:.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px;display:flex;align-items:center;gap:10px;}
.shead::after{content:'';flex:1;height:1px;background:var(--border);}
.form-grid{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;gap:9px;align-items:flex-end;margin-bottom:12px;flex-wrap:wrap;}
.fg{display:flex;flex-direction:column;gap:4px;flex:1;min-width:90px;}
.fg label{font-size:.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;}
.fg input,.fg select,.fg textarea{background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:8px 10px;color:var(--text);font-family:'Syne',sans-serif;font-size:.79rem;width:100%;transition:border-color .15s;}
.fg input,.fg select{font-family:'Inter','Arial',sans-serif;font-variant-numeric:tabular-nums;}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--brand);}
.fg textarea{resize:vertical;min-height:80px;}
.fg select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7385' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer;}
.fg select option{background:var(--card);color:var(--text);font-family:'Syne',sans-serif;}

/* ═══ TABLES ═══ */
.twrap{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:18px;max-width:100%;}
.twrap .ttable{min-width:520px;}
.ttable{width:100%;border-collapse:collapse;}
.ttable th{text-align:left;font-size:.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;padding:10px 12px;border-bottom:1px solid var(--border);}
.ttable td{padding:9px 12px;font-size:.78rem;border-bottom:1px solid var(--bg2);vertical-align:middle;}
.ttable tr:last-child td{border-bottom:none;}
.ttable tr:hover td{background:var(--card2);}
.dbtn{background:none;border:none;color:var(--muted2);cursor:pointer;font-size:.82rem;padding:3px 6px;border-radius:4px;transition:all .15s;}
.dbtn:hover{background:rgba(232,69,90,.1);color:var(--red);}
.empty{padding:28px;text-align:center;color:var(--muted);font-size:.8rem;}
.table-wrapper{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ═══ MCP / MODAL / TOAST ═══ */
.mcp{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:18px;max-width:100%;min-width:0;}
.moverlay{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;padding:16px;}
.moverlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;width:380px;max-width:100%;transform:translateY(16px);transition:transform .2s;}
.moverlay.open .modal{transform:translateY(0);}
.modal h2{font-family:'Playfair Display',serif;font-size:1.35rem;margin-bottom:4px;}
.modal p{color:var(--muted);font-size:.77rem;margin-bottom:14px;line-height:1.6;}
.mbtns{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;}
#toast{position:fixed;bottom:18px;right:18px;background:var(--card);border:1px solid var(--green);color:var(--green);padding:10px 16px;border-radius:10px;font-size:.76rem;font-weight:700;transform:translateY(60px);opacity:0;transition:all .25s;z-index:300;max-width:280px;}
#toast.show{transform:translateY(0);opacity:1;}
#toast.err{border-color:var(--red);color:var(--red);}
.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;}
.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:55vh;gap:12px;text-align:center;}
.welcome h2{font-family:'Playfair Display',serif;font-size:1.8rem;}
.welcome p{color:var(--muted);max-width:360px;line-height:1.7;font-size:.83rem;}
.module-status{margin-top:14px;padding:8px 18px;border-radius:8px;background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.2);color:var(--brand);font-size:.78rem;font-weight:600;}

/* ═══ MÓDULOS ═══ */
.cap-row-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:14px;}
.cap-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:16px;}
.cap-charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-bottom:16px;}
.cap-row-2-flex{display:flex;gap:10px;margin-top:10px;}
.cap-metodo-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:14px;flex-wrap:wrap;}
.cap-metodo-row .fg{max-width:280px;min-width:200px;}
.cap-metodo-hint{font-size:.68rem;color:var(--muted);line-height:1.5;max-width:320px;padding-bottom:6px;}
.cap-laudo{padding:12px 16px;border-radius:10px;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.cap-laudo-ok{background:rgba(39,201,124,.08);border:1px solid rgba(39,201,124,.2);color:var(--green);}
.cap-laudo-warn{background:rgba(240,168,50,.08);border:1px solid rgba(240,168,50,.2);color:var(--amber);}
.cap-laudo-bad{background:rgba(232,69,90,.08);border:1px solid rgba(232,69,90,.2);color:var(--red);}
.cap-stat-row{display:flex;justify-content:space-between;padding:5px 0;font-size:.78rem;}
.cap-stat-row span:first-child{color:var(--muted);}
.cap-stat-row span:last-child{font-weight:700;font-family:'Playfair Display',serif;}
.cap-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.cap-actions-distributed{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:15px 0 0;border-top:1px solid var(--border);width:100%;gap:8px;}
.cap-actions-distributed .btn{flex:1;justify-content:center;}
.cap-actions-distributed .main-execute{flex:2;}
.main-execute{justify-content:center;font-size:.9rem!important;letter-spacing:1px;}
.cap-section-header{font-size:.65rem;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:flex;align-items:center;gap:5px;}
.cap-grid-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:15px;margin-bottom:20px;}
.span-2{grid-column:span 2;}
.cap-method-box{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:rgba(255,255,255,.03);padding:15px;border-radius:10px;border:1px solid var(--border);align-items:center;}
.cap-actions-bar{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border);}

/* ═══ NOTIFICAÇÕES ═══ */
.notif-wrap{position:relative;}
.notif-bell{background:none;border:1px solid var(--border);border-radius:8px;padding:5px 9px;font-size:1rem;cursor:pointer;position:relative;transition:all .2s;line-height:1;}
.notif-bell:hover{border-color:var(--brand);}
.notif-badge{position:absolute;top:-5px;right:-5px;background:var(--brand);color:#fff;font-size:.55rem;font-weight:700;min-width:16px;height:16px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 4px;font-family:'Syne',sans-serif;}
.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:400px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.5);display:none;z-index:200;overflow:hidden;}
.notif-dropdown.open{display:block;animation:fadeUp .15s ease;}
.notif-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);}
.notif-clear{color:var(--brand);cursor:pointer;font-size:.65rem;text-transform:none;letter-spacing:0;font-weight:600;}
.notif-clear:hover{text-decoration:underline;}
.notif-list{overflow-y:auto;max-height:340px;padding:6px 0;}
.notif-item{display:flex;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);transition:background .15s;}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--card2);}
.notif-item.unread{background:rgba(var(--brand-rgb),.04);}
.notif-icon{font-size:1.1rem;flex-shrink:0;margin-top:2px;}
.notif-body{flex:1;min-width:0;}
.notif-text{font-size:.76rem;line-height:1.5;color:var(--text);}
.notif-time{font-size:.6rem;color:var(--muted);margin-top:3px;}
.notif-empty{padding:32px 16px;text-align:center;font-size:.78rem;color:var(--muted);}
[data-theme="light"] .notif-dropdown{background:#fff;border-color:#e0e0e0;box-shadow:0 8px 24px rgba(0,0,0,.1);}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVIDADE — Breakpoint mestre: 992px
═══════════════════════════════════════════════════════════════ */
#auth-screen.show ~ .mob-header{display:none!important;}

@media(max-width:992px){
  aside{position:fixed;left:0;top:0;bottom:0;height:100vh;width:260px;transform:translateX(-100%);transition:transform .3s ease;z-index:60;}
  aside.mob-open{transform:translateX(0)!important;}
  aside:not(.mob-open){transform:translateX(-100%)!important;}
  .mob-header{display:flex!important;}
  #app.show .mob-bottom-nav{display:flex!important;}
  main{width:100%;padding-top:0;}
  body{padding-bottom:70px;}
  .sidebar-overlay.show{display:block;}
  .content{padding:16px 18px;}
  .topbar{padding:12px 18px;}
  .notif-wrap{position:static;}
  .tb-right{position:relative;}
  .notif-dropdown{width:calc(100vw - 32px)!important;right:0!important;left:auto!important;max-width:340px;}
  .cep-split-grid,.th-split-grid,.box-split-grid,.grr-split-grid,.doe-split-grid,.ia-split-grid,.proj-split-grid,.roi-layout,.ishi-layout{grid-template-columns:1fr!important;}
  .cep-config-grid,.box-config-grid,.grr-config-grid,.doe-config-grid{grid-template-columns:1fr 1fr!important;}
}

@media(max-width:768px){
  .content{padding:12px 14px;}
  .topbar{padding:10px 14px;}
  .crow,.cap-charts-row{grid-template-columns:1fr;}
  .cwrap{height:200px!important;width:100%!important;}
  .form-grid{flex-direction:column;}
  .fg{min-width:100%!important;max-width:100%!important;}
  .cap-metodo-row,.cap-row-2-flex{flex-direction:column;}
  .cap-metodo-row .fg{max-width:100%;min-width:100%;}
  .cap-metodo-hint{display:none;}
  .cap-method-box,.cap-grid-main{grid-template-columns:1fr;}
  .span-2{grid-column:span 1;}
  .cap-actions-bar{flex-direction:column;gap:15px;}
  .main-btn{width:100%;}
  .cap-actions-distributed{justify-content:center;}
  .cep-config-grid,.box-config-grid,.grr-config-grid,.doe-config-grid{grid-template-columns:1fr!important;}
  .ia-grid-2,.histo-ia-grid,.cfg-grid-2{grid-template-columns:1fr!important;}

  /* ── Auth mobile — ativa tela V3 Mesh ── */
  #auth-screen.show{flex-direction:column;padding:0;background:#09060f;overflow:hidden;height:100vh;}
  .auth-left{display:none!important;}
  .auth-right{display:none!important;}
  .mob-auth-screen{display:flex!important;}
}

@media(max-width:480px){
  .kgrid,.cap-row-4,.cap-kpis{grid-template-columns:1fr;}
  .kval{font-size:1.15rem;}
  .cwrap{height:180px!important;}
}
@media(max-width:900px){.hist-kpis-grid{grid-template-columns:repeat(3,1fr)!important;}}
@media(max-width:600px){.hist-kpis-grid{grid-template-columns:1fr 1fr!important;}}
@media(max-width:950px){
  #page-ishikawa .mcp,#page-ishikawa #ishi-historico,#page-ishikawa #ishikawa-c .shead{display:none;}
  #page-ishikawa #ishikawa-c::before{content:'🖥️ Módulo disponível apenas no desktop';display:flex;align-items:center;justify-content:center;text-align:center;padding:60px 20px;color:var(--muted);font-size:.85rem;font-weight:600;min-height:40vh;}
}
@media(max-width:992px) and (orientation:landscape){
  aside,.mob-header,.mob-bottom-nav{display:none!important;}
  .topbar{padding:6px 14px;min-height:0;}
  .tb-title{font-size:.9rem;}
  .content{padding:8px 10px;}
  body{padding-bottom:0!important;}
}
@media(max-width:900px) and (min-width:769px){
  .auth-left-inner{max-width:340px;}
  .auth-right{width:360px;padding:36px 28px;}
  .al-tagline-title{font-size:1.2rem;}
}
@media(max-width:600px){
  .cap-actions-distributed{flex-wrap:wrap;gap:6px;}
  .cap-actions-distributed .btn{flex:1 1 calc(50% - 6px);min-width:0;}
  .cap-actions-distributed .main-execute{flex:1 1 100%;order:-1;}
}

/* ── Mini gráficos nos slides do carrossel mobile ── */
.mob-kpi-chart{margin-top:8px;padding-top:8px;border-top:1px solid rgba(124,58,237,.1);}
.mob-kpi-chart-lbl{font-size:5.5px;color:#3a2d60;font-family:'Syne',sans-serif;text-transform:uppercase;letter-spacing:1px;margin-top:4px;text-align:right;}

/* Histograma de barras — Slide 1 */
.mob-kpi-bars{display:flex;align-items:flex-end;gap:3px;height:32px;}
.mob-kpi-bar{flex:1;border-radius:2px 2px 0 0;background:rgba(124,58,237,.25);}
.mob-kpi-bar.hi{background:#7c3aed;}

/* Barras horizontais — Slide 2 Gage R&R */
.mob-kpi-hbar-wrap{display:flex;flex-direction:column;gap:4px;}
.mob-kpi-hbar-row{display:flex;align-items:center;gap:5px;}
.mob-kpi-hbar-row>span:first-child{font-size:5.5px;color:#3a2d60;font-family:'Syne',sans-serif;width:36px;flex-shrink:0;}
.mob-kpi-hbar-bg{flex:1;height:5px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;}
.mob-kpi-hbar-fill{height:100%;border-radius:3px;min-width:2px;}
.mob-kpi-hbar-val{font-size:5.5px;font-family:'Playfair Display',serif;font-weight:700;width:28px;text-align:right;flex-shrink:0;}
.mob-kpi-hbar-val.ok{color:#27c97c;}.mob-kpi-hbar-val.pur{color:#a78bfa;}.mob-kpi-hbar-val.blu{color:#4b8ef0;}

/* Barras de grupos ANOVA — Slide 4 */
.mob-kpi-group-bars{display:flex;align-items:flex-end;gap:8px;height:36px;justify-content:center;}
.mob-kpi-group{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;}
.mob-kpi-group-bar{width:100%;border-radius:3px 3px 0 0;}
.mob-kpi-group-lbl{font-size:5.5px;color:#3a2d60;font-family:'Syne',sans-serif;font-weight:700;}
.mob-kpi-group-val{font-size:6px;font-family:'Playfair Display',serif;font-weight:700;}
.mob-kpi-group-val.ok{color:#27c97c;}.mob-kpi-group-val.amb{color:#f0a832;}.mob-kpi-group-val.bad{color:#e8455a;}
