:root{--navy:#102a43;--blue:#c91620;--aqua:#ed1c24;--paper:#f3f7f9;--line:#dce6eb;--text:#183b4e;--muted:#708896;--danger:#bd3d4b;--sidebar:244px;--shadow:0 8px 30px rgba(16,42,67,.08)}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;font:14px 'DM Sans',sans-serif;color:var(--text);background:var(--paper)}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(#6f080d,#300306);display:flex;flex-direction:column;color:#fff;z-index:100}.brand{height:92px;display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #ffffff15}.brand>b,.login-visual>i{width:43px;height:43px;border-radius:12px;background:linear-gradient(135deg,#fff,#f4dadd);display:grid;place-items:center;color:#c91620;font:800 14px Manrope}.brand strong,.brand small,.sidebar footer strong,.sidebar footer small{display:block}.brand strong{font:800 16px Manrope}.brand small{font-size:9px;color:#ffffff70;text-transform:uppercase;letter-spacing:1.3px}.sidebar nav{flex:1;padding:14px 0;overflow:auto}.sidebar nav label{display:block;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:#ffffff42;font-weight:700;padding:18px 20px 7px}.sidebar nav a{display:block;padding:10px 20px;color:#ffffff9e;font-size:12.5px;font-weight:600;border-left:3px solid transparent}.sidebar nav a:hover{background:#ffffff0c;color:#fff}.sidebar nav a.active{color:#fff;background:#ffffff16;border-color:var(--aqua)}.sidebar footer{display:flex;align-items:center;gap:9px;padding:15px;border-top:1px solid #ffffff15}.sidebar footer i{width:34px;height:34px;border-radius:50%;background:#1c506c;display:grid;place-items:center;font-style:normal;font-size:11px}.sidebar footer span{flex:1;min-width:0}.sidebar footer strong{font-size:11px}.sidebar footer small{font-size:9px;color:#ffffff55;text-transform:uppercase}.sidebar footer>a{font-size:20px;color:#ffffff70}.app-shell>main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;position:sticky;top:0;z-index:50}.topbar button{display:none;border:0;background:none;font-size:22px;margin-right:12px}.topbar small,.eyebrow{font-size:8px;color:var(--aqua);letter-spacing:1.7px;font-weight:800}.topbar h1{font:800 21px Manrope;line-height:1.15;color:var(--navy)}.page-body{padding:26px 30px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.card-header{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.card-header strong{font:800 12px Manrope;text-transform:uppercase;letter-spacing:.7px}.card-header small,.card-header span{color:var(--muted);font-size:11px}.card-body{padding:21px}.hero{background:linear-gradient(120deg,#6f080d,#d01822);color:#fff;padding:42px;border-radius:20px;min-height:275px;display:flex;align-items:center;position:relative;overflow:hidden}.hero:after{content:'✦';position:absolute;right:3%;font-size:200px;color:#ffffff0a}.hero>div{max-width:720px;z-index:1}.hero span{color:#76dfcf;letter-spacing:2px;font-size:10px;font-weight:800}.hero h2{font:800 clamp(28px,4vw,44px) Manrope;line-height:1.12;margin:12px 0 16px}.hero p{white-space:pre-line;color:#ffffffbd;line-height:1.7}.hero .btn{margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border:0;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#a80e17}.btn-accent{background:#fff;color:#8e0b12}.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--navy)}.btn-danger{background:#fff0f1;border:1px solid #ffd7dc;color:var(--danger)}.btn-sm{padding:6px 10px;font-size:10px}.btn-lg{padding:13px 24px;font-size:13px}.btn-full{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-full{grid-column:1/-1}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-group>b,.form-group b{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--navy)}.form-control{width:100%;border:1.5px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff;color:var(--text);outline:none}.form-control:focus{border-color:var(--aqua);box-shadow:0 0 0 3px #38b2ac18}textarea.form-control{min-height:100px;resize:vertical}.tall{min-height:155px!important}.form-group small{color:var(--muted);font-size:10px}.check{display:flex;gap:7px;align-items:center}.actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:20px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:18px;border-left:4px solid;transition:.4s}.alert-sucesso{background:#e9fff5;color:#136442;border-color:#28a979}.alert-erro{background:#fff0f1;color:#8c2834;border-color:#d65361}.alert.fade{opacity:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kpi{padding:18px;border-top:3px solid var(--aqua)}.kpi label,.kpi small,.kpi b{display:block}.kpi label{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:800}.kpi b{font:800 30px Manrope;color:var(--navy);margin:5px 0}.kpi small{font-size:10px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{padding:11px 13px;background:var(--navy);color:#ffffffc0;text-align:left;font-size:9px;letter-spacing:.8px;text-transform:uppercase}td{padding:12px 13px;border-bottom:1px solid #edf2f4;font-size:12px}tr:hover td{background:#f8fbfc}td small{display:block;color:var(--muted);margin-top:2px}.badge{display:inline-block;padding:4px 9px;border-radius:20px;font-size:9px;text-transform:uppercase;font-weight:800}.badge-ativo,.badge-aprovada,.badge-implementada{background:#dcf8ea;color:#17633f}.badge-inativo,.badge-nao_aprovada{background:#f0f2f4;color:#666}.badge-recebida{background:#dff7f5;color:#12685f}.badge-em_analise{background:#fff2d8;color:#8a5b08}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inline{display:flex;gap:6px;align-items:center}.inline form{display:inline}.mb{margin-bottom:18px}.narrow{max-width:800px}.filters{display:flex;gap:9px;margin-bottom:18px}.filters input{flex:1}.filters select{max-width:220px}.muted,.empty{color:var(--muted)}.empty{text-align:center;padding:35px}.quiz-wrap{max-width:820px;margin:auto}.progress{display:flex;align-items:center;margin-bottom:22px}.progress span{width:110px;color:#9badb6;font-size:11px}.progress span b{display:block}.progress span.on{color:var(--blue)}.progress i{height:2px;background:var(--line);flex:1;margin:0 8px}.quiz-panel{display:none;background:#fff;border:1px solid var(--line);border-radius:15px;padding:28px;box-shadow:var(--shadow)}.quiz-panel.active{display:block}.quiz-panel>h2{font:800 25px Manrope;color:var(--navy)}.quiz-panel>p{color:var(--muted);margin:5px 0 22px}.choices{display:grid;gap:10px}.choices label{display:flex;padding:15px;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;gap:11px}.choices input{margin-top:3px;accent-color:var(--aqua)}.choices span b,.choices span small{display:block}.choices span small{color:var(--muted);margin-top:3px}.choices label:has(input:checked){background:#effffc;border-color:var(--aqua)}.choices.compact label{padding:11px 13px}.question{padding:18px 0;border-bottom:1px solid var(--line)}.question:first-of-type{padding-top:0}.question>small,.answers article small{font-size:9px;color:var(--aqua);letter-spacing:1px;font-weight:800}.question h3,.answers h3{font-size:14px;margin:4px 0 11px}.question h3 em{color:var(--danger)}.success{max-width:720px;margin:20px auto;text-align:center}.success .card-body>i{width:76px;height:76px;border-radius:50%;background:#e5fff5;color:#17845c;display:grid;place-items:center;font-size:38px;margin:5px auto 20px}.success h2{font:800 26px Manrope}.success p{white-space:pre-line;color:var(--muted);line-height:1.8;margin:15px}.success span{display:inline-block;padding:9px 15px;background:var(--paper);border-radius:8px;margin-bottom:20px}.detail{grid-template-columns:1fr 340px}.detail dl{display:grid;grid-template-columns:150px 1fr}.detail dt,.detail dd{padding:10px 18px;border-bottom:1px solid var(--line)}.detail dt{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.answers article{padding:12px 0;border-bottom:1px solid var(--line)}.answers article p{white-space:pre-line;line-height:1.6}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-visual{background:linear-gradient(145deg,#52060a,#c91620);color:#fff;padding:8vw;display:flex;flex-direction:column;justify-content:center}.login-visual>i{width:58px;height:58px;font-style:normal;font-size:18px;margin-bottom:25px}.login-visual h1{font:800 clamp(34px,5vw,58px) Manrope;line-height:1.05}.login-visual p{color:#ffffff99;line-height:1.7;margin-top:18px;max-width:460px}.login-side{display:grid;place-items:center;background:#fff;padding:35px}.login-box{width:100%;max-width:370px}.login-box h2,.install h1{font:800 29px Manrope;color:var(--navy)}.login-box>p,.install p{color:var(--muted);margin:5px 0 24px}.login-box .btn{margin-top:5px}.login-note{display:block;text-align:center;color:var(--muted);margin-top:18px}.standalone{min-height:100vh;display:grid;place-items:center;padding:25px}.install{max-width:760px;width:100%}.install .btn{margin-top:18px}.sidebar-overlay{display:none}
@media(max-width:900px){.kpi-grid{grid-template-columns:1fr 1fr}.two-col,.detail{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar-open .sidebar{transform:none}.sidebar-open .sidebar-overlay{display:block;position:fixed;inset:0;background:#0007;z-index:90}.app-shell>main{margin-left:0}.topbar{padding:0 16px}.topbar button{display:block}.page-body{padding:16px}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.hero{padding:27px;min-height:340px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-side{padding:25px}.filters{flex-wrap:wrap}.filters input,.filters select{max-width:none;flex:1 1 100%}.progress span{width:auto}.progress span b{display:none}.quiz-panel{padding:21px}.detail dl{grid-template-columns:1fr}.detail dd{padding-top:0}.actions{flex-wrap:wrap}.actions .btn{flex:1}}
 .brand>img{width:46px;height:48px;object-fit:contain}.login-visual>img{width:155px;max-height:100px;object-fit:contain;margin-bottom:28px}.login-visual>i{display:none}