/* Improve SST Online - Fase 1 */
:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#17314a;background:#f3f6fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:#0b797c}header{background:#102b46;color:white;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}header .brand{display:flex;align-items:center;gap:12px}header strong{font-size:17px;display:flex;align-items:center;gap:12px}header small{display:block;color:#bcd0de;font-size:11px;margin-top:4px}.brand-logo{width:110px;height:44px;max-width:110px;object-fit:contain}header .inline{margin-left:12px}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 76px)}.sidebar{background:#fff;border-right:1px solid #e0e8f0;padding:28px 14px;display:flex;flex-direction:column;gap:24px}.sidebar-brand{font-weight:850;font-size:19px;color:#123854;padding:0 12px}.sidebar-brand span{display:block;color:#128b83;letter-spacing:2px;font-size:10px;margin-top:4px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:block;color:#435e73;text-decoration:none;font-size:13px;font-weight:650;padding:12px;border-radius:10px}.sidebar nav a:hover,.sidebar nav a:focus{background:#eaf5f4;color:#0d7776}.sidebar>p{margin-top:auto;font-size:11px;color:#97a8b8;padding:10px}.app-shell main{min-width:0;width:100%;max-width:1540px;margin:0 auto;padding:26px 30px}h1{font-size:28px;letter-spacing:-.6px;margin:4px 0}h2{font-size:18px;margin:0 0 16px}p{line-height:1.5}.sub{font-size:13px;color:#73869a}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#118a81;margin:0 0 7px}section{background:#fff;border:1px solid #e1e9f0;border-radius:14px;padding:22px;margin:18px 0;overflow:auto;box-shadow:0 3px 14px rgba(15,45,73,.025)}.dashboard-panel{background:transparent;border:0;box-shadow:none;padding:0;margin:0;overflow:visible}.dash-heading{display:flex;align-items:center;justify-content:space-between}.dashboard-mark{font-size:30px;color:#0e8d84}.dash-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:white;border:1px solid #e1e9f0;padding:15px;border-radius:12px;margin:17px 0}.dash-filters label{display:grid;gap:6px;font-size:12px;font-weight:650;flex:1;min-width:135px}.dash-filters label:first-child{flex:2}.dash-filters button{min-height:41px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.kpi{background:white;border:1px solid #e1e9f0;border-radius:13px;padding:19px;min-width:0}.kpi span,.kpi small{display:block;color:#75879a;font-size:12px}.kpi strong{display:block;font-size:29px;color:#173a57;margin:8px 0}.kpi .danger-text,.danger-text{color:#cb4851}.kpi .warn-text,.warn-text{color:#b77b1b}.green-text{color:#168a73!important}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:15px}.dash-card{min-width:0;background:white;border:1px solid #e1e9f0;border-radius:14px;padding:22px}.dash-card h2{font-size:16px}.donut-row{display:flex;align-items:center;gap:22px}.donut{flex:0 0 170px;width:170px;height:170px;border-radius:50%;background:conic-gradient(#168a73 0 calc(var(--valid)*1%),#d2555d calc(var(--valid)*1%) calc((var(--valid) + var(--expired))*1%),#e9b34e calc((var(--valid) + var(--expired))*1%) 100%);display:grid;place-items:center}.donut>div{width:118px;height:118px;background:white;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.donut strong{font-size:29px}.donut small{color:#788a9a}.legend{flex:1}.legend p{display:flex;gap:9px;align-items:center;font-size:12px}.legend b{margin-left:auto}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.dot.green{background:#168a73}.dot.red{background:#d2555d}.dot.yellow{background:#e9b34e}.issue-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.issue-stats>div{background:#f5f8fa;padding:17px;border-radius:11px}.issue-stats strong{display:block;font-size:30px}.issue-stats span{font-size:12px;color:#75879a}.progress{height:12px;background:#e8eff3;border-radius:20px;overflow:hidden}.progress>div{height:100%;background:#168a73}.bars{display:flex;align-items:end;gap:7px;height:190px}.bar-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;height:100%;font-size:10px;color:#7a8c9d}.bar-col>span{margin-top:auto}.bar-track{height:140px;width:100%;max-width:24px;background:#edf3f6;border-radius:5px;display:flex;align-items:end;overflow:hidden}.bar-track>div{width:100%;background:#168c84;border-radius:5px 5px 0 0;min-height:0}.bar-col small{font-size:10px;margin-top:6px}.latest-date{font-size:27px}.future-title{margin-top:25px}.alert-card{margin-top:15px}.module-intro{margin-top:32px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.module-placeholder{margin:0;min-height:165px}.module-placeholder h2{font-size:16px}.module-placeholder p{font-size:13px;color:#708397}.module-placeholder span{display:inline-block;background:#edf2f7;color:#60788c;border-radius:20px;padding:6px 10px;font-size:11px}input,select,textarea{padding:10px;border:1px solid #cbd6e2;border-radius:7px;max-width:100%;font:inherit;background:#fff}textarea{min-height:80px}button{border:0;background:#118c84;color:#fff;border-radius:7px;padding:11px 15px;cursor:pointer;font-weight:650}button:hover{background:#0b736c}.light{background:#2a4e6c}.inline{display:inline-flex;gap:8px;align-items:center;margin:4px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px;margin:14px 0}.fields label{display:grid;gap:6px;font-size:13px}.fields input,.fields textarea,.fields select{width:100%}.fields button{align-self:end}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.metrics article{background:white;border:1px solid #e0e8f0;border-radius:12px;padding:18px}.metrics span{font-size:12px;color:#74859a;display:block}.metrics b{font-size:23px;display:block;margin-top:9px}.metrics small{font-size:12px;color:#118c77}table{border-collapse:collapse;width:100%;margin-top:14px}td,th{padding:12px;text-align:left;border-bottom:1px solid #e7edf2;font-size:13px}th{background:#f5f8fa}.table-wrap{overflow:auto}.item{border-top:1px solid #e4ebf1;padding:16px 0}.tag{display:inline-block;background:#e8f5ef;border-radius:20px;padding:4px 9px;font-size:12px}summary{cursor:pointer;color:#0d7f70;font-weight:bold;margin:12px 0}.error{background:#ffebeb;color:#9b3030;padding:12px;border-radius:8px}.login{max-width:440px;margin:12vh auto}.login form{background:white;border-radius:12px;padding:25px}.login label{display:block;margin-bottom:16px}.login input{display:block;width:100%;margin-top:6px}.login button{width:100%}.fire-section{border-top:4px solid #138c89}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-icon{background:#eaf5f3;color:#0b807a;padding:12px;border-radius:12px}.license-line{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 16px;background:#f6f9fc;border:1px solid #e5ecf4;border-radius:10px;margin:15px 0}.license-line span,.license-line small{color:#647a8d;font-size:13px}.row-note{display:block;color:#788b9c;font-size:11px;margin-top:4px}.status-pill{display:inline-block;border-radius:18px;background:#edf4f6;color:#2d6672;padding:5px 10px;font-size:11px;font-weight:750}.status-danger{background:#fbe9e9;color:#ad3540}.status-warn{background:#fff2d8;color:#9d6816}.compact-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));min-width:320px}.site-footer{margin-top:32px;background:#102b46;color:#fff;border-radius:13px;padding:25px;display:grid;gap:8px}.site-footer strong{display:block}.site-footer span,.site-footer p,.site-footer small{color:#b8cbd9;font-size:12px;margin:0}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:1fr 1fr}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #e1e8f1;padding:12px}.sidebar-brand,.sidebar>p{display:none}.sidebar nav{display:flex;overflow:auto;gap:4px}.sidebar nav a{white-space:nowrap}.app-shell main{padding:16px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){header{padding:13px;flex-wrap:wrap}.dash-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr}.donut{flex-basis:135px;width:135px;height:135px}.donut>div{width:95px;height:95px}.donut strong{font-size:23px}.kpi{padding:14px}.kpi strong{font-size:24px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inline{flex-wrap:wrap}}
/* Seleção múltipla Improve */
.bulk-panel{border:1px solid #cbdfe9;background:#f8fbff;border-radius:14px;padding:20px;margin:20px 0}.bulk-panel h2{margin:0 0 10px}.bulk-note{color:#536c7e;font-size:13px}.bulk-all{display:inline-flex;align-items:center;gap:7px;margin-right:16px}.bulk-count{font-weight:700;font-size:13px}.bulk-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.bulk-delete{background:#a72d3c}.bulk-delete:hover{background:#7c1e2b}.bulk-row-check{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#0c6e7d;white-space:nowrap;margin:0 8px 4px 0}.bulk-row-check input{width:auto!important}.bulk-panel .bulk-form{display:none}@media print{.bulk-panel,.bulk-row-check{display:none!important}}


/* Improve SST Online — alinhamento uniforme do menu lateral */
.sidebar nav { display:grid; gap:4px; }
.sidebar nav a {
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    align-items:center;
    column-gap:12px;
    min-height:46px;
    padding:11px 13px;
    line-height:1.35;
    text-decoration:none;
}
.sidebar nav a .nav-icon {
    display:block;
    width:20px;
    height:20px;
    flex:none;
    justify-self:center;
    align-self:center;
    vertical-align:middle;
}
.sidebar nav a span {
    display:block;
    min-width:0;
    margin:0;
}
@media(max-width:900px) {
    .sidebar nav a {
        display:inline-grid;
        grid-template-columns:20px max-content;
        column-gap:9px;
        min-height:42px;
    }
}

/* Improve SST — Navegação persistente e cartões por agente — sem mudanças no banco */
.improve-page-shell{display:grid;grid-template-columns:242px minmax(0,1fr);align-items:stretch;min-height:calc(100vh - 76px)}
.improve-page-shell > main{min-width:0;width:calc(100% - 36px);max-width:1540px;margin:22px auto;padding:0 8px 40px;box-sizing:border-box}
.improve-side{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-right:1px solid #e1e8f0;padding:20px 12px;display:flex;flex-direction:column;gap:16px;box-sizing:border-box;scrollbar-width:thin;z-index:15}
.improve-side-brand{font-size:17px;font-weight:850;color:#173d5a;padding:8px 10px 13px;display:flex;align-items:center;gap:10px}
.improve-side-brand small{display:block;color:#118b82;font-size:10px;letter-spacing:1.8px;margin-top:3px}
.improve-brand-dot{width:10px;height:10px;background:#118b82;border-radius:3px;flex:none}
.improve-side nav{display:grid;gap:4px}
.improve-side nav a{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-height:43px;padding:10px 12px;border-radius:10px;text-decoration:none;color:#375a75;font-size:12.5px;font-weight:700;line-height:1.3}
.improve-side nav a svg{display:block;width:19px;height:19px;justify-self:center;flex:none}
.improve-side nav a span{display:block;min-width:0}
.improve-side nav a:hover,.improve-side nav a:focus-visible,.improve-side nav a[aria-current=page]{background:#e8f5f3;color:#087b78}
.improve-side > p{font-size:11px;color:#9aabba;padding:12px;margin-top:auto}
/* Align the existing dashboard menu as well */
.sidebar{position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;scrollbar-width:thin}
.sidebar nav a{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-height:43px;padding:10px 12px;line-height:1.3}
.sidebar nav a .nav-icon{width:19px;height:19px;justify-self:center}
