:root{--navy:#082d51;--deep:#072444;--blue:#17639c;--accent:#2883bd;--mint:#19846d;--red:#be524e;--ink:#19344f;--muted:#6e8195;--bg:#f2f6fa;--line:#dce6ef;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}
#authView{min-height:100vh;display:grid;place-items:center;background:#fff url('assets/fundo_geometrico.jpg') center/cover;padding:24px}
.authBox{background:#fff;border:1px solid var(--line);border-radius:19px;max-width:455px;width:100%;box-shadow:0 18px 60px #0d34572a;overflow:hidden}.authBanner{background:linear-gradient(125deg,#07325b,#0d5388);padding:26px;color:#fff;display:flex;align-items:center;gap:18px}.authBanner img{width:70px;max-height:75px;object-fit:contain}.authBanner h1{font-size:21px;line-height:1.13;margin:0}.authBanner p{font-size:12px;color:#c8e1f0;margin:7px 0 0}.authInner{padding:28px}.authInner h2{font-size:18px;margin:0 0 6px}.authInner p{line-height:1.5;color:var(--muted);font-size:12px}.authInner .field{margin:14px 0}
.layout{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(160deg,#0a355d,#061f3d);color:white;padding:24px 14px;display:flex;flex-direction:column;gap:27px}.brand{display:flex;align-items:center;gap:12px;padding:5px 11px}.brand img{width:44px;height:54px;object-fit:contain}.brand strong{font-size:13px;display:block;letter-spacing:.4px}.brand small{display:block;font-size:10px;line-height:1.4;color:#c2d8e8;margin-top:5px}.nav{display:grid;gap:5px}.nav button{border:0;border-radius:9px;background:transparent;text-align:left;padding:13px 12px;color:#cbd9e7;font-weight:580;display:flex;gap:12px;align-items:center}.nav button svg{width:19px;height:19px;flex-shrink:0}.nav button:hover,.nav button.active{background:#ffffff22;color:#fff}.nav button.active{font-weight:780}.sidebottom{margin-top:auto;border-top:1px solid #ffffff2d;padding:15px 10px;font-size:11px;color:#c7dbeb;line-height:1.6}.sidebottom strong{color:white}
main{background:linear-gradient(#f8fbfdde,#f3f7fbec),url('assets/fundo_geometrico.jpg') center top/cover fixed;padding:30px 35px 65px;min-width:0}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:23px}.eyebrow{letter-spacing:1.6px;color:#4380a8;font-size:10px;font-weight:850;text-transform:uppercase}.heading h1{font-size:27px;letter-spacing:-.8px;margin:7px 0 6px;color:var(--navy)}.muted{color:var(--muted)}.sub{font-size:12px;color:var(--muted)}.headingActions{display:flex;gap:9px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--navy);color:white;border:1px solid var(--navy);padding:10px 14px;border-radius:9px;font-weight:680;white-space:nowrap;transition:filter .16s}.btn:hover{filter:brightness(1.17)}.btn.outline{background:white;color:var(--navy);border-color:#cbd8e6}.btn.green{background:#138257;border-color:#138257}.btn.red{background:#fff;color:#ae4b4b;border-color:#e9bebe}.btn.tiny{font-size:11px;padding:7px 9px}.btn:disabled{opacity:.4;cursor:not-allowed}.icon{font-size:17px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.cols{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:15px}.kpi,.card{background:#fff;border:1px solid var(--line);box-shadow:0 2px 11px #0c33500a;border-radius:13px}.kpi{padding:19px 17px;min-width:0}.kpi .label{font-size:11px;color:var(--muted);font-weight:650}.kpi .figure{font-size:25px;letter-spacing:-.75px;font-weight:830;margin:12px 0 6px;color:#133e64;white-space:nowrap}.kpi .hint{font-size:10px;color:#7a8fa2}.kpi .hint.good{color:#148a6c}.card{padding:20px;min-width:0}.cardTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.card h2{margin:0;font-size:15px;letter-spacing:-.2px;color:#153958}.card h3{margin:0 0 14px;font-size:14px;color:#234867}.fine{font-size:11px;color:var(--muted);line-height:1.6}.progress{background:#e6edf5;overflow:hidden;border-radius:30px;height:15px;margin:13px 0 10px}.progress>div{height:100%;border-radius:30px;background:linear-gradient(90deg,#105993,#45a5cc);transition:width .25s}.progressLabels{display:flex;justify-content:space-between;color:#798b9f;gap:8px;font-size:11px}.centerHighlight{margin:19px 0 8px;background:#eef5fa;border:1px solid #e0eaf3;border-radius:10px;text-align:center;padding:18px}.centerHighlight small{display:block;color:var(--muted)}.centerHighlight strong{display:block;font-size:28px;margin-top:6px;letter-spacing:-.7px;color:#103b62}
.chart{display:flex;gap:8px;height:180px;padding:10px 2px 28px;align-items:flex-end;border-bottom:1px solid var(--line)}.chartcol{height:100%;min-width:0;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.bar{width:100%;max-width:35px;min-height:3px;background:linear-gradient(#51a8db,#1869a6);border-radius:5px 5px 0 0}.monthLabel{position:absolute;bottom:-25px;font-size:10px;color:#8295a6}.chart .subvalue{font-size:10px;color:#4277a2;margin-bottom:5px}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:600px;text-align:left}th{font-size:10px;letter-spacing:.25px;color:#71859c;padding:11px;background:#f3f7fa;text-transform:uppercase}td{padding:12px 11px;font-size:12px;border-bottom:1px solid #edf2f6}tbody tr:hover{background:#fafcff}.pill{background:#e4f5eb;color:#188058;border-radius:100px;padding:5px 8px;font-size:10px;white-space:nowrap;font-weight:730}.pill.pending{background:#fff2da;color:#97701e}.pill.neutral{background:#e9edf4;color:#647a92}.sectionGap{margin-top:15px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;color:#5c748c;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #cdd9e4;border-radius:9px;padding:11px;background:white;color:#173750;min-width:0}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #b3d7ee}.field textarea{min-height:160px;resize:vertical;line-height:1.55}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full{grid-column:1/-1}.formActions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px}.checkrow{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#62798d;line-height:1.4}.checkrow input{margin-top:2px}.empty{padding:29px 15px;text-align:center;color:#8497a6;line-height:1.65}.notice{border-radius:9px;background:#fff6e3;border:1px solid #efd9a6;color:#856317;padding:11px 13px;font-size:11px;line-height:1.5;margin:13px 0}.notice.blue{background:#ecf5ff;border-color:#cce4f6;color:#1c5b89}.reminder{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f5}.reminder strong{display:block}.reminder small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.reminderActions{display:flex;gap:7px;flex-wrap:wrap}.reportTitle{border-bottom:1px solid #dce6ef;padding-bottom:13px;margin-bottom:16px}.reportrow{display:flex;gap:14px;justify-content:space-between;border-bottom:1px solid #edf1f5;padding:11px 0}.reportrow strong{color:var(--navy)}#toast{position:fixed;right:25px;bottom:20px;background:#123c61;color:white;padding:12px 18px;border-radius:10px;box-shadow:0 12px 26px #173c6555;z-index:30;max-width:320px;font-size:12px;display:none}.hide{display:none!important}.loading{opacity:.55;pointer-events:none}.spinner{display:inline-block;width:15px;height:15px;border:2px solid #ccc;border-top-color:#1b74ab;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1060px){.layout{grid-template-columns:200px minmax(0,1fr)}main{padding:23px}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi .figure{font-size:23px}.cols{grid-template-columns:1fr}}
@media(max-width:720px){.layout{display:block}.sidebar{position:static;height:auto;padding:13px;gap:10px}.brand{display:none}.sidebottom{display:none}.nav{display:flex;overflow:auto;gap:4px}.nav button{padding:10px;white-space:nowrap;font-size:11px;gap:6px}main{padding:17px 14px 42px}.heading{flex-direction:column}.heading h1{font-size:23px}.grid3{grid-template-columns:1fr 1fr}.reminder{grid-template-columns:1fr 1fr}.reminderActions{grid-column:1/-1}}
@media(max-width:440px){.grid4,.grid3,.formGrid{grid-template-columns:1fr}.full,.formActions{grid-column:1}.kpi .figure{font-size:25px}.reminder{grid-template-columns:1fr}.reminderActions{grid-column:1}.card{padding:15px}.headingActions{width:100%}}
@media print{body{background:white}#authView,.sidebar,.headingActions,.noPrint,#toast{display:none!important}.layout{display:block}main{background:white;padding:0}.card{box-shadow:none;border:0}.reportPrint{display:block!important}.heading{margin-bottom:5px}.hide{display:none!important}}
