/* Gabinete Integrado — Administração Geral, piloto Web 2.6.1
   CSS local para cumprir CSP style-src 'self' (sem estilos inline). */
:root{color-scheme:light;--navy:#102844;--navy-dark:#0b1c31;--navy-mid:#1a3a59;--accent:#0b817f;--accent-hover:#076b6a;--bg:#f3f6fa;--surface:#fff;--border:#e0e8ef;--ink:#172b42;--subtle:#61738a;--shadow:0 14px 36px rgba(18,44,76,.055)}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body.central-body{margin:0;color:var(--ink);background:var(--bg);font:400 15px/1.52 system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select{font:inherit}
button,.btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;background:var(--accent);border:1px solid var(--accent);border-radius:9px;color:#fff;font-weight:700;font-size:14px;line-height:1.4;transition:background .15s ease,transform .15s ease}
button:hover,.btn:hover{background:var(--accent-hover);color:#fff;text-decoration:none}
button:active,.btn:active{transform:translateY(1px)}
button.secondary,.btn.secondary{background:#e9eff4;color:var(--navy);border-color:#d9e3ec}
button.secondary:hover{background:#dbe6ed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #59b7bd;outline-offset:3px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(25px,2.8vw,32px);letter-spacing:-.9px;line-height:1.2;color:var(--navy);margin-bottom:11px;font-weight:760}
h2{font-size:18px;line-height:1.35;color:var(--navy);margin-bottom:15px}
.muted{color:var(--subtle)}.small{font-size:13px}.error{color:#9b1b37}.eyebrow{font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.13em;color:var(--accent)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:25px;box-shadow:var(--shadow);margin:16px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.grid .card{margin:0}
.central-brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:white;text-decoration:none}
.central-brand:hover{text-decoration:none}
.central-brand img{width:172px;max-width:100%;height:auto;min-height:42px;object-fit:contain;object-position:left center}
.brand-caption{display:block;color:#a6d7da;font-size:10px;letter-spacing:.2em;font-weight:800;margin-top:1px}
.status-dot{display:inline-block;flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#58d6c4;box-shadow:0 0 0 3px rgba(88,214,196,.15)}
.central-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:auto;padding:28px 22px;color:#8294a9;font-size:11px;text-align:center}
.footer-sep{color:#b4c0ca}
/* Login */
.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(340px,46%) 1fr}
.auth-brand-panel{min-height:100vh;display:flex;flex-direction:column;color:#fff;padding:47px clamp(32px,5.8vw,94px);background:radial-gradient(circle at 100% 90%,rgba(17,130,137,.25),transparent 42%),linear-gradient(145deg,#0b213a 0%,#132f4e 63%,#0c233e 100%);position:relative;overflow:hidden}
.auth-brand-panel::after{content:'';position:absolute;border:1px solid rgba(124,202,210,.10);width:550px;height:550px;border-radius:50%;bottom:-260px;right:-310px;pointer-events:none}
.brand-message{margin:auto 0;padding:55px 0 100px;max-width:520px;position:relative;z-index:1}
.brand-eyebrow{color:#79d9d5}
.brand-message h2{font-size:clamp(30px,3.4vw,48px);letter-spacing:-1.9px;line-height:1.12;font-weight:750;color:#fff;margin:20px 0 23px}
.brand-message p{color:#b7c8d7;font-size:16px;line-height:1.68;max-width:415px}
.brand-bottom{display:flex;align-items:center;gap:12px;color:#b0c9d6;font-size:12px;position:relative;z-index:1}
.auth-content{display:flex;flex-direction:column;min-width:0;padding:0 clamp(28px,4vw,72px);background:#f6f8fb}
.auth-main{width:100%;max-width:460px;margin:auto; padding:62px 0 30px}
.auth-mobile-brand{display:none}
.auth-copy{margin-bottom:28px}
.auth-copy h1{margin:12px 0 10px;font-size:clamp(29px,2.8vw,37px);letter-spacing:-1.35px}
.auth-copy p{color:var(--subtle);margin:0;font-size:14px}
.auth-card{padding:34px 35px;border-radius:17px;margin:0;box-shadow:0 14px 45px rgba(30,55,85,.07)}
label{display:block;color:#2e4358;font-size:13px;font-weight:650;margin-bottom:18px}
input,select{display:block;width:100%;color:var(--ink);background:#fbfdff;border:1px solid #d7e1ea;border-radius:9px;padding:12px 13px;margin-top:7px;min-height:46px;outline:none;transition:border-color .15s,box-shadow .15s}
input::placeholder{color:#94a1af}
input:focus,select:focus{border-color:#0c8a89;box-shadow:0 0 0 3px rgba(19,141,140,.09)}
.input-hint{float:right;color:#8496a7;font-size:12px;font-weight:400}
.primary-action{display:flex;width:100%;min-height:48px;font-size:14px;margin-top:4px}
.auth-assistance{color:#8294a4;font-size:12px;line-height:1.6;margin-top:23px;padding-top:18px;border-top:1px solid #e7edf2}
.auth-error{border:1px solid #f0c6d0;background:#fff2f5;padding:12px 14px;border-radius:9px;font-size:13px;margin-bottom:20px}
.auth-content .central-footer{padding-bottom:25px}
/* Inside admin */
.central-layout{min-height:100vh;display:flex}
.central-sidebar{display:flex;flex-direction:column;flex:0 0 264px;min-height:100vh;position:sticky;top:0;align-self:flex-start;background:var(--navy-dark);color:#c5d4e2;padding:32px 24px 21px}
.central-sidebar .central-brand{margin-bottom:56px}
.nav-section-label{color:#7089a1;font-size:10px;font-weight:800;letter-spacing:.14em;padding:0 13px 12px}
.nav-other{margin-top:28px}
.central-nav{display:flex;flex-direction:column;gap:4px}
.central-nav a{display:flex;gap:13px;align-items:center;color:#c7d4df;border-radius:9px;padding:11px 13px;font-size:13px;font-weight:560;text-decoration:none;transition:background .16s}
.central-nav a:hover{background:#1b3955;color:white}
.central-nav a span{flex:1}
.sidebar-bottom{margin-top:auto;display:flex;gap:10px;align-items:center;border-top:1px solid #23405d;padding:23px 12px 0;color:#a6b8cb;font-size:12px}
.central-right{display:flex;flex-direction:column;min-width:0;flex:1}
.central-topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid var(--border);padding:16px clamp(24px,4vw,58px)}
.central-topbar strong{display:block;color:var(--navy);font-size:14px}
.central-topbar span:not(.topbar-chip){display:block;font-size:12px;color:#75869a;margin-top:2px}
.topbar-chip{color:#55727b;background:#e9f5f5;border:1px solid #d7eeed;border-radius:30px;font-size:10px;letter-spacing:.055em;font-weight:800;padding:8px 12px;white-space:nowrap}
.central-main{width:100%;max-width:1390px;margin:0 auto;padding:37px clamp(24px,4vw,58px) 45px;flex:1}
.page-heading{margin-bottom:26px}.page-heading h1{margin:8px 0}.page-heading p{font-size:14px}
.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:24px}
.metric-card{padding:23px 25px}.metric-card span{font-size:13px;color:var(--subtle)}.metric-card h2{font-size:37px;color:var(--navy);margin:7px 0 3px;letter-spacing:-1.2px}.metric-card small{color:#8192a3;font-size:11px}
.card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.card-heading h2{margin:6px 0 0}.card-heading .btn{flex-shrink:0}
.table-scroll{max-width:100%;overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13px;min-width:570px}
th{text-align:left;color:#74859a;background:#f8fafc;font-size:11px;letter-spacing:.045em;font-weight:800}
th,td{padding:14px 12px;border-bottom:1px solid #e8eef4;vertical-align:middle}
tbody tr:hover{background:#f9fcfd}tbody tr:last-child td{border-bottom:none}
td a{font-weight:700;color:var(--navy)}td .muted{margin-top:3px}
.form-card{max-width:740px}.form-card form{display:grid;gap:4px}.form-card button{justify-self:start;margin-top:4px}
.inline{display:inline-block;margin:0 7px 7px 0}.inline button{margin:0}
ul{padding-left:20px;margin-bottom:0}li{margin-bottom:10px;overflow-wrap:anywhere}
.warn{padding:12px 16px;background:#fff9ec;border-left:3px solid #edb452;border-radius:8px}
@media(max-width:1020px){.auth-layout{grid-template-columns:42% 1fr}.auth-brand-panel{padding:38px 34px}.brand-message h2{font-size:33px}.auth-content{padding:0 30px}.central-sidebar{flex-basis:228px;padding:25px 16px}.central-main{padding:30px 24px}}
@media(max-width:750px){.auth-layout{display:block}.auth-brand-panel{display:none}.auth-content{min-height:100vh;padding:0 23px}.auth-main{padding:45px 0 35px}.auth-mobile-brand{display:block;color:var(--navy);font-weight:750;margin-bottom:56px}.auth-mobile-brand span{color:var(--accent)}.auth-card{padding:25px 22px}.auth-copy h1{font-size:30px}.central-layout{display:block}.central-sidebar{position:static;min-height:auto;width:100%;padding:18px 20px}.central-sidebar .central-brand{margin:0 0 15px}.central-brand img{max-width:143px}.nav-section-label,.nav-other,.sidebar-bottom{display:none}.central-nav{flex-direction:row;gap:5px;overflow-x:auto}.central-nav a{padding:10px;font-size:12px;white-space:nowrap}.central-sidebar .central-nav:nth-of-type(2){display:none}.central-topbar{min-height:62px;padding:12px 20px}.central-main{padding:25px 18px 35px}.topbar-chip{font-size:9px}.metrics{grid-template-columns:1fr}.card{padding:20px}.card-heading{flex-wrap:wrap}.central-footer{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
/* Web 2.7 — formulário responsivo de identidade, sem estilos embutidos. */
.central-body .profile-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(95px,155px);gap:16px;align-items:end}
.central-body .profile-columns label{min-width:0}
.central-body textarea{display:block;width:100%;min-height:120px;max-height:350px;resize:vertical;color:var(--ink);background:#fbfdff;border:1px solid #d7e1ea;border-radius:9px;padding:12px 13px;margin-top:7px;font:inherit;font-size:14px;line-height:1.5}
.central-body textarea:focus-visible{outline:3px solid #59b7bd;outline-offset:3px}
.central-body input[type="file"]{height:auto;min-height:54px;padding:12px}
.central-body .form-card h2{margin:17px 0 5px;color:var(--navy)}
@media(max-width:520px){.central-body .profile-columns{grid-template-columns:1fr}}
