:root{font-family:Segoe UI,Arial,sans-serif;color:#173047;background:#f3f6fa}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:252px;background:#102b40;color:#d7e4ee;padding:32px 24px;display:flex;flex-direction:column}.brand{font-size:44px;font-weight:800;color:#54d5c4}.brand span{display:block;font-size:12px;letter-spacing:2px;color:white}aside p{font-size:13px;color:#a3bacb}nav{margin-top:36px}nav button{display:block;width:100%;text-align:left;background:transparent;color:#d7e4ee;margin-bottom:8px}nav button.active{background:#26485f;color:#69e3cf}footer{margin-top:auto;padding-top:30px;font-size:12px;line-height:1.8;color:#a3bacb}main{flex:1;padding:36px 44px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}small{letter-spacing:2px;color:#688095;font-size:11px}h1{font-size:28px;margin:8px 0}h2{font-size:19px;margin-top:0}button{border:0;border-radius:8px;padding:12px 16px;background:#087c70;color:white;cursor:pointer;font-weight:600}button:hover{filter:brightness(1.1)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #54d5c4;outline-offset:2px}input,select{display:block;width:100%;padding:12px;border:1px solid #cbd8e3;border-radius:8px;background:white;font:inherit;margin-top:6px}label{display:block;font-size:13px;margin-bottom:16px}.card{background:white;border:1px solid #dde6ed;border-radius:14px;padding:24px;margin-bottom:24px;box-shadow:0 4px 14px #17304705}.login{max-width:440px;margin:60px auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.metric{font-size:36px;font-weight:700;margin:12px 0;color:#087c70}.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.badge{display:inline-block;border-radius:30px;background:#fff4db;color:#856118;padding:5px 10px;font-size:12px}.muted{color:#627a8d;font-size:14px;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 18px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:14px 12px;border-bottom:1px solid #e6edf2}th{color:#627a8d;font-size:12px}#message{color:#b2392a;min-height:20px}#identity{font-size:13px;text-align:right}#identity button{margin-left:16px;background:#e3ebf1;color:#173047}.table-wrap{overflow:auto}@media(max-width:800px){body{display:block}aside{width:100%;padding:20px}nav{margin-top:16px;display:flex;flex-wrap:wrap}nav button{width:auto}footer{display:none}main{padding:24px 18px}.grid,.form-grid{grid-template-columns:1fr}header{align-items:flex-start}h1{font-size:23px}}
:root input[type=checkbox]{display:inline-block;width:auto;margin:0 8px 0 0;vertical-align:middle}
fieldset{border:1px solid #cbd8e3;border-radius:8px;padding:14px;margin:12px 0 20px}.check{display:inline-block;margin:10px 18px 10px 0}.dark{background:#0c1c2a;color:#e3edf4}.dark .card{background:#173047;border-color:#365269}.dark input,.dark select{background:#102b40;color:#e3edf4;border-color:#486579}.dark .muted,.dark th,.dark small{color:#b3c9d8}.dark td,.dark th{border-color:#365269}
.brand-logo{display:block;width:100%;height:auto;background:#fff;border-radius:10px;margin-bottom:16px}.login-logo{display:block;width:240px;max-width:100%;height:auto;margin:0 auto 24px;border-radius:8px}.brand span{text-align:center;letter-spacing:1.5px}.dark .login-logo{background:#fff}

[hidden] { display: none !important; }

/* Navegação própria 3K, organizada a partir da referência visual. */
@media(min-width:801px){aside{position:sticky;top:0;height:100vh;flex:0 0 240px;width:240px;padding:20px 16px;overflow:hidden}aside .brand-logo{width:140px;margin:0 auto 10px}aside nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;margin:14px -16px 0;padding:0 0 10px}aside footer{flex-shrink:0;padding-top:12px;font-size:11px}main{padding:28px 32px}}
nav button{display:flex;align-items:center;gap:11px;margin:0;padding:10px 16px;border-radius:0;font-size:13px;font-weight:400;min-height:39px}nav button span{pointer-events:none}.nav-icon{width:19px;height:19px;flex:0 0 19px;pointer-events:none}nav button.active{background:#2563eb;color:white;box-shadow:inset 3px 0 #8db5ff}nav button:hover{background:#23435a;filter:none}nav button.active:hover{background:#2563eb}.sidebar-logout{border-top:1px solid #ffffff20;margin-top:14px;padding-top:13px}#sidebar-context{font-size:12px;line-height:1.5;margin:10px 0 0}nav button:focus-visible{outline-offset:-3px}@media(max-width:800px){nav button{width:auto;border-radius:6px}.sidebar-logout{margin-top:0;border:0}#sidebar-context{margin-top:6px}}
