/* ======================================================
   BLOCO 1 - IDENTIDADE VISUAL GOB-MT
   ====================================================== */
:root{--azul:#153550;--azul2:#244c6e;--dourado:#d9b56b;--fundo:#f2f5f9;--texto:#1c2e40;--cinza:#637489}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--texto);background:var(--fundo)}a{color:inherit;text-decoration:none}button,input{font:inherit}
/* BLOCO 2 - LOGIN */
.login-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(125deg,#10283e,#244c6e 70%,#305d7a)}
.login-card{background:white;width:100%;max-width:430px;border-radius:20px;padding:36px;box-shadow:0 18px 65px #0004;text-align:center;border-top:5px solid var(--dourado)}
.login-logo{font-size:42px;color:#b99242}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:800;color:#94702f}.login-card h1{margin:8px 0;font-size:28px}.hint{color:var(--cinza);margin:2px 0 26px}.login-card form{text-align:left}.login-card label{display:block;font-weight:650;font-size:13px;margin:14px 0 7px}.login-card input{width:100%;padding:13px 14px;border:1px solid #cfdae4;border-radius:10px;outline:none}.login-card input:focus{border-color:#608bad;box-shadow:0 0 0 3px #608bad22}.login-card button,.logout-form button{border:0;cursor:pointer;border-radius:10px;background:var(--azul);color:#fff;padding:14px;font-weight:700;width:100%;margin-top:22px}.login-card button:hover{background:var(--azul2)}.alert{background:#fff0ef;border:1px solid #ffc9c3;color:#9e2525;border-radius:10px;padding:12px;font-size:13px}.footer-note{font-size:12px;color:#7c8793;margin-top:23px}
/* BLOCO 3 - DASHBOARD */
.dashboard-page{display:flex;min-height:100vh}.sidebar{background:var(--azul);color:#eef4fa;width:265px;min-width:265px;padding:24px 16px;display:flex;flex-direction:column}.brand{font-weight:800;font-size:20px;padding:8px 10px 23px;color:#e8c77a}.brand small{display:block;color:#d9e0e9;font-size:10px;letter-spacing:2px;margin-top:5px}.sidebar nav a,.sidebar summary{display:block;padding:12px;border-radius:9px;cursor:pointer;font-size:14px}.sidebar nav a:hover,.sidebar summary:hover,.sidebar .active{background:var(--azul2)}.sidebar details span{display:block;color:#cbd7e2;padding:8px 12px 8px 26px;font-size:12px}.nav-caption{font-size:10px;color:#bba46c;letter-spacing:1.3px;padding:22px 12px 8px}.logout-form{margin-top:auto}.logout-form button{background:#244c6e;margin-top:12px}.main-content{flex:1;min-width:0;padding:28px 35px}.topbar{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-bottom:24px;border-bottom:1px solid #dce4eb}.topbar span{font-size:13px;color:var(--cinza)}.welcome{background:white;border-radius:16px;margin-top:28px;padding:30px;border-left:5px solid var(--dourado)}.welcome h1{margin:8px 0 12px;font-size:27px}.welcome p:last-child{color:var(--cinza)}.tiles{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:18px;margin-top:22px}.tile{background:white;border:1px solid #e2e8ee;border-radius:14px;padding:23px}.tile-icon{color:#b68c3c;font-size:27px;margin-bottom:15px}.tile strong{display:block}.tile p{color:var(--cinza);font-size:13px;min-height:40px}.tile small{color:#8e6b30}.footnote{font-size:12px;color:#76889a;margin-top:24px}
@media(max-width:1000px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.dashboard-page{display:block}.sidebar{width:100%;min-width:0}.main-content{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.tiles{grid-template-columns:1fr}.login-card{padding:24px}}

/* ======================================================
   BLOCO 4 - BRASAO OFICIAL NO LOGIN E MENU
   A imagem original possui margens transparentes laterais.
   ====================================================== */
.login-logo { height: 112px; display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; }
.login-logo img { width: min(100%, 260px); height: 112px; object-fit: contain; }
.brand { text-align: center; padding: 2px 6px 14px; }
.brand-logo { display: block; width: 100%; max-width: 145px; height: 76px; object-fit: contain; margin: 0 auto 2px; }
.brand strong { display:block; font-size: 19px; color: #fff; }
.brand small { margin-top: 5px; }
.brand-fallback { font-size: 24px; padding: 20px; color: var(--dourado); }
/* ======================================================
   BLOCO 5 - MENU E RESPONSIVIDADE
   ====================================================== */
.sidebar { padding-top: 13px; }
.sidebar nav details span { cursor: default; }
.toggle-menu { display: none; background: #153550; color: white; border: 0; padding: 8px 12px; border-radius: 8px; font-size: 19px; cursor: pointer; }
.topbar-leading { display: flex; align-items: center; gap: 12px; }
@media (max-width:650px) {
    .toggle-menu { display: inline-block; }
    .sidebar { display: none; width: 100%; min-width: 0; }
    .sidebar.menu-aberto { display: flex; }
    .dashboard-page { display: flex; flex-direction: column; }
    .topbar { order: initial; }
    .brand-logo { max-width: 145px; height: 76px; }
}

/* ======================================================
   BLOCO 6 - BOTOES DISCRETOS DE SAIDA
   6.1 - Cabecalho principal / 6.2 - Menu lateral
   ====================================================== */
.topbar-acoes { display: flex; align-items: center; justify-content: flex-end; gap: 16px; flex-wrap: wrap; }
.topbar-usuario { font-size: 13px; color: var(--cinza); }
.logout-form-header { margin: 0; }
.logout-form-header .btn-sair-header { width: auto; margin: 0; padding: 7px 13px; border: 1px solid #d7e0e8; border-radius: 8px; background: #fff; color: #24415b; font-size: 13px; font-weight: 600; cursor: pointer; transition: background .15s, color .15s; }
.logout-form-header .btn-sair-header:hover, .logout-form-header .btn-sair-header:focus-visible { background: #f4e7e7; border-color: #cc9b9b; color: #942e2e; }
.logout-form-lateral { margin-top: auto; padding: 16px 10px 0; }
.logout-form-lateral .btn-sair-lateral { display: inline-flex; align-items: center; gap: 8px; width: auto; margin: 0; padding: 8px 12px; border: 0; border-radius: 7px; background: transparent; color: #dce7f2; font-size: 13px; font-weight: 500; cursor: pointer; transition: background .15s; }
.logout-form-lateral .btn-sair-lateral:hover, .logout-form-lateral .btn-sair-lateral:focus-visible { background: #244c6e; color: #fff; }
@media (max-width: 650px) { .topbar-acoes { justify-content: space-between; width: 100%; } }
