:root{--primary:#002B49;--primary-2:#003B5C;--soft:#EAF7FC;--accent:#35BFEA;--button:#FFD43B;--text:#243746;--muted:#687782;--white:#fff;--green:#2EAD68;--yellow:#F5B942;--red:#D9534F;--border:#dbe8ee;--shadow:0 12px 35px rgba(0,43,73,.08);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:#f6fbfd;color:var(--text)}a{color:inherit;text-decoration:none}.sidebar{position:fixed;left:0;top:0;bottom:0;width:282px;background:var(--primary);color:#d7eff8;padding:22px 18px;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.brand-logo{max-width:88px;max-height:56px;object-fit:contain;background:#fff;border-radius:14px;padding:8px}.brand-mark{width:46px;height:46px;border-radius:16px;background:#fff;color:var(--primary);display:grid;place-items:center;font-weight:800;font-size:28px}.brand-mark.large{width:68px;height:68px;margin:auto;font-size:44px}.brand span{display:block;font-size:12px;color:#a9d3e1;margin-top:4px}.sidebar nav a,.nav-section{display:block;padding:12px 14px;border-radius:16px;margin:4px 0;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.12);color:#fff}.nav-section{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#85b8ca;margin-top:18px}.main{margin-left:282px;min-height:100vh}.topbar{height:90px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar h1{margin:0;color:var(--primary);font-size:24px}.topbar small{color:var(--muted)}.top-actions{display:flex;gap:10px;align-items:center}.content{padding:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:11px 18px;font-weight:800;cursor:pointer;background:#eef6fa;color:var(--primary)}.btn-sm{padding:7px 12px;font-size:12px}.btn-primary{background:var(--button);color:var(--primary)}.btn-light{background:#eef6fa;color:var(--primary)}.btn-danger{background:#ffe7e5;color:#9d2924}.full{width:100%}.icon-btn{position:relative;background:#eef6fa;border:0;border-radius:18px;padding:12px;cursor:pointer}.badge{position:absolute;right:0;top:0;background:var(--red);color:#fff;border-radius:10px;font-size:10px;padding:2px 5px}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;right:0;top:44px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;width:300px;padding:12px}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:10px;border-radius:12px}.dropdown-menu a:hover{background:var(--soft)}.dropdown-menu span{display:block;color:var(--muted);font-size:12px}.card,.stat,.hero-card{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:24px;margin-bottom:22px}.hero-card{background:var(--soft);display:flex;justify-content:space-between;gap:22px;align-items:center;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;right:-80px;top:-80px;width:300px;height:180px;border:10px solid var(--accent);border-radius:50%;opacity:.45}.hero-card span{font-weight:800;color:var(--primary-2)}.hero-card h2{font-size:36px;line-height:1.05;margin:8px 0;color:var(--primary)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat span{display:block;color:var(--muted)}.stat strong{display:block;font-size:34px;color:var(--primary);margin-top:8px}.stat.danger strong{color:var(--red)}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form{display:flex;flex-direction:column;gap:12px}.form.wide{max-width:980px}.form label{font-weight:800;color:var(--primary)}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;font:inherit;background:#fff;color:var(--text)}textarea{resize:vertical}.filters{display:flex;gap:12px;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.pill{background:#eef6fa;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;color:var(--primary)}.sla{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.sla.green{background:#e3f7ec;color:var(--green)}.sla.yellow{background:#fff4d8;color:#a87200}.sla.red{background:#ffe7e5;color:var(--red)}.alert{margin:16px 28px 0;padding:14px 16px;border-radius:16px;font-weight:700}.alert.floating{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:99}.alert-success{background:#e3f7ec;color:#1e7d4b}.alert-danger{background:#ffe7e5;color:#9d2924}.alert-warning{background:#fff4d8;color:#8a6400}.muted{color:var(--muted)}.small{font-size:13px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--soft),#fff);padding:24px}.login-card{width:min(430px,100%);background:#fff;border-radius:30px;box-shadow:var(--shadow);padding:30px;border:1px solid var(--border)}.login-card.compact{max-width:390px}.login-brand{text-align:center;margin-bottom:24px}.login-brand img{max-width:210px;max-height:90px;object-fit:contain}.login-brand h1{margin:14px 0 6px;color:var(--primary)}.oauth-grid{display:grid;gap:10px;margin-top:16px}.code-input{text-align:center;font-size:30px;letter-spacing:.3em}.ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.ticket-head{display:flex;justify-content:space-between;gap:16px}.comment{padding:14px;border-left:4px solid var(--accent);background:#f9fdff;border-radius:14px;margin-bottom:12px}.comment.internal{border-color:var(--yellow);background:#fffaf0}.timeline{display:grid;gap:12px}.timeline>div{border-left:3px solid var(--accent);padding-left:14px}.timeline span{display:block;color:var(--muted);font-size:12px}.kanban{display:grid;grid-template-columns:repeat(7, minmax(240px,1fr));gap:16px;overflow:auto;padding-bottom:10px}.kanban-col{background:#eef6fa;border-radius:22px;padding:14px;min-height:480px}.kanban-col h3{margin:4px 4px 12px;color:var(--primary);font-size:15px}.kanban-card{display:block;background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 6px 18px rgba(0,43,73,.06)}.kanban-card span,.kanban-card small{display:block;margin-top:7px}.kanban-card small{color:var(--muted)}.status-dot:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.status-dot.green:before{background:var(--green)}.status-dot.yellow:before{background:var(--yellow)}code{background:#eef6fa;padding:4px 8px;border-radius:8px}@media(max-width:980px){.sidebar{position:static;width:auto}.main{margin-left:0}.topbar{height:auto;padding:18px;align-items:flex-start;gap:12px;flex-direction:column}.stats-grid,.grid.two,.ticket-layout{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(7, 240px)}.filters{flex-direction:column;align-items:stretch}.hero-card{flex-direction:column;align-items:flex-start}.content{padding:18px}}@media(max-width:560px){.sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sidebar{padding:16px}.brand{align-items:flex-start}.hero-card h2{font-size:28px}.top-actions{flex-wrap:wrap}.card,.stat,.hero-card{padding:18px;border-radius:20px}}

/* Ajuste solicitado: logo maior, acima; nome institucional abaixo */
.sidebar{width:320px}
.main{margin-left:320px}
.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;margin-bottom:30px;padding:14px 10px 18px;border-bottom:1px solid rgba(255,255,255,.14)}
.brand-logo{width:100%;max-width:238px;max-height:150px;object-fit:contain;background:#fff;border-radius:18px;padding:14px}
.brand-mark{width:92px;height:92px;border-radius:24px;font-size:54px}
.brand strong{display:block;font-size:17px;line-height:1.22;color:#fff;margin-top:4px}
.brand span{display:block;font-size:13px;color:#a9d3e1;margin-top:8px}
.login-card{width:min(520px,100%);padding:38px}
.login-brand img{width:100%;max-width:320px;max-height:170px;object-fit:contain}
.login-brand h1{font-size:31px;line-height:1.1}
.login-brand p{font-size:16px;margin:0;color:var(--muted)}
.brand-mark.large{width:116px;height:116px;font-size:76px}
@media(max-width:980px){.sidebar{width:auto}.main{margin-left:0}.brand{max-width:340px;margin-left:auto;margin-right:auto}.brand-logo{max-width:260px}}
@media(max-width:560px){.brand{align-items:center;text-align:center}.brand-logo{max-width:230px;max-height:130px}.login-card{padding:26px}.login-brand img{max-width:260px;max-height:140px}.login-brand h1{font-size:26px}}


/* Correção: o elemento decorativo do hero não pode bloquear o clique no botão */
.hero-card > *{position:relative;z-index:1}
.hero-card:after{pointer-events:none;z-index:0}
.hero-card .btn{position:relative;z-index:2}

/* Importação em lote */
.hero-card.compact h2{font-size:30px}.bulk-grid{align-items:stretch}.import-card{display:flex;flex-direction:column}.import-card.selected{border-color:var(--accent);box-shadow:0 12px 35px rgba(53,191,234,.16)}.import-actions{margin:12px 0}.import-form{margin-top:auto;padding-top:10px;border-top:1px solid var(--border)}.kpis{display:grid;gap:14px;margin:12px 0 22px}.kpis.four{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis div{background:var(--soft);border:1px solid var(--border);border-radius:18px;padding:16px}.kpis span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.kpis strong{display:block;color:var(--primary);font-size:28px;margin-top:6px}.message-list{padding-left:20px}.message-list li{margin-bottom:8px}.warning-list li{color:#8a6400}.error-list li{color:#9d2924}@media(max-width:980px){.kpis.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.kpis.four{grid-template-columns:1fr}}

/* Ajustes administrativos: edição, ativação/inativação e exclusão nos cadastros */
.admin-header-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.page-tools{display:flex;gap:10px;flex-wrap:wrap}.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form{display:inline-flex;margin:0}.pill-success{background:#e3f7ec;color:var(--green)}.pill-muted{background:#eef2f4;color:var(--muted)}.check-row{display:flex!important;align-items:center;gap:10px;font-weight:700!important;color:var(--text)!important}.check-row input{width:auto}.admin-crud-grid .card{align-self:start}.btn-danger:hover{filter:brightness(.98)}@media(max-width:1180px){.admin-crud-grid{grid-template-columns:1fr}.table-actions{min-width:220px}}

/* Ajuste solicitado: Gestão de Usuários com formulário menor e tabela mais larga */
@media (min-width:1221px){
    .users-crud-grid{
        grid-template-columns:minmax(300px,440px) minmax(0,1fr)!important;
        gap:22px;
        align-items:start;
    }
    .users-crud-grid > .card:first-child{
        width:100%;
        max-width:440px;
        padding:22px;
    }
    .users-crud-grid > .card:nth-child(2){
        min-width:0;
    }
    .users-crud-grid .table-wrap{
        overflow-x:auto;
    }
    .users-crud-grid table{
        table-layout:auto;
    }
    .users-crud-grid th:last-child,
    .users-crud-grid td.table-actions{
        width:268px;
        min-width:268px;
    }
    .users-crud-grid .table-actions{
        min-width:268px;
        flex-wrap:nowrap;
        justify-content:flex-start;
    }
}
@media (min-width:1500px){
    .users-crud-grid{
        grid-template-columns:minmax(320px,460px) minmax(0,1fr)!important;
    }
    .users-crud-grid > .card:first-child{
        max-width:460px;
    }
}
@media (max-width:1220px){
    .users-crud-grid{
        grid-template-columns:1fr!important;
    }
}

/* CIDI - Central Inteligente de Demandas Institucionais */
.req{color:#D9534F;font-weight:800}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.tabs a{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:11px 18px;background:#fff;font-weight:800;color:var(--primary);text-decoration:none}.tabs a.active{background:var(--primary);color:#fff;border-color:var(--primary)}.stats-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-card.compact{min-height:auto}.request-steps{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 22px}.request-steps span{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;background:#fff;border:1px solid var(--border);font-weight:800;color:var(--muted)}.request-steps span.active{background:var(--primary);color:#fff}.service-info{border:1px dashed var(--accent);border-radius:18px;background:var(--soft);padding:15px 18px;margin:10px 0}.dynamic-fieldset{border:1px solid var(--border);border-radius:22px;padding:22px;background:#fff;margin:20px 0}.dynamic-fieldset h2{margin-top:0}.dynamic-field{margin:14px 0}.dynamic-field small{display:block;margin-top:6px}.review-box{background:var(--soft);border:1px solid var(--border);border-radius:18px;padding:16px}.response-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.response-grid div{border:1px solid var(--border);border-radius:16px;background:var(--soft);padding:14px}.response-grid span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.response-grid strong{display:block;margin-top:5px;color:var(--text);font-size:15px}.response-grid small{display:block;color:var(--muted);margin-top:5px}.master-grid{grid-template-columns:minmax(280px,420px) minmax(0,1fr)!important}.form-builder-grid{grid-template-columns:minmax(280px,430px) minmax(0,1fr)!important}.table-wrap table td,.table-wrap table th{vertical-align:top}.brand strong{word-break:normal}.brand span{letter-spacing:.02em}.cidi-ticket-form select option[hidden]{display:none}.topbar h1{letter-spacing:.01em}
@media(max-width:1400px){.stats-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.three{grid-template-columns:1fr}.master-grid,.form-builder-grid{grid-template-columns:1fr!important}.response-grid{grid-template-columns:1fr}}
@media(max-width:760px){.stats-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}.request-steps{flex-direction:column}.request-steps span{width:100%}}
