:root{
  --dl-primary:#3b82f6;
  --dl-primary-strong:#2563eb;
  --dl-good:#22c55e;
  --dl-warn:#f59e0b;
  --dl-bad:#ef4444;
  --dl-info:#06b6d4;
  --dl-sidebar-w:286px;
  --dl-sidebar-collapsed:82px;
  --dl-topbar-h:70px;
  --dl-radius:18px;
}
html,body{min-height:100%}
.min-width-0{min-width:0}

/* Shared PWA status */
.sync-pill{
  position:fixed;right:14px;bottom:14px;z-index:2000;background:#198754;color:#fff;
  border-radius:999px;padding:.4rem .75rem;font-size:.75rem;box-shadow:0 .25rem 1rem rgba(0,0,0,.15)
}
.sync-pill.offline{background:#dc3545}.sync-pill.syncing{background:#fd7e14}
.offline-queued{border-color:#fd7e14!important;box-shadow:0 0 0 .15rem rgba(253,126,20,.1)}
#binMap{border-radius:1rem;overflow:hidden}.gantt-bar{height:1rem;border-radius:999px;background:#0d6efd}

/* ================================
   DLPRO ADMIN — HOCKEY EDGE INSPIRED
   ================================ */
.admin-app{
  --dl-bg:#08101d;
  --dl-bg2:#0d1525;
  --dl-panel:#111827;
  --dl-panel2:#172033;
  --dl-panel3:#1e293b;
  --dl-text:#e5e7eb;
  --dl-muted:#94a3b8;
  --dl-line:#263244;
  --dl-soft-line:rgba(148,163,184,.13);
  --dl-sidebar:#0b1220;
  --dl-topbar:rgba(8,16,29,.88);
  --dl-shadow:0 14px 34px rgba(0,0,0,.17);
  --dl-shadow-sm:0 8px 22px rgba(0,0,0,.12);
  background:
    radial-gradient(circle at 14% 0%,color-mix(in srgb,var(--dl-primary) 13%,transparent),transparent 31%),
    linear-gradient(180deg,var(--dl-bg),var(--dl-bg2));
  color:var(--dl-text);
  min-height:100vh;
}
html[data-bs-theme="light"] .admin-app{
  --dl-bg:#f4f7fb;
  --dl-bg2:#edf2f8;
  --dl-panel:#fff;
  --dl-panel2:#f8fafc;
  --dl-panel3:#eef2f7;
  --dl-text:#172033;
  --dl-muted:#64748b;
  --dl-line:#dbe3ee;
  --dl-soft-line:rgba(15,23,42,.08);
  --dl-sidebar:#0f172a;
  --dl-topbar:rgba(244,247,251,.9);
  --dl-shadow:0 12px 28px rgba(15,23,42,.08);
  --dl-shadow-sm:0 8px 20px rgba(15,23,42,.07);
}
.admin-app a{color:inherit}
.admin-shell{min-height:100vh;display:flex}
.admin-sidebar{
  width:var(--dl-sidebar-w);
  background:
    radial-gradient(circle at 0 0,rgba(59,130,246,.15),transparent 28%),
    linear-gradient(180deg,#0b1220,#0a101d 70%,#09101b);
  border-right:1px solid rgba(148,163,184,.12);
  position:fixed;inset:0 auto 0 0;z-index:1040;
  transition:width .2s ease;
  color:#e5e7eb;
}
.admin-main{
  width:100%;min-width:0;margin-left:var(--dl-sidebar-w);
  min-height:100vh;display:flex;flex-direction:column;
  transition:margin-left .2s ease;
}
body.sidebar-collapsed .admin-sidebar{width:var(--dl-sidebar-collapsed)}
body.sidebar-collapsed .admin-main{margin-left:var(--dl-sidebar-collapsed)}
.sidebar-top{min-height:70px;display:flex;align-items:center;padding:.8rem .8rem .8rem 1rem;border-bottom:1px solid rgba(148,163,184,.11)}
.sidebar-brand{display:flex;align-items:center;gap:.72rem;color:#f8fafc;min-width:0}
.sidebar-brand:hover{color:#fff}
.brand-mark,.brand-mark-sm{
  display:grid;place-items:center;background:linear-gradient(145deg,#2563eb,#4f8ef7);color:#fff;
  font-weight:800;border-radius:14px;box-shadow:0 0 0 5px rgba(59,130,246,.12),0 8px 18px rgba(37,99,235,.16)
}
.brand-mark{width:54px;height:54px;font-size:1.25rem}
.brand-mark-sm{width:38px;height:38px;font-size:1rem;flex:0 0 38px}
.brand-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.brand-copy strong{font-size:.98rem;letter-spacing:-.01em}
.brand-copy small{font-size:.67rem;color:#7f8ea3;margin-top:.28rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.sidebar-collapse-btn{
  margin-left:auto;width:34px;height:34px;border:1px solid rgba(148,163,184,.14);border-radius:10px;
  background:rgba(255,255,255,.03);color:#94a3b8;display:grid;place-items:center;
}
.sidebar-collapse-btn:hover{background:rgba(59,130,246,.11);color:#fff;border-color:rgba(59,130,246,.3)}
.sidebar-workspace{
  margin:.9rem .8rem .55rem;padding:.72rem .75rem;display:flex;align-items:center;gap:.65rem;
  border:1px solid rgba(148,163,184,.12);border-radius:14px;background:rgba(255,255,255,.035);
}
.workspace-icon{
  width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:0 0 34px;
  color:#7dd3fc;background:rgba(59,130,246,.13);border:1px solid rgba(59,130,246,.16)
}
.workspace-copy{font-size:.79rem}
.workspace-copy strong{color:#e5e7eb;font-size:.82rem}
.workspace-label{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.59rem;font-weight:800;margin-bottom:.12rem}
.sidebar-search-wrap{
  margin:.35rem .8rem .65rem;position:relative;display:flex;align-items:center;
}
.sidebar-search-wrap>i{position:absolute;left:.72rem;color:#64748b;font-size:.85rem}
.sidebar-search{
  width:100%;height:38px;border-radius:11px;border:1px solid rgba(148,163,184,.11);
  padding:0 .72rem 0 2.15rem;background:rgba(255,255,255,.035);color:#e5e7eb;font-size:.8rem;outline:none;
}
.sidebar-search::placeholder{color:#64748b}
.sidebar-search:focus{border-color:rgba(59,130,246,.45);box-shadow:0 0 0 .18rem rgba(59,130,246,.1)}
.sidebar-nav{padding:.15rem .65rem .8rem;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.2) transparent}
.sidebar-link{
  display:flex;align-items:center;gap:.72rem;min-height:40px;padding:.53rem .7rem;margin:.05rem 0;
  border-radius:11px;text-decoration:none;color:#9aa8bc;font-size:.81rem;font-weight:560;
  position:relative;transition:background .14s,color .14s,transform .14s;
}
.sidebar-link>i{width:19px;text-align:center;font-size:.94rem;flex:0 0 19px}
.sidebar-link:hover{background:rgba(255,255,255,.055);color:#f8fafc;transform:translateX(1px)}
.sidebar-link.active{
  color:#fff;background:linear-gradient(90deg,rgba(59,130,246,.22),rgba(59,130,246,.08));
  box-shadow:inset 3px 0 0 #3b82f6;
}
.sidebar-link.active>i{color:#60a5fa}
.sidebar-home{margin-bottom:.35rem}
.nav-badge{
  font-size:.55rem;letter-spacing:.06em;font-weight:800;padding:.14rem .35rem;border-radius:999px;
  color:#7dd3fc;background:rgba(14,165,233,.11);border:1px solid rgba(125,211,252,.13)
}
.nav-section{margin:.13rem 0}
.nav-section-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .7rem .42rem;
  color:#64748b;background:transparent;border:0;text-transform:uppercase;letter-spacing:.09em;font-size:.62rem;font-weight:850;
}
.nav-section-toggle>span{gap:.65rem}
.nav-section-toggle>span>i{width:19px;text-align:center;font-size:.82rem;color:#65758b}
.nav-section-toggle:hover{color:#94a3b8}
.nav-section-chevron{font-size:.62rem;transition:transform .18s}
.nav-section-toggle.is-open .nav-section-chevron{transform:rotate(180deg)}
.nav-section-items{display:none}
.nav-section-items.show{display:block}
.sidebar-heading{padding:.75rem .7rem .3rem;color:#64748b;font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850}
.sidebar-footer{padding:.75rem;border-top:1px solid rgba(148,163,184,.11)}
.user-panel{
  display:flex;align-items:center;gap:.65rem;border-radius:13px;padding:.55rem .58rem;color:#cbd5e1;background:rgba(255,255,255,.025)
}
.user-panel:hover{background:rgba(255,255,255,.055);color:#fff}
.user-avatar{
  width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:12px;
  font-weight:850;font-size:.76rem;color:#dbeafe;background:linear-gradient(145deg,rgba(59,130,246,.3),rgba(6,182,212,.16));
  border:1px solid rgba(96,165,250,.2)
}
.user-avatar-sm{width:32px;height:32px;flex-basis:32px;border-radius:10px}
.user-copy{font-size:.76rem}.user-copy small{color:#64748b}
body.sidebar-collapsed .brand-copy,
body.sidebar-collapsed .sidebar-workspace .workspace-copy,
body.sidebar-collapsed .sidebar-search,
body.sidebar-collapsed .sidebar-link>span,
body.sidebar-collapsed .nav-section-label,
body.sidebar-collapsed .nav-section-chevron,
body.sidebar-collapsed .user-copy,
body.sidebar-collapsed .user-panel>i{display:none!important}
body.sidebar-collapsed .sidebar-top{padding-left:.8rem}
body.sidebar-collapsed .sidebar-collapse-btn{display:none}
body.sidebar-collapsed .sidebar-brand{margin:auto}
body.sidebar-collapsed .sidebar-workspace{justify-content:center;padding:.6rem;margin:.8rem .65rem .5rem}
body.sidebar-collapsed .sidebar-search-wrap{height:36px;margin:.2rem .65rem .65rem;border:1px solid rgba(148,163,184,.11);border-radius:11px;background:rgba(255,255,255,.035)}
body.sidebar-collapsed .sidebar-search-wrap>i{position:static;margin:auto}
body.sidebar-collapsed .sidebar-link{justify-content:center;padding:.54rem .2rem}
body.sidebar-collapsed .nav-section-toggle{justify-content:center;padding:.55rem .2rem .25rem}
body.sidebar-collapsed .nav-section-toggle>span{gap:0}
body.sidebar-collapsed .nav-section-items{display:block}
body.sidebar-collapsed .sidebar-footer{padding:.65rem}
body.sidebar-collapsed .user-panel{justify-content:center;padding:.45rem}

.admin-topbar{
  z-index:1030;background:var(--dl-topbar);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--dl-soft-line);box-shadow:0 1px 0 rgba(255,255,255,.025),0 10px 35px rgba(0,0,0,.06);
}
.topbar-inner{height:var(--dl-topbar-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.15rem 0 1.35rem}
.topbar-title strong{font-size:.95rem;letter-spacing:-.01em;color:var(--dl-text)}
.eyebrow{text-transform:uppercase;letter-spacing:.105em;font-size:.61rem;font-weight:850;color:color-mix(in srgb,var(--dl-primary) 80%,#7dd3fc);margin-bottom:.1rem}
.topbar-actions{display:flex;align-items:center;gap:.45rem}
.icon-btn{
  width:36px;height:36px;border-radius:11px;border:1px solid var(--dl-line);background:var(--dl-panel);
  color:var(--dl-muted);display:grid;place-items:center;text-decoration:none;padding:0;
}
.icon-btn:hover{color:var(--dl-text);border-color:color-mix(in srgb,var(--dl-primary) 36%,var(--dl-line));background:color-mix(in srgb,var(--dl-primary) 6%,var(--dl-panel))}
.quick-create-btn{border-radius:11px;padding:.47rem .8rem;font-weight:700}
.user-menu-btn{
  min-height:40px;max-width:235px;display:flex;align-items:center;gap:.55rem;border:0;background:transparent;
  color:var(--dl-text);padding:.25rem .35rem;border-radius:12px
}
.user-menu-btn:hover{background:color-mix(in srgb,var(--dl-panel3) 62%,transparent)}
.user-menu-btn strong{font-size:.75rem;line-height:1.1;max-width:138px}
.user-menu-btn small{font-size:.64rem;color:var(--dl-muted);max-width:138px}
.user-menu-btn:after{color:var(--dl-muted);font-size:.62rem}
.admin-app .dropdown-menu{
  --bs-dropdown-bg:var(--dl-panel);--bs-dropdown-border-color:var(--dl-line);--bs-dropdown-color:var(--dl-text);
  --bs-dropdown-link-color:var(--dl-text);--bs-dropdown-link-hover-color:var(--dl-text);
  --bs-dropdown-link-hover-bg:color-mix(in srgb,var(--dl-primary) 9%,var(--dl-panel));
  border-radius:14px;padding:.45rem;box-shadow:var(--dl-shadow)!important
}
.admin-app .dropdown-item{border-radius:9px;padding:.55rem .65rem;font-size:.82rem;display:flex;align-items:center;gap:.6rem}
.admin-app .dropdown-divider{border-color:var(--dl-line)}

.admin-content{padding:1.3rem 1.35rem 2rem;flex:1}
.admin-footer{
  min-height:48px;padding:.75rem 1.35rem;display:flex;align-items:center;gap:.55rem;
  color:var(--dl-muted);font-size:.68rem;border-top:1px solid var(--dl-soft-line);background:color-mix(in srgb,var(--dl-bg2) 85%,transparent)
}
.footer-dot{width:4px;height:4px;border-radius:50%;background:var(--dl-primary)}

/* Core admin surfaces */
.admin-app .card,.admin-app .modal-content,.admin-app .offcanvas{
  background:var(--dl-panel);border-color:var(--dl-line);color:var(--dl-text)
}
.admin-app .card{border-radius:var(--dl-radius);box-shadow:var(--dl-shadow);border:1px solid var(--dl-line)!important}
.admin-app .card-header,.admin-app .card-footer{border-color:var(--dl-line)}
.admin-app .card-header{background:linear-gradient(90deg,color-mix(in srgb,var(--dl-primary) 10%,transparent),transparent)}
.admin-app .text-body-secondary,.admin-app .text-secondary{color:var(--dl-muted)!important}
.admin-app .form-control,.admin-app .form-select{
  background:var(--dl-panel2);border-color:var(--dl-line);color:var(--dl-text);border-radius:11px;min-height:42px
}
.admin-app textarea.form-control{min-height:110px}
.admin-app .form-control:focus,.admin-app .form-select:focus{
  background:var(--dl-panel2);color:var(--dl-text);border-color:var(--dl-primary);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--dl-primary) 16%,transparent)
}
.admin-app .form-control::placeholder{color:var(--dl-muted)}
.admin-app .form-label{font-size:.72rem;font-weight:750;color:var(--dl-muted);letter-spacing:.015em;margin-bottom:.42rem}
.admin-app .form-check-input{background-color:var(--dl-panel2);border-color:var(--dl-line)}
.admin-app .form-check-input:checked{background-color:var(--dl-primary);border-color:var(--dl-primary)}
.admin-app .table{
  --bs-table-bg:transparent;--bs-table-color:var(--dl-text);--bs-table-border-color:var(--dl-line);
  margin-bottom:0;vertical-align:middle
}
.admin-app .table>thead{background:color-mix(in srgb,var(--dl-panel3) 72%,transparent)}
.admin-app .table>thead th{
  font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--dl-muted);font-weight:850;white-space:nowrap;padding:.78rem .85rem
}
.admin-app .table>tbody td{padding:.78rem .85rem;font-size:.79rem}
.admin-app .table-hover>tbody>tr:hover>*{--bs-table-bg-state:color-mix(in srgb,var(--dl-primary) 6%,transparent)}
.admin-app .btn{border-radius:10px;font-weight:700;font-size:.8rem}
.admin-app .btn-sm{border-radius:9px;font-size:.72rem}
.admin-app .btn-outline-secondary{--bs-btn-color:var(--dl-muted);--bs-btn-border-color:var(--dl-line);--bs-btn-hover-bg:var(--dl-panel3);--bs-btn-hover-border-color:var(--dl-line);--bs-btn-hover-color:var(--dl-text)}
.admin-app .btn-outline-dark{--bs-btn-color:var(--dl-muted);--bs-btn-border-color:var(--dl-line);--bs-btn-hover-bg:var(--dl-panel3);--bs-btn-hover-border-color:var(--dl-line);--bs-btn-hover-color:var(--dl-text)}
.admin-app .alert{border-radius:14px}
.admin-app .badge{font-size:.66rem;border-radius:999px;padding:.35rem .52rem}
.admin-app hr{border-color:var(--dl-line)}
.admin-app .pagination{--bs-pagination-bg:var(--dl-panel);--bs-pagination-border-color:var(--dl-line);--bs-pagination-color:var(--dl-text)}

.page-hero{
  padding:1.25rem 1.35rem;border:1px solid color-mix(in srgb,var(--dl-primary) 28%,var(--dl-line));border-radius:20px;
  background:linear-gradient(125deg,color-mix(in srgb,var(--dl-primary) 17%,var(--dl-panel)),var(--dl-panel) 62%,color-mix(in srgb,var(--dl-info) 7%,var(--dl-panel)));
  box-shadow:var(--dl-shadow);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap
}
.page-hero h1,.page-heading h1{letter-spacing:-.025em}
.page-hero .hero-icon{
  width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:1.15rem;
  color:#93c5fd;background:rgba(59,130,246,.12);border:1px solid rgba(96,165,250,.18);flex:0 0 50px
}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.section-card{overflow:hidden}
.card-header-soft{padding:.9rem 1rem;background:linear-gradient(90deg,color-mix(in srgb,var(--dl-primary) 11%,transparent),transparent);border-bottom:1px solid var(--dl-line)}
.metric{font-size:1.7rem;font-weight:850;letter-spacing:-.04em}
.metric-label{color:var(--dl-muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;font-weight:780}
.stat-card{position:relative;overflow:hidden;box-shadow:var(--dl-shadow-sm)!important}
.stat-card:after{
  content:"";position:absolute;right:-35px;bottom:-48px;width:112px;height:112px;border-radius:50%;
  background:rgba(255,255,255,.025);pointer-events:none
}
.stat-card .stat-icon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--dl-panel3);color:var(--dl-muted);font-size:.95rem
}
.stat-primary{border-top:3px solid var(--dl-primary)!important}.stat-primary .stat-icon{color:#93c5fd;background:color-mix(in srgb,var(--dl-primary) 13%,var(--dl-panel))}
.stat-success{border-top:3px solid var(--dl-good)!important}.stat-success .stat-icon{color:#86efac;background:color-mix(in srgb,var(--dl-good) 11%,var(--dl-panel))}
.stat-info{border-top:3px solid var(--dl-info)!important}.stat-info .stat-icon{color:#67e8f9;background:color-mix(in srgb,var(--dl-info) 11%,var(--dl-panel))}
.stat-warning{border-top:3px solid var(--dl-warn)!important}.stat-warning .stat-icon{color:#fcd34d;background:color-mix(in srgb,var(--dl-warn) 11%,var(--dl-panel))}
.stat-danger{border-top:3px solid var(--dl-bad)!important}.stat-danger .stat-icon{color:#fca5a5;background:color-mix(in srgb,var(--dl-bad) 11%,var(--dl-panel))}
.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}
.workflow-tile{
  min-height:105px;display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;padding:1rem;
  border:1px solid var(--dl-line);border-radius:15px;text-decoration:none;background:var(--dl-panel2);font-weight:700;color:var(--dl-text);
  transition:transform .15s,border-color .15s,background .15s
}
.workflow-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--dl-primary) 55%,var(--dl-line));background:color-mix(in srgb,var(--dl-primary) 5%,var(--dl-panel2));color:var(--dl-text)}
.workflow-tile .workflow-icon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#93c5fd;
  background:color-mix(in srgb,var(--dl-primary) 12%,var(--dl-panel));border:1px solid color-mix(in srgb,var(--dl-primary) 18%,var(--dl-line))
}
.workflow-tile .workflow-meta{font-size:.68rem;color:var(--dl-muted);font-weight:560}
.status-chip{
  display:inline-flex;align-items:center;gap:.35rem;padding:.27rem .5rem;border-radius:999px;font-size:.64rem;font-weight:800;
  background:var(--dl-panel3);border:1px solid var(--dl-line);color:var(--dl-muted)
}
.status-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--dl-good);box-shadow:0 0 0 3px color-mix(in srgb,var(--dl-good) 13%,transparent)}
.command-card{height:100%;overflow:hidden}
.command-card .card-body{padding:1rem}
.command-list{display:grid;gap:.55rem}
.command-row{
  display:flex;align-items:center;gap:.7rem;padding:.65rem .7rem;border-radius:12px;border:1px solid var(--dl-line);
  background:var(--dl-panel2);text-decoration:none;color:var(--dl-text)
}
.command-row:hover{border-color:color-mix(in srgb,var(--dl-primary) 35%,var(--dl-line));background:color-mix(in srgb,var(--dl-primary) 4%,var(--dl-panel2));color:var(--dl-text)}
.command-row>i:first-child{width:20px;text-align:center;color:#93c5fd}
.command-row .small{color:var(--dl-muted)}
.table-card{overflow:hidden}
.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;border-bottom:1px solid var(--dl-line);background:var(--dl-panel)}
.empty-state{padding:3rem 1rem;text-align:center;color:var(--dl-muted)}
.empty-state .empty-icon{width:54px;height:54px;margin:0 auto .8rem;border-radius:16px;display:grid;place-items:center;background:var(--dl-panel3);font-size:1.2rem;color:#7f8ea3}
.form-shell .card-body{padding:1.25rem}
.form-section-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--dl-muted);margin-bottom:.9rem}
.offline-hint{display:inline-flex;align-items:center;gap:.35rem}
.offline-hint:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dl-good);box-shadow:0 0 0 3px color-mix(in srgb,var(--dl-good) 12%,transparent)}

/* Responsive mobile admin navigation */
.admin-mobile-nav{
  --bs-offcanvas-width:min(88vw,330px);background:#0b1220!important;color:#e5e7eb!important;border-right:1px solid rgba(148,163,184,.12)!important
}
.admin-mobile-nav .offcanvas-header{border-bottom:1px solid rgba(148,163,184,.11)}
.admin-mobile-nav .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
.admin-mobile-nav .sidebar-nav{overflow:visible}
.admin-mobile-nav .sidebar-link{color:#9aa8bc}
.admin-mobile-nav .sidebar-link:hover,.admin-mobile-nav .sidebar-link.active{color:#fff}

/* Authentication */
.auth-page{
  --auth-bg:#08101d;--auth-panel:#111827;--auth-panel2:#172033;--auth-text:#e5e7eb;--auth-muted:#94a3b8;--auth-line:#263244;
  min-height:100vh;color:var(--auth-text);
  background:
    radial-gradient(circle at 18% 8%,rgba(59,130,246,.18),transparent 30%),
    radial-gradient(circle at 85% 88%,rgba(6,182,212,.08),transparent 34%),
    linear-gradient(180deg,#08101d,#0d1525);
}
.auth-page .auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}
.auth-page .auth-card{
  width:min(100%,460px);border:1px solid var(--auth-line);border-radius:22px;background:rgba(17,24,39,.92);
  box-shadow:0 24px 60px rgba(0,0,0,.28);backdrop-filter:blur(14px);overflow:hidden
}
.auth-page .auth-card-body{padding:1.65rem}
.auth-page .auth-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1.35rem}
.auth-page .auth-brand-copy h1{font-size:1.08rem;margin:0}.auth-page .auth-brand-copy small{color:var(--auth-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.auth-page .form-label{font-size:.72rem;font-weight:750;color:var(--auth-muted)}
.auth-page .form-control{background:var(--auth-panel2);border-color:var(--auth-line);color:var(--auth-text);border-radius:12px;min-height:46px}
.auth-page .form-control:focus{background:var(--auth-panel2);color:var(--auth-text);border-color:var(--dl-primary);box-shadow:0 0 0 .2rem rgba(59,130,246,.16)}
.auth-page .auth-footer{padding:.82rem 1.1rem;border-top:1px solid var(--auth-line);color:#64748b;font-size:.68rem;text-align:center;background:rgba(255,255,255,.015)}
.auth-page .security-line{display:flex;align-items:center;justify-content:center;gap:.4rem;color:#7f8ea3;font-size:.69rem;margin-top:.9rem}

/* Mobile field app should retain lightweight Bootstrap behavior */
.mobile-shell .card{border-radius:1rem}
.mobile-shell .mobile-action{min-height:94px}

/* Print */
@media print{
  .admin-sidebar,.admin-topbar,.admin-footer,.sync-pill,.btn,.offcanvas{display:none!important}
  .admin-main{margin:0!important}.admin-content{padding:0!important}
  .admin-app .card{box-shadow:none!important;border:1px solid #ddd!important}
  body{background:#fff!important;color:#000!important}
}

@media(max-width:1199.98px){
  .workflow-grid{grid-template-columns:1fr}
}
@media(max-width:991.98px){
  .admin-main{margin-left:0}
  .admin-sidebar{display:none!important}
  .admin-content{padding:1rem}
  .topbar-inner{padding:0 .9rem;height:62px}
  .admin-footer{padding:.7rem 1rem}
}
@media(max-width:767.98px){
  .page-hero{align-items:flex-start;padding:1rem}
  .page-heading{align-items:flex-start}
  .metric{font-size:1.45rem}
  .admin-app .table{font-size:.84rem}
  .admin-content{padding:.85rem .8rem 1.4rem}
  .workflow-grid{grid-template-columns:1fr}
}
@media(max-width:575.98px){
  .page-hero h1{font-size:1.25rem}
  .admin-app .card{border-radius:15px}
  .admin-app .btn{--bs-btn-padding-x:.7rem}
  .stat-card .card-body{padding:.85rem}
  .metric{font-size:1.35rem}
  .topbar-actions{gap:.28rem}
  .icon-btn{width:34px;height:34px}
}

/* v4.0.5 drill-down, client management and print */
.print-masthead{display:none}
.timeline-list{display:grid;gap:.85rem}
.timeline-item{display:grid;grid-template-columns:14px minmax(0,1fr);gap:.7rem;position:relative}
.timeline-item:not(:last-child):before{content:"";position:absolute;left:5px;top:13px;bottom:-14px;width:1px;background:var(--dl-line)}
.timeline-dot{width:11px;height:11px;border-radius:50%;margin-top:.28rem;background:var(--dl-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--dl-primary) 12%,transparent)}
.drill-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--dl-muted);font-weight:800}
.drill-long{max-height:22rem;overflow:auto;white-space:normal}
.invoice-sheet{max-width:1100px;margin-inline:auto}
.client-management-tabs>.tab-pane{min-height:120px}

@media print{
  @page{size:auto;margin:12mm}
  html,body{background:#fff!important;color:#000!important;font-size:10.5pt!important}
  .admin-sidebar,.admin-topbar,.admin-footer,.sync-pill,.offcanvas,.no-print,.nav.nav-pills,.toast-container{display:none!important}
  .admin-main{margin:0!important;width:100%!important}.admin-content{padding:0!important;max-width:none!important}
  .print-masthead{display:flex!important;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:14px;color:#000}
  .client-management-tabs>.tab-pane{display:block!important;opacity:1!important;margin-bottom:16px!important}
  .client-management-tabs>.tab-pane:not(:first-child){border-top:1px solid #bbb;padding-top:12px}
  .admin-app .card,.page-hero{box-shadow:none!important;border:1px solid #bbb!important;background:#fff!important;color:#000!important}
  .card-header-soft,.table-toolbar{background:#f4f4f4!important;color:#000!important}
  .table{--bs-table-color:#000;--bs-table-bg:#fff;--bs-table-border-color:#bbb;color:#000!important}
  .table th,.table td{color:#000!important;background:#fff!important}
  .text-body-secondary,.metric-label,.small,.eyebrow{color:#444!important}
  a{color:#000!important;text-decoration:none!important}
  .badge{border:1px solid #777!important;color:#000!important;background:#fff!important}
  .stat-card{break-inside:avoid}.print-avoid-break,.invoice-sheet,.command-card{break-inside:avoid}
  .drill-long{max-height:none;overflow:visible}
  .row{--bs-gutter-x:.6rem;--bs-gutter-y:.6rem}
}
@media print{
  .tab-content>.tab-pane{display:block!important;opacity:1!important;margin-bottom:16px!important}
}
.detail-pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:.82rem;line-height:1.45;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:.75rem;padding:1rem;max-height:34rem;overflow:auto}
@media print{.detail-pre{max-height:none;overflow:visible;background:#fff!important;border-color:#bbb!important;white-space:pre-wrap!important}}
