:root{--surface:#fffaf2;--ink:#1f1a17;--line:#d7c7b5;--accent:#146356;--danger:#9f2d2d}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(135deg,#f7f1e8 0%,#efe0cd 100%)}.shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.card{width:min(720px,100%);background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:2rem}.eyebrow{margin-bottom:1rem;color:var(--accent);font-weight:700;text-transform:uppercase;font-size:.8rem}.form{display:grid;gap:1rem;margin-top:1.5rem}label{display:grid;gap:.4rem}input{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px}button{border:0;border-radius:14px;padding:.95rem 1.2rem;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}small,.alert{color:var(--danger)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.5rem}.grid article{padding:1rem;border-radius:18px;background:#fff;border:1px solid var(--line)}
.admin-html,.admin-body{overflow-y:hidden}
.admin-shell{height:100dvh;min-height:100dvh;display:grid;grid-template-columns:280px 1fr;overflow:hidden}.sidebar{background:linear-gradient(180deg,#17342e 0%,#0f2521 100%);color:#f8f5f0;padding:2rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem;min-height:0}.brand-block{display:flex;align-items:center;gap:1rem}.brand-mark{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:#f4b183;color:#1f1a17;font-size:1.4rem;font-weight:800}.brand-eyebrow,.topbar-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#9fd6cb}.brand-block h1,.topbar h2{margin:0}.nav-stack{display:grid;gap:.55rem}.nav-pill{display:block;padding:.85rem 1rem;border-radius:16px;color:#e7f3f1;background:rgba(255,255,255,.06);transition:.2s ease}.nav-pill:hover,.nav-pill.is-active{background:#f0ebe4;color:#17342e}.logout-box{margin-top:auto}.admin-main{padding:1.5rem;min-height:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.topbar-user{display:grid;gap:.15rem;padding:1rem 1.2rem;background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:18px;text-align:right}
.content-panel{display:grid;gap:1.25rem;align-content:start;flex:0 0 auto;min-height:auto}.hero-card,.table-card{background:rgba(255,253,249,.92);border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 50px rgba(31,41,55,.08)}.hero-card{padding:1.6rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.hero-user{display:grid;gap:.25rem;padding:1rem 1.2rem;border-radius:20px;background:#d9f3ef;min-width:180px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.metric-card{background:#fffaf2;border:1px solid var(--line);border-radius:22px;padding:1.2rem;display:grid;gap:.35rem}.metric-card span{color:#6b7280;font-size:.92rem}.metric-card strong{font-size:1.8rem}.table-card{padding:1.2rem}.table-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.admin-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.admin-table td,.admin-table th{background:transparent}@media (max-width:991px){.admin-shell{grid-template-columns:1fr}.sidebar{gap:1rem}.topbar,.hero-card{flex-direction:column}.topbar-user,.hero-user{width:100%;text-align:left}}
:root{--herlie-blue:#0B40B1;--herlie-sky:#1BA2F5;--surface:#f4f9ff;--ink:#14304b;--line:#c9ddf8;--accent:#0B40B1;--danger:#b3261e}
body{background:radial-gradient(circle at top,#eef6ff 0%,#dcecff 46%,#f8fbff 100%)}
.card{background:rgba(255,255,255,.96);border-color:var(--line);box-shadow:0 26px 64px rgba(11,64,177,.10)}
.eyebrow{color:var(--herlie-blue)}
input{border-color:var(--line)}
input:focus{outline:none;border-color:var(--herlie-sky);box-shadow:0 0 0 .2rem rgba(27,162,245,.18)}
button{background:linear-gradient(135deg,var(--herlie-blue),var(--herlie-sky))}
.login-card{display:grid;gap:.85rem}
.login-logo{width:min(220px,52vw);height:auto;margin-bottom:.25rem}
.sidebar{background:linear-gradient(180deg,#0B40B1 0%,#0f63d6 58%,#1BA2F5 100%)}
.brand-logo{width:64px;height:64px;object-fit:contain;border-radius:18px;background:rgba(255,255,255,.96);padding:.45rem;box-shadow:0 14px 28px rgba(0,0,0,.14)}
.brand-eyebrow,.topbar-eyebrow{color:#d8f0ff}
.nav-pill{color:#eef7ff;background:rgba(255,255,255,.10)}
.nav-pill:hover,.nav-pill.is-active{background:#ffffff;color:var(--herlie-blue)}
.hero-user{background:rgba(27,162,245,.12)}
.metric-card strong{color:var(--herlie-blue)}
.btn-dark{background:linear-gradient(135deg,var(--herlie-blue),var(--herlie-sky));border:none}
.btn-outline-dark{border-color:var(--herlie-blue);color:var(--herlie-blue)}
.btn-outline-dark:hover{background:var(--herlie-blue);border-color:var(--herlie-blue)}
:root{--herlie-blue-deep:#082d7f;--herlie-sky-soft:#dff3ff;--muted:#607d98;--line-strong:#9bc6ef}
body{font-family:"Manrope","Segoe UI",sans-serif;background:radial-gradient(circle at top left,rgba(27,162,245,.18),transparent 32%),radial-gradient(circle at bottom right,rgba(11,64,177,.14),transparent 26%),linear-gradient(180deg,#f8fbff 0%,#ebf5ff 48%,#f5faff 100%)}
h1,h2,h3,.brand-copy h1{font-family:"Space Grotesk","Manrope",sans-serif;letter-spacing:-.03em}.card{width:min(560px,100%);border-radius:32px;padding:2.25rem;backdrop-filter:blur(8px)}.login-card{gap:.9rem}.login-logo{width:min(230px,54vw);margin-bottom:.15rem}.eyebrow{margin-bottom:.2rem;font-weight:800;letter-spacing:.12em}.card h1,.hero-card h1{font-size:clamp(2.2rem,4vw,3rem);line-height:1.02}.card p,.hero-card p{color:var(--muted);line-height:1.6}
label{font-weight:700;color:var(--ink)}input,textarea,select{padding:.95rem 1rem;border-radius:16px;font:inherit;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}input:hover,textarea:hover,select:hover{border-color:var(--line-strong)}input:focus,textarea:focus,select:focus{transform:translateY(-1px)}button{border-radius:16px;padding:1rem 1.2rem;font-weight:800;letter-spacing:.01em;box-shadow:0 14px 28px rgba(11,64,177,.22);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}button:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(11,64,177,.26);filter:saturate(1.08)}
.admin-shell{grid-template-columns:306px 1fr}.sidebar{box-shadow:inset -1px 0 0 rgba(255,255,255,.12)}.brand-block{padding:.15rem .2rem .55rem}.brand-logo{width:72px;height:72px;border-radius:20px;padding:.55rem;box-shadow:0 16px 30px rgba(3,18,51,.18)}.brand-copy h1{font-size:1.75rem;color:#fff}.nav-pill{border:1px solid rgba(255,255,255,.12);font-weight:700;backdrop-filter:blur(6px)}.nav-pill:hover{transform:translateX(3px);background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}.nav-pill.is-active{border-color:#fff;box-shadow:0 14px 28px rgba(6,33,101,.18)}.nav-pill.is-active::before{content:"";position:absolute;left:-.35rem;top:50%;width:6px;height:42%;transform:translateY(-50%);border-radius:999px;background:#fff}
.topbar h2{font-size:2rem;color:var(--herlie-blue-deep)}.topbar-user{border-radius:20px;box-shadow:0 16px 30px rgba(11,64,177,.06)}.topbar-user span{font-weight:800}.topbar-user small{color:var(--muted)}.hero-card,.table-card{border-radius:30px;box-shadow:0 30px 80px rgba(11,64,177,.10)}.hero-card{padding:1.7rem}.hero-user{border-radius:22px;background:linear-gradient(180deg,rgba(27,162,245,.14),rgba(11,64,177,.08));border:1px solid rgba(27,162,245,.16)}.metric-card{border-radius:24px;box-shadow:0 14px 30px rgba(11,64,177,.05)}.metric-card span{color:var(--muted);font-weight:700}.metric-card strong{font-size:1.9rem;color:var(--herlie-blue-deep)}.admin-table th{letter-spacing:.09em;font-weight:800}.admin-table td,.admin-table th{border-color:#e7f0fb}
.executive-hero{align-items:end}.hero-copy{max-width:680px}.executive-pill small{color:var(--muted)}.executive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:1rem}.executive-card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:26px;padding:1.25rem;display:grid;gap:.4rem;box-shadow:0 14px 28px rgba(11,64,177,.05)}.executive-card span{font-size:.8rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.executive-card strong{font-family:"Space Grotesk","Manrope",sans-serif;font-size:2.1rem;color:var(--herlie-blue-deep)}.executive-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.executive-card.primary{background:linear-gradient(135deg,rgba(11,64,177,.98),rgba(27,162,245,.92));border-color:transparent}.executive-card.primary span,.executive-card.primary p,.executive-card.primary strong{color:#fff}.executive-card.accent{background:linear-gradient(180deg,#ffffff,rgba(27,162,245,.10))}
.dashboard-split{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.focus-card{padding:1.35rem}.focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.focus-grid div{padding:1rem;border:1px solid #e7f0fb;border-radius:20px;background:#fff}.focus-grid span{display:block;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.focus-grid strong{display:block;margin-top:.45rem;font-size:1.2rem;color:var(--herlie-blue-deep)}.tone-soft{background:linear-gradient(180deg,#ffffff,rgba(27,162,245,.08))}.focus-text{margin:0 0 1rem;color:var(--muted);line-height:1.65}.focus-bar{height:12px;border-radius:999px;background:#e8f2fd;overflow:hidden}.focus-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--herlie-blue),var(--herlie-sky))}.executive-table .table-identity{display:grid;gap:.15rem}.executive-table .table-identity strong{font-size:.98rem}.executive-table .table-identity small{color:var(--muted)}.executive-badge{background:rgba(11,64,177,.12)!important;color:var(--herlie-blue-deep)!important;font-weight:800}
@media (max-width:991px){.dashboard-split{grid-template-columns:1fr}.focus-grid{grid-template-columns:1fr}}
@media (max-width:991px){.admin-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:20;padding:1rem 1rem 1.1rem;border-bottom-left-radius:24px;border-bottom-right-radius:24px;box-shadow:0 16px 40px rgba(11,64,177,.18)}.brand-block{padding:0;align-items:center}.brand-logo{width:56px;height:56px;border-radius:16px;padding:.4rem}.brand-copy h1{font-size:1.35rem}.nav-stack{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:none}.nav-stack::-webkit-scrollbar{display:none}.nav-pill{flex:0 0 auto;white-space:nowrap;padding:.8rem .95rem;border-radius:16px}.nav-pill:hover{transform:none}.nav-pill.is-active::before{display:none}.logout-box{margin-top:0}.logout-box .btn-light{padding:.8rem 1rem}.admin-main{padding:1rem}.topbar{margin-bottom:1rem}.topbar h2{font-size:1.55rem}.topbar-user{padding:.9rem 1rem}.table-card-head{flex-direction:column;align-items:flex-start}.table-card-head .btn,.table-card-head a{width:100%}.executive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-card,.table-card,.executive-card,.metric-card{border-radius:24px}}
@media (max-width:640px){.shell{padding:1rem}.card{padding:1.4rem;border-radius:24px}.login-logo{width:min(180px,58vw)}.card h1,.hero-card h1{font-size:2rem}.sidebar{padding:.85rem .85rem 1rem;border-bottom-left-radius:20px;border-bottom-right-radius:20px}.brand-block{gap:.75rem}.brand-logo{width:48px;height:48px;border-radius:14px}.brand-copy h1{font-size:1.15rem}.brand-eyebrow,.topbar-eyebrow,.executive-card span,.focus-grid span{font-size:.7rem}.admin-main{padding:.85rem}.topbar-user,.hero-user{min-width:0}.executive-grid,.metric-grid,.focus-grid{grid-template-columns:1fr}.executive-card strong,.metric-card strong{font-size:1.75rem}.table-card{padding:1rem}.admin-table th,.admin-table td{font-size:.9rem}.nav-pill{padding:.72rem .9rem;font-size:.92rem}}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:.45rem}
.field-block{display:grid;gap:.6rem}
.field-block small{color:var(--danger);font-weight:700}
.checkbox-row{grid-column:1/-1;align-items:center}
.checkbox-label{display:flex;align-items:center;gap:.8rem;font-weight:700}
.checkbox-label input{width:auto;transform:scale(1.08)}
.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:.95rem}
.alert-success{color:#0a5a3c;background:rgba(14,159,110,.12);border:1px solid rgba(14,159,110,.18);padding:1rem 1.1rem;border-radius:18px;margin-bottom:1rem}
.alert-warning{color:#8a5c00;background:rgba(255,184,0,.14);border:1px solid rgba(255,184,0,.26);padding:1rem 1.1rem;border-radius:18px;margin-bottom:1rem}
.alert-danger{color:#a12822;background:rgba(179,38,30,.10);border:1px solid rgba(179,38,30,.18);padding:1rem 1.1rem;border-radius:18px;margin-bottom:1rem}
.alert-info{color:#0b40b1;background:rgba(27,162,245,.10);border:1px solid rgba(27,162,245,.18);padding:1rem 1.1rem;border-radius:18px;margin-bottom:1rem}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}.form-actions .btn,.form-actions button{width:100%}}
.schedule-form{display:grid;gap:1.25rem}
.schedule-days{display:grid;gap:1rem}
.schedule-day-card{padding:1.1rem;border:1px solid #dce8f8;border-radius:24px;background:linear-gradient(180deg,#fff,rgba(27,162,245,.05))}
.schedule-day-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.schedule-day-head strong{font-family:"Space Grotesk","Manrope",sans-serif;font-size:1.1rem;color:var(--herlie-blue-deep)}
.schedule-day-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem}
.schedule-day-card small{display:block;margin-top:.75rem;color:var(--danger);font-weight:700}
@media (max-width:991px){.schedule-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.schedule-day-head{flex-direction:column;align-items:flex-start}.schedule-day-grid{grid-template-columns:1fr}}
.list-filters{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(180px,.8fr) auto;gap:1rem;margin:0 0 1.15rem}
.list-filters .btn{height:100%}
@media (max-width:640px){.list-filters{grid-template-columns:1fr}.list-filters .btn{width:100%}}
.reports-filters{grid-template-columns:repeat(2,minmax(150px,.7fr)) repeat(4,minmax(180px,1fr)) auto}
@media (max-width:1200px){.reports-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.reports-filters{grid-template-columns:1fr}}
.report-mini-stack{display:grid;gap:.18rem}
.report-mini-stack span{font-weight:900;color:#17324d}
.report-mini-stack small{color:#64748b;line-height:1.35}
.report-summary-table{min-width:980px}
.report-card-copy{margin:.25rem 0 0;color:#64748b;line-height:1.5}
.closing-alert-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;border-radius:20px;background:linear-gradient(135deg,rgba(11,64,177,.08),rgba(27,162,245,.08));border:1px solid #d9e8fb}
.closing-alert-summary strong{font-family:"Space Grotesk","Manrope",sans-serif;color:var(--herlie-blue-deep);font-size:1.25rem}.closing-alert-summary span{color:#64748b;font-weight:700}
.closing-alert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.closing-alert-item{display:grid;gap:.35rem;padding:1rem 1.05rem;border-radius:20px;border:1px solid #dbeafb;background:#fff;text-decoration:none;color:#17324d;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.closing-alert-item:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(11,64,177,.10);text-decoration:none;color:#17324d}
.closing-alert-item span{font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.07em;font-size:.76rem}.closing-alert-item strong{font-family:"Space Grotesk","Manrope",sans-serif;font-size:2rem;color:var(--herlie-blue-deep)}.closing-alert-item small{color:#64748b;line-height:1.4}
.closing-alert-item.is-danger{background:linear-gradient(180deg,#fff,rgba(179,38,30,.06));border-color:rgba(179,38,30,.16)}.closing-alert-item.is-danger strong{color:#9f1f1f}
.closing-alert-item.is-warning{background:linear-gradient(180deg,#fff,rgba(255,184,0,.10));border-color:rgba(255,184,0,.22)}.closing-alert-item.is-warning strong{color:#8a5c00}
.closing-alert-item.is-info{background:linear-gradient(180deg,#fff,rgba(27,162,245,.10));border-color:rgba(27,162,245,.20)}
.closing-alert-item.is-ok{background:linear-gradient(180deg,#fff,rgba(14,159,110,.08));border-color:rgba(14,159,110,.18)}.closing-alert-item.is-ok strong{color:#0a7a56}
@media (max-width:991px){.closing-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.closing-alert-summary{align-items:flex-start;flex-direction:column}}
@media (max-width:640px){.closing-alert-grid{grid-template-columns:1fr}}
.period-close-form{display:grid;gap:1rem}.period-close-form label{display:grid;gap:.45rem}.period-close-form textarea{width:100%;padding:1rem;border:1px solid #d4e5fb;border-radius:18px;font:inherit;resize:vertical;background:#fff}
.period-close-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.period-close-actions small{color:#64748b;font-weight:700}
.period-close-state{display:grid;gap:.8rem;padding:1rem 1.1rem;border:1px solid rgba(14,159,110,.18);border-radius:22px;background:linear-gradient(180deg,#fff,rgba(14,159,110,.08))}
.period-close-state.is-reopened{border-color:rgba(255,184,0,.24);background:linear-gradient(180deg,#fff,rgba(255,184,0,.10))}
.period-close-state.is-reopened strong{color:#8a5c00}
.period-close-state span,.period-close-form span{font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.period-close-state strong{display:block;margin:.2rem 0;color:#0a7a56;font-family:"Space Grotesk","Manrope",sans-serif;font-size:1.25rem}.period-close-state small{color:#64748b}.period-close-state p{margin:0;color:#334155;line-height:1.5}
.period-reopen-form{margin-top:1rem;padding-top:1rem;border-top:1px solid #e7f0fb}
.recent-closures{margin-top:1rem;padding-top:1rem;border-top:1px solid #e7f0fb}.recent-closure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.7rem}.recent-closure-item{display:grid;gap:.25rem;padding:.85rem .95rem;border:1px solid #dbeafb;border-radius:18px;background:#fff;text-decoration:none;color:#17324d}.recent-closure-item:hover{text-decoration:none;color:#17324d;box-shadow:0 12px 24px rgba(11,64,177,.08)}.recent-closure-item strong{font-size:.92rem}.recent-closure-item small{color:#64748b}
@media (max-width:991px){.recent-closure-grid{grid-template-columns:1fr}}
.list-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e7f0fb}
.list-pagination span{font-weight:800;color:var(--muted)}
@media (max-width:640px){.list-pagination{flex-direction:column;align-items:stretch}.list-pagination .btn{width:100%}}

.topbar-tools {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.company-switcher {
    min-width: 240px;
}

.company-switcher .form-select {
    border-radius: 999px;
    border-color: rgba(11, 64, 177, 0.18);
    background: rgba(255, 255, 255, 0.92);
}

@media (max-width: 768px) {
    .topbar-tools {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .company-switcher {
        width: 100%;
        min-width: 0;
    }
}

.tenant-context {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.45rem;
}

.tenant-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: rgba(11, 64, 177, 0.1);
    color: #0b40b1;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tenant-badge.is-global {
    background: rgba(27, 162, 245, 0.12);
    color: #1179be;
}

@media (max-width: 768px) {
    .tenant-context {
        align-items: stretch;
    }
}

.assignment-warning{margin-top:1rem;padding:1rem 1.1rem;border-radius:18px;border:1px solid rgba(255,176,32,.35);background:rgba(255,196,64,.14);color:#805200;font-weight:700;line-height:1.55}

.assignment-confirm{display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem 1.1rem;border-radius:18px;border:1px solid rgba(11,64,177,.18);background:rgba(11,64,177,.06);color:var(--herlie-blue-deep);font-weight:700;line-height:1.5}.assignment-confirm input{width:auto;margin-top:.15rem}

.flash-quick-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.85rem}.flash-quick-actions .btn{background:#fff}

.assignment-cleanup{margin-top:.85rem;background:rgba(27,162,245,.08);border-color:rgba(27,162,245,.18)}
.file-preview{display:grid;gap:.55rem;margin-top:.7rem;padding:.8rem;border:1px solid #dce8f8;border-radius:18px;background:linear-gradient(180deg,#fff,rgba(27,162,245,.05))}
.file-preview.is-empty{display:none}
.file-preview-image{width:min(180px,100%);max-height:120px;object-fit:contain;border-radius:14px;background:#fff;padding:.5rem;border:1px solid #e7f0fb}
.tenant-branding-card{padding:1.1rem;background:linear-gradient(135deg,var(--tenant-primary,#0B40B1),var(--tenant-secondary,#1BA2F5));border:none;color:#fff;overflow:hidden}
.tenant-branding-preview{display:grid;grid-template-columns:120px 1fr;gap:1.2rem;align-items:center}
.tenant-branding-logo-wrap{display:grid;place-items:center;padding:1rem;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 18px 36px rgba(7,25,68,.18)}
.tenant-branding-logo{width:100%;max-width:92px;max-height:92px;object-fit:contain}
.tenant-branding-copy .eyebrow,.tenant-branding-copy p{color:rgba(255,255,255,.84)}
.tenant-branding-copy h3{margin:0;font-family:"Space Grotesk","Manrope",sans-serif;font-size:1.9rem;color:#fff}
.tenant-branding-copy p{margin:.35rem 0 0;line-height:1.55}
.tenant-branding-swatches{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
.tenant-branding-swatches span{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .8rem;border-radius:999px;background:rgba(255,255,255,.16);font-weight:800}
.tenant-branding-swatches i{display:inline-block;width:16px;height:16px;border-radius:999px;border:2px solid rgba(255,255,255,.68)}
@media (max-width:640px){.tenant-branding-preview{grid-template-columns:1fr}.tenant-branding-copy h3{font-size:1.5rem}}
.table-card{background:rgba(255,255,255,.96);border:1px solid #d9e8fb}
.table-card-head{display:flex;justify-content:space-between;align-items:center;gap:1.15rem;margin-bottom:1.25rem}
.table-card-head h2{margin:.2rem 0 0;font-family:"Space Grotesk","Manrope",sans-serif;color:var(--herlie-blue-deep)}
.table-responsive{width:100%;overflow-x:auto;border:1px solid #e3eefc;border-radius:22px;background:#fff}
.admin-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;background:#fff}
.admin-table thead th{padding:1rem 1.1rem;background:linear-gradient(180deg,#f8fbff,#eef5ff);color:#486581;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #dce8f8}
.admin-table tbody td{padding:1rem 1.1rem;border-bottom:1px solid #edf3fb;color:#17324d;vertical-align:middle}
.admin-table tbody tr:nth-child(even) td{background:rgba(248,251,255,.86)}
.admin-table tbody tr:hover td{background:rgba(27,162,245,.08)}
.admin-table th:first-child{border-top-left-radius:20px}
.admin-table th:last-child{border-top-right-radius:20px}
.admin-table td.text-end,.admin-table th.text-end{text-align:right}
.admin-table .btn-sm{padding:.65rem .9rem;border-radius:12px;font-size:.88rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.95rem 1.2rem;border-radius:16px;border:1px solid transparent;font-weight:800;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background .18s ease,color .18s ease}
.btn:hover{text-decoration:none}
.btn-dark{color:#fff;box-shadow:0 14px 28px rgba(11,64,177,.22)}
.btn-outline-dark{background:rgba(255,255,255,.82);box-shadow:none}
.btn-outline-dark:hover{color:#fff;box-shadow:0 14px 28px rgba(11,64,177,.18)}
.hero-user .btn{min-width:160px}
.tenant-branding-card{background:linear-gradient(135deg,var(--tenant-primary,#0B40B1),var(--tenant-secondary,#1BA2F5)) !important;border:none !important;color:#fff}
.tenant-branding-card .eyebrow,.tenant-branding-card p,.tenant-branding-card h3,.tenant-branding-card span,.tenant-branding-card strong{color:inherit}
.tenant-branding-preview{grid-template-columns:120px 1fr}
.tenant-branding-copy{display:grid;gap:.35rem;align-content:center}
.demo-summary-card{display:grid;gap:1rem;background:linear-gradient(135deg,rgba(11,64,177,.95),rgba(27,162,245,.82));border:none;color:#fff}
.demo-summary-card.is-muted{background:linear-gradient(135deg,rgba(71,85,105,.18),rgba(148,163,184,.14));border:1px solid #d7e3f7;color:#14304b}
.demo-summary-card .eyebrow,.demo-summary-card p,.demo-summary-card h3,.demo-summary-card span,.demo-summary-card strong,.demo-summary-card small{color:inherit}
.demo-summary-grid{display:flex;flex-wrap:wrap;gap:.65rem}
.demo-summary-pill{padding:.55rem .9rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:.88rem;font-weight:700}
.demo-summary-card.is-muted .demo-summary-pill{background:rgba(255,255,255,.72);border-color:#d7e3f7}
.demo-summary-dates{justify-self:end;min-width:220px}
.demo-summary-footer{display:grid;gap:.35rem;padding-top:.2rem;border-top:1px solid rgba(255,255,255,.18)}
.demo-summary-card.is-muted .demo-summary-footer{border-top-color:#d7e3f7}
@media (max-width:640px){.demo-summary-dates{justify-self:stretch;min-width:0}.demo-summary-grid{flex-direction:column}}
.tenant-branding-logo-wrap{min-height:120px}
.marks-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.marks-flags{display:grid;gap:.45rem}
.marks-flag{display:inline-flex;align-items:center;padding:.45rem .7rem;border-radius:999px;font-size:.8rem;font-weight:800}
.marks-flag.is-ok{background:rgba(14,159,110,.12);color:#0a7a56}
.marks-flag.is-warning{background:rgba(255,184,0,.16);color:#8a5c00}
.marks-flag.is-danger{background:rgba(179,38,30,.12);color:#a12822}
.marks-flag.is-neutral{background:rgba(11,64,177,.08);color:#0b40b1}
.marks-detail summary{cursor:pointer;font-weight:800;color:var(--herlie-blue-deep)}
.marks-timeline{display:grid;gap:.55rem;list-style:none;padding:0;margin:.9rem 0 0}
.marks-timeline li{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;padding:.75rem .85rem;border:1px solid #e7f0fb;border-radius:16px;background:linear-gradient(180deg,#fff,rgba(27,162,245,.05))}
.marks-timeline strong{min-width:56px;color:var(--herlie-blue-deep)}
.marks-timeline em{font-style:normal;font-weight:800;color:#a15a00}
@media (max-width:640px){.marks-filters{grid-template-columns:1fr}}
.quick-filter-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 1rem}
.quick-filter-chip{display:inline-flex;align-items:center;padding:.6rem .9rem;border-radius:999px;border:1px solid #cfe2fb;background:rgba(255,255,255,.88);color:var(--herlie-blue-deep);font-weight:800;text-decoration:none;transition:all .18s ease}
.quick-filter-chip:hover,.quick-filter-chip.is-active{background:linear-gradient(135deg,var(--herlie-blue),var(--herlie-sky));border-color:transparent;color:#fff;box-shadow:0 14px 28px rgba(11,64,177,.18)}
.marks-flag.is-info{background:rgba(27,162,245,.14);color:#0d78b6}
.marks-flag.is-muted{background:rgba(72,101,129,.10);color:#486581}
.marks-action{margin-top:.75rem}
.incident-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.incident-panel{padding:1.25rem;border:1px solid #e3eefc;border-radius:24px;background:linear-gradient(180deg,#fff,rgba(27,162,245,.05))}
.incident-form{margin-top:1rem}
.incident-form textarea{width:100%;min-height:180px;padding:1rem;border:1px solid #d4e5fb;border-radius:18px;font:inherit;resize:vertical}
.incident-timeline small{display:block;width:100%;color:#486581}
@media (max-width:991px){.incident-grid{grid-template-columns:1fr}}
.attendance-grid .executive-card.warning{background:linear-gradient(180deg,#ffffff,rgba(255,184,0,.08))}
.attendance-grid .executive-card.danger{background:linear-gradient(180deg,#ffffff,rgba(179,38,30,.06))}
.attendance-grid .executive-card.correction{background:linear-gradient(180deg,#ffffff,rgba(27,162,245,.10));border-color:#cfe2fb}
.attendance-grid .executive-card.correction strong{color:#0b40b1}.attendance-card-link{margin-top:.35rem}.attendance-split{grid-template-columns:1fr 1fr}.attendance-focus-grid strong{font-size:1.55rem}
.quick-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.quick-action-tile{display:grid;gap:.35rem;padding:1rem 1.05rem;border:1px solid #dbeafb;border-radius:20px;background:linear-gradient(180deg,#fff,rgba(27,162,245,.06));text-decoration:none;color:var(--herlie-blue-deep);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.quick-action-tile:hover{transform:translateY(-2px);border-color:#aacdf5;box-shadow:0 18px 34px rgba(11,64,177,.10);text-decoration:none;color:var(--herlie-blue-deep)}
.quick-action-tile strong{font-size:1rem}.quick-action-tile span{color:#607d98;line-height:1.5}.attendance-list{display:grid;gap:.85rem}.attendance-list-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.05rem;border:1px solid #e7f0fb;border-radius:20px;background:linear-gradient(180deg,#fff,rgba(27,162,245,.04))}
.attendance-list-item strong{display:block;color:var(--herlie-blue-deep)}.attendance-list-item small{color:#607d98}.incident-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.empty-state-inline{padding:1rem 1.05rem;border:1px dashed #c8ddf7;border-radius:18px;color:#607d98;background:rgba(255,255,255,.72)}.bottom-split{margin-top:1rem}
@media (max-width:991px){.attendance-split{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:1fr}}
@media (max-width:640px){.attendance-list-item{flex-direction:column;align-items:flex-start}.incident-actions{width:100%}.incident-actions .btn{width:100%}}
.dashboard-branch-filter{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.dashboard-branch-filter select{min-width:220px}.dashboard-branch-filter.compact .btn{min-width:auto}.three-way{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1200px){.three-way{grid-template-columns:1fr}}
.marks-row-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}.admin-edit-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.close-shift-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.close-shift-form .full-width{grid-column:1 / -1}.close-shift-form textarea,.close-shift-form select,.close-shift-form input{width:100%}@media (max-width:991px){.close-shift-form{grid-template-columns:1fr}.admin-edit-list li{flex-direction:column;align-items:stretch}}
.review-form .review-actions{display:flex;gap:.75rem;flex-wrap:wrap}.review-note{margin-top:1rem;margin-bottom:1rem}

.sidebar .nav-pill:not(.is-active):hover{background:rgba(255,255,255,.08)!important;color:#eef7ff!important}
.sidebar .nav-pill:not(.is-active):hover .nav-pill-icon{color:#fff!important}


.sidebar .nav-pill,.sidebar .nav-pill:hover,.sidebar .nav-pill:focus,.sidebar .nav-pill:active{text-decoration:none!important}
.sidebar .nav-pill .nav-pill-label{text-decoration:none!important}


.device-actions-inline {
    display: inline-flex;
    gap: 0.5rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.inline-form {
    margin: 0;
}
.field-block input,
.field-block select,
.field-block textarea{margin-top:.05rem}
.field-block .multi-select-input{min-height:180px;padding:.75rem 1rem}
.table-card .btn + .btn,
.device-actions-inline .btn,
.device-actions-inline .inline-form{margin-top:.15rem}
.device-actions-inline{gap:.65rem}
.table-action-group{display:inline-flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.table-icon-btn{width:42px;height:42px;padding:0;border-radius:14px}
.table-icon-btn i{font-size:1rem;line-height:1}
.system-alert-banner{display:flex;align-items:flex-start;gap:1rem;margin:0 .2rem 1rem;padding:1rem 1.1rem;border-radius:22px;border:1px solid #d9e8fb;background:linear-gradient(135deg,rgba(27,162,245,.08),rgba(11,64,177,.06));box-shadow:0 16px 36px rgba(11,64,177,.08)}
.system-alert-banner--fixed{flex:0 0 auto;margin:.15rem -.15rem .15rem;padding:.9rem 1.25rem;border-radius:0 0 20px 20px;border-left:none;border-right:none;box-shadow:0 14px 30px rgba(11,64,177,.08)}
.system-alert-banner__icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:14px;background:#fff;color:var(--herlie-blue-deep);box-shadow:0 10px 24px rgba(11,64,177,.10);font-size:1.1rem}
.system-alert-banner__body{display:grid;gap:.25rem;min-width:0;flex:1}
.system-alert-banner__body strong{font-family:"Space Grotesk","Manrope",sans-serif;color:var(--herlie-blue-deep);font-size:1.05rem}
.system-alert-banner__body span{color:#486581;line-height:1.55}
.system-alert-banner__action{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-height:42px;padding:.75rem 1rem;border-radius:14px;background:#fff;border:1px solid #d7e6fb;color:var(--herlie-blue-deep);font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 10px 24px rgba(11,64,177,.08)}
.system-alert-banner__action:hover{text-decoration:none;color:var(--herlie-blue-deep);transform:translateY(-1px)}
.system-alert-banner--warning{border-color:rgba(255,184,0,.24);background:linear-gradient(135deg,rgba(255,184,0,.14),rgba(255,255,255,.92))}
.system-alert-banner--warning .system-alert-banner__icon{color:#8a5c00}
.system-alert-banner--warning .system-alert-banner__body strong{color:#8a5c00}
.system-alert-banner--warning .system-alert-banner__action{border-color:rgba(255,184,0,.24)}
@media (max-width:768px){.system-alert-banner,.system-alert-banner--fixed{flex-direction:column}.system-alert-banner--fixed{margin:.1rem -.05rem .1rem;padding:.85rem 1rem;border-radius:0 0 18px 18px}.system-alert-banner__action{width:100%;align-self:stretch}}
.table-toggle-btn{position:relative;overflow:hidden;gap:0;width:56px;min-width:56px;height:34px;padding:0!important;border-radius:999px;border:0!important;background:transparent!important;box-shadow:none!important}
.table-toggle-btn:hover{background:transparent!important;transform:none}
.table-toggle-ui{position:relative;display:inline-flex;align-items:center;width:46px;height:24px;border-radius:999px;background:rgba(163,181,201,.58);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);transition:background .18s ease}
.table-toggle-ui::after{content:"";position:absolute;left:2px;top:2px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 4px 10px rgba(15,30,56,.18);transition:transform .18s ease}
.table-toggle-btn.is-on .table-toggle-ui::after{transform:translateX(22px)}
.table-toggle-btn.is-off .table-toggle-ui{background:rgba(206,217,231,.85)}
.table-toggle-btn.is-disabled{opacity:.72;cursor:default}
.table-toggle-btn.is-disabled .table-toggle-ui{background:rgba(206,217,231,.85)}
.table-toggle-btn:not(.is-disabled):hover .table-toggle-ui{background:rgba(142,165,191,.72)}
.table-icon-btn .visually-hidden,.table-toggle-btn .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.field-help{margin:0;color:#64748b;font-size:.88rem;line-height:1.5}
.password-field-row{display:flex;align-items:center;gap:.75rem}
.password-field-row input{flex:1 1 auto}
.password-generate-btn{white-space:nowrap;min-width:140px}
@media (max-width:640px){.password-field-row{flex-direction:column;align-items:stretch}.password-generate-btn{width:100%}}
.full-row,.weekday-row{grid-column:1/-1}
.weekday-picker{display:flex;flex-wrap:wrap;gap:.65rem}
.weekday-option{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem .95rem;border:1px solid #dce8f8;border-radius:999px;background:#f8fbff;color:#1f3b67;font-weight:700}
.weekday-option input{width:auto;transform:scale(1.04);margin:0}
.status-toggle-field{display:block}
.status-toggle{display:flex;align-items:center;gap:.9rem;min-height:54px;padding:.85rem 1rem;border:1px solid #cfe0f7;border-radius:18px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.status-toggle:hover{border-color:#9dbcf3;box-shadow:0 10px 22px rgba(11,64,177,.08)}
.status-toggle input{position:absolute;opacity:0;pointer-events:none}
.status-toggle-ui{position:relative;display:inline-flex;align-items:center;width:50px;height:28px;border-radius:999px;background:#c6d3e6;box-shadow:inset 0 0 0 1px rgba(11,64,177,.12);transition:background .18s ease}
.status-toggle-ui::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 4px 12px rgba(15,30,56,.18);transition:transform .18s ease}
.status-toggle input:checked + .status-toggle-ui{background:linear-gradient(135deg,var(--herlie-blue),var(--herlie-sky))}
.status-toggle input:checked + .status-toggle-ui::after{transform:translateX(22px)}
.status-toggle-copy{display:grid;gap:.08rem}
.status-toggle-copy strong{font-size:.98rem;color:#183153}
.status-toggle-copy small{color:#68809e;font-size:.82rem;font-weight:700}
.role-assignment-list{display:grid;gap:.9rem}
.role-assignment-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.05rem;border:1px solid #dbe8fa;border-radius:22px;background:linear-gradient(180deg,#fff,rgba(27,162,245,.05));transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.role-assignment-item:hover{border-color:#b8d4f4;box-shadow:0 14px 28px rgba(11,64,177,.08);transform:translateY(-1px)}
.role-assignment-copy{display:grid;gap:.28rem}
.role-assignment-copy strong{font-size:1.05rem;color:var(--herlie-blue-deep);font-family:"Space Grotesk","Manrope",sans-serif}
.role-assignment-copy span{font-size:.84rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#d93025}
.role-assignment-copy small{color:#64748b;line-height:1.5}
.role-assignment-check{display:flex;align-items:center;justify-content:center;min-width:54px}
.role-assignment-check input{width:20px;height:20px;margin:0;accent-color:var(--herlie-blue)}
.role-assignment-list.is-readonly .role-assignment-item{grid-template-columns:1fr;background:#fff}
.role-assignment-item.is-readonly:hover{transform:none}
@media (max-width:640px){.role-assignment-item{grid-template-columns:1fr;align-items:flex-start}.role-assignment-check{justify-content:flex-start}}
.admin-main{background:transparent}
.admin-scroll{display:flex;flex-direction:column;flex:0 1 auto;height:auto;min-height:0;background:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0;overscroll-behavior:contain}
.page-headline{flex:0 0 auto}

/* Responsive admin shell overrides */
.admin-shell{height:100dvh;overflow:hidden;grid-template-columns:306px minmax(0,1fr)}
.sidebar{height:100dvh;overflow:auto}
.admin-main{padding:0 1.3rem 1.3rem;display:flex;flex-direction:column;height:100dvh;min-width:0;overflow:hidden}
.topbar{position:sticky;top:0;z-index:25;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 -1.3rem .15rem;padding:.78rem 1.25rem;background:rgba(255,255,255,.86);border-bottom:1px solid #dbe7f8;backdrop-filter:blur(14px)}
.topbar-primary{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1 1 auto}
.topbar-menu-btn{width:42px;height:42px;padding:0;border:none;border-radius:14px;background:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(32,79,170,.08);cursor:pointer;color:#5d7695;font-size:1.45rem;line-height:1;transition:background .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease}
.topbar-tools{display:flex;align-items:center;justify-content:flex-end;gap:.9rem;flex:1 1 auto;flex-wrap:wrap;min-width:0}
.tenant-context-inline{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:.45rem;padding:.3rem .35rem .3rem .45rem;background:#fff;border:1px solid #dce7f8;border-radius:18px;box-shadow:0 12px 28px rgba(26,74,160,.08);min-width:0;width:auto}
.company-switcher-inline{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:.45rem;margin:0;min-width:0;width:auto}
.company-switcher-select{display:block;width:220px;min-width:220px;min-height:42px;height:auto;border:1px solid transparent;box-shadow:none;background:#f7fbff;color:#183153;font-weight:700;border-radius:14px;padding:.62rem 2rem .62rem .85rem;line-height:1.2;margin:0}
.topbar-user-menu{position:relative;flex:0 0 auto;margin-left:auto}
.topbar-user-menu summary{list-style:none}
.topbar-user-menu summary::-webkit-details-marker{display:none}
.topbar-user-card{display:flex;align-items:center;gap:.72rem;padding:.45rem .72rem .45rem .5rem;background:#fff;border:1px solid #dce7f8;border-radius:18px;box-shadow:0 12px 28px rgba(26,74,160,.08);min-width:220px;cursor:pointer}
.topbar-avatar{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#0B40B1,#1BA2F5);color:#fff;font-weight:800;font-size:.92rem;box-shadow:0 10px 20px rgba(11,64,177,.18)}
.topbar-user{display:grid;gap:.08rem;padding:0;background:transparent;border:none;text-align:left;min-width:0}
.topbar-user span{font-weight:800;color:#183153;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-user small{color:#6f84a0;font-size:.72rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-user-chevron{margin-left:.25rem;color:#7d90ab;font-size:.85rem}
.topbar-user-dropdown{position:absolute;right:0;top:calc(100% + .55rem);min-width:220px;padding:.45rem;background:#fff;border:1px solid #dce7f8;border-radius:18px;box-shadow:0 18px 38px rgba(26,74,160,.14);z-index:40}
.topbar-user-dropdown-head{padding:.55rem .7rem .65rem;border-bottom:1px solid #e7eef9;display:grid;gap:.12rem}
.topbar-user-dropdown-head strong{font-size:.9rem;color:#183153}
.topbar-user-dropdown-head small{color:#6f84a0}
.topbar-user-logout{width:100%;margin-top:.45rem;padding:.8rem .85rem;border:none;border-radius:14px;background:#fff5f5;color:#d22b4c;font-weight:800;text-align:left;display:flex;align-items:center;gap:.55rem;box-shadow:none}
.sidebar-backdrop{display:none}
.admin-scroll{width:100%;min-width:0;padding:1rem .15rem .2rem;max-height:none;overflow:auto;align-self:flex-start}
.admin-scroll.fits-content{overflow:visible}
.page-headline{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.95rem;padding:0 .2rem}
.content-panel{width:100%;align-content:start}

@media (max-width:1199px){
  .topbar-tools{width:100%;justify-content:space-between}
  .tenant-context-inline{flex:1 1 100%;order:1}
  .company-switcher-inline{flex:1 1 240px}
  .company-switcher-select{width:100%;min-width:0}
}

@media (max-width:991px){
  .admin-shell{grid-template-columns:minmax(0,1fr)!important}
  .sidebar{position:fixed;inset:0 auto 0 0;width:min(84vw,320px);height:100dvh;padding:1.1rem .95rem 1.2rem;transform:translateX(-110%);transition:transform .24s ease,padding .24s ease;z-index:45;border-radius:0 28px 28px 0;box-shadow:0 16px 40px rgba(11,64,177,.18)}
  .admin-shell.is-mobile-open .sidebar{transform:translateX(0)}
  .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(9,22,51,.34);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .24s ease;z-index:40}
  .admin-shell.is-mobile-open .sidebar-backdrop{opacity:1;pointer-events:auto}
  .admin-main{padding:0 1rem 1rem}
  .topbar{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:start;gap:.75rem;margin:0 -1rem .15rem;padding:.85rem 1rem}
  .topbar-primary{flex:none;width:100%;justify-content:flex-start}
  .topbar-tools{width:100%;flex:none;display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:.75rem}
  .tenant-context-inline{width:100%;flex-wrap:wrap!important;justify-content:space-between;padding:.5rem .55rem}
  .company-switcher-inline,.topbar-user-menu{width:100%}
  .company-switcher-select,.topbar-user-card{width:100%;min-width:0}
  .topbar-user-menu{margin-left:0}
  .topbar-user-dropdown{left:0;right:0;min-width:0}
  .page-headline{margin-bottom:.8rem}
  .form-grid{grid-template-columns:1fr}
  .list-filters{grid-template-columns:1fr 1fr auto}
  .table-card-head{flex-direction:column;align-items:stretch}
  .table-card-head .btn,.table-card-head a{width:100%}
}

@media (max-width:767px){
  .topbar{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-areas:"menu switch" "user user";align-items:start;column-gap:.65rem;row-gap:.55rem}
  .topbar-tools{display:contents!important}
  .topbar-primary{grid-area:menu;align-self:flex-start;width:auto}
  .topbar-menu-btn{width:40px;height:40px;border-radius:12px;font-size:1.25rem}
  .tenant-context-inline{grid-area:switch;display:block!important;width:100%;min-width:0;padding:0;border:none;box-shadow:none;background:transparent;min-height:auto}
  .tenant-badge{display:none!important}
  .company-switcher-inline{display:block!important;width:100%;min-width:0;max-width:none}
  .company-switcher-select{width:100%;min-width:0;min-height:36px;padding:.45rem 1.65rem .45rem .8rem;border-radius:12px;font-size:.86rem;font-weight:800;background:#f7fbff}
  .topbar-user-menu{grid-area:user;width:100%;margin-top:0}
  .list-filters{grid-template-columns:1fr}
  .list-filters .btn{width:100%}
  .metric-grid,.executive-grid,.quick-actions-grid,.focus-grid{grid-template-columns:1fr}
  .hero-card{flex-direction:column}
  .table-responsive{overflow:visible;border:none;background:transparent}
  .admin-table{min-width:0;background:transparent}
  .admin-table thead{display:none}
  .admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}
  .admin-table tbody{display:grid;gap:.85rem}
  .admin-table tbody tr{border:1px solid #e3eefc;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 16px 32px rgba(11,64,177,.06)}
  .admin-table tbody td{display:grid;grid-template-columns:minmax(112px,.9fr) minmax(0,1.1fr);gap:.75rem;align-items:start;padding:.82rem 1rem;border-bottom:1px solid #edf3fb;text-align:left!important}
  .admin-table tbody td:last-child{border-bottom:none}
  .admin-table tbody td::before{content:attr(data-label);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6f84a0}
  .admin-table tbody td[colspan]{display:block;text-align:center!important}
  .admin-table tbody td[colspan]::before{display:none}
  .admin-table td.text-end,.admin-table th.text-end{text-align:left!important}
  .table-action-group{width:100%;justify-content:flex-start}
}

@media (max-width:640px){
  .topbar-user-dropdown{padding:.4rem}
  .system-alert-banner--fixed{margin:.1rem -.05rem .1rem;padding:.85rem 1rem}
  .table-action-group > *{flex:0 0 auto}
}
