:root{--azul:#0a3463;--azul2:#1764a8;--bg:#f3f7fb;--text:#1f2d3d;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:linear-gradient(180deg,var(--azul),#082747);color:white;padding:18px;overflow:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:700;margin-bottom:24px}.brand img{width:46px;height:46px;object-fit:contain;background:white;border-radius:12px;padding:4px}.brand span{font-size:18px}.sidebar nav a{display:block;color:white;text-decoration:none;padding:12px 14px;border-radius:12px;margin:5px 0}.sidebar nav a:hover{background:rgba(255,255,255,.15)}.content{margin-left:245px;padding:28px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--azul),#1890c8)}.login-card{background:white;width:min(430px,92vw);padding:32px;border-radius:24px;box-shadow:0 25px 60px rgba(0,0,0,.25)}.login-logo{display:block;margin:0 auto 15px;max-width:210px}.login-card h1{text-align:center;margin:0 0 20px}.login-card label,.grid-form label{display:block;font-weight:700;margin:8px 0 5px}input,select,textarea{width:100%;border:1px solid #ccd7e2;border-radius:10px;padding:10px;background:white}textarea{min-height:80px}button,.btn{border:0;border-radius:10px;padding:10px 14px;background:var(--azul2);color:white;text-decoration:none;cursor:pointer;font-weight:700}button:hover,.btn:hover{filter:brightness(.95)}.danger{background:var(--danger);padding:7px 10px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}.card,.panel{background:white;border-radius:18px;padding:20px;box-shadow:0 6px 18px rgba(10,52,99,.08)}.card b{display:block;font-size:34px;color:var(--azul)}.card span{color:#5e7186}.panel{margin-top:18px;overflow:auto}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;align-items:end}.grid-form .full{grid-column:1/-1}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.filters input{max-width:240px}.filters select{max-width:260px}table{width:100%;border-collapse:collapse;margin-top:8px}th,td{padding:10px;border-bottom:1px solid #edf1f5;text-align:left;vertical-align:top}th{background:#f7fafd;color:#36536f}.muted,.hint{color:#61758a}.alerts{margin-bottom:16px}.alert{padding:12px 14px;border-radius:12px;margin-bottom:8px}.alert.sucesso{background:#eaf8ef;color:#176b34}.alert.erro{background:#fdecec;color:#9f1c1c}@media(max-width:800px){.sidebar{position:static;width:auto}.content{margin-left:0}.grid-form{grid-template-columns:1fr}.filters{display:block}.filters>*{margin-bottom:8px;max-width:none!important}}
.link-card{display:block;text-decoration:none;color:inherit;transition:.2s;}
.link-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(15,23,42,.12);}
.extras-kpi{color:inherit;text-decoration:none}
.admin-shell{max-width:1180px;margin:0 auto;padding:28px;}
.admin-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.full{grid-column:1/-1;}
.mt-18{margin-top:18px;}
.muted{color:#64748b;margin-top:-8px;margin-bottom:18px;}
.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.grid-form button{grid-column:1/-1;max-width:220px;}
.danger{background:#dc2626!important;color:white!important;border:0!important;padding:8px 12px;border-radius:8px;cursor:pointer;}
@media(max-width:800px){.grid-form{grid-template-columns:1fr;}}

/* Small helpers used in reports screens */
.hint{color:#64748b;font-size:12px;margin:8px 0 0}
.pagination .btn{padding:8px 12px}

.checklist{border:1px solid #ccd7e2;border-radius:12px;padding:10px;max-height:220px;overflow:auto;background:white}
.checklist.unbounded{max-height:none}
.checklist-header{position:sticky;top:0;background:white;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 0 10px;border-bottom:1px solid #e2e8f0;margin-bottom:6px;z-index:1}
.chk{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;cursor:pointer;user-select:none}
.chk:hover{background:#f1f5f9}
.chk input{width:auto}

/* Dropdown multi-select (setores) */
.ms{position:relative}
.ms-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #ccd7e2;border-radius:10px;background:white;cursor:pointer;font-weight:700}
.ms-btn span{font-weight:700;color:#1f2d3d}
.ms-btn small{font-weight:700;color:#64748b}
.ms-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);background:white;border:1px solid #ccd7e2;border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.14);padding:12px;z-index:10;display:none}
.ms-panel.open{display:block}
.ms-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 10px}
.ms-actions .btn{padding:8px 12px}
.ms-list{max-height:240px;overflow:auto;border:1px solid #e2e8f0;border-radius:12px;padding:8px}
.ms-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#eef2ff;border:1px solid #c7d2fe;color:#1e3a8a;font-weight:700;font-size:12px}
.chip button{background:transparent;border:0;color:#1e3a8a;cursor:pointer;font-weight:900;padding:0 2px}

/* Sidebar grouped navigation */
.nav-group{margin:6px 0}
.nav-group summary{list-style:none;cursor:pointer;padding:12px 14px;border-radius:12px;font-weight:600;user-select:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:hover{background:rgba(255,255,255,.15)}
.nav-sub{padding-left:10px}
.nav-sub a{padding:10px 14px;margin:4px 0;background:rgba(255,255,255,.06)}
.nav-sub a:hover{background:rgba(255,255,255,.15)}

/* Dashboard stat tiles */
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.stats-grid.ficha-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.stat-card{position:relative;border-radius:16px;padding:16px;min-height:92px;color:white;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.10)}
.ficha-tabs .stat-card{border:0;cursor:pointer;width:100%;text-align:left}
.ficha-tabs .stat-card{padding:12px;min-height:76px;border-radius:14px}
.ficha-tabs .stat-card:active{transform:translateY(1px)}
.ficha-tabs .stat-card.active{outline:3px solid rgba(255,255,255,.55);outline-offset:-6px}
.ficha-tabs .stat-num{font-size:32px;line-height:1;margin-bottom:5px}
.ficha-tabs .stat-label{font-size:15px;line-height:1.1;font-weight:900}
.ficha-tabs .hint{font-size:12px;line-height:1.25}
.stat-ico{position:absolute;right:16px;bottom:14px;width:54px;height:54px;opacity:.92;filter:drop-shadow(0 10px 18px rgba(0,0,0,.18))}
.stat-ico svg{width:100%;height:100%}
.stat-ico path,.stat-ico rect,.stat-ico circle{stroke:rgba(255,255,255,.92)}
.stat-card:before{content:"";position:absolute;right:-25px;top:-25px;width:150px;height:150px;border-radius:999px;background:rgba(255,255,255,.16)}
.stat-card:after{content:"";position:absolute;left:-30px;bottom:-30px;width:190px;height:190px;border-radius:999px;background:rgba(0,0,0,.10)}
.stat-num{position:relative;font-size:44px;font-weight:900;letter-spacing:.5px;line-height:1}
.stat-label{position:relative;margin-top:6px;font-weight:800;opacity:.95}
.stat-card.green{background:linear-gradient(135deg,#22c55e,#16a34a)}
.stat-card.orange{background:linear-gradient(135deg,#fb923c,#f97316)}
.stat-card.blue{background:linear-gradient(135deg,#60a5fa,#2563eb)}
.stat-card.green{background:linear-gradient(135deg,#16a34a,#059669)}
.stat-card.orange{background:linear-gradient(135deg,#fbbf24,#f59e0b)}
.stat-card.blue{background:linear-gradient(135deg,#1d4ed8,#2563eb)}
.stat-card.red{background:linear-gradient(135deg,#b91c1c,#e11d48)}
.stat-card.purple{background:linear-gradient(135deg,#7c3aed,#4f46e5)}
.stat-card.teal{background:linear-gradient(135deg,#14b8a6,#0f766e)}
.stat-card.cyan{background:linear-gradient(135deg,#22d3ee,#0ea5e9)}
.stat-card.rose{background:linear-gradient(135deg,#fb7185,#e11d48)}
.stat-card.slate{background:linear-gradient(135deg,#334155,#0f172a)}
.stat-card:focus{outline:2px solid rgba(23,100,168,.35);outline-offset:2px}
@media(max-width:900px){.stats-grid{grid-template-columns:1fr;}}
@media(max-width:900px){.stats-grid.ficha-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Ficha do colaborador */
.ficha-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ficha-title{font-size:28px;font-weight:900;letter-spacing:.2px}
.tabs-bar{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;padding-bottom:10px;margin-bottom:12px}
.tab{background:#eef2ff;border:1px solid #c7d2fe;color:#1e3a8a;border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer}
.tab.active{background:var(--azul2);border-color:var(--azul2);color:white}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 12px}
.search{max-width:520px}
.table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:14px}
.table-wrap table{width:100%;border-collapse:separate;border-spacing:0}
.table-wrap thead th{position:sticky;top:0;background:#f8fafc;z-index:1}
.table-wrap tbody tr:hover{background:#f1f5f9}

/* Pagination blocks used in reports */
.pagination{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.pagination-inner{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* Collapsible sector groups (Colaboradores) */
.setor-index{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 12px}
.setor-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:8px 12px;font-weight:1000;cursor:pointer}
.setor-pill:hover{background:#f8fafc}

.setor-group{border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;background:#fff}
.setor-group+ .setor-group{margin-top:12px}
.setor-group summary{list-style:none;cursor:pointer;user-select:none;padding:12px 14px;font-weight:1000;display:flex;align-items:center;gap:10px}
.setor-group summary::-webkit-details-marker{display:none}
.setor-group summary:hover{background:#f8fafc}
.setor-group .setor-meta{margin-left:auto;color:#64748b;font-weight:900}
.setor-group .setor-body{padding:12px 14px}
.pager{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:12px}
.pager select{width:auto}
.empty{padding:14px;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b}
.toast{position:sticky;top:0;margin:10px 0;padding:10px 12px;border-radius:12px;font-weight:800}
.toast.ok{background:#dcfce7;color:#166534}
.toast.err{background:#fee2e2;color:#991b1b}
.skeleton{display:grid;gap:10px}
.sk-row{height:14px;border-radius:999px;background:linear-gradient(90deg,#e2e8f0,#f1f5f9,#e2e8f0);background-size:200% 100%;animation:sk 1.1s infinite}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Filters layout (reports) */
.filters-grid{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}
.filters-left{display:block}
.filters-row{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;align-items:end}

/* Small status chips */
.tag{display:inline-block;border:1px solid #d7e1eb;background:#f4f7fb;color:#1f2d3d;border-radius:999px;padding:4px 10px;font-weight:700;font-size:12px}
.filters-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.range{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:1100px){.filters-grid{grid-template-columns:1fr;}.filters-row{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.filters-row{grid-template-columns:1fr;}}

/* Escala editor */
.escala-head{position:sticky;top:0;z-index:3;background:var(--bg);padding-bottom:12px}
.escala-head .panel{margin-top:0}
.escala-title{display:flex;gap:12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}
.escala-title h1{margin:0}
.escala-sub{color:#64748b;font-weight:800;margin:0}
.escala-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn-ghost{background:#475569}
.btn-icon{min-width:34px;padding:6px 8px;border-radius:10px}
.btn-soft{background:#e2e8f0;color:#0f172a}
.btn-soft:hover{filter:brightness(.98)}
.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.row-more{position:relative}
.row-more summary{list-style:none;cursor:pointer;user-select:none}
.row-more summary::-webkit-details-marker{display:none}
.row-more-panel{position:fixed;left:0;top:0;background:white;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 16px 40px rgba(15,23,42,.14);padding:10px;min-width:180px;z-index:999}
.row-more-panel button{width:100%;text-align:left;background:transparent;color:#0f172a;border:0;padding:8px 10px;border-radius:10px;font-weight:800;cursor:pointer}
.row-more-panel button:hover{background:#f1f5f9}
.cell-select{min-width:58px;padding:8px 10px;border-radius:10px}
.cell-select.compact{display:none}
.cell-btn{min-width:44px;height:34px;border:1px solid #cbd5e1;border-radius:10px;background:white;color:#0f172a;font-weight:800;cursor:pointer;padding:0 8px}
.cell-btn:hover{background:#f8fafc}
.cell-btn.empty{color:#94a3b8;font-weight:800}
.cell-btn.ferias{background:#ffe8ff;border-color:#f5c2ff}
.cell-btn.licenca{background:#fde6d7;border-color:#f6c8aa}
.cell-btn:focus{outline:2px solid rgba(23,100,168,.35);outline-offset:1px}

/* Escala visualizador (estilo planilha) */
.escala-visual-head{display:flex;gap:14px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.escala-visual-org{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.06em}
.escala-visual-title{font-size:22px;font-weight:900;letter-spacing:.02em}
.escala-visual-sub{margin-top:4px;font-size:12px;color:#0f172a;font-weight:800}
.escala-visual-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.escala-visual-filters label{display:flex;flex-direction:column;gap:6px}

.escala-visual-wrap{max-height:70vh}
.escala-visual-table{border-collapse:collapse;width:max-content;min-width:100%}
.escala-visual-table th,.escala-visual-table td{border:1px solid #1f2937}
.escala-visual-table thead th{background:#eef2ff;font-weight:900;position:sticky;top:0;z-index:3}
.escala-visual-table thead tr:nth-child(2) th{top:34px;background:#e0e7ff;z-index:2}
.escala-visual-table .col-n{min-width:42px;text-align:center;background:#f8fafc;font-weight:900;position:sticky;left:0;z-index:4}
.escala-visual-table .col-nome{min-width:320px;white-space:nowrap;background:#f8fafc;font-weight:900;position:sticky;left:42px;z-index:4}
.escala-visual-table thead .col-n,.escala-visual-table thead .col-nome{z-index:6}
.escala-visual-table .day-num,.escala-visual-table .day-dow{min-width:34px;text-align:center}
.escala-visual-table .wknd{background:#f1f5f9 !important}
.escala-visual-table .cell{min-width:34px;height:28px;text-align:center;font-weight:900;font-size:12px;background:white}
.escala-visual-table .cell.turno{color:#0f172a}
.escala-visual-table .cell.ferias{background:#ffe8ff}
.escala-visual-table .cell.licenca{background:#fde6d7}
.escala-visual-table tfoot td{background:#f8fafc;font-weight:900;position:sticky;bottom:0;z-index:2}
.escala-visual-table .total-label{font-weight:900}

/* Login redesign */
.login-page{background:#1d4ed8}
.login-shell{width:min(1100px,96vw);display:grid;grid-template-columns:1fr 440px;gap:18px;align-items:stretch}
.login-banner{border-radius:24px;background:linear-gradient(135deg, rgba(250,204,21,.92), rgba(251,191,36,.88));box-shadow:0 26px 70px rgba(0,0,0,.22);overflow:hidden;position:relative}
.login-banner:before{content:"";position:absolute;inset:-80px -40px auto auto;width:320px;height:320px;border-radius:999px;background:rgba(255,255,255,.22)}
.login-banner-inner{position:relative;padding:26px;display:flex;flex-direction:column;gap:14px;height:100%}
.login-banner-kicker{font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:rgba(15,23,42,.72);font-size:12px}
.login-banner-h{font-size:44px;line-height:1.05;font-weight:1000;color:#0f172a}
.login-banner-sub{font-weight:900;color:rgba(15,23,42,.78)}
.login-banner-img{width:100%;max-height:520px;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(15,23,42,.25))}
.login-shell .login-card{width:auto;align-self:stretch}
@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-banner{display:none}}

/* Sidebar collapse/expand (persisted via localStorage) */
.sidebar{transition:width .18s ease,padding .18s ease}
.content{transition:margin-left .18s ease}

.sidebar-toggle{margin-left:auto;flex:0 0 auto;min-width:34px;height:34px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:white;font-weight:900;cursor:pointer}
.sidebar-toggle:hover{background:rgba(255,255,255,.18)}

.sidebar-collapsed .sidebar{width:70px;padding:14px 10px}
.sidebar-collapsed .brand{gap:0;justify-content:center;position:relative}
.sidebar-collapsed .brand span{display:none}
.sidebar-collapsed .sidebar-toggle{margin-left:0;position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:0 8px}
.sidebar-collapsed .sidebar nav a{padding:12px 10px;text-align:center}
.sidebar-collapsed .nav-group summary{padding:12px 10px;text-align:center}
.sidebar-collapsed .nav-sub{display:none}
.sidebar-collapsed .content{margin-left:70px}

/* Sidebar icons */
.sidebar nav a{display:flex;align-items:center;gap:10px}
.nav-ico{display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;height:18px;color:rgba(255,255,255,.95)}
.nav-ico svg{width:18px;height:18px;stroke:currentColor}
.nav-group summary{display:flex;align-items:center;gap:10px}
.sidebar nav a.active{background:rgba(255,255,255,.15)}
.nav-sub a.active{background:rgba(255,255,255,.18)}
.sidebar-collapsed .sidebar nav a{justify-content:center}
.sidebar-collapsed .sidebar nav a span:last-child{display:none}
.sidebar-collapsed .nav-group summary{justify-content:center}
.sidebar-collapsed .nav-group summary span:last-child{display:none}

/* Disabled fields (edit toggle screens) */
input:disabled,select:disabled,textarea:disabled{background:#f8fafc;color:#64748b}

/* =========================
   Layout Standardization
   ========================= */

/* Modal */
.modal{position:fixed;inset:0;z-index:1000}
.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}
.modal-card{position:relative;max-width:520px;width:min(520px,92vw);margin:10vh auto 0;background:white;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.28);border:1px solid #e2e8f0;overflow:hidden}
.modal-head{padding:14px 16px;border-bottom:1px solid #eef2f7}
.modal-title{font-weight:1000;font-size:16px}
.modal-body{padding:14px 16px;display:grid;gap:10px}
.modal-msg{color:#0f172a;font-weight:800}
.modal-label{font-weight:900}
.modal-input{width:100%}
.modal-actions{padding:12px 16px;border-top:1px solid #eef2f7;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.modal-open body{overflow:hidden}

/* Softer shadows (dashboard boxes/cards) */
.card,.panel{box-shadow:0 1px 2px rgba(15,23,42,.06),0 12px 30px rgba(15,23,42,.08)}
.stat-card{box-shadow:0 2px 10px rgba(0,0,0,.10),0 18px 40px rgba(15,23,42,.18)}

/* Headings */
h1{margin:0 0 14px;font-size:28px;font-weight:800;letter-spacing:.2px}
h2{margin:0 0 12px;font-size:18px;font-weight:800;letter-spacing:.1px}

/* Generic layout helpers */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.page-head.baseline{align-items:baseline}
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.stack{display:grid;gap:12px}
.center{text-align:center}
.block{width:100%}
.nowrap{white-space:nowrap}
.build{opacity:.6;font-size:12px;margin-top:14px}
.mt-6{margin-top:6px}
.mt-10{margin-top:10px}
.mt-12{margin-top:12px}
.mt-0{margin-top:0!important}
.mb-12{margin-bottom:12px}
.mb-0{margin-bottom:0!important}
.mt-4{margin-top:4px}
.text-sm{font-size:12px}
.pad-0{padding:0!important}
.pt-14{padding-top:14px!important}
.w-auto{width:auto!important}
.minw-110{min-width:110px!important}
.minw-120{min-width:120px!important}
.minw-160{min-width:160px!important}
.minw-170{min-width:170px!important}
.minw-220{min-width:220px!important}
.minw-260{min-width:260px!important}
.minw-58{min-width:58px!important}
.minw-60{min-width:60px!important}
.minw-34{min-width:34px!important}
.minw-90{min-width:90px!important}
.minw-180{min-width:180px!important}
.nowrap-cell{white-space:nowrap}
.inline-block{display:inline-block!important}
.block-left{display:block!important;text-align:left!important}
.w-full-left{width:100%!important;text-align:left!important}
.disabled-link{opacity:.5;pointer-events:none}
.flex-row{display:flex!important}
.flex-wrap{flex-wrap:wrap!important}
.items-center{align-items:center!important}
.gap-6{gap:6px!important}
.gap-8{gap:8px!important}
.gap-10{gap:10px!important}
.maxw-260{max-width:260px!important}
.pxy-6-8{padding:6px 8px!important}
.pxy-6-10{padding:6px 10px!important}
.ml-auto{margin-left:auto!important}
.cursor-pointer{cursor:pointer!important}
.img-contain{width:100%;height:100%;object-fit:contain}
.hero-logo-sm{max-width:260px;max-height:160px}
.section-divider-top{border-top:1px solid #eef2f7}
.row-menu-btn{background:transparent!important;color:#0f172a!important;border:0!important;padding:8px 10px!important;border-radius:10px!important;font-weight:900!important;cursor:pointer!important;box-shadow:none!important}
.row-menu-btn:hover{background:#f8fafc!important}
.danger-text{color:#b42318!important}

/* Alerts (flash messages) */
.alerts{display:grid;gap:10px;margin:0 0 12px}
.alert{border:1px solid #e2e8f0;background:white;border-radius:14px;padding:10px 12px;font-weight:800}
.alert.success,.alert.ok{background:#dcfce7;border-color:#86efac;color:#166534}
.alert.error,.alert.err{background:#fee2e2;border-color:#fecaca;color:#991b1b}
.alert.warning,.alert.warn{background:#fef9c3;border-color:#fde047;color:#854d0e}
.alert.info{background:#dbeafe;border-color:#93c5fd;color:#1e40af}

/* Buttons */
.btn.btn-ghost{background:#475569}
button:disabled{opacity:.5;cursor:not-allowed}

/* Forms */
.form-card{background:white;border-radius:18px;padding:20px;box-shadow:0 6px 18px rgba(10,52,99,.08);border:1px solid #e2e8f0}
.filters{display:grid;grid-template-columns:1fr 260px auto;gap:10px;align-items:end}
.filters button{width:auto}
@media(max-width:800px){.filters{grid-template-columns:1fr}}

.filters-row.cols-4{grid-template-columns:repeat(4,minmax(180px,1fr)) auto;align-items:end}

/* Tables */
.table-card{background:white;border-radius:18px;padding:20px;box-shadow:0 6px 18px rgba(10,52,99,.08);border:1px solid #e2e8f0;overflow:auto}
.table-card h2{margin-bottom:12px}
.table-card .table-wrap{margin-top:0}
.table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:14px}
.table-wrap table{width:100%;border-collapse:separate;border-spacing:0}
.table-wrap th,.table-wrap td{padding:10px 12px;border-bottom:1px solid #eef2f7;vertical-align:top}
.table-wrap thead th{position:sticky;top:0;background:#f8fafc;z-index:1}
.table-wrap tbody tr:hover{background:#f1f5f9}

/* Relatorio de Extras - executive dashboard */
/* Generic KPI cards (used across pages) */
.kpis,.extras-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:12px 0 16px}
.kpi,.extras-kpi{padding:18px;position:relative}
.kpi .kpi-top,.extras-kpi .kpi-top{display:flex;gap:12px;align-items:center}
.kpi .kpi-ico,.extras-kpi .kpi-ico{width:44px;height:44px;border-radius:14px;border:1px solid #e2e8f0;background:linear-gradient(180deg,#ffffff,#f8fafc);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(15,23,42,.06)}
.kpi .kpi-ico svg,.extras-kpi .kpi-ico svg{width:22px;height:22px;stroke:#2563eb}
.kpi .kpi-label,.extras-kpi .kpi-label{font-weight:800;color:#0f172a}
.kpi .kpi-desc,.extras-kpi .kpi-desc{color:#64748b;font-weight:700;font-size:12px;margin-top:2px}
.kpi .kpi-num,.extras-kpi .kpi-num{margin-top:12px;font-size:38px;font-weight:900;letter-spacing:.2px;color:#0f172a}
.kpi-num-sm{font-size:22px!important;line-height:1.2}
.kpi .kpi-sub,.extras-kpi .kpi-sub{margin-top:8px}

.extras-panel{overflow:visible}
.card.outlined{border:1px solid #e2e8f0;box-shadow:none}
.extras-filters{padding:16px}
.extras-filters-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.extras-filters-title{font-weight:900;letter-spacing:.1px}
.extras-btn-apply{min-width:170px}

.extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0 12px}
.extras-table table{min-width:0}
.extras-table.wide table{min-width:920px}
.extras-table thead th{background:#f8fafc}
.extras-table tbody tr:nth-child(even){background:#fbfdff}
.extras-table tbody tr:hover{background:#f1f5f9}
.cell-main{font-weight:800;color:#0f172a}
.cell-sub{margin-top:2px}
.pill-num{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:6px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-weight:800;color:#0f172a}

/* History tables: lighter, denser like Notion/Linear */
.hist-table th,.hist-table td,.permutas-table th,.permutas-table td{padding:8px 10px}
.hist-table thead th,.permutas-table thead th{background:#fbfdff;color:#334155;font-weight:700}
.hist-table tbody tr:nth-child(even),.permutas-table tbody tr:nth-child(even){background:#ffffff}
.hist-table tbody tr:hover,.permutas-table tbody tr:hover{background:#f8fafc}
.hist-table table,.permutas-table table{min-width:0}
.hist-table th,.hist-table td,.permutas-table th,.permutas-table td{white-space:normal}

.hist-table .cell-top,.permutas-table .cell-top{font-weight:400;color:#0f172a}
.hist-table .cell-bottom,.permutas-table .cell-bottom{margin-top:2px}
.hist-table .cell-main,.permutas-table .cell-main{font-weight:400;color:#0f172a}

.hist-table .badge-setor,.permutas-table .badge-setor{font-size:11px;padding:4px 8px;font-weight:700}
.hist-table .badge-setor:before,.permutas-table .badge-setor:before{width:7px;height:7px}
.hist-table .tag,.permutas-table .tag{font-size:11px;padding:3px 8px;font-weight:500;color:#334155;background:#f8fafc;border-color:#e2e8f0}
.hist-table .pill,.permutas-table .pill{padding:4px 8px;font-weight:400;color:#0f172a;border-color:#e2e8f0;background:#fff}
.hist-table .pill-num,.permutas-table .pill-num{padding:4px 8px;min-width:auto;font-weight:400}
.hist-table .actions-cell .btn.btn-sm,.hist-table .actions-cell button.btn-sm,.permutas-table .actions-cell .btn.btn-sm,.permutas-table .actions-cell button.btn-sm{padding:6px 9px;font-weight:700}

@media(max-width:700px){.hist-table th,.hist-table td,.permutas-table th,.permutas-table td{padding:7px 8px}}

/* Compact action cells inside tables */
.actions-cell{white-space:normal}
.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row-actions.tight{gap:6px}
.btn.btn-sm,button.btn-sm{padding:7px 10px;border-radius:10px;font-weight:900}
.btn.btn-xs,button.btn-xs{padding:6px 8px;border-radius:10px;font-weight:900;font-size:12px}
/* Ensure kebab menu works inside table scroll containers */
.table-wrap{overflow:auto}
.row-more{position:relative}
.row-more-panel{z-index:30}

.row-more-panel{min-width:230px;padding:8px;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 18px 44px rgba(15,23,42,.18);backdrop-filter:blur(10px)}
.row-more-panel form,.row-more-panel a{display:block;margin:0}
.row-more-panel form + form,.row-more-panel form + a,.row-more-panel a + form,.row-more-panel a + a,.row-more-panel button + form,.row-more-panel button + a{margin-top:6px}
.row-more-panel a.btn,.row-more-panel button.btn,.row-more-panel button.danger{display:flex!important;align-items:center;gap:10px;width:100%!important;min-height:42px;padding:10px!important;border:0;border-radius:14px;background:transparent;color:#0f172a;text-align:left!important;text-decoration:none;font-size:13px;font-weight:900;line-height:1.15;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}
.row-more-panel a.btn:before,.row-more-panel button.btn:before{content:">";display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:12px;background:#dbeafe;color:#1d4ed8;font-size:13px;font-weight:900;letter-spacing:.04em}
.row-more-panel a.btn:hover,.row-more-panel button.btn:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08)}
.row-more-panel button.danger{color:#991b1b!important;background:transparent!important}
.row-more-panel button.danger:before{content:"!";display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:12px;background:#fee2e2;color:#dc2626;font-size:13px;font-weight:900;letter-spacing:.04em}
.row-more-panel button.danger:hover{background:#fef2f2!important;box-shadow:0 8px 18px rgba(220,38,38,.10)}
.row-more-panel button:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}

.permutas-table .row-more-panel{min-width:230px;padding:8px;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 18px 44px rgba(15,23,42,.18);backdrop-filter:blur(10px)}
.permutas-table .row-more-panel form + form,.permutas-table .row-more-panel form + a,.permutas-table .row-more-panel a + form{margin-top:6px}
.permutas-table .row-more-panel .permuta-menu-item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;width:100%;padding:10px;border:0;border-radius:14px;background:transparent;color:#0f172a;text-align:left;text-decoration:none;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;font-weight:700}
.permutas-table .row-more-panel .permuta-menu-item:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08)}
.permuta-menu-item strong{display:block;font-size:13px;line-height:1.15;font-weight:900;color:#0f172a}
.permuta-menu-item small{display:block;margin-top:2px;font-size:11px;line-height:1.1;font-weight:700;color:#64748b}
.permuta-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;font-size:10px;font-weight:900;letter-spacing:.04em}
.permuta-menu-pdf .permuta-menu-icon{background:#dbeafe;color:#1d4ed8}
.permuta-menu-edit .permuta-menu-icon{background:#dcfce7;color:#15803d}
.permuta-menu-delete{color:#991b1b}
.permuta-menu-delete .permuta-menu-icon{background:#fee2e2;color:#dc2626}
.permuta-menu-delete strong{color:#991b1b}
.permutas-table .row-more-panel .permuta-menu-delete:hover{background:#fef2f2;box-shadow:0 8px 18px rgba(220,38,38,.10)}

/* Responsive table helpers */
.cell-stack{display:grid;gap:2px}
.cell-top{font-weight:800;color:#0f172a}
.cell-bottom{color:#64748b;font-weight:700;font-size:12px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-weight:800;color:#0f172a;white-space:nowrap}
@media(max-width:900px){.hide-sm{display:none!important}}

.badge-setor{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 10px;border:1px solid #e2e8f0;font-weight:800;font-size:12px;white-space:nowrap}
.badge-setor:before{content:"";width:8px;height:8px;border-radius:999px;background:#94a3b8}
.badge-setor.gray{background:#f8fafc;color:#0f172a}
.badge-setor.gray:before{background:#94a3b8}
.badge-setor.orange{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.badge-setor.orange:before{background:#fb923c}
.badge-setor.green{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.badge-setor.green:before{background:#22c55e}
.badge-setor.blue{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.badge-setor.blue:before{background:#3b82f6}
.badge-setor.red{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.badge-setor.red:before{background:#ef4444}

@media(max-width:1100px){.kpis,.extras-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.extras-grid{grid-template-columns:1fr}}
@media(max-width:700px){.kpis,.extras-kpis{grid-template-columns:1fr}.extras-filters{padding:14px}}

/* Dashboard */
.stat-card.dark{background:linear-gradient(135deg,#0f172a,#334155)}
.stat-card .hint{color:rgba(255,255,255,.92)}

/* Variants */
.card.outlined{box-shadow:none;border:1px solid #e2e8f0}
.card.flat{box-shadow:none}
.metric-num{font-size:28px;font-weight:1000;color:var(--azul)}
.metric-label{margin-top:4px;font-weight:800}

.filters-grid.two{grid-template-columns:1fr 1fr;gap:18px}

/* =========================
   Clean UI Pass (global)
   Goal: less bold, less noise, more clarity
   ========================= */

:root{
  --fw-strong:800;
  --fw-semibold:650;
  --fw-medium:550;
  --border:#e2e8f0;
  --muted:#64748b;
  --shadow-card:0 1px 2px rgba(15,23,42,.05),0 10px 24px rgba(15,23,42,.06);
  --font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans","Liberation Sans",sans-serif;
  --text-1:16px;
  --text-2:14px;
  --title-1:26px;
  --title-2:18px;
  --title-3:16px;
  --lh-body:1.45;
}

/* Typography */
body{color:#0f172a;font-family:var(--font-sans);font-size:var(--text-1);line-height:var(--lh-body)}
label{font-weight:var(--fw-semibold)}
.muted{color:var(--muted)}
.hint{color:var(--muted)}
h1{font-weight:var(--fw-strong);font-size:var(--title-1);letter-spacing:.1px;line-height:1.15}
h2{font-weight:var(--fw-strong);font-size:var(--title-2);letter-spacing:.1px;line-height:1.2}
h3{font-weight:var(--fw-semibold);font-size:var(--title-3);letter-spacing:.08px;line-height:1.25}
p,li,td,th,input,select,textarea{font-size:inherit}
small{font-size:var(--text-2)}

/* Common title patterns */
.section-title{font-size:22px;font-weight:var(--fw-strong);letter-spacing:.12px;line-height:1.2}
.section-title.sm{font-size:20px}
.ficha-title{font-size:26px;font-weight:var(--fw-strong);letter-spacing:.12px;line-height:1.15}
.dash-panel-title{font-weight:var(--fw-semibold);letter-spacing:.08px}

/* Surfaces */
.card,.panel,.form-card,.table-card{border:1px solid var(--border)}
.card,.panel{box-shadow:var(--shadow-card)}
.dash-panel{box-shadow:var(--shadow-card)}

/* Buttons */
button,.btn{font-weight:var(--fw-semibold)}
.btn.btn-ghost{font-weight:var(--fw-medium)}
.btn.btn-soft{font-weight:var(--fw-medium)}

/* Tags/badges: smaller + calmer */
.tag{font-weight:var(--fw-medium)}
.tag.status{font-weight:var(--fw-medium)}
.badge-setor{font-weight:var(--fw-semibold)}
.pill,.pill-num{font-weight:var(--fw-medium)}

/* Tables: reduce heavy contrast */
.table-wrap{border-color:var(--border)}
.table-wrap thead th{color:#334155;font-weight:var(--fw-semibold)}
.table-wrap th,.table-wrap td{border-bottom:1px solid #eef2f7}

/* Dashboard cards */
.dash-card-number{font-weight:var(--fw-strong)}
.dash-card-title{font-weight:var(--fw-semibold)}
.dash-panel-title{font-weight:var(--fw-semibold)}
.dash-alert-title{font-weight:var(--fw-semibold)}

/* Colaboradores */
.colab-setor summary{font-weight:var(--fw-semibold)}
.colab-setor-name{font-weight:var(--fw-semibold)}
.colab-setor-badge{font-weight:var(--fw-medium)}
.colab-name{font-weight:var(--fw-semibold)}
.cbadge{font-weight:var(--fw-medium)}

/* Plantao */
.pl2-title{font-weight:var(--fw-semibold)}
.filters-grid.three{grid-template-columns:1fr 1fr 1fr;gap:18px}
@media(max-width:1100px){.filters-grid.two,.filters-grid.three{grid-template-columns:1fr}}

/* Plantao boxes */
.setor-box{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff}
.setor-box-head{background:#0f172a;color:white;padding:10px 12px;font-weight:1000;letter-spacing:.2px}
.setor-box-empty{padding:10px 12px}
.setor-box-body{padding:10px 12px;display:grid;gap:6px}
.name-pill{padding:7px 10px;border:1px solid #eef2f7;border-radius:12px;background:#f8fafc;font-weight:500}

/* Plantao (modern) */
.pl-page{display:block}
.pl-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.pl-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pl-controls{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:10px 0 12px}
.pl-search{flex:1 1 320px}
.pl-filter{flex:0 0 260px;max-width:260px}
.pl-tabs{display:none;gap:8px;align-items:center}
.pl-tab{border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:999px;padding:8px 12px;font-weight:1000;cursor:pointer}
.pl-tab.is-active{background:var(--azul2);border-color:var(--azul2);color:#fff}

.pl-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pl-col{background:transparent}
.pl-col-head{background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid #e2e8f0;border-radius:18px;padding:12px 14px;box-shadow:0 14px 44px rgba(15,23,42,.06)}
.pl-col-head.is-active{border-color:rgba(37,99,235,.35);box-shadow:0 18px 60px rgba(37,99,235,.14)}
.pl-col-kicker{font-size:12px;font-weight:1000;color:#64748b;text-transform:uppercase;letter-spacing:.4px}
.pl-col-title{margin-top:4px;font-size:16px;font-weight:1000;color:#0f172a}
.pl-col-head.is-active .pl-col-title{color:var(--azul)}
.pl-col-sub{margin-top:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#475569;font-weight:800}
.pl-cal{display:inline-flex;width:18px;height:18px;color:var(--azul2)}
.pl-cal svg{width:18px;height:18px;stroke:currentColor}
.pl-dot{opacity:.55}
.pl-col-body{margin-top:10px;display:grid;gap:10px}

.pl-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pl-summary-item{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:10px 12px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.pl-summary-num{font-weight:1000;font-size:20px;color:#0f172a}
.pl-summary-label{margin-top:2px;color:#64748b;font-size:12px;font-weight:900}
.pl-summary-sub{margin-top:6px;color:#0f172a;font-weight:1000;font-size:12px}

.pl-setor-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 14px 44px rgba(15,23,42,.06);overflow:hidden;transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease}
.pl-setor-card:hover{transform:translateY(-1px);box-shadow:0 18px 60px rgba(15,23,42,.10);border-color:#cbd5e1}
.pl-setor-card.is-empty{background:#f8fafc;border-color:#e2e8f0}
.pl-setor-card.is-empty .pl-setor-ico{background:#fee2e2;border-color:#fecaca}
.pl-setor-card.is-empty .pl-setor-ico svg{stroke:#b91c1c}
.pl-setor-card.is-ok .pl-setor-ico{background:#dbeafe;border-color:#bfdbfe}
.pl-setor-head{display:flex;gap:10px;align-items:flex-start;padding:12px 12px 10px}
.pl-setor-ico{width:40px;height:40px;border-radius:14px;border:1px solid #e2e8f0;display:grid;place-items:center}
.pl-setor-ico svg{width:20px;height:20px;stroke:#1e40af}
.pl-setor-title{font-weight:1000;color:#0f172a}
.pl-setor-sub{margin-top:2px;color:#64748b;font-weight:900;font-size:12px}
.pl-warn-ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#fef9c3;color:#854d0e;font-weight:1000;margin-right:6px}
.pl-setor-body{border-top:1px solid #eef2f7;padding:10px 12px 12px}

.pl-badges{display:flex;flex-wrap:wrap;gap:8px}
.pl-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#0f172a;font-weight:900;max-width:100%}
.pl-badge:hover{background:#f8fafc}
.pl-avatar{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:12px;font-weight:1000;flex:0 0 auto}
.pl-badge-name{white-space:normal;word-break:break-word;font-weight:900}

@media(max-width:1100px){
  .pl-cols{grid-template-columns:1fr}
  .pl-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .pl-tabs{display:flex}
  .pl-cols{grid-template-columns:1fr}
  .pl-filter{flex:1 1 220px;max-width:none}
}
@media(max-width:520px){
  .pl-actions .tag{display:none}
}

/* Plantao (simple / fast reading) */
.pl2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.pl2-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pl2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pl2-col{border-radius:18px;box-shadow:0 10px 28px rgba(15,23,42,.06);overflow:hidden;border:1px solid rgba(15,23,42,.06)}
.pl2-col.is-prev{background:#f8fafc}
.pl2-col.is-cur{background:#eff6ff;border-color:#bfdbfe;box-shadow:0 14px 36px rgba(37,99,235,.10)}
.pl2-col.is-next{background:#f5faff}
.pl2-col-head{padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.06);background:transparent}
.pl2-title{font-weight:900;color:#0f172a}
.pl2-col.is-cur .pl2-title{color:#1e40af}
.pl2-sub{margin-top:4px;color:#64748b;font-weight:600;font-size:12px}
.pl2-list{padding:14px 16px;display:grid;gap:14px}
.pl2-setor{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px 12px}
.pl2-setor-name{font-weight:600;color:#0f172a;margin-bottom:10px}
.pl2-setor.is-empty{background:#fff1f1;border:1px solid rgba(185,28,28,.12);border-radius:14px;padding:12px 12px}
.pl2-setor.is-empty .pl2-setor-name{margin:0 0 6px}
.pl2-empty{color:#7f1d1d;font-weight:600;font-size:12px}
.pl2-people{display:flex;flex-direction:column;gap:10px}
.pl2-person{display:flex;align-items:center;gap:10px}
.pl2-initials{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.18);color:#1e40af;font-weight:700;font-size:11px;flex:0 0 auto}
.pl2-col.is-prev .pl2-initials{background:rgba(15,23,42,.06);border-color:rgba(15,23,42,.10);color:#0f172a}
.pl2-col.is-next .pl2-initials{background:rgba(37,99,235,.06)}
.pl2-setor.is-empty .pl2-initials{background:rgba(185,28,28,.08);border-color:rgba(185,28,28,.16);color:#991b1b}
.pl2-name{font-weight:400;color:#0f172a}
@media(max-width:1100px){.pl2-grid{grid-template-columns:1fr}}

/* Colaboradores (SaaS) */
.colabs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.colabs-actions{display:flex;gap:10px;align-items:center}
.colabs-panel{background:transparent}
.colabs-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px;background:linear-gradient(135deg,#eff6ff,#ffffff 48%,#f8fbff);border-color:#dbeafe;overflow:hidden}
.colabs-hero-kicker,.ficha-hero-kicker,.users-hero-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#2563eb}
.colabs-hero h2,.users-hero h2{margin:8px 0 10px}
.colabs-actions-hero{flex-wrap:wrap;justify-content:flex-end}
.colabs-overview-grid,.ficha-overview-grid,.users-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 16px}
.ficha-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.users-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.colabs-overview-card,.ficha-overview-card,.users-overview-card{padding:18px;border-radius:20px;position:relative;overflow:hidden}
.colabs-overview-card strong,.ficha-overview-card strong,.users-overview-card strong{display:block;font-size:34px;line-height:1;font-weight:1000;color:#fff}
.colabs-overview-card span,.ficha-overview-card span,.users-overview-card span{display:block;margin-top:8px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.92)}
.colabs-overview-card:before,.ficha-overview-card:before,.users-overview-card:before{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:999px;background:rgba(255,255,255,.12)}
.colabs-overview-card-blue,.ficha-overview-card-blue,.users-overview-card-blue{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}
.colabs-overview-card-green,.ficha-overview-card-green,.users-overview-card-green{background:linear-gradient(135deg,#16a34a,#22c55e)}
.colabs-overview-card-slate,.ficha-overview-card-slate{background:linear-gradient(135deg,#334155,#0f172a)}
.ficha-overview-card-orange{background:linear-gradient(135deg,#f59e0b,#f97316)}
.colabs-filters{background:rgba(255,255,255,.92);border:1px solid #e2e8f0;border-radius:18px;padding:14px 14px 12px;box-shadow:0 10px 34px rgba(15,23,42,.06)}
.colabs-filters-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:end}
.colabs-filters label{display:block;font-weight:900;margin:0 0 6px;color:#0f172a}
.colabs-filters-meta{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.colabs-filters-actions{display:flex;gap:10px;align-items:center}

.colabs-index{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.colabs-chip{display:inline-flex;align-items:center;gap:10px;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:8px 12px;font-weight:1000;cursor:pointer}
.colabs-chip small{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-weight:1000}
.colabs-chip:hover{background:#f8fafc}

.colab-setor{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 14px 44px rgba(15,23,42,.06);overflow:visible;margin:12px 0}
.colab-setor summary{list-style:none;cursor:pointer;padding:14px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:1000}
.colab-setor summary::-webkit-details-marker{display:none}
.colab-setor summary:hover{background:#f8fafc}
.colab-setor-left{display:flex;align-items:center;gap:10px}
.colab-setor-ico{width:34px;height:34px;border-radius:14px;display:grid;place-items:center;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}
.colab-setor-ico svg{width:18px;height:18px;stroke:currentColor}
.colab-setor-name{font-weight:1000;color:#0f172a}
.colab-setor-badge{font-size:12px;font-weight:1000;color:#1e40af;border:1px solid #bfdbfe;background:#eff6ff;border-radius:999px;padding:6px 10px}
.colab-setor-body{padding:14px 14px 16px;border-top:1px solid #eef2f7;overflow:visible}

.colab-cards{display:grid;grid-template-columns:1fr;gap:12px}
.colab-card{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:10px 12px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.colab-card:hover{border-color:#cbd5e1;box-shadow:0 14px 40px rgba(15,23,42,.10)}
.users-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px;background:linear-gradient(135deg,#eff6ff,#ffffff 48%,#f8fbff);border-color:#dbeafe}
.users-table-card,.users-form-card{overflow:visible}
.users-form-spotlight{background:linear-gradient(180deg,#eff6ff 0%,#ffffff 48%,#f8fbff 100%);border-color:#dbeafe}
.users-form-banner{padding:20px;border-radius:20px;background:linear-gradient(135deg,#1d4ed8,#3b82f6);color:#fff;box-shadow:0 18px 40px rgba(37,99,235,.18)}
.users-form-banner h2{margin:8px 0;color:#fff}
.users-form-banner .muted{margin:0;color:rgba(255,255,255,.9)}
.ficha-hero{padding:22px;background:linear-gradient(135deg,#eff6ff,#ffffff 48%,#f8fbff);border-color:#dbeafe}
.ficha-header-hero{margin-bottom:0}
.ficha-hero-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.ficha-hero-actions{display:flex;gap:10px;align-items:center}
.ficha-main-panel{overflow:visible}
.ficha-dados-card{border:1px solid #dbeafe;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.ficha-dados-actions{padding:12px 14px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe}
.colab-avatar{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-weight:1000}
.colab-main{min-width:0;flex:1 1 auto}
.colab-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.colab-name{font-weight:600;color:#0f172a;line-height:1.15}
.colab-meta{margin-top:4px;color:#64748b;font-weight:400;font-size:12px;display:flex;gap:8px;flex-wrap:wrap}
.colab-dot{display:inline-flex;align-items:center;gap:6px;opacity:.9}
.colab-dot::before{content:'';width:4px;height:4px;border-radius:999px;background:#cbd5e1}
.colab-dot.danger{color:#991b1b}
.colab-dot.danger::before{background:#f87171}
.colab-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:8px;margin-left:auto}
.colab-actions{display:flex;align-items:center;gap:8px;position:relative}
.kebab{border:1px solid #e2e8f0;background:#fff;color:#0f172a;border-radius:12px;width:36px;height:36px;font-weight:1000;cursor:pointer;line-height:1}
.kebab:hover{background:#f8fafc}
.kebab-menu{position:absolute;right:0;top:40px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.14);padding:8px;min-width:160px;z-index:50}
.kebab-menu .btn{width:100%;text-align:left}

.cbadge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;font-weight:800;font-size:11px;border:1px solid #e2e8f0}

.btn.btn-outline{background:transparent;border:1px solid #bfdbfe;color:#1e40af}
.btn.btn-outline:hover{background:#eff6ff}
.btn.btn-outline .ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}
.btn.btn-outline svg{width:18px;height:18px;stroke:currentColor}
.cbadge.tone-green{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.cbadge.tone-amber{background:#fffbeb;border-color:#fde68a;color:#854d0e}
.cbadge.tone-red{background:#fff1f2;border-color:#fecaca;color:#991b1b}
.cbadge.tone-blue{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.cbadge.tone-slate{background:#f8fafc;border-color:#cbd5e1;color:#334155}

@media(max-width:1100px){.colab-cards{grid-template-columns:1fr}.colabs-filters-grid{grid-template-columns:1fr 1fr;}.colabs-filters-meta{align-items:flex-start}}
@media(max-width:980px){.colabs-overview-grid,.ficha-overview-grid,.users-overview-grid{grid-template-columns:1fr 1fr}.colabs-hero,.users-hero,.ficha-hero{flex-direction:column}.colabs-actions-hero{justify-content:flex-start}}
@media(max-width:640px){.colabs-head{flex-direction:column}.colabs-actions{width:100%;flex-wrap:wrap}.colabs-actions .btn{flex:1 1 100%}.colabs-filters-grid{grid-template-columns:1fr}.colabs-filters-meta{align-items:stretch}.colab-side{align-items:flex-start}.colab-topline{align-items:flex-start}.colabs-overview-grid,.ficha-overview-grid,.users-overview-grid{grid-template-columns:1fr}}

/* Common sizing / layout patterns used in forms */
.panel.narrow{max-width:760px;margin-inline:auto}
.grid-form.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.actions-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.panel.compact{padding:16px}
.section-title{font-size:22px;font-weight:900;letter-spacing:.2px}
.section-title.sm{font-size:20px}
.fw-900{font-weight:900}
.mr-8{margin-right:8px}

/* Final danger override (some templates use .danger on buttons/links) */
.danger{background:#dc2626!important;color:white!important;border:0!important;padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:900}

/* Theme tweak: match sidebar to Extras blue card */
:root{--azul:#1d4ed8;--azul2:#2563eb}
.sidebar{background:#1e3a8a}
.login-page{background:#1d4ed8}

/* Bigger logo on login screen */
.login-logo{max-width:320px}

/* Dashboard (SaaS-style) */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.page-subtitle{margin-top:6px;margin-bottom:0;color:#64748b;font-size:14px;font-weight:700;line-height:1.45;max-width:72ch}
.section-intro{margin:0 0 14px;color:#64748b;font-size:14px;font-weight:700;line-height:1.45}
.form-actions-primary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:4px}
.cadastro-callout{padding:18px 20px;background:linear-gradient(135deg,#ffffff,#f8fbff)}
.cadastro-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}
.cadastro-shell-single{grid-template-columns:280px minmax(0,1fr)}
.cadastro-side{position:sticky;top:88px}
.cadastro-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:1000;color:#64748b;margin-bottom:10px}
.cadastro-summary{display:grid;gap:10px;margin-top:14px}
.cadastro-summary div{padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fbff}
.cadastro-summary span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:900}
.cadastro-summary strong{display:block;margin-top:6px;color:#0f172a;font-size:14px;line-height:1.35}
.cadastro-form{padding:22px}
.cadastro-section-head{grid-column:1/-1;padding-bottom:2px;border-bottom:1px solid #eef2f7;margin-bottom:4px}
.cadastro-section-head h2{margin:0 0 4px}
.compact-head{margin-top:6px}
.collaborator-create-shell{align-items:start}
.collaborator-spotlight{margin-top:0;background:linear-gradient(180deg,#eff6ff 0%,#ffffff 48%,#f8fbff 100%);border-color:#dbeafe;overflow:hidden}
.collaborator-spotlight:before{content:"";display:block;height:6px;margin:-20px -20px 18px;border-radius:18px 18px 0 0;background:linear-gradient(90deg,#2563eb,#60a5fa,#93c5fd)}
.collaborator-spotlight-kicker,.collaborator-create-banner-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#2563eb}
.collaborator-spotlight h2{margin-bottom:8px}
.collaborator-spotlight-list{display:grid;gap:10px;margin-top:18px}
.collaborator-spotlight-list div{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.9);border:1px solid #dbeafe;box-shadow:0 10px 24px rgba(37,99,235,.08)}
.collaborator-spotlight-list span{display:block;font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.collaborator-spotlight-list strong{display:block;margin-top:4px;font-size:15px;color:#0f172a}
.collaborator-create-form{gap:18px;padding:24px}
.collaborator-create-form input,.collaborator-create-form select{min-height:46px;border-radius:14px;padding:12px 14px}
.collaborator-create-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px;border-radius:20px;background:linear-gradient(135deg,#1d4ed8,#3b82f6);color:#fff;box-shadow:0 18px 40px rgba(37,99,235,.18)}
.collaborator-create-banner h2{margin:6px 0 8px;color:#fff}
.collaborator-create-banner .muted{margin:0;color:rgba(255,255,255,.88)}
.collaborator-mini-stats{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;min-width:min(280px,100%)}
.collaborator-mini-card{padding:14px 16px;border-radius:18px;color:#fff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.14);backdrop-filter:blur(6px)}
.collaborator-mini-card strong{display:block;font-size:28px;line-height:1;font-weight:1000}
.collaborator-mini-card span{display:block;margin-top:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.9)}
.collaborator-mini-card-green{background:linear-gradient(135deg,rgba(34,197,94,.44),rgba(22,163,74,.58))}
.collaborator-mini-card-blue{background:linear-gradient(135deg,rgba(96,165,250,.3),rgba(37,99,235,.4))}
.collaborator-form-note{padding:14px 16px;border-radius:16px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;font-weight:700}
.collaborator-create-actions{padding-top:4px}
.checklist-grid.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}
.checklist-grid.permissions-grid .chk{margin:0}
@media(max-width:980px){.cadastro-shell,.cadastro-shell-single{grid-template-columns:1fr}.cadastro-side{position:static}.checklist-grid.permissions-grid{grid-template-columns:1fr}}
@media(max-width:980px){.collaborator-create-banner{flex-direction:column}.collaborator-mini-stats{width:100%;min-width:0}}
@media(max-width:700px){.collaborator-create-form{padding:18px}.collaborator-mini-stats{grid-template-columns:1fr}.collaborator-spotlight:before{margin:-20px -20px 16px}}
.dash-filters{background:rgba(255,255,255,.92);border:1px solid #e2e8f0;border-radius:18px;padding:14px 14px 12px;box-shadow:0 10px 34px rgba(15,23,42,.06)}
.dash-filters-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dash-filters label{display:block;font-weight:900;margin:0 0 6px;color:#0f172a}
.dash-filters-actions{display:flex;gap:10px;align-items:center;margin-top:12px}

.dash-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:14px;justify-content:center}
.dash-cards>.dash-card{justify-self:center}
.dash-cards>.dash-card{width:100%}
@media(min-width:1100px){.dash-cards{grid-template-columns:repeat(6,170px)}}
.dash-card{display:block;text-decoration:none;color:inherit;border-radius:20px;padding:14px 14px 12px;border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 44px rgba(15,23,42,.10);position:relative;overflow:hidden;min-height:118px}
.dash-card:before{content:"";position:absolute;inset:-60px -60px auto auto;width:180px;height:180px;border-radius:999px;background:rgba(255,255,255,.14)}
.dash-card:after{content:"";position:absolute;inset:auto auto -70px -60px;width:220px;height:220px;border-radius:999px;background:rgba(0,0,0,.10)}
.dash-card-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}
.dash-card-icon{width:34px;height:34px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18)}
.dash-card-icon svg{width:20px;height:20px;stroke:rgba(255,255,255,.95)}
.dash-card-number{position:relative;font-size:30px;font-weight:1000;letter-spacing:-.6px;color:white}
.dash-card-title{position:relative;margin-top:10px;font-weight:1000;color:white}
.dash-card-desc{position:relative;margin-top:4px;font-size:12px;color:rgba(255,255,255,.92);font-weight:700}
.dash-card:hover{filter:brightness(.98);transform:translateY(-1px);transition:.15s}

.tone-blue{background:linear-gradient(135deg,#1d4ed8,#2563eb)}
.tone-green{background:linear-gradient(135deg,#16a34a,#059669)}
.tone-amber{background:linear-gradient(135deg,#f59e0b,#d97706)}
.tone-red{background:linear-gradient(135deg,#e11d48,#b91c1c)}
.tone-indigo{background:linear-gradient(135deg,#4f46e5,#2563eb)}
.tone-slate{background:linear-gradient(135deg,#0f172a,#334155)}
.tone-purple{background:linear-gradient(135deg,#7c3aed,#4f46e5)}

.dash-grid-2{display:grid;grid-template-columns:1.4fr .6fr;gap:12px;margin-top:12px}
.dash-grid-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.dash-panel{background:white;border-radius:18px;border:1px solid #e2e8f0;box-shadow:0 14px 44px rgba(15,23,42,.06);overflow:hidden}
.dash-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 14px 10px;background:linear-gradient(180deg,#ffffff,#f8fafc)}
.dash-panel-title{font-weight:700;color:#0f172a}
.dash-panel-sub{font-size:12px;color:#64748b;margin-top:2px}
.dash-panel-body{padding:12px 14px 14px}

.dash-table-tools{display:flex;gap:10px;align-items:center}
.dash-search{min-width:220px;max-width:280px}
.dash-table-wrap{max-height:290px;overflow:auto}
.dash-table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid #e2e8f0}
.dash-pager{display:flex;align-items:center;gap:10px}
.dash-pager .btn{padding:8px 12px}

.dash-alerts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dash-alert{display:block;text-decoration:none;color:inherit;border:1px solid #e2e8f0;border-radius:16px;padding:12px;position:relative;overflow:hidden;background:#ffffff}
.dash-alert:hover{background:#f8fafc}
.dash-alert-title{font-weight:900;color:#0f172a}
.dash-alert-desc{margin-top:4px;font-size:12px;color:#64748b;font-weight:700}
.dash-alert-num{position:absolute;right:12px;top:12px;font-weight:1000}
.dash-alert.tone-red{border-color:#fecaca;background:#fff1f2}
.dash-alert.tone-amber{border-color:#fde68a;background:#fffbeb}
.dash-alert.tone-blue{border-color:#bfdbfe;background:#eff6ff}
.dash-alert.tone-green{border-color:#bbf7d0;background:#f0fdf4}

.tag.status{font-weight:800;border-radius:999px;padding:4px 10px;font-size:12px}
.tag.status.ok{background:#dcfce7;border-color:#86efac;color:#166534}
.tag.status.warn{background:#fef9c3;border-color:#fde047;color:#854d0e}
.tag.status.bad{background:#fee2e2;border-color:#fecaca;color:#991b1b}

@media(max-width:1100px){
  .dash-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dash-filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash-alerts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash-grid-2{grid-template-columns:1fr}
}
@media(max-width:640px){
  .dash-cards{grid-template-columns:1fr}
  .dash-grid-4{grid-template-columns:1fr}
  .dash-search{min-width:0;max-width:none;width:100%}
  .dash-panel-head{flex-direction:column;align-items:stretch}
}

/* =========================
   Topbar + Content Frame
   ========================= */
.topbar{position:fixed;left:0;right:0;top:0;height:56px;background:linear-gradient(90deg,#3b82f6,#2563eb);color:white;z-index:40;box-shadow:0 8px 24px rgba(2,6,23,.18)}
.topbar-inner{height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px}
.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}
.topbar-logo{width:34px;height:34px;border-radius:10px;background:white;padding:4px;object-fit:contain}
.topbar-title{display:flex;flex-direction:column;gap:1px;min-width:0}
.topbar-app{font-weight:1000;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-sub{font-size:12px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-right{display:flex;align-items:center;gap:10px}
.topbar-link{color:white;text-decoration:none;font-weight:900;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.12)}
.topbar-link:hover{background:rgba(255,255,255,.18)}

/* Push app content below topbar */
.sidebar{top:56px}
.content{padding-top:76px}

/* Centered white frame for pages */
.content-frame{max-width:1260px;margin:0 auto;background:white;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(2,6,23,.08)}

/* Admin central: unidades */
.admin-unidades-page{background:#eef4fb;min-height:100vh}
.admin-center-sidebar .brand{margin-bottom:14px}.admin-center-sidecopy{color:rgba(255,255,255,.78);font-size:12px;line-height:1.45;font-weight:800;margin:0 4px 18px}
.admin-logo-preview-wrap{margin-top:14px;padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;display:inline-flex;align-items:center;justify-content:center;min-width:180px;min-height:120px}.admin-logo-preview{max-width:220px;max-height:90px;object-fit:contain}

/* Unit logos: keep a consistent presentation regardless of original aspect ratio */
.topbar-logo,.brand img,.login-logo,.hero-logo-sm,.admin-logo-preview{object-fit:contain;object-position:center;background:#fff}
.topbar-logo,.brand img{aspect-ratio:1/1}
.topbar-logo{width:36px;height:36px;padding:5px;border-radius:12px;box-shadow:0 2px 8px rgba(15,23,42,.08)}
.brand img{width:52px;height:52px;padding:5px;border-radius:14px;box-shadow:0 4px 14px rgba(15,23,42,.08)}
.login-logo{width:min(320px,72%);height:120px;max-width:none;max-height:none;padding:10px;border-radius:18px;background:rgba(255,255,255,.92)}
.hero-logo-sm{width:min(260px,100%);height:112px;max-width:none;max-height:none;padding:10px;border-radius:18px;background:#fff}
.admin-logo-preview-wrap{min-width:220px;min-height:140px;background:linear-gradient(180deg,#fff,#f8fafc)}
.admin-logo-preview{width:220px;height:92px;max-width:none;max-height:none;padding:8px;border-radius:14px;background:#fff}
.admin-unidades{display:grid;gap:18px}
.admin-hero{position:relative;overflow:hidden;border-radius:28px;padding:28px;background:#0a4b86;color:white;box-shadow:0 22px 60px rgba(8,39,71,.22);display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.admin-hero:after{content:"";position:absolute;right:-70px;bottom:-90px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.12)}
.admin-hero>*{position:relative;z-index:1}
.admin-hero h1{margin:8px 0 8px;font-size:34px;line-height:1.08;letter-spacing:-.03em}
.admin-hero p{margin:0;max-width:680px;color:rgba(255,255,255,.82);font-weight:800}
.admin-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:1000;color:#facc15}
.admin-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.admin-metric{background:white;border:1px solid #dbe7f3;border-radius:20px;padding:16px;box-shadow:0 10px 30px rgba(10,52,99,.08)}
.admin-metric span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.admin-metric strong{display:block;margin-top:6px;font-size:30px;line-height:1;color:#0f172a}
.admin-metric.ok strong{color:#15803d}.admin-metric.off strong{color:#b45309}.admin-metric.blocked strong{color:#b91c1c}.admin-metric.domain strong{font-size:18px;word-break:break-word;color:#0a3463}
.admin-grid{display:grid;grid-template-columns:minmax(360px,440px) 1fr;gap:18px;align-items:start}
.admin-grid.admin-grid-wide{grid-template-columns:1fr}
.admin-unit-form,.admin-units-card,.admin-unit-models{background:white;border:1px solid #dbe7f3;border-radius:24px;padding:20px;box-shadow:0 16px 45px rgba(10,52,99,.10)}
.admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.admin-card-head h2{margin:0;font-size:21px;letter-spacing:-.02em;color:#0f172a}
.admin-card-head p{margin:5px 0 0;color:#64748b;font-weight:700;font-size:13px}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.admin-form-grid label{display:block;margin-bottom:6px;font-weight:900;color:#0f172a}
.admin-form-grid .span-2{grid-column:1/-1}
.admin-check-row{border:1px dashed #cbd5e1;border-radius:14px;padding:8px;background:#f8fafc}
.admin-section-label{margin-top:4px;padding-top:14px;border-top:1px solid #e2e8f0;color:#0a3463;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.admin-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.admin-form-actions .btn,.admin-form-actions button{max-width:none}
.admin-search-row{margin-bottom:14px}.admin-search-row input{background:#f8fafc;border-color:#dbe7f3;font-weight:800}
.admin-unit-list{display:grid;gap:10px;max-height:640px;overflow:auto;padding-right:4px}
.admin-unit-item{border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;transition:.16s ease}
.admin-unit-item:hover{border-color:#bfdbfe;background:#f8fbff;transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.08)}
.admin-unit-main{display:flex;align-items:center;gap:12px;min-width:0}
.admin-unit-avatar{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a3463,#1764a8);color:white;font-weight:1000;letter-spacing:.02em;flex:0 0 auto}
.admin-unit-main h3{margin:0;color:#0f172a;font-size:17px;line-height:1.18}.admin-unit-meta{margin-top:3px;color:#64748b;font-weight:800;font-size:13px}.admin-unit-access{margin-top:6px;color:#0a3463;font-weight:900;font-size:13px;word-break:break-all}.admin-unit-blocked-reason{margin-top:8px;color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:10px;padding:7px 9px;font-size:12px;font-weight:800}
.admin-unit-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.btn-sm{padding:7px 10px;font-size:12px;border-radius:9px}
.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:1000}.status-pill:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor}.status-pill.on{background:#dcfce7;color:#166534}.status-pill.off{background:#ffedd5;color:#9a3412}.status-pill.blocked{background:#fee2e2;color:#991b1b}
.admin-empty{padding:24px;border:1px dashed #cbd5e1;border-radius:18px;text-align:center;color:#64748b;font-weight:900;background:#f8fafc}
.admin-unit-models{margin-top:18px}.admin-models-list{display:grid;gap:10px}.admin-model-item{border:1px solid #e2e8f0;border-radius:18px;padding:14px;display:grid;gap:10px;background:#fff}.admin-model-title{font-size:15px;font-weight:1000;color:#0f172a}.admin-model-file{margin-top:4px;color:#0a3463;font-weight:800;font-size:12px;word-break:break-all}.admin-model-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}.admin-model-origin{font-size:12px;color:#64748b;font-weight:800}.admin-model-actions{display:grid;gap:8px}.admin-model-upload{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-model-upload input[type=file]{max-width:100%;padding:8px;background:#f8fafc}
.admin-dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.admin-priority-list{display:grid;gap:10px}.admin-priority-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}.admin-priority-title{font-size:15px;font-weight:1000;color:#0f172a}.admin-priority-sub{margin-top:4px;color:#64748b;font-size:12px;font-weight:800}.admin-priority-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.admin-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-quick-card{display:block;text-decoration:none;color:inherit;padding:16px;border:1px solid #dbe7f3;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 8px 24px rgba(10,52,99,.06);transition:.16s ease}.admin-quick-card:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 14px 30px rgba(10,52,99,.10)}.admin-quick-title{font-size:15px;font-weight:1000;color:#0f172a}.admin-quick-desc{margin-top:6px;color:#64748b;font-size:12px;font-weight:800;line-height:1.4}
@media(max-width:980px){.admin-grid{grid-template-columns:1fr}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-unit-list{max-height:none}}
@media(max-width:980px){.admin-dashboard-grid{grid-template-columns:1fr}.admin-quick-grid{grid-template-columns:1fr}}
@media(max-width:640px){.admin-shell{padding:16px}.admin-hero{padding:22px}.admin-hero h1{font-size:28px}.admin-metrics{grid-template-columns:1fr}.admin-form-grid{grid-template-columns:1fr}.admin-unit-item,.admin-priority-item{align-items:flex-start;flex-direction:column}.admin-unit-actions,.admin-priority-meta{justify-content:flex-start}.admin-hero-actions .btn{width:100%;text-align:center}}
.blocked-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a3463}
.blocked-card{width:min(520px,94vw);background:white;border-radius:28px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28);text-align:center;border:1px solid #fee2e2}

/* =========================
   Professional polish pass
   ========================= */

:root{
  --app-bg:#eef4fb;
  --panel-bg:#ffffff;
  --panel-border:#dbe7f3;
  --shadow-soft:0 1px 2px rgba(15,23,42,.05),0 18px 40px rgba(15,23,42,.07);
  --shadow-hover:0 8px 22px rgba(15,23,42,.10),0 24px 48px rgba(15,23,42,.08);
  --radius-xl:22px;
  --radius-lg:18px;
  --radius-md:14px;
}
body{background:#eef4fb}
.topbar{background:#1d4ed8}
.topbar-link{border:1px solid rgba(255,255,255,.18)}
.sidebar{background:#1e3a8a;box-shadow:8px 0 30px rgba(15,23,42,.14)}
.sidebar nav a,.nav-group summary{font-weight:600;letter-spacing:.08px}
.sidebar nav a.active,.nav-sub a.active{background:rgba(255,255,255,.20);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.content{padding:78px 22px 26px}
.content-frame{background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:0 20px 48px rgba(15,23,42,.08);padding:22px;border-radius:26px}
.card,.panel,.form-card,.table-card,.dash-panel,.colabs-filters,.manager-strip{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow-soft)}
.card:hover,.dash-panel:hover,.link-card:hover{box-shadow:var(--shadow-hover)}
button,.btn{min-height:42px;border-radius:12px;box-shadow:0 6px 16px rgba(37,99,235,.12)}
.btn-soft,.btn-ghost,.btn-outline{box-shadow:none}
input,select,textarea{min-height:42px;border-radius:12px;border-color:#d5e2ef;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
input:focus,select:focus,textarea:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.15)}
.btn:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid rgba(37,99,235,.45);
  outline-offset:2px;
}
.row-more-panel a.btn:focus-visible,.row-more-panel button:focus-visible,.permuta-menu-item:focus-visible{
  outline:2px solid rgba(37,99,235,.35);
  outline-offset:2px;
}
.table-wrap thead th{background:#f8fbff}
.alert{border-radius:16px}

.dashboard-page-head{align-items:flex-end}
.dash-hero-title{margin-bottom:4px;font-size:22px;font-weight:1000;color:#0f172a;letter-spacing:-.02em}
.dash-head-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid #dbe7f3;color:#1d4ed8;font-weight:900}
.manager-strip{padding:16px 18px;margin-bottom:14px;border-radius:22px;background:linear-gradient(135deg,#ffffff,#f8fbff)}
.manager-strip-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:12px}
.manager-highlight{padding:16px;border-radius:18px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;position:relative;overflow:hidden}
.manager-highlight:after{content:"";position:absolute;right:-24px;bottom:-34px;width:120px;height:120px;border-radius:999px;background:rgba(255,255,255,.10)}
.manager-label{position:relative;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:1000;color:rgba(255,255,255,.72)}
.manager-value{position:relative;margin-top:8px;font-size:38px;line-height:1;font-weight:1000}
.manager-detail{position:relative;margin-top:8px;color:rgba(255,255,255,.85);font-size:12px;font-weight:800;max-width:34ch}
.manager-mini{display:flex;flex-direction:column;justify-content:center;padding:16px;border-radius:18px;background:#fff;border:1px solid #dbe7f3}
.manager-mini span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:900}
.manager-mini strong{margin-top:8px;font-size:28px;color:#0f172a;line-height:1}

.manager-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin:0 0 14px}
.priority-stack,.occurrence-stack{display:grid;gap:10px}
.priority-stack{gap:8px}
.priority-card,.occurrence-card{border:1px solid #e2e8f0;border-radius:16px;padding:14px;background:#fff}
.priority-card{padding:11px 14px 11px 16px;border-radius:14px}
.priority-card.warning{background:#fffbeb;border-color:#fde68a}.priority-card.danger{background:#ffffff;border-color:#e2e8f0;box-shadow:none}.priority-card.success{background:#f0fdf4;border-color:#bbf7d0}
.priority-top,.occurrence-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.priority-title,.occurrence-title{font-weight:600;color:#0f172a}
.priority-num{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:10px;background:#fff;color:#0f172a;font-weight:800;border:1px solid rgba(15,23,42,.08);padding:0 10px}
.priority-desc,.occurrence-desc{margin-top:5px;color:#64748b;font-size:12px;font-weight:500;line-height:1.4}
.occurrence-type{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-weight:600}
.priority-card.danger .priority-title{color:#0f172a}
.priority-card.danger .priority-desc{color:#64748b}
.priority-card.danger .priority-num{background:#ffffff;border-color:#e5e7eb;color:#475569;box-shadow:none}
.priority-card{position:relative;overflow:hidden}
.priority-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbd5e1}
.priority-card.warning:before{background:#f59e0b}
.priority-card.danger:before{background:#cbd5e1}
.priority-card.success:before{background:#16a34a}
.priority-top{align-items:flex-start}
.priority-title{line-height:1.3}
.priority-card .priority-num{margin-left:10px;flex:0 0 auto}
.priority-stack .priority-card.danger{background:#ffffff!important;border-color:#e2e8f0!important;box-shadow:none!important}
.priority-stack .priority-card.danger .priority-title{color:#0f172a!important}
.priority-stack .priority-card.danger .priority-desc{color:#64748b!important}
.priority-stack .priority-card.danger .priority-num{background:#ffffff!important;border-color:#e5e7eb!important;color:#475569!important}
.priority-stack .priority-card.danger:before{background:#cbd5e1!important}

.dash-cards{margin-top:10px}
.dash-card{border-radius:22px;min-height:126px}
.dash-card-title{font-size:14px}
.dash-card-desc{line-height:1.4}
.dash-panel{border-radius:22px}
.dash-panel-head{padding:16px 16px 12px}.dash-panel-body{padding:14px 16px 16px}

.ficha-header,.colabs-head,.page-head{margin-bottom:16px}
.panel,.table-card,.form-card{border-radius:22px}
.colab-card,.colab-setor,.kebab-menu,.ms-panel,.row-more-panel{border-radius:18px}

@media(max-width:1100px){
  .manager-strip-grid{grid-template-columns:1fr 1fr}
  .manager-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .content{padding:74px 12px 16px}
  .content-frame{padding:16px;border-radius:20px}
  .manager-strip-grid{grid-template-columns:1fr}
  .manager-value{font-size:32px}
  .dash-head-badge{width:100%;justify-content:center}
  .topbar-inner{padding:0 12px}
  .topbar-sub{max-width:180px}
}
.blocked-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:1000;color:#b91c1c;margin-top:8px}.blocked-card h1{margin:10px 0 8px;color:#0f172a}.blocked-card p{color:#475569;font-weight:800}.blocked-reason{margin:18px 0;padding:14px;border-radius:16px;background:#fee2e2;border:1px solid #fecaca;color:#991b1b;font-weight:900;text-align:left}

/* =========================
   UI audit polish pass
   ========================= */

:root{
  --surface-soft:#f8fbff;
  --surface-muted:#f8fafc;
  --border-strong:#d5e2ef;
}

body{color:#0f172a}
a{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}

.content-frame{max-width:1280px;background:rgba(255,255,255,.9);padding:24px 24px 22px}
.build{margin-top:12px;padding:0 2px;color:#64748b;letter-spacing:.02em}

.page-head{gap:18px;margin-bottom:18px}
.page-head h1{margin-bottom:6px}
.page-subtitle,.section-intro{color:#64748b;font-weight:500;max-width:74ch}

.topbar{box-shadow:0 10px 30px rgba(2,6,23,.16)}
.topbar-app{font-weight:800}
.topbar-sub{font-size:12px;color:rgba(255,255,255,.88)}
.topbar-link{font-weight:700;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.1)}

.sidebar{width:252px;padding:16px 14px 22px}
.brand{align-items:flex-start;gap:12px;margin-bottom:18px}
.brand span{font-size:17px;line-height:1.35;font-weight:700;word-break:break-word}
.sidebar nav{display:grid;gap:4px}
.sidebar nav a,.nav-group summary{min-height:44px;border-radius:14px}
.sidebar nav a{padding:11px 12px}
.nav-sub{padding-left:12px;padding-top:4px}
.nav-sub a{margin:0;background:rgba(255,255,255,.05)}
.sidebar nav a:hover,.nav-group summary:hover,.nav-sub a:hover{background:rgba(255,255,255,.14)}
.sidebar nav a.active,.nav-sub a.active{background:rgba(255,255,255,.18)}

.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.card,.panel,.form-card,.table-card{border-radius:20px}
.card h3,.panel h3{margin:0 0 8px;font-weight:700;color:#0f172a}
.card p{margin:0;color:#64748b;line-height:1.5}

button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px}
.btn-soft{background:#edf2f7;color:#0f172a;border:1px solid #dbe5ef}
.btn-soft:hover{background:#e2e8f0}
.btn-ghost{background:#475569;color:#fff;border:1px solid rgba(255,255,255,.08)}
.btn-ghost:hover{background:#3d4b5f}
.btn-outline{border-width:1px}

input,select,textarea{padding:11px 12px;background:#fff}
input::placeholder,textarea::placeholder{color:#94a3b8}
label{margin-bottom:6px}

.alerts{gap:12px;margin:0 0 16px}
.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;font-weight:600;line-height:1.45;border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.alert.success,.alert.ok,.alert.sucesso{background:#dcfce7;border-color:#86efac;color:#166534}
.alert.error,.alert.err,.alert.erro{background:#fee2e2;border-color:#fecaca;color:#991b1b}

.table-card{padding:18px}
.table-wrap{border-color:#dbe5ef;background:#fff}
.table-wrap thead th{background:#f8fbff;box-shadow:inset 0 -1px 0 #e5edf5}
.table-wrap th,.table-wrap td{padding:11px 12px;line-height:1.45}
.table-wrap tbody tr:nth-child(even){background:#fcfdff}

.dash-filters,.colabs-filters,.extras-filters{padding:16px 16px 14px;border-radius:20px;background:rgba(255,255,255,.96)}
.dash-filters-actions,.filters-actions,.colabs-filters-actions,.page-actions{gap:12px}
.extras-filters-title{font-weight:700}

.dash-card{box-shadow:0 14px 34px rgba(15,23,42,.12)}
.dash-card-title{font-weight:700;line-height:1.3}
.dash-card-desc{font-weight:600;color:rgba(255,255,255,.88)}

.priority-card,.occurrence-card,.colab-card{border-color:#dbe5ef}
.occurrence-card{padding:15px 16px}

.colabs-hero,.users-hero,.ficha-hero{padding:24px}
.colabs-actions{flex-wrap:wrap}
.colabs-overview-card strong,.ficha-overview-card strong,.users-overview-card strong{font-weight:800}
.colabs-overview-card span,.ficha-overview-card span,.users-overview-card span{font-weight:700;letter-spacing:.04em}
.colabs-chip{font-weight:700;background:#fff}
.colabs-chip small{font-weight:700}

.login-page{padding:24px;background:linear-gradient(135deg,#1d4ed8,#2563eb)}
.login-card{width:min(440px,94vw);padding:34px 30px 26px;border:1px solid rgba(255,255,255,.55);box-shadow:0 28px 70px rgba(15,23,42,.22)}
.login-card h1{margin:0 0 8px;font-size:30px}
.login-card form{display:grid;gap:14px;margin-top:18px}
.login-card label{margin:0;font-weight:600;color:#0f172a}
.login-card .muted{margin:0;color:#64748b}
.login-logo{margin:0 auto 18px}

.modal-card{border-radius:20px}
.modal-head,.modal-body,.modal-actions{padding-left:18px;padding-right:18px}
.modal-title{font-weight:800}

@media(max-width:980px){
  .sidebar{width:236px}
  .content-frame{padding:20px}
}

@media(max-width:700px){
  .sidebar{padding:14px 10px 18px}
  .brand{margin-bottom:14px}
  .brand span{font-size:15px}
  .content-frame{padding:16px 14px}
  .page-actions .btn,.colabs-actions .btn,.colabs-filters-actions .btn,.filters-actions .btn{width:100%}
  .table-card{padding:14px}
  .login-card{padding:28px 20px 22px}
}

/* Configuracoes module */
.config-hub-grid{margin-top:14px;margin-bottom:18px}
.config-hub-card{padding:20px 18px;background:linear-gradient(180deg,#ffffff,#f8fbff);border-color:#dbe7f3}
.config-hub-card h3{margin-bottom:6px}
.config-hub-card p{font-size:13px;line-height:1.5}

.config-panel{background:linear-gradient(180deg,#ffffff,#fbfdff)}
.config-callout{padding:18px 20px;background:linear-gradient(135deg,#eff6ff,#ffffff 52%,#f8fbff);border-color:#dbeafe}
.config-callout b{display:block;font-size:17px;line-height:1.25;color:#0f172a}

.config-form-card{padding:20px}
.config-form-card .cadastro-section-head{margin-bottom:8px}
.config-form-card .actions-row{padding-top:4px}

.config-table-card h2{margin-bottom:14px}
.config-table-card .table-wrap{border-color:#dbe7f3}
.config-table-card tbody td:last-child{width:1%;white-space:nowrap}

.inline-form{display:inline-flex;align-items:center}
.inline-form + .inline-form,.inline-form + .btn,.btn + .inline-form{margin-left:8px}

.users-table-card td,.config-table-card td{line-height:1.45}
.users-table-card td:nth-child(6),.users-table-card td:nth-child(7){font-size:13px;color:#475569}

#permTable td:nth-child(3) b{display:block;margin-bottom:3px;font-weight:700}
#permTable td:nth-child(5){text-align:center}

@media(max-width:700px){
  .config-callout{padding:16px}
  .config-form-card{padding:16px}
  .inline-form{display:flex;width:100%;margin:8px 0 0}
  .inline-form + .inline-form,.inline-form + .btn,.btn + .inline-form{margin-left:0}
  .config-table-card td:last-child .btn,.config-table-card td:last-child .danger,.users-table-card td:last-child .btn,.users-table-card td:last-child .danger{width:100%}
}

/* Atestados */
.atestados-page{padding:18px;border-radius:24px;background:linear-gradient(180deg,#fbfdff,#f8fbff)}
.atestados-filters-card{padding:18px 18px 14px;border-color:#dbe7f3;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.atestados-filters-head{align-items:flex-start}
.atestados-filters-form{gap:14px}
.atestados-filters-form > .btn,.atestados-filters-form > a.btn{align-self:end}

.atestados-table-card{overflow:hidden;border-color:#dbe7f3;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.atestados-table-wrap{border:0;border-radius:20px;background:#fff}
.atestados-table-wrap thead th{background:linear-gradient(180deg,#f8fbff,#f2f7fd);font-size:13px;color:#334155}
.atestados-table-wrap tbody td{padding-top:14px;padding-bottom:14px}

.atestado-protocolo{background:#f8fafc;border-color:#dbe5ef;color:#475569;font-weight:700;min-width:40px;text-align:center}
.atestado-periodo{padding:8px 12px;background:#fcfdff;border-color:#dbe5ef;font-weight:500}
.atestado-periodo .muted{font-weight:600}
.atestado-enviado{display:block;max-width:26ch;line-height:1.45;color:#334155}
.atestado-actions{justify-content:flex-end;gap:10px}
.atestado-empty-file{background:#f8fafc;border-color:#dbe5ef;color:#475569;font-weight:600}

@media(max-width:900px){
  .atestado-actions{justify-content:flex-start}
}

@media(max-width:700px){
  .atestados-page{padding:14px}
  .atestados-filters-card{padding:16px 14px 12px}
  .atestado-periodo{display:grid;gap:2px;justify-items:start}
  .atestado-enviado{max-width:none}
}

/* Advertencias */
.advertencias-page{padding:18px;border-radius:24px;background:linear-gradient(180deg,#fbfdff,#f8fbff)}
.advertencias-filters-card{padding:18px 18px 14px;border-color:#dbe7f3;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.advertencias-filters-grid{gap:16px}
.advertencias-total{font-weight:500}
.advertencias-table-card{overflow:hidden;border-color:#dbe7f3;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.advertencias-table-wrap{border:0;border-radius:20px;background:#fff}
.advertencias-table-wrap thead th{background:linear-gradient(180deg,#f8fbff,#f2f7fd);font-size:13px}
.advertencias-table-wrap tbody td{padding-top:14px;padding-bottom:14px}
.advertencia-registro{background:#f8fafc;border-color:#dbe5ef;color:#475569;font-weight:700}
.advertencia-data,.advertencia-funcionario,.advertencia-descricao{line-height:1.45;color:#334155}
.advertencia-funcionario{font-weight:500;color:#0f172a}
.advertencia-descricao{display:block;max-width:38ch}
.advertencia-tipo{font-weight:600}
.advertencia-actions{justify-content:flex-end;gap:10px}

/* Historico de extras */
.historico-extras-page{padding:18px;border-radius:24px;background:linear-gradient(180deg,#fbfdff,#f8fbff)}
.historico-extras-filters-card{padding:18px 18px 14px;border-color:#dbe7f3;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.historico-extras-filters-head{margin-bottom:14px}
.historico-extras-filters-head .extras-filters-title{margin-bottom:4px}
.historico-extras-filters-grid{gap:18px;align-items:start}
.historico-extras-filters-row{grid-template-columns:minmax(220px,1.15fr) minmax(300px,1.15fr) minmax(160px,.7fr) minmax(160px,.7fr)}
.historico-extras-filters-side{min-width:0}
.historico-extras-total{font-weight:500;line-height:1.5}
.historico-extras-total{margin:14px 2px 18px}
.historico-extras-table-card{overflow:hidden;border-color:#dbe7f3;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.historico-extras-table-wrap{border:0;border-radius:20px;background:#fff}
.historico-extras-table-wrap thead th{background:linear-gradient(180deg,#f8fbff,#f2f7fd);font-size:13px}
.historico-extras-table-wrap tbody td{padding-top:14px;padding-bottom:14px}
.historico-extra-id{background:#f8fafc;border-color:#dbe5ef;color:#475569;font-weight:700;min-width:34px;text-align:center}
.historico-extra-geracao,.historico-extra-motivo{display:block;line-height:1.45;color:#334155}
.historico-extra-motivo{max-width:36ch}
.historico-extra-dia{padding:8px 10px;background:#fcfdff;border-color:#dbe5ef}
.historico-extra-horas{background:#eff6ff;border-color:#bfdbfe;color:#1e40af;font-weight:700}
.historico-extra-actions{justify-content:flex-end;gap:10px}

@media(max-width:900px){
  .advertencia-actions,.historico-extra-actions{justify-content:flex-start}
  .historico-extras-filters-row{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  .advertencias-page,.historico-extras-page{padding:14px}
  .advertencias-filters-card,.historico-extras-filters-card{padding:16px 14px 12px}
  .advertencia-descricao,.historico-extra-motivo{max-width:none}
  .historico-extras-filters-head{margin-bottom:12px}
  .historico-extras-filters-row{grid-template-columns:1fr}
  .historico-extras-total{margin:12px 2px 16px}
}

/* Permutas */
.permutas-form-page{padding:18px;border-radius:24px;background:linear-gradient(180deg,#fbfdff,#f8fbff)}
.permutas-form-card{padding:20px;background:linear-gradient(180deg,#ffffff,#fbfdff);border-color:#dbe7f3}

.historico-permutas-page{padding:18px;border-radius:24px;background:linear-gradient(180deg,#fbfdff,#f8fbff)}
.historico-permutas-filters-card{padding:18px 18px 14px;border-color:#dbe7f3;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.historico-permutas-filters-head{margin-bottom:14px}
.historico-permutas-filters-head .extras-filters-title{margin-bottom:4px}
.historico-permutas-filters-grid{gap:18px;align-items:start}
.historico-permutas-filters-row{grid-template-columns:minmax(220px,1.15fr) minmax(300px,1.15fr) minmax(160px,.7fr) minmax(160px,.7fr)}
.historico-permutas-filters-side{min-width:0}
.historico-permutas-total{font-weight:500;line-height:1.5}
.historico-permutas-total{margin:14px 2px 18px}
.historico-permutas-table-card{overflow:hidden;border-color:#dbe7f3;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.historico-permutas-table-wrap{border:0;border-radius:20px;background:#fff}
.historico-permutas-table-wrap thead th{background:linear-gradient(180deg,#f8fbff,#f2f7fd);font-size:13px}
.historico-permutas-table-wrap tbody td{padding-top:14px;padding-bottom:14px}
.historico-permuta-id{background:#f8fafc;border-color:#dbe5ef;color:#475569;font-weight:700;min-width:34px;text-align:center}
.historico-permuta-geracao{display:block;line-height:1.45;color:#334155}
.historico-permuta-plantao{padding:8px 10px;background:#fcfdff;border-color:#dbe5ef}
.historico-permuta-turno{background:#eff6ff;border-color:#bfdbfe;color:#1e40af;font-weight:700}
.historico-permuta-actions{justify-content:flex-end;gap:10px}

/* Historico justificativa de ponto */
.historico-justp-filters-card{padding:18px 18px 14px;border-color:#dbe7f3;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.historico-justp-filters-head{margin-bottom:14px}
.historico-justp-filters-head .extras-filters-title{margin-bottom:4px}
.historico-justp-filters-grid{gap:18px;align-items:start}
.historico-justp-filters-row{grid-template-columns:minmax(220px,1.15fr) minmax(300px,1.15fr) minmax(160px,.7fr) minmax(160px,.7fr)}
.historico-justp-filters-side{min-width:0}

@media(max-width:900px){
  .historico-permuta-actions{justify-content:flex-start}
  .historico-permutas-filters-row,.historico-justp-filters-row{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  .permutas-form-page,.historico-permutas-page{padding:14px}
  .permutas-form-card,.historico-permutas-filters-card{padding:16px 14px 12px}
  .historico-permutas-filters-head,.historico-justp-filters-head{margin-bottom:12px}
  .historico-permutas-filters-row,.historico-justp-filters-row{grid-template-columns:1fr}
  .historico-permutas-total{margin:12px 2px 16px}
}

/* Escalas */
.escala-page,.escala-editor-page,.escala-visual-page{border-radius:24px}
.escala-page{background:linear-gradient(180deg,#fbfdff,#f8fbff)}
.escala-summary-card{overflow:hidden;border-color:#dbe7f3;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.escala-summary-wrap{border:0;border-radius:20px;background:#fff}
.escala-summary-wrap thead th{background:linear-gradient(180deg,#f8fbff,#f2f7fd);font-size:13px}
.escala-summary-wrap tbody td{padding-top:14px;padding-bottom:14px}

.escala-editor-page .panel{border-color:#dbe7f3}
.escala-editor-wrap{border-color:#dbe7f3;background:#fff}
.escala-editor-wrap thead th{background:linear-gradient(180deg,#f8fbff,#f2f7fd)}
.escala-editor-wrap tbody td:first-child b{font-weight:700;color:#0f172a}

.escala-visual-shell{overflow:hidden;border-color:#dbe7f3;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.escala-visual-wrap{background:#fff}
.escala-visual-head{padding:2px 2px 0}
.escala-visual-org{font-weight:700;color:#64748b}
.escala-visual-title{font-weight:800}
.escala-visual-sub{font-weight:600;color:#475569}

/* Plantoes */
.plantoes-page-head{padding:4px 2px 0;margin-bottom:18px}
.plantoes-page-grid{gap:18px}
.pl2-col{border:1px solid #dbe7f3;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.pl2-col-head{padding:16px 18px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,251,255,.86))}
.pl2-list{padding:16px 18px}
.pl2-setor{background:#fbfdff;border-color:#dbe7f3}

@media(max-width:700px){
  .plantoes-page-head{margin-bottom:14px}
}

/* Colaboradores final pass */
.ficha-hero{box-shadow:0 14px 34px rgba(15,23,42,.08)}
.ficha-hero-meta .pill,.ficha-hero-meta .badge-setor{font-weight:600}
.ficha-main-panel{padding:18px}
.ficha-tabs .stat-card{box-shadow:0 10px 24px rgba(15,23,42,.12)}
.ficha-tabs .stat-label{font-weight:700}
.ficha-tabs .hint{font-weight:600;color:rgba(255,255,255,.88)}
.lazy-box{border:1px dashed #dbe7f3;border-radius:18px;padding:14px;background:#fbfdff;min-height:120px}

.collaborator-spotlight,.users-form-spotlight{box-shadow:0 14px 34px rgba(15,23,42,.08)}
.collaborator-create-banner h2{letter-spacing:-.01em}
.collaborator-form-note strong{font-weight:700}

/* Admin final pass */
.admin-login-page{background:linear-gradient(135deg,#1e40af,#2563eb)}
.admin-login-card{max-width:460px}
.admin-login-card .hint.center{margin:6px 0 0;color:#64748b}

.admin-hero{border:1px solid rgba(255,255,255,.18)}
.admin-hero-actions .btn{min-width:150px}
.admin-metric{box-shadow:0 12px 28px rgba(10,52,99,.08)}
.admin-priority-item,.admin-unit-item,.admin-model-item,.admin-quick-card{box-shadow:0 10px 24px rgba(15,23,42,.05)}
.admin-priority-title,.admin-quick-title,.admin-model-title{font-weight:700}
.admin-priority-sub,.admin-quick-desc,.admin-model-origin,.admin-unit-meta{line-height:1.45}
.admin-unit-form,.admin-units-card,.admin-unit-models{box-shadow:0 16px 36px rgba(15,23,42,.08)}
.admin-unit-actions form{display:inline-flex}
.admin-model-upload{padding:10px 12px;border:1px dashed #dbe7f3;border-radius:16px;background:#fbfdff}
.admin-model-upload input[type=file]{border:0;background:transparent;padding:0}

@media(max-width:700px){
  .ficha-main-panel{padding:14px}
  .lazy-box{padding:12px}
  .admin-hero-actions .btn,.admin-unit-actions .btn,.admin-unit-actions button{width:100%}
  .admin-model-upload{align-items:stretch}
}
