/* Gestao Digital 2.5.0 — Camada visual responsiva, sem alteração das regras de negócio */
:root{--nav:#0b203e;--nav2:#102e54;--blue:#1754b2;--bg:#f5f7fc;--text:#172a45;--muted:#60738d;--line:#e0e8f2}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);line-height:1.45}
.layout{grid-template-columns:258px minmax(0,1fr)}
aside{padding:18px 12px;background:linear-gradient(175deg,#0b1d38,#12355d);border-right:1px solid #27476a;scrollbar-width:thin}
.brand{background:#fff;margin:0 4px 22px;padding:17px 12px;border:1px solid #d9e5f0;box-shadow:0 9px 20px #081a3522}
.brand small{font-size:10px;font-weight:700;letter-spacing:.04em}
nav{display:flex;flex-direction:column;gap:2px}
nav a{padding:11px 13px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:600;line-height:1.35;transition:background .15s,border-color .15s}
nav a:hover,nav a:focus-visible{background:#214875;border-color:#426b9b;color:#fff;outline:none}
nav a[aria-current="page"]{background:#1d5190;color:white;border-color:#3569a7;box-shadow:inset 3px 0 0 #a9d7ff}
.gd250-logout{margin:25px 9px 6px;border-top:1px solid #355575;padding-top:17px}.gd250-logout a{color:#e8effa;font-weight:650;font-size:13px}
main{max-width:1650px;width:100%;padding:27px 32px 60px;margin:0 auto}
.top{border-bottom:1px solid #e1e8f2;padding-bottom:18px;margin-bottom:24px;gap:12px;flex-wrap:wrap}
.top h1{font-size:clamp(23px,2vw,30px);font-weight:780;letter-spacing:-.045em}
.top .muted{font-size:13px;margin-top:5px}
.card,.ag-box,.ag-kpi{border:1px solid #e0e7f1;box-shadow:0 4px 18px #1a36580a;border-radius:16px}
.card{padding:clamp(16px,2vw,25px);margin-bottom:20px}
h2,h3,h4{color:#142d4d;letter-spacing:-.02em}
.btn{background:#1754b2;border:1px solid #1754b2;border-radius:10px;font-size:13px;font-weight:700;padding:10px 15px;transition:filter .15s,transform .15s}
.btn:hover:not(:disabled){filter:brightness(1.09);transform:translateY(-1px)}.btn:focus-visible,a:focus-visible{outline:3px solid #80baff;outline-offset:2px}
.btn.alt{background:#edf3fb;border:1px solid #dbe6f5;color:#194e92}.btn.danger{background:#b42318;border-color:#b42318}
input,select,textarea{border-color:#cdd8e7;min-height:42px;transition:border-color .15s,box-shadow .15s;max-width:100%}
input:focus,select:focus,textarea:focus{border-color:#4b86d9;outline:none;box-shadow:0 0 0 3px #4b86d924}
label{font-size:12px;font-weight:700;color:#354b67}.muted{font-size:12px;color:#687991}
.table{width:100%;font-size:13px}.table th{background:#f5f8fc;color:#536a86;font-size:11px;white-space:normal}.table tbody tr:hover{background:#f8faff}
.table th,.table td{padding:13px 12px;overflow-wrap:anywhere}
.badge{background:#e9f1fe;color:#1754b2}.flash{border:1px solid #d9e7f7}
.grid{gap:15px}.kpi{transition:box-shadow .15s}.kpi:hover{box-shadow:0 8px 24px #1a36581a}
.ag-day{transition:background .15s}.ag-day:hover{background:#eff5ff}.ag-event:focus-visible{outline:2px solid #155ac2}
@media(max-width:1000px){.layout{grid-template-columns:1fr}aside{height:auto;position:relative;overflow:visible;padding:12px}.brand{max-width:220px;margin-bottom:12px}nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px}nav a{padding:9px 10px}.gd250-logout{margin-top:12px}main{padding:18px 16px 40px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){main{padding:14px 10px 35px}.top{align-items:flex-start}.card{padding:14px}.grid,.form{grid-template-columns:1fr}.table{display:block;overflow-x:auto;white-space:nowrap}.btn{max-width:100%}.ag-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
