:root{
  --bg:#f1f5f9;--panel:#fff;--soft:#f8fafc;--soft-2:#eef2ff;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;
  --primary:var(--brand-primary,#0f172a);--dark:var(--brand-primary,#020617);--dark-soft:#94a3b8;--success:#ecfdf5;--warning:#fffbeb;--danger:#fef2f2;--info:#eff6ff;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(2,6,23,.04);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,Arial,sans-serif;background:var(--brand-secondary,var(--bg));color:var(--text)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.app{display:flex;min-height:100vh}

.sidebar{width:300px;background:var(--dark);color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:18px;overflow:auto}
.sidebar-brand small{letter-spacing:.24em;text-transform:uppercase;color:var(--dark-soft);font-size:11px}
.brand-logo-wrap{margin:14px 0 6px}
.brand-logo{max-width:100%;max-height:78px;display:block;object-fit:contain}
.sidebar-brand h1{margin:10px 0 8px;font-size:28px;line-height:1.05}
.sidebar-brand p{margin:0;color:var(--dark-soft);font-size:14px}
.nav{display:grid;gap:16px;margin-top:8px;padding-bottom:18px}
.nav-link{padding:14px 16px;border-radius:18px;color:#cbd5e1;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:12px}
.nav-link:hover{background:rgba(255,255,255,.06)}
.nav-link.active{background:#fff;color:var(--text);box-shadow:var(--shadow)}
.nav-active-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-primary,#0f172a);display:inline-block}

.main{flex:1;min-width:0}
.topbar{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.topbar-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px;flex-wrap:wrap}
.topbar h2{margin:0;font-size:34px;line-height:1.05}
.eyebrow{font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:600}
.page-description{margin:10px 0 0;color:var(--muted);font-size:14px;max-width:760px;line-height:1.55}
.topbar-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.topbar-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.topbar-user{color:var(--muted);font-weight:600}
.content{padding:24px;display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
.content > *{min-width:0}

.card{min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}
.card.pad{padding:20px}
.stat-tile,.nested-panel,.entity-watch-tile,.logistics-subpanel,.house-card-tile,.settings-recovery-subpanel,.settings-module-card{
  min-width:0;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.stat-tile.pad,.nested-panel.pad,.entity-watch-tile.pad,.logistics-subpanel.pad,.house-card-tile.pad,.settings-recovery-subpanel.pad,.settings-module-card.pad{padding:14px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.grid-2 > *,.grid-3 > *,.grid-4 > *,.stats > *,.doc-grid > *{min-width:0}
.stat{padding:18px}
.stat .label{color:var(--muted);font-size:14px;font-weight:600}
.stat .value{margin-top:10px;font-size:34px;font-weight:800;line-height:1.05}
.stat .value.small-value{font-size:28px}
.stat .small{margin-top:8px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.section-head h3{margin:0;font-size:20px}
.section-note{padding:0 20px 18px;color:var(--muted);font-size:13px;line-height:1.5}

.table-wrap{min-width:0;max-width:100%;overflow:auto}
table{width:100%;min-width:760px;border-collapse:collapse}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid #f1f5f9;vertical-align:top}
thead th{background:var(--soft);color:var(--muted);font-weight:700}
tbody tr:nth-child(even){background:#fafcff}
tr:hover td{background:#f8fbff}

form.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}
form.grid-form.compact{padding-top:0}
form.grid-form > *{min-width:0}
form.grid-form .full{grid-column:1/-1}
label,.form-label{font-size:13px;color:var(--muted);display:block;margin-bottom:6px;font-weight:600}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;transition:border-color .15s ease, box-shadow .15s ease}
input:focus,select:focus,textarea:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.2)}
textarea{min-height:92px;resize:vertical}
input.is-readonly{background:#f8fafc;color:#475569}
.company-request-editor{display:grid;gap:10px;padding:12px;border:1px solid #dbe3ee;border-radius:18px;background:#f8fbff}
.company-request-list{display:grid;gap:10px}
.company-request-row{display:grid;grid-template-columns:minmax(0,1.3fr) 120px auto;gap:12px;align-items:end;padding:12px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}
.company-request-row-action{display:flex;justify-content:flex-end}
.company-request-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.company-request-summary{flex:1 1 240px}
button,.btn{padding:12px 16px;border-radius:16px;border:1px solid var(--border);background:#fff;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn:hover,button:hover{border-color:#cbd5e1;background:#f8fafc}
.btn-primary{background:var(--dark);color:#fff;border-color:var(--dark)}
.btn-primary:hover{background:#0f172a;color:#fff}
.btn-ghost{background:var(--soft);border-color:#dbe3ee;color:#334155}
.btn-soft{background:var(--soft-2);border-color:#c7d2fe;color:#3730a3}

.flash{padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:var(--panel)}
.flash.success{background:var(--success)}
.flash.error{background:var(--danger)}
.flash.info{background:var(--soft)}
.flash.warning{background:var(--warning)}
.app-toast-stack{position:fixed;right:18px;top:18px;z-index:1200;display:grid;gap:10px;width:min(380px,calc(100vw - 36px));pointer-events:none}
.app-toast{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:14px 14px 14px 16px;border-radius:16px;border:1px solid #dbe3ee;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.18);pointer-events:auto;animation:toast-in .22s ease-out}
.app-toast strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#475569}
.app-toast span{grid-column:1;font-weight:700;color:#0f172a;line-height:1.35}
.app-toast button{grid-column:2;grid-row:1 / span 2;width:28px;height:28px;padding:0;border-radius:999px;background:#f8fafc;color:#475569}
.app-toast-success{border-color:#86efac;background:#f0fdf4}
.app-toast-error{border-color:#fecaca;background:#fef2f2}
.app-toast-warning{border-color:#fde68a;background:#fffbeb}
.app-toast-info{border-color:#bfdbfe;background:#eff6ff}
.app-toast.is-hiding{opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease}
@keyframes toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--soft)}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{padding:7px 11px;border-radius:999px;border:1px solid var(--border);background:var(--soft);font-size:12px;font-weight:700}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{max-width:460px;width:100%;padding:24px}
.login-title{margin-top:0}
.login-form-compact{padding:0}
.login-remember{display:flex;align-items:flex-start;gap:10px;margin-bottom:6px;cursor:pointer;color:var(--text)}
.login-remember input[type=checkbox]{width:auto;margin-top:2px;flex:0 0 auto}
.login-remember span{display:block;font-weight:600;line-height:1.45}
.login-remember-note{margin:0}
.login-grid-compact{padding:0;margin-bottom:18px}
.login-textarea-uri{min-height:110px}
.login-textarea-recovery{min-height:180px}
.login-mfa-qr-wrap{display:grid;gap:10px;margin-bottom:18px}
.login-mfa-qr-card{display:grid;place-items:center;padding:16px;border:1px solid #dbe4f0;border-radius:16px;background:#f8fafc}
.login-mfa-qr-box{display:grid;place-items:center;min-height:224px;min-width:224px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}
.login-mfa-qr-box svg,.login-mfa-qr-box img{display:block;max-width:100%;height:auto}
.login-mfa-qr-hint{text-align:center;line-height:1.45}
.login-mfa-qr-error{color:#b45309}
.login-logo-wrap{display:flex;justify-content:center;margin-bottom:16px}
.login-logo{max-height:120px;max-width:320px;object-fit:contain}
.kv{display:grid;grid-template-columns:160px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #f1f5f9}
.list-compact{display:grid;gap:12px;padding:18px}
.item-row{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:#fff;align-items:flex-start}
.item-row,.kv div:last-child,td,.summary-mini strong{overflow-wrap:anywhere;word-break:break-word}
.small{font-size:12px;color:var(--muted);line-height:1.45}
.strong{font-weight:700}
.muted{color:var(--muted)}
.hidden{display:none !important}
.role-badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--soft);border:1px solid var(--border);text-transform:capitalize}
.doc-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.doc-grid .card{min-width:0}

.badge.draft{background:#e2e8f0;color:#334155}
.badge.submitted{background:#dbeafe;color:#1d4ed8}
.badge.approved{background:#dcfce7;color:#166534}
.badge.rejected{background:#fee2e2;color:#b91c1c}
.badge.warning{background:#fef3c7;color:#92400e}
.badge.info{background:#dbeafe;color:#1d4ed8}
.badge.danger{background:#fee2e2;color:#b91c1c}
.badge.open{background:#fef3c7;color:#92400e}
.badge.pending{background:#fef3c7;color:#92400e}
.badge.in_progress{background:#dbeafe;color:#1d4ed8}
.badge.done{background:#dcfce7;color:#166534}
.badge.cancelled{background:#fee2e2;color:#b91c1c}
.status-bad{background:#fee2e2 !important;border-color:#fecaca !important;color:#b91c1c}

.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid var(--border)}
.toolbar .small{margin:0}
.table-wrap .btn,.table-wrap .pill{white-space:nowrap}
.empty-state{padding:20px;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;color:var(--muted);font-size:13px}
.summary-strip{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:18px}
.summary-mini{min-width:0;border:1px solid var(--border);border-radius:18px;background:var(--soft);padding:14px}
.summary-mini .small{display:block;margin-bottom:6px}
.summary-mini strong{font-size:20px;display:block}
.summary-mini.info{background:var(--info);border-color:#bfdbfe}
.summary-mini.warning{background:var(--warning);border-color:#fde68a}
.summary-mini.danger{background:var(--danger);border-color:#fecaca}
.summary-mini.success{background:var(--success);border-color:#bbf7d0}
.stack{display:grid;gap:14px}
.occupancy-bar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-top:10px}
.occupancy-bar > span{display:block;height:100%;background:#0f172a;border-radius:999px}

@media (max-width: 1100px){
  .sidebar{display:none}
  .stats,.grid-4,.grid-3,.grid-2,.summary-strip,form.grid-form{grid-template-columns:1fr}
  .doc-grid{grid-template-columns:1fr}
  .company-request-row{grid-template-columns:1fr}
  .company-request-row-action{justify-content:flex-start}
  .topbar-inner{padding:18px}
  .topbar-right{align-items:flex-start}
}

.topbar-search{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.topbar-search input{min-width:280px;background:#fff}
.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filter-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;padding:0 18px 18px}
.filter-meta .small{margin:0}
.workflow-note{padding:14px 16px;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;color:#475569;font-size:13px;line-height:1.6}
.table-empty td{background:#fff !important}
.table-empty .empty-state{margin:10px}
.inline-note{padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:13px}

.item-row-danger{border-color:#fecaca;background:#fff7f7}
.row-imminent td{background:#fffaf0 !important}
.row-conflict td{background:#fff1f2 !important}
.planning-note{display:inline-block;margin-top:6px;padding:4px 8px;border-radius:999px;background:#fff7ed;color:#9a3412}
.planning-note.danger{background:#fef2f2;color:#b91c1c}


.worker-summary-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.worker-summary-compact{grid-template-columns:repeat(4,minmax(0,1fr));}
.worker-portal-shell{overflow:hidden}
.worker-portal-tabs{display:flex;gap:8px;flex-wrap:wrap}
.worker-tab-active{background:var(--dark);color:#fff;border-color:var(--dark)}
.worker-inner-card{border-radius:20px;box-shadow:none;background:var(--soft)}
.worker-mini-list{padding:0;margin-top:12px}
.worker-entry-form{padding:0;margin-top:14px}
.worker-entry-table{min-width:560px}
.worker-entry-table-wrap{overflow:auto}
.worker-tab-pane{display:grid;gap:18px}
.scroll-panel{max-height:420px;overflow:auto;padding-right:4px}
.worker-review-box{border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;padding:16px;display:grid;gap:12px}
.worker-review-actions{display:flex;gap:10px;flex-wrap:wrap}
.worker-status-pill{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--soft)}
.worker-status-pill.holiday{background:#fef3c7;color:#92400e}
.worker-status-pill.sick{background:#fee2e2;color:#b91c1c}
.worker-status-pill.work{background:#dcfce7;color:#166534}
.install-app-btn{margin-top:14px;width:100%}
.app-loading-overlay{position:fixed;inset:0;background:rgba(2,6,23,.35);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px}
.app-loading-card{width:min(360px,100%);background:#fff;border-radius:24px;padding:20px;border:1px solid var(--border);box-shadow:var(--shadow);display:grid;gap:12px}
.app-loading-bar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.app-loading-bar span{display:block;height:100%;background:var(--brand-primary,#020617);width:10%;transition:width .25s ease}
.worker-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.worker-metric-card{border:1px solid var(--border);border-radius:18px;background:#fff;padding:16px}
.worker-profile-list{display:grid;gap:10px}
.worker-photo-warning{color:#b91c1c;font-weight:700}
.scroll-y{overflow:auto;max-height:320px}
@media (max-width: 900px){
  .worker-summary-strip{grid-template-columns:1fr 1fr}
  .worker-overview-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .worker-summary-strip{grid-template-columns:1fr}
  .worker-portal-tabs{width:100%}
  .worker-portal-tabs .pill{flex:1;justify-content:center;text-align:center}
  .worker-entry-table{min-width:0}
  .worker-entry-table thead{display:none}
  .worker-entry-table,.worker-entry-table tbody,.worker-entry-table tr,.worker-entry-table td{display:block;width:100%}
  .worker-entry-table tr{border:1px solid var(--border);border-radius:18px;background:#fff;margin-bottom:12px;padding:12px}
  .worker-entry-table td{border:none;padding:6px 0}
  .worker-entry-table td:first-child{font-weight:700;color:var(--text);padding-bottom:10px}
}


.scroll-panel{overflow:auto; scrollbar-width:thin;}
.worker-entry-alert{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;}
.worker-install-panel{display:flex;flex-direction:column;gap:10px;align-items:flex-start;justify-content:center;}
.worker-install-panel .install-app-help{line-height:1.5}
.install-app-btn-persistent{width:auto;min-width:180px}
.worker-summary-strip{gap:12px;}
.worker-portal-tabs{display:flex;gap:8px;flex-wrap:wrap;overflow:auto;max-width:100%;padding-bottom:4px;}
.worker-mini-list{max-height:280px;}
@media (max-width: 900px){
  .worker-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr));}
  .worker-summary-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .worker-entry-table-wrap{overflow:auto;}
}
@media (max-width: 640px){
  .worker-summary-compact{grid-template-columns:1fr;}
  .worker-summary-strip{grid-template-columns:1fr;}
  .worker-overview-grid{display:grid;grid-template-columns:1fr;gap:12px;}
  .worker-portal-tabs .pill{white-space:nowrap;}
}

.settings-jump{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.settings-jump select{max-width:320px}
.settings-section{scroll-margin-top:88px}
.demo-inline-form .grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.logo-preview-large{display:flex;align-items:center;justify-content:center;padding:20px;border:1px dashed var(--border);border-radius:18px;background:#fff;min-height:120px}
.logo-preview-large img{max-height:96px;max-width:100%;object-fit:contain}
@media (max-width: 700px){.demo-inline-form .grid-3{grid-template-columns:1fr}}


.nav-section-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#93a4bf;font-weight:800;padding:0 4px}
.nav-submenu{display:grid;gap:8px}
.nav-submenu-inline{padding:0}
.nav-link-compact{padding:12px 14px;font-size:14px}
.nav-link-logout{margin-top:6px;background:rgba(255,255,255,.03)}
.nav-group{border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.03);overflow:hidden}
.nav-group-toggle{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-size:13px;font-weight:800;letter-spacing:.04em;color:#fff;list-style:none}
.nav-group-toggle::-webkit-details-marker{display:none}
.nav-group[open] .nav-group-toggle{background:rgba(255,255,255,.05)}
.nav-group-caret{transition:transform .18s ease;opacity:.8}
.nav-group[open] .nav-group-caret{transform:rotate(180deg)}
.nav-group .nav-submenu{padding:0 10px 10px}
.settings-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.settings-card-link{display:grid;gap:8px;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc)}
.settings-card-link strong{font-size:15px}
.settings-card-link .small{margin:0}
.settings-hero-note{display:grid;gap:14px}
.settings-pills-scroll{overflow:auto;padding-bottom:4px}
.settings-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.settings-mini-card{border:1px solid var(--border);border-radius:18px;background:#fff;padding:16px}
.picker-panel{max-height:260px;overflow:auto;border:1px solid var(--border);padding:12px;border-radius:16px;background:#fff}
.picker-panel label{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:14px;color:var(--text);font-weight:500}
.picker-panel .picker-row{padding:8px 0;border-bottom:1px solid #f1f5f9}
.picker-panel .picker-row:last-child{border-bottom:none}
.inline-badges{display:flex;gap:8px;flex-wrap:wrap}
.workflow-list{display:grid;gap:12px;padding:0;margin:0;list-style:none}
.workflow-list li{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--soft)}
.helper-card{padding:18px}
.helper-card .pills{margin-top:14px}
.attention-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.leave-helper-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.leave-helper-item{border:1px solid var(--border);border-radius:16px;background:var(--soft);padding:14px}
.logo-preview-large img{max-height:72px;max-width:100%;object-fit:contain}
.sidebar-brand .install-app-btn{margin-top:10px}
@media (max-width: 1100px){
  .settings-overview,.settings-mini-grid,.attention-summary-grid,.leave-helper-grid{grid-template-columns:1fr}
}


.timesheet-thumb{max-width:180px;max-height:140px;border-radius:12px;border:1px solid var(--border);cursor:zoom-in;object-fit:cover;background:#fff}
.timesheet-thumb-large{max-width:320px;max-height:240px}
.lightbox-overlay{position:fixed;inset:0;background:rgba(2,6,23,.82);display:flex;align-items:center;justify-content:center;padding:28px;z-index:9999}
.lightbox-overlay.hidden{display:none}
.lightbox-image{max-width:min(92vw,1200px);max-height:88vh;border-radius:18px;box-shadow:0 18px 48px rgba(0,0,0,.35);background:#fff}
.lightbox-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:999px;border:none;background:#fff;color:#0f172a;font-size:28px;cursor:pointer}
.settings-panel{margin-bottom:16px;border:1px solid var(--border);border-radius:18px;background:var(--panel,#fff)}
.settings-panel-summary{list-style:none;cursor:pointer;padding:16px 20px;font-weight:700;display:flex;align-items:center;justify-content:space-between}
.settings-panel-summary::-webkit-details-marker{display:none}
.settings-panel-summary::after{content:'▾';font-size:14px;color:#64748b}
.settings-panel[open] .settings-panel-summary::after{transform:rotate(180deg)}
.settings-panel-body{padding:0 0 4px 0}

.ajax-inline-notice{margin-top:8px;padding:8px 10px;border-radius:10px;background:#ecfdf5;border:1px solid #86efac;color:#166534;font-size:12px;font-weight:700}
.ajax-removable-card{transition:opacity .18s ease,transform .18s ease}


#worker-edit-form,
#vehicle-edit-form,
#company-edit-form,
#house-edit-form,
#leave-edit-form,
#hours-entry-form { scroll-margin-top: 96px; }

.ajax-inline-notice { margin-top: 8px; font-size: 12px; color: #0f766e; }


.ajax-save-notice{margin-top:10px;padding:10px 12px;border-radius:12px;background:#eff6ff;border:1px solid #93c5fd;color:#1d4ed8;font-size:12px;font-weight:700}
.dashboard-map-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.dashboard-map-actions .pill{padding:6px 10px}


/* v20 logo sizing guard */
.sidebar-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.sidebar-brand-logo-wrap{display:flex;align-items:center;justify-content:flex-start;width:100%;max-width:180px;min-height:0;margin:8px 0 2px;overflow:hidden}
.sidebar-brand-logo{display:block;width:auto !important;height:auto !important;max-width:160px !important;max-height:44px !important;object-fit:contain}
.sidebar-brand h1{font-size:22px;line-height:1.1;max-width:100%;overflow-wrap:anywhere}
.login-logo-wrap{display:flex;align-items:center;justify-content:center;overflow:hidden}
.login-logo{display:block;width:auto;height:auto;max-height:72px;max-width:220px;object-fit:contain}
.logo-preview-large{min-height:92px;padding:16px}
.logo-preview-large img{display:block;width:auto;height:auto;max-height:64px !important;max-width:220px !important;object-fit:contain}
.topbar .brand-logo,
.content .brand-logo,
.dashboard .brand-logo,
.card .brand-logo,
.page-brand-logo img,
.dashboard-brand-logo img{
  width:auto !important;
  height:auto !important;
  max-width:160px !important;
  max-height:40px !important;
  object-fit:contain;
}
.dashboard-brand-logo,
.page-brand-logo{display:none !important}
@media (max-width: 1100px){
  .sidebar-brand-logo{max-width:140px !important;max-height:40px !important}
  .login-logo{max-width:180px;max-height:60px}
}


/* v21 hide global sidebar logo by default */
.sidebar-brand-logo-wrap{display:none}
body.sidebar-logo-enabled .sidebar-brand-logo-wrap{display:flex}
.sidebar-brand{padding-top:2px}
.sidebar-brand small{margin-bottom:0}


/* v26 timesheet browser + approval history */
.timesheet-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.timesheet-gallery-card{border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px;display:grid;gap:12px;align-content:start}
.timesheet-gallery-card .timesheet-thumb{width:100%;max-width:100%;max-height:260px}
.timesheet-gallery-meta{display:grid;gap:4px}
.timesheet-thumb-placeholder{display:flex;align-items:center;justify-content:center;min-height:220px;border:1px dashed var(--border);border-radius:14px;background:var(--soft);font-size:28px;font-weight:800;color:#64748b}
@media (max-width: 900px){
  .timesheet-gallery-grid{grid-template-columns:1fr}
}


.pill-active{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}


/* v28 friendly review polish */
.friendly-pills{display:flex;flex-wrap:wrap;gap:10px}
.pill-toned{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;font-weight:700}
.pill-toned strong{font-size:12px;line-height:1;background:rgba(255,255,255,.12);padding:4px 8px;border-radius:999px}
.pill-info{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.25)}
.pill-warning{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.25)}
.pill-danger{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25)}
.pill-success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25)}
.friendly-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.friendly-card{display:block;padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);text-decoration:none;color:inherit;min-height:118px}
.friendly-card strong{display:block;font-size:28px;line-height:1.05;margin:8px 0 10px}
.friendly-card-warning{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.2)}
.friendly-card-danger{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.2)}
.friendly-card-success{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2)}
.friendly-card-info{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2)}
.row-conflict td{background:rgba(239,68,68,.05)}
.row-imminent td{background:rgba(245,158,11,.05)}
.planning-note.danger{color:#ef4444;font-weight:600}
@media (max-width: 900px){.friendly-grid{grid-template-columns:1fr}.friendly-card strong{font-size:24px}}

/* v32 garage portal polish */
.company-portal-shell{min-height:0;display:block;place-items:unset}
.company-portal-shell .portal-hero{background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%)}
.portal-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.portal-section-pills{flex-wrap:wrap;position:sticky;top:8px;z-index:5;background:#fff;padding:8px 0}
.portal-pulse-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.portal-command-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:20px;border:1px solid var(--border);border-radius:20px;background:#f8fafc}
.portal-command-card h3{margin:4px 0 6px;font-size:24px;line-height:1.2}
.portal-command-card.success{background:#f0fdf4;border-color:#bbf7d0}
.portal-command-card.warning{background:#fffbeb;border-color:#fde68a}
.portal-command-card.info{background:#eff6ff;border-color:#bfdbfe}
.portal-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.portal-kpi-grid .summary-mini{padding:12px 14px}
.portal-request-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#f8fafc}
.portal-request-status.info{background:var(--info);border-color:#bfdbfe}
.portal-request-status.warning{background:var(--warning);border-color:#fde68a}
.portal-request-status.success{background:var(--success);border-color:#bbf7d0}
.portal-request-fallback{border:1px solid var(--border);border-radius:14px;background:#f8fafc;padding:12px 14px}
.portal-request-fallback > summary{cursor:pointer;font-weight:700}
.portal-request-fallback-grid{margin-top:12px}
.portal-single-grid{grid-template-columns:minmax(0,1fr) !important}
.week-group-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin:8px 0 4px;border-radius:12px;background:#f6f8fb;border:1px solid #e6ebf2}
@media (max-width: 900px){.portal-section-pills{position:static}.portal-command-card{align-items:flex-start;flex-direction:column}.portal-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.worker-lifecycle-shell{overflow:hidden}
.worker-lifecycle-strip{padding-top:0}
.worker-lifecycle-grid{padding:0 20px 20px}
.worker-lifecycle-inner{border-radius:20px;background:var(--soft);box-shadow:none}
.worker-lifecycle-list{padding:18px}
.worker-lifecycle-lower .worker-lifecycle-inner{background:#fff}
.worker-lifecycle-shell .summary-mini strong{font-size:22px}
.worker-focus-mode{border-style:dashed;background:linear-gradient(180deg,#fff,#f8fafc)}
@media (max-width: 900px){
  .worker-lifecycle-grid{grid-template-columns:1fr;padding:0 16px 16px}
}

.entity-focus-meta{padding:0 20px 20px}.entity-focus-meta .summary-strip{padding:0}


/* v44 menu cleanup */
.card details > summary { cursor:pointer; list-style:none; }
.card details > summary::-webkit-details-marker { display:none; }
.page-intro { display:flex; gap:16px; justify-content:space-between; align-items:flex-start; margin-bottom:16px; flex-wrap:wrap; }

/* v45 function ownership cleanup */
.module-ownership-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;max-width:980px}
.module-ownership-chip{display:grid;gap:4px;min-width:190px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.module-ownership-chip strong{font-size:13px;line-height:1.35}
.module-ownership-primary{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.22)}
.module-ownership-muted{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.22)}
.ownership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ownership-card{padding:14px 16px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.04);display:grid;gap:6px}
.ownership-card strong{font-size:16px;line-height:1.25}
.ownership-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
@media (max-width: 900px){.module-ownership-strip{display:grid}.ownership-grid{grid-template-columns:1fr}}


/* v47 workflow hardening */
.workflow-hardening-grid { align-items: stretch; }
.workflow-card { border: 1px solid rgba(255,255,255,.08); }
.workflow-step-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.workflow-step { border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 14px; background: rgba(255,255,255,.02); }
.workflow-step.ok { border-color: rgba(86, 205, 120, .35); background: rgba(86,205,120,.08); }
.workflow-step.pending { border-color: rgba(255, 183, 77, .28); background: rgba(255,183,77,.08); }
.workflow-route-list .item-row { border: 1px solid rgba(255,255,255,.05); border-radius: 12px; padding: 12px 14px; }
.workflow-route-hint { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: rgba(72, 124, 255, .08); border: 1px solid rgba(72,124,255,.18); color: var(--muted-text, #bfc9d6); font-size: 13px; }
@media (max-width: 900px) {
  .workflow-step-list { grid-template-columns: 1fr; }
}

/* v48 worker portal polish */
.worker-overview-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.worker-compact-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.worker-compliance-list{display:grid;gap:10px}
.worker-compliance-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:#fff}
.worker-compliance-item.status-missing,.worker-compliance-item.status-expired{border-color:rgba(239,68,68,.28);background:rgba(239,68,68,.06)}
.worker-compliance-item.status-expiring_soon{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.06)}
.worker-compliance-item.status-active,.worker-compliance-item.status-complete,.worker-compliance-item.status-no_expiry{border-color:rgba(16,185,129,.24);background:rgba(16,185,129,.05)}
.worker-current-file{display:grid;gap:12px}
@media (max-width: 900px){
  .worker-overview-grid-4{grid-template-columns:1fr 1fr}
  .worker-compact-steps{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .worker-overview-grid-4{grid-template-columns:1fr}
}


.hide-page-guidance .module-ownership-strip,
.hide-page-guidance .ownership-grid{display:none !important}
.compact-dashboard .dashboard-secondary{display:none}
.quick-route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.quick-route-card{border:1px solid var(--border);border-radius:18px;background:#fff;padding:16px;display:grid;gap:8px;text-decoration:none;color:inherit}
.quick-route-card strong{font-size:15px}
.quick-route-card .small{margin:0}
.form-title-friendly{display:flex;align-items:center;justify-content:space-between;gap:12px}
.form-title-friendly h3{margin:0}
.page-intro-compact{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.card-secondary-compact details summary{cursor:pointer;font-weight:700}
.card-secondary-compact details{display:grid;gap:12px}
.layout-manager-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.layout-manager-card{border:1px solid var(--border);border-radius:16px;background:#fff;padding:14px;display:grid;gap:10px}
.layout-manager-card label{font-size:13px}
.timesheet-thumb-large{max-width:220px;max-height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}
.portal-hour-signature-block{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#f8fafc;
}
.portal-hour-signature-canvas{
  display:block;
  width:100%;
  height:150px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  touch-action:none;
}
.portal-hour-signature-meta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.portal-hour-signature-error{color:#b42318;min-height:18px}
.portal-hour-approval-dialog{
  width:min(760px,calc(100vw - 24px));
  max-height:calc(100vh - 24px);
  padding:0;
  border:0;
  border-radius:18px;
  box-shadow:0 24px 80px rgba(15,23,42,.28);
  overflow:auto;
}
.portal-hour-approval-dialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}
.portal-hour-approval-dialog-card{display:grid;gap:16px;padding:22px;background:#fff}
.portal-hour-approval-dialog-card h3{margin:0}
.portal-hour-approval-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.portal-hour-approval-summary>div{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.portal-hour-signer-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-hour-approval-consent{display:flex;align-items:flex-start;gap:9px;line-height:1.4}
.portal-hour-approval-consent input{width:auto;margin-top:3px;flex:0 0 auto}
.portal-hour-approval-actions{justify-content:space-between}
@media (max-width:640px){
  .portal-hour-approval-dialog-card{padding:16px}
  .portal-hour-approval-summary,.portal-hour-signer-fields{grid-template-columns:1fr}
  .portal-hour-signature-canvas{height:180px}
}
@media (max-width:900px){.quick-route-grid,.layout-manager-grid{grid-template-columns:1fr}}

.dashboard-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}
.dashboard-layout-slot{grid-column:span 6;min-width:0}
.dashboard-layout-slot.dashboard-card--wide{grid-column:1 / -1}
.dashboard-card-shell{height:100%}
.dashboard-stats-grid{margin-top:12px}
.layout-manager-grid-wide{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.layout-manager-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.compact-page-cards .card{border-radius:16px}
.compact-page-cards .pad{padding:14px}
.compact-page-cards .section-head{margin-bottom:12px}
.compact-page-cards .list-compact .item-row{padding:10px 12px}
@media (max-width:1100px){.dashboard-layout-slot{grid-column:1 / -1}}


.topbar-actions-compact{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.topbar-more-actions{position:relative}
.topbar-more-actions summary{list-style:none}
.topbar-more-actions summary::-webkit-details-marker{display:none}
.topbar-more-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 40px rgba(2,6,23,.12);padding:8px;display:grid;gap:6px;z-index:40}
.topbar-more-link{display:block;padding:10px 12px;border-radius:12px;color:var(--text);text-decoration:none}
.topbar-more-link:hover{background:#f8fafc}
.layout-live-preview{margin-top:16px;border:1px dashed var(--border);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fcfdff 0%,#f8fafc 100%);display:grid;gap:14px}
.layout-live-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.layout-live-preview-badges{display:flex;gap:8px;flex-wrap:wrap}
.layout-live-shell{border:1px solid rgba(2,6,23,.08);border-radius:16px;background:#fff;padding:16px;display:grid;gap:14px}
.layout-live-shell.layout-live-shell-compact{padding:12px;gap:10px}
.layout-live-topbar{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid #e5e7eb}
.layout-live-topbar.layout-live-topbar-expanded .pill{opacity:1}
.layout-live-dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.layout-live-tile{grid-column:span 6;border:1px solid #dbe4f0;border-radius:16px;background:#fff;padding:14px;display:grid;gap:6px;transition:all .18s ease}
.layout-live-tile-wide{grid-column:1 / -1}
.layout-live-tile-hidden{opacity:.28;filter:grayscale(.2);border-style:dashed}
.layout-live-shell-compact .layout-live-tile{padding:10px;border-radius:12px}
@media (max-width:1100px){.layout-live-tile{grid-column:1 / -1}}

.pill-button{border:0;cursor:pointer;font:inherit}
.dashboard-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.dashboard-layout-panel{margin-top:14px;border:1px dashed var(--border);border-radius:16px;padding:14px;background:#fff}
.dashboard-layout-panel summary{cursor:pointer;font-weight:700;list-style:none}
.dashboard-layout-panel summary::-webkit-details-marker{display:none}
.dashboard-layout-preview-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.dashboard-secondary-routes{row-gap:8px}


.dashboard-more-stats,.dashboard-secondary-routes{border:1px solid var(--border);border-radius:16px;background:#fff;padding:12px 14px}
.dashboard-more-stats summary,.dashboard-secondary-routes summary{cursor:pointer;font-weight:700;color:var(--text)}
.dashboard-secondary-routes[open]{padding-bottom:14px}
.nav-group{margin-bottom:8px}
.nav-section-label{margin:10px 0 4px}


/* v63 cleanup */
.settings-health-strip{margin-top:0}
.task-workbench-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.task-help-panel{display:grid;gap:10px}
.task-help-panel summary{cursor:pointer;font-weight:700;list-style:none}
.task-help-panel summary::-webkit-details-marker{display:none}
.attention-summary-strip{gap:12px}
.attention-advanced-checks{display:grid;gap:0}
.attention-advanced-checks summary{cursor:pointer;font-weight:700;list-style:none}
.attention-advanced-checks summary::-webkit-details-marker{display:none}
.logistics-handoff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.logistics-handoff-card .quick-route-card{height:100%}
.nav-group-collapsible .nav-group-toggle{cursor:pointer}
@media (max-width:900px){.task-workbench-grid,.logistics-handoff-grid{grid-template-columns:1fr}}


/* v64 entity cleanup */
.entity-workbench{display:grid;gap:14px}
.entity-workbench-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.entity-watch-panel,.entity-secondary-panel{display:grid;gap:0}
.entity-watch-panel summary,.entity-secondary-panel summary{cursor:pointer;font-weight:700;list-style:none;padding:18px 20px}
.entity-watch-panel summary::-webkit-details-marker,.entity-secondary-panel summary::-webkit-details-marker{display:none}
.entity-watch-grid{padding:0 20px 20px}
.entity-secondary-body{padding:0 20px 20px}
.entity-secondary-panel[open] summary,.entity-watch-panel[open] summary{border-bottom:1px solid var(--border)}
.entity-secondary-panel .grid-form,.entity-secondary-panel .table-wrap{margin-top:16px}
.page-workers .entity-workbench .pills,.page-companies .entity-workbench .pills,.page-houses .entity-workbench .pills,.page-vehicles .entity-workbench .pills{align-items:center}
@media (max-width:900px){.entity-watch-grid,.entity-secondary-body{padding:0 16px 16px}.entity-workbench-grid{grid-template-columns:1fr}}


/* v65 dashboard + settings + reminders cleanup */
.dashboard-focus-strip,.settings-workbench-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.dashboard-fold-card,.reminders-fold-card,.settings-fold-card,.reminders-fold-panel{border:1px solid var(--border);border-radius:16px;background:#fff;padding:14px}
.dashboard-fold-card summary,.reminders-fold-card summary,.settings-fold-card summary,.reminders-fold-panel summary{cursor:pointer;font-weight:700;list-style:none}
.dashboard-fold-card summary::-webkit-details-marker,.reminders-fold-card summary::-webkit-details-marker,.settings-fold-card summary::-webkit-details-marker,.reminders-fold-panel summary::-webkit-details-marker{display:none}
.dashboard-fold-card[open],.reminders-fold-card[open],.settings-fold-card[open],.reminders-fold-panel[open]{padding-bottom:14px}
.reminders-workbench .section-head,.settings-workbench .section-head{margin-bottom:12px}
@media (max-width:900px){.dashboard-focus-strip,.settings-workbench-grid{grid-template-columns:1fr}}


.nav-group-summary-main,.nav-group-meta{display:flex;align-items:center;gap:8px}
.nav-group-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.10);font-size:11px;font-weight:800}
.nav-group-current{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(34,197,94,.16);color:#dcfce7;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.logistics-triage-grid,.logistics-board-state{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.logistics-subcard{height:100%}
.logistics-list-compact{padding:0}
.logistics-item-row{gap:14px;align-items:flex-start}
.logistics-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}
.logistics-inline-alerts{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px}
.logistics-anchor-pills{align-items:center}
@media (max-width:900px){.logistics-triage-grid,.logistics-board-state{grid-template-columns:1fr}.logistics-item-actions{justify-content:flex-start}}


/* v67 attention/tasks/reminders workflow cleanup */
.workflow-handoff-card{border:1px solid var(--border);border-radius:20px;background:#fff}
.route-handoff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.route-handoff-grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.route-handoff-item{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--soft);text-decoration:none;color:inherit}
.route-handoff-item:hover{border-color:var(--accent);transform:translateY(-1px)}
.route-handoff-item.static{cursor:default}
.route-handoff-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}
.workflow-fold-card{border:1px solid var(--border);border-radius:18px;background:#fff}
.workflow-fold-card summary{cursor:pointer;font-weight:700;list-style:none}
.workflow-fold-card summary::-webkit-details-marker{display:none}
.attention-workbench .section-head,.workflow-handoff-card .section-head{margin-bottom:12px}
@media (max-width:900px){.route-handoff-grid,.route-handoff-grid.compact{grid-template-columns:1fr}}


.entity-quick-lane .route-handoff-item{min-height:116px}
.entity-quick-lane .route-handoff-meta .small{font-weight:700}
.page-workers .entity-quick-lane,.page-companies .entity-quick-lane,.page-houses .entity-quick-lane,.page-vehicles .entity-quick-lane{margin-top:14px}
@media (max-width:900px){.entity-quick-lane .route-handoff-item{min-height:auto}}


/* v69 sidebar + action cleanup */
.topbar-actions-minimal{display:grid;justify-items:end;gap:8px}
.topbar-more-actions-inline .topbar-more-menu{right:0;left:auto}
.topbar-more-link-strong{font-weight:800;background:#f8fafc}
.page-density-hint{max-width:280px;text-align:right;color:var(--muted);font-size:12px;line-height:1.45}
.nav-group-collapsible{border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:2px 0;background:rgba(255,255,255,.02)}
.nav-group-collapsible[open]{background:rgba(255,255,255,.04)}
.nav-group-toggle{padding:10px 12px;border-radius:14px}
.nav-submenu{padding:2px 8px 8px}
.nav-group-toggle:hover{background:rgba(255,255,255,.06)}
@media (max-width:900px){.topbar-actions-minimal{justify-items:start}.page-density-hint{text-align:left;max-width:none}}


/* v70 workflow + route cleanup */
.workflow-guidance-strip{display:grid;grid-template-columns:minmax(240px,1.2fr) 1fr;gap:14px;align-items:stretch}
.workflow-start-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid rgba(99,102,241,.22);border-radius:14px;background:linear-gradient(180deg,rgba(99,102,241,.10),rgba(99,102,241,.04));text-decoration:none;color:inherit}
.workflow-start-card strong{font-size:16px}
.workflow-guidance-notes{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.logistics-panel-fold{margin-top:10px}
.logistics-panel-fold>summary{cursor:pointer;font-weight:600;color:#0f172a;list-style:none}
.logistics-panel-fold>summary::-webkit-details-marker{display:none}
.logistics-panel-fold>summary::after{content:'▾';float:right;color:#64748b}
.logistics-panel-fold:not([open])>summary::after{content:'▸'}
.logistics-workflow-strip .workflow-start-card{background:linear-gradient(180deg,rgba(16,185,129,.10),rgba(16,185,129,.04));border-color:rgba(16,185,129,.22)}
@media (max-width: 980px){.workflow-guidance-strip{grid-template-columns:1fr}}


/* v71 settings + reminders cleanup */
.settings-hero-grid .section-head{margin-bottom:10px}

/* v72 visual legibility hardening */
.summary-mini{
  position:relative;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.summary-mini .small{
  line-height:1.48;
}
.summary-mini strong{
  line-height:1.15;
}
.summary-mini.info{
  background:linear-gradient(180deg,#eef6ff 0%,#ffffff 100%);
  border-color:#93c5fd;
}
.summary-mini.info .small{
  color:#1d4ed8 !important;
}
.summary-mini.info strong{
  color:#1e3a8a !important;
}
.summary-mini.success{
  background:linear-gradient(180deg,#ecfdf3 0%,#ffffff 100%);
  border-color:#86efac;
}
.summary-mini.success .small{
  color:#166534 !important;
}
.summary-mini.success strong{
  color:#14532d !important;
}
.summary-mini.warning{
  background:linear-gradient(180deg,#fff7d6 0%,#fffdf4 100%);
  border-color:#f4c95d;
}
.summary-mini.warning .small{
  color:#92400e !important;
}
.summary-mini.warning strong{
  color:#78350f !important;
}
.summary-mini.danger{
  background:linear-gradient(180deg,#fff1f2 0%,#ffffff 100%);
  border-color:#fca5a5;
}
.summary-mini.danger .small{
  color:#b91c1c !important;
}
.summary-mini.danger strong{
  color:#7f1d1d !important;
}
.item-row-warn{
  border-color:#f4c95d;
  background:linear-gradient(180deg,#fffaf0 0%,#ffffff 100%);
  box-shadow:0 8px 18px rgba(245,158,11,.08);
}
.item-row-warn .small{
  color:#92400e !important;
}
.item-row-warn strong{
  color:#78350f !important;
}
.item-row-warn .pill.worker-tab-active{
  background:#92400e;
  border-color:#92400e;
  color:#fff;
}

.sidebar{
  width:312px;
}
.sidebar-brand p{
  color:#dbe7f5;
  line-height:1.55;
}
.nav{
  gap:14px;
}
.nav-link{
  align-items:flex-start;
  padding:14px 15px;
  color:#e5edf7;
  font-size:14px;
  line-height:1.35;
}
.nav-link.nav-link-compact{
  font-size:14px;
}
.nav-link > span:first-child{
  flex:1 1 auto;
  min-width:0;
}
.nav-link:hover{
  background:rgba(255,255,255,.09);
  color:#fff;
}
.nav-link.active{
  background:#fff;
  color:var(--text);
}
.nav-section-label,
.sidebar .small,
.sidebar .muted,
.sidebar-brand small{
  color:#dbe7f5;
}
.nav-section-label{
  font-size:12px;
  letter-spacing:.14em;
}
.nav-group-toggle{
  color:#f8fafc;
  font-size:13px;
  line-height:1.35;
}
.nav-group-badge{
  background:rgba(255,255,255,.14);
  color:#f8fafc;
}
.nav-group-caret{
  opacity:1;
}
.pill.worker-tab-active,
.worker-tab-active.pill{
  color:#fff !important;
}
.settings-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.settings-overview-fold summary{cursor:pointer;font-weight:700;list-style:none}
.settings-overview-fold summary::-webkit-details-marker{display:none}
.settings-overview-fold .settings-overview{margin-bottom:0 !important}
.form-inline-note{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px dashed var(--border);border-radius:12px;background:var(--soft)}
.reminders-focus-strip .workflow-guidance-strip{grid-template-columns:minmax(260px,1.25fr) 1fr}
.reminders-payroll-fold summary{cursor:pointer;font-weight:700;list-style:none}
.reminders-payroll-fold summary::-webkit-details-marker{display:none}
.reminders-payroll-fold[open]{padding-bottom:14px}
.reminder-actions-note{margin:6px 0 0;color:var(--muted)}
@media (max-width:900px){.settings-focus-grid{grid-template-columns:1fr}.reminders-focus-strip .workflow-guidance-strip{grid-template-columns:1fr}}


/* v72 final route + sidebar cleanup */
.section-route-rail{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.section-route-rail-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#64748b);font-weight:700}
.section-route-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#1e293b;text-decoration:none;border:1px solid rgba(148,163,184,.28);font-size:.84rem}
.section-route-chip.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}
.nav-group-badge{display:inline-flex;min-width:22px;justify-content:center;padding:2px 7px;border-radius:999px;background:rgba(148,163,184,.16);font-size:.74rem;font-weight:700}
.nav-group-current{font-size:.72rem;font-weight:700;color:#0f766e}
.topbar .eyebrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
@media (max-width: 860px){.section-route-rail{margin-top:10px}.section-route-chip{font-size:.8rem;padding:5px 9px}}


.page-map-card,.dashboard-page-map,.logistics-page-map{margin-bottom:16px}
.dashboard-page-map .route-handoff-item,.logistics-page-map .route-handoff-item,.entity-quick-lane .route-handoff-item{min-height:116px}
.dashboard-page-map .route-handoff-grid,.logistics-page-map .route-handoff-grid{margin-top:12px}
#dashboard-card-stats,#dashboard-card-payroll,#dashboard-card-routes,#dashboard-card-reminders,#dashboard-card-assets,#dashboard-card-admin_history,#worker-overview,#worker-workbench,#worker-page-map,#worker-ops-watch,#company-overview,#company-workbench,#company-page-map,#company-risk-watch,#logistics-triage,#logistics-handoff,#logistics-workers,#logistics-reminders,#logistics-vehicles,#logistics-houses{scroll-margin-top:96px}


/* v74 compact page-flow cleanup */
.dashboard-page-map--slim .route-handoff-item,.logistics-page-map--slim .route-handoff-item{min-height:auto}
.dashboard-page-map-focus{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0 14px}
.dashboard-page-map-more{margin-top:12px;padding:14px}
.dashboard-page-map-more summary{cursor:pointer;font-weight:700;list-style:none}
.dashboard-page-map-more summary::-webkit-details-marker{display:none}
.entity-next-step-strip{margin-bottom:16px}
.entity-next-step-grid{grid-template-columns:minmax(260px,1.1fr) 1fr}
.logistics-board-totals{padding:14px 18px;margin:16px 0}
.logistics-board-totals summary{cursor:pointer;font-weight:700;list-style:none}
.logistics-board-totals summary::-webkit-details-marker{display:none}
#worker-next-step,#company-next-step{scroll-margin-top:96px}
@media (max-width:980px){.entity-next-step-grid{grid-template-columns:1fr}.dashboard-page-map-focus{grid-template-columns:1fr}.logistics-board-totals{padding:14px}}


/* v78 UI reset: reduce nested navigation and helper clutter */
.section-route-rail,.module-ownership-strip,.page-density-hint,.nav-group-badge,.nav-group-current,.nav-active-dot{display:none !important}
.topbar-actions-clean{display:flex;align-items:center;gap:10px}
.topbar-actions-clean .btn{white-space:nowrap}
.nav-group-toggle{padding:10px 12px}
.nav-submenu{padding:6px 8px 10px}
.nav-link-compact{padding:10px 12px;border-radius:10px}
.nav-section-label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;opacity:.8}
.page-dashboard .dashboard-page-map,
.page-workers .entity-next-step-strip,
.page-workers .entity-workbench,
.page-workers .entity-quick-lane,
.page-companies .entity-next-step-strip,
.page-companies .entity-workbench,
.page-companies .entity-quick-lane,
.page-houses .entity-workbench,
.page-houses .workflow-handoff-card,
.page-vehicles .entity-workbench,
.page-vehicles .workflow-handoff-card,
.page-logistics .workflow-handoff-card,
.page-reminders .reminders-focus-strip,
.page-reminders .reminders-workbench,
.page-reminders .workflow-handoff-card,
.page-settings .settings-focus-strip,
.page-settings .settings-workbench,
.page-settings .workflow-handoff-card,
.page-attention_queue .workflow-handoff-card,
.page-tasks .task-workbench-intro{display:none !important}
.page-dashboard .route-handoff-grid,
.page-workers .route-handoff-grid,
.page-companies .route-handoff-grid,
.page-logistics .route-handoff-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.topbar .page-description{max-width:700px}
@media (max-width: 900px){.topbar-search{display:none}.topbar-actions-clean{width:100%}.topbar-actions-clean .btn{width:100%}}


/* v79 declutter mode: remove helper cards / duplicate guidance and flatten nav */
.page-dashboard #dashboard-card-routes,
.page-dashboard .dashboard-page-map,
.page-dashboard .dashboard-layout-panel,
.page-dashboard .dashboard-secondary-routes,
.page-workers #worker-next-step,
.page-workers #worker-workbench,
.page-workers #worker-page-map,
.page-workers #worker-ops-watch,
.page-companies #company-next-step,
.page-companies #company-workbench,
.page-companies #company-page-map,
.page-companies #company-risk-watch,
.page-houses .entity-workbench,
.page-houses .entity-quick-lane,
.page-houses .entity-watch-panel,
.page-houses .workflow-hardening-grid,
.page-vehicles .entity-workbench,
.page-vehicles .entity-quick-lane,
.page-vehicles .entity-watch-panel,
.page-vehicles .workflow-hardening-grid,
.page-logistics .logistics-page-map,
.page-logistics .logistics-workflow-strip,
.page-logistics #logistics-handoff,
.page-reminders .settings-focus-strip,
.page-reminders .reminders-workbench,
.page-reminders .workflow-handoff-card,
.page-settings .settings-focus-strip,
.page-settings .settings-overview-fold,
.page-settings .settings-workbench,
.page-attention_queue .ownership-grid,
.page-attention_queue .attention-workbench,
.page-tasks .task-help-panel {
  display: none !important;
}

.page-tasks .page-intro .pills,
.page-attention_queue .page-intro .pills,
.page-logistics .page-intro .pills,
.page-reminders .page-intro .pills,
.page-settings .settings-pills-scroll {
  display: none !important;
}

.page-settings .settings-jump {
  max-width: 340px;
}

.page-settings .settings-hero-note {
  padding-bottom: 10px;
}

.page-settings .settings-hero-note .section-head {
  margin-bottom: 10px;
}

.page-dashboard .dashboard-layout,
.page-workers .grid-2,
.page-companies .grid-2,
.page-houses .grid-2,
.page-vehicles .grid-2,
.page-logistics .grid-2,
.page-reminders .grid-2,
.page-settings .grid-2,
.page-tasks .grid-2,
.page-attention_queue .grid-2 {
  gap: 16px;
}

.page-dashboard .card,
.page-workers .card,
.page-companies .card,
.page-houses .card,
.page-vehicles .card,
.page-logistics .card,
.page-reminders .card,
.page-settings .card,
.page-tasks .card,
.page-attention_queue .card {
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.page-settings .settings-module-permission-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.page-settings .settings-office-user-layout {
  grid-template-columns: minmax(0, 1fr);
}

.page-settings .settings-office-user-form-card,
.page-settings .settings-office-user-guide-card {
  min-width: 0;
}

.page-settings .settings-module-card {
  padding: 12px;
  min-width: 0;
}

.page-settings .settings-module-card .section-head {
  padding: 0 0 10px 0;
  border-bottom: none;
}

.page-settings .settings-module-card .list-compact {
  padding: 0;
  gap: 8px;
}

.page-settings .settings-module-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--soft);
  cursor: pointer;
}

.page-settings .settings-module-option input {
  margin-top: 4px;
}

.page-settings .settings-module-option-body {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.page-settings .settings-module-option-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.page-settings .settings-module-option-head strong {
  min-width: 0;
  flex: 1 1 180px;
}

.page-settings .settings-role-guide .item-row strong {
  display: block;
  margin-bottom: 2px;
}

.nav {
  gap: 8px;
}

.nav-section-label {
  margin: 12px 0 4px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748b;
}

.nav-submenu-inline {
  display: grid;
  gap: 6px;
}

.nav-link.nav-link-compact {
  padding: 10px 12px;
  border-radius: 10px;
}

.topbar .page-description {
  max-width: 720px;
}


.table-wrap td input,.table-wrap td select{min-width:120px}
@media (max-width: 920px){.table-wrap td input,.table-wrap td select{min-width:100px}}


/* v85 clickable counters + admin preview */
.summary-mini-link,.stat-link-card,.metric-link-card{display:block;color:inherit;text-decoration:none}
.summary-mini-link:hover,.stat-link-card:hover,.metric-link-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,23,42,.08)}
.summary-mini-link .small,.summary-mini-link strong,.stat-link-card .label,.stat-link-card .value{color:inherit}
.summary-mini-link::after,.stat-link-card::after,.metric-link-card::after{content:'Open';display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:700;color:var(--primary)}
.summary-legend{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.summary-legend .pill{background:#fff}
.admin-preview-banner{margin-bottom:14px;border:1px dashed var(--border);background:#f8fafc;border-radius:16px;padding:12px 14px}
.admin-preview-banner strong{display:block;margin-bottom:4px}


.insurance-priority-card { margin-bottom: 16px; }
.insurance-priority-list { display: grid; gap: 12px; }
.insurance-priority-item {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}
.insurance-priority-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.insurance-priority-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  align-items: end;
}
.insurance-priority-form label {
  display: block;
  font-size: 12px;
  color: #64748b;
  margin-bottom: 4px;
}
.insurance-priority-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}


.settings-side-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;align-items:start}
.settings-side-rail{position:sticky;top:92px;display:grid;gap:10px}
.settings-side-rail .settings-card-link{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:#fff;text-decoration:none;color:inherit}
.settings-side-rail .settings-card-link:hover{background:#f8fafc}
.insurance-priority-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.insurance-priority-item{display:grid;gap:12px}
.fuel-card-link-row{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width: 980px){.settings-side-grid{grid-template-columns:1fr}.settings-side-rail{position:static}}


/* v90 stabilization cleanup */
.settings-hero-note,
.settings-side-rail,
.settings-focus-strip,
.settings-overview-fold,
.settings-workbench,
#portal-dashboard-settings {
  display: none;
}
.settings-simple-nav-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
}
.settings-simple-nav {
  position: sticky;
  top: 12px;
  z-index: 2;
}
.insurance-priority-list {
  display:grid;
  gap:12px;
}
.insurance-priority-item {
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  background:#fff;
}
.hours-preview-placeholder {
  padding:14px;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  background:#f8fafc;
}
.hours-preview-quiet-links { display:none; }
.payroll-hero-note { margin-bottom:16px; }
.payroll-hero-note .summary-strip { padding:0; }


.hours-mode-strip,.portal-surface-strip,.snf-scope-strip{margin:16px 0}
.workspace-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.workspace-note{font-size:13px;color:var(--muted)}
.insurance-priority-list{display:grid;gap:14px}
.insurance-priority-item{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--soft)}
.insurance-priority-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.insurance-priority-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}
.insurance-priority-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:900px){.insurance-priority-form{grid-template-columns:1fr}}

.compact-surface-card{margin-bottom:16px}.compact-surface-card .section-head{padding:0 0 10px 0;border-bottom:none}.compact-surface-card .pills{flex-wrap:wrap}.compact-surface-card .small{line-height:1.45}.pill-active{background:rgba(37,99,235,.12);border-color:rgba(37,99,235,.25);color:var(--primary);font-weight:700}.entity-watch-panel[open]{box-shadow:0 10px 30px rgba(15,23,42,.06)}


.surface-switch-card{border-style:solid}
.surface-switch{display:flex;gap:8px;align-items:center}
.surface-switch-wrap{flex-wrap:wrap}
.stat-link-card{text-decoration:none;color:inherit}
.stat-link-card:hover{transform:translateY(-1px)}
.dashboard-warning-card{margin-bottom:16px;border-color:#f59e0b;background:#fff7ed}
.dashboard-warning-list{margin:10px 0 0 18px}
.dashboard-card-bottom{margin-bottom:16px}
.dashboard-command-card{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff 0%,#ffffff 74%);box-shadow:0 14px 36px rgba(37,99,235,.10)}
.dashboard-command-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px;align-items:stretch}
.dashboard-command-main{display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0}
.dashboard-command-label{width:max-content;max-width:100%;border:1px solid #bfdbfe;border-radius:999px;background:#fff;color:#1d4ed8;font-size:12px;font-weight:800;padding:6px 10px;text-transform:uppercase}
.dashboard-command-main h2{margin:0;font-size:32px;line-height:1.08;color:#0f172a}
.dashboard-command-main p{margin:0;max-width:760px;color:#334155;line-height:1.5}
.dashboard-command-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.dashboard-command-primary{min-width:190px}
.dashboard-command-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dashboard-command-kpis .summary-mini{background:#fff}
.dashboard-command-routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.dashboard-command-route{display:block;min-width:0;border:1px solid var(--border);border-radius:16px;background:#fff;color:inherit;text-decoration:none;padding:12px}
.dashboard-command-route:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,23,42,.08)}
.dashboard-command-route strong,.dashboard-command-route span{display:block}
.dashboard-command-route span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}
.dashboard-focus-bottom{margin-bottom:14px}
.dashboard-top-10{margin-top:10px}
.dashboard-top-12{margin-top:12px}
.dashboard-bottom-12{margin-bottom:12px}
.dashboard-right{text-align:right}
.dashboard-right-meta{text-align:right;min-width:160px}
.dashboard-pills-end-top-8{justify-content:flex-end;margin-top:8px}
.dashboard-pills-end-top-6{justify-content:flex-end;margin-top:6px}
.dashboard-summary-band{margin:12px 0 14px}
.dashboard-summary-band-inset{margin:0 18px 14px}
.dashboard-summary-band-wide{margin:0 18px 18px}
.dashboard-grid-pad{padding:0 18px 8px}
.dashboard-fold-offset{margin:0 18px 18px}
.dashboard-grid-2-pad-top{padding-top:12px}
.dashboard-list-pad-0{padding:0}
@media (max-width: 900px){
  .surface-switch{overflow:auto;padding-bottom:4px}
  .dashboard-command-grid{grid-template-columns:1fr}
  .dashboard-command-main h2{font-size:24px}
  .dashboard-command-actions .btn{width:100%}
  .dashboard-command-kpis,.dashboard-command-routes{grid-template-columns:1fr}
}


.sidebar-mobile-head{display:none;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:2}
.sidebar-close{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:12px;padding:6px 10px;font-size:18px;line-height:1;cursor:pointer}
.mobile-nav-fab{display:none;position:fixed;right:16px;bottom:16px;z-index:9997;border:none;background:var(--dark);color:#fff;border-radius:999px;width:48px;height:48px;padding:0;box-shadow:0 16px 40px rgba(2,6,23,.28);font-weight:700}

.mobile-nav-toggle{display:none;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:14px;padding:10px 14px;font-weight:700;box-shadow:0 6px 20px rgba(2,6,23,.06)}
.mobile-nav-backdrop{display:none}
.topbar-mobile-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.debug-pre{white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:10px;margin:8px 0 0;max-height:220px;overflow:auto;font-size:12px;line-height:1.45}
@media (max-width:1100px){
  .sidebar-mobile-head{display:flex}
  body.js-nav-ready .mobile-nav-toggle{display:inline-flex}
  body.js-nav-ready .mobile-nav-fab{display:none}
  body.js-nav-ready .mobile-nav-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.42);z-index:9998;opacity:0;pointer-events:none;transition:opacity .18s ease}
  body.js-nav-ready .sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(88vw,340px);z-index:9999;transform:translateX(-102%);transition:transform .2s ease, box-shadow .2s ease;box-shadow:none}
  body.js-nav-ready.mobile-nav-open .sidebar{transform:translateX(0);box-shadow:0 24px 60px rgba(2,6,23,.34)}
  body.js-nav-ready.mobile-nav-open .mobile-nav-backdrop{display:block;opacity:1;pointer-events:auto}
  body.js-nav-ready.mobile-nav-open .mobile-nav-fab{opacity:0;pointer-events:none}
  body.js-nav-ready.mobile-nav-open{overflow:hidden}
  body.no-js-nav .app{display:block}
  body.no-js-nav .sidebar{width:100%;position:static;transform:none;box-shadow:none;max-height:none}
}


/* v170_9 mild desktop density pass */
@media (min-width: 1100px){
  .sidebar{width:284px;padding:20px 16px;gap:14px}
  .sidebar-brand h1{font-size:24px}
  .sidebar-brand p{font-size:13px}
  .nav{gap:12px}
  .nav-link{padding:12px 14px;border-radius:16px}
  .nav-link-compact{padding:10px 12px;font-size:13px}
  .nav-group-toggle{padding:9px 11px;font-size:12px}
  .topbar-inner{padding:20px 22px;gap:14px}
  .topbar h2{font-size:30px}
  .eyebrow{font-size:12px}
  .page-description{font-size:13px;max-width:820px}
  .content{padding:20px;gap:16px}
  .card{border-radius:20px}
  .card.pad{padding:18px}
  .section-head{padding:16px 18px}
  .section-head h3{font-size:18px}
  .section-note,.toolbar,.filter-meta{padding-left:18px;padding-right:18px}
  .toolbar{padding-top:16px;padding-bottom:16px}
  th,td{padding:12px 16px}
  form.grid-form{gap:12px;padding:16px}
  input,select,textarea{padding:10px 12px;border-radius:12px}
  button,.btn{padding:10px 14px;border-radius:14px}
  .pill{padding:6px 10px}
  .summary-strip{gap:10px;padding:16px}
  .summary-mini{padding:12px}
  .summary-mini strong{font-size:18px}
  .stat{padding:16px}
  .stat .label{font-size:13px}
  .stat .value{font-size:30px}
}


/* v170.10 stronger desktop compact mode */
@media (min-width: 1100px){
  body{font-size:15px;}
  .sidebar{width:268px;padding:18px 14px;gap:14px;}
  .sidebar-brand h1{font-size:20px;}
  .sidebar-brand p{font-size:13px;}
  .nav{gap:12px;}
  .nav-link{padding:12px 14px;border-radius:16px;font-size:14px;}
  .topbar-inner{padding:20px 22px;gap:14px;}
  .topbar h2{font-size:30px;}
  .page-description{font-size:13px;max-width:700px;}
  .content{padding:20px;gap:16px;}
  .card{border-radius:20px;}
  .card.pad{padding:18px;}
  .grid-2{gap:16px;}
  .grid-3,.grid-4,.stats{gap:14px;}
  .stat{padding:16px;}
  .stat .label{font-size:13px;}
  .stat .value{font-size:30px;}
  .stat .value.small-value{font-size:25px;}
  .section-head{padding:16px 18px;}
  .section-head h3{font-size:18px;}
  .section-note{padding:0 18px 16px;font-size:12px;}
  th,td{padding:12px 14px;}
  form.grid-form{gap:12px;padding:16px;}
  label{font-size:12px;}
  input,select,textarea{padding:10px 11px;border-radius:12px;font-size:14px;}
  button,.btn{padding:10px 14px;border-radius:14px;font-size:14px;}
  .badge{padding:5px 9px;font-size:11px;}
  .pill{padding:6px 10px;font-size:11px;}
  .summary-strip{padding:16px;gap:10px;}
  .summary-mini{padding:12px;border-radius:16px;}
  .summary-mini strong{font-size:18px;}
  .toolbar{padding:16px 18px;}
  .filter-meta{padding:0 16px 16px;}
  .settings-workbench{grid-template-columns:300px minmax(0,1fr) !important;gap:18px !important;}
  .settings-modern-main{max-width:1520px !important;}
  .dashboard-layout{gap:14px;}
  .quick-route-card,.layout-manager-card{padding:14px;}
}

/* v170.11 ultra compact desktop mode */
@media (min-width: 1200px){
  body{font-size:14px;}
  .sidebar{width:244px;padding:14px 12px;gap:10px;}
  .sidebar-brand h1{font-size:18px;}
  .sidebar-brand p{font-size:12px;line-height:1.35;}
  .nav{gap:10px;}
  .nav-section-label{font-size:11px;letter-spacing:.05em;}
  .nav-link,.nav-link.nav-link-compact{padding:10px 12px;border-radius:14px;font-size:13px;}
  .nav-group-toggle{padding:8px 10px;font-size:12px;}
  .topbar-inner{padding:16px 18px;gap:12px;}
  .topbar h2{font-size:26px;}
  .eyebrow{font-size:11px;}
  .page-description{font-size:12px;max-width:640px;line-height:1.45;}
  .content{padding:16px;gap:14px;}
  .card{border-radius:18px;}
  .card.pad{padding:14px;}
  .grid-2,.grid-3,.grid-4,.stats,.summary-strip,.settings-workbench-grid,.dashboard-layout{gap:12px;}
  .stat{padding:14px;}
  .stat .label{font-size:12px;}
  .stat .value{font-size:26px;}
  .stat .value.small-value{font-size:22px;}
  .section-head{padding:14px 16px;}
  .section-head h3{font-size:16px;}
  .section-note{padding:0 16px 14px;font-size:12px;}
  .toolbar{padding:14px 16px;}
  .filter-meta{padding:0 14px 14px;}
  th,td{padding:10px 12px;font-size:13px;}
  form.grid-form{gap:10px;padding:14px;}
  label{font-size:12px;}
  input,select,textarea{padding:9px 10px;border-radius:12px;font-size:13px;}
  button,.btn{padding:9px 12px;border-radius:12px;font-size:13px;}
  .badge{padding:4px 8px;font-size:10px;}
  .pill{padding:5px 8px;font-size:10px;}
  .summary-strip{padding:14px;}
  .summary-mini{padding:10px;border-radius:14px;}
  .summary-mini strong{font-size:16px;}
  .settings-workbench{grid-template-columns:280px minmax(0,1fr) !important;gap:16px !important;}
  .settings-modern-main{max-width:1500px !important;}
}


/* v170.12 desktop browser-zoom equivalent */
@media (min-width: 1200px){
  html{font-size:100%;}
  body{zoom:1;}
}
@supports not (zoom: 1){
  @media (min-width: 1200px){
    body{
      transform:none;
      transform-origin:initial;
      width:auto;
      min-height:100vh;
      overflow-x:hidden;
    }
  }
}


/* v170.25 portal mobile rethink */
.company-portal-shell,.worker-portal-shell-mobile{overflow:hidden}
.portal-hero-head,.worker-portal-head,.workspace-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.portal-mobile-grid,.worker-portal-summary{align-items:stretch}
.portal-list .item-row,.worker-portal-list .item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:flex-start}
.portal-list .item-row > :last-child,.worker-portal-list .item-row > :last-child{min-width:170px}
.company-portal-shell .pills,.worker-portal-shell-mobile .pills{overflow:auto;max-width:100%;padding-bottom:4px}
.company-portal-shell .pill,.worker-portal-shell-mobile .pill{white-space:nowrap}
.company-portal-shell .card,.worker-portal-shell-mobile .card{min-width:0}
.company-portal-shell .section-head,.worker-portal-shell-mobile .section-head{gap:14px}
@media (max-width: 900px){
  .company-portal-shell{padding:0 12px 20px}
  .company-portal-shell .portal-hero{width:100% !important;padding:18px !important}
  .portal-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-main-grid,.worker-portal-grid{grid-template-columns:1fr !important}
  .portal-pulse-grid,.portal-friendly-grid{grid-template-columns:1fr 1fr}
  .portal-section-pills{position:static;padding:0;background:transparent}
  .workspace-intro,.portal-hero-head,.worker-portal-head{flex-direction:column;align-items:stretch}
  .company-portal-shell .card.pad,.worker-portal-shell-mobile .card.pad{padding:16px}
  .worker-portal-shell-mobile .summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .portal-summary-strip,.worker-portal-shell-mobile .summary-strip,.worker-overview-grid-4,.worker-summary-compact,.worker-summary-strip{grid-template-columns:1fr !important}
  .portal-pulse-grid,.portal-friendly-grid,.worker-compact-steps{grid-template-columns:1fr !important}
  .portal-list .item-row,.worker-portal-list .item-row,.company-portal-shell .item-row,.worker-portal-shell-mobile .item-row{grid-template-columns:1fr !important;gap:10px}
  .portal-list .item-row > :last-child,.worker-portal-list .item-row > :last-child,.company-portal-shell .item-row > :last-child,.worker-portal-shell-mobile .item-row > :last-child{min-width:0 !important;text-align:left !important;justify-self:start}
  .company-portal-shell .section-head,.worker-portal-shell-mobile .section-head{padding:0 0 10px 0 !important}
  .company-portal-shell .portal-hero,.worker-portal-shell-mobile{border-radius:18px}
  .company-portal-shell .pills,.worker-portal-shell-mobile .pills{display:flex;flex-wrap:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}
  .company-portal-shell .pills .pill,.worker-portal-shell-mobile .pills .pill{flex:0 0 auto}
  .company-portal-shell .small,.worker-portal-shell-mobile .small{line-height:1.45}
  .page-settings .settings-module-option-head{flex-direction:column}
  .company-portal-shell .friendly-card strong,.worker-portal-shell-mobile .summary-mini strong{font-size:22px}
  .company-portal-shell .admin-preview-banner,.worker-portal-shell-mobile .admin-preview-banner{margin:0 12px 14px}
  .company-portal-shell .scroll-panel,.worker-portal-shell-mobile .scroll-panel{max-height:none !important;padding-right:0}
}


/* v170.26 portal mobile cleanup + simpler garage cards */
@media (max-width: 760px){
  .company-portal-shell{padding:0 0 18px !important;max-width:none !important}
  .company-portal-shell .portal-hero,
  .worker-portal-shell-mobile{
    width:100% !important;
    border-radius:16px !important;
    padding:14px !important;
    box-shadow:none !important;
  }
  .company-portal-shell .portal-hero-head h2,
  .worker-portal-shell-mobile .worker-portal-head h3,
  .worker-portal-shell-mobile h3,
  .company-portal-shell h3{font-size:20px !important;line-height:1.2}
  .company-portal-shell .page-description,
  .company-portal-shell .workspace-note,
  .worker-portal-shell-mobile .page-description{font-size:13px !important;line-height:1.45}
  .worker-portal-shell-mobile .summary-strip,
  .worker-portal-shell-mobile .worker-overview-grid-4{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    gap:10px !important;
    padding:0 0 6px 0 !important;
    margin-bottom:14px !important;
  }
  .worker-portal-shell-mobile .summary-strip .summary-mini,
  .worker-portal-shell-mobile .worker-overview-grid-4 .worker-metric-card{
    flex:0 0 168px;
    min-width:168px;
    scroll-snap-align:start;
  }
  .company-portal-shell .portal-summary-strip,
  .company-portal-shell .portal-kpi-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    overflow:visible !important;
    gap:10px !important;
    padding:0 !important;
  }
  .company-portal-shell .portal-summary-strip .summary-mini,
  .company-portal-shell .portal-kpi-grid .summary-mini{
    min-width:0 !important;
    width:auto !important;
  }
  .company-portal-shell .portal-main-grid,
  .company-portal-shell .portal-friendly-grid,
  .company-portal-shell .portal-pulse-grid,
  .worker-portal-shell-mobile .worker-portal-grid,
  .worker-portal-shell-mobile .grid-2,
  .worker-portal-shell-mobile .worker-compact-steps,
  .worker-portal-shell-mobile .worker-summary-strip,
  .worker-portal-shell-mobile .worker-overview-grid-4{
    grid-template-columns:1fr !important;
  }
  .company-portal-shell .card.pad,
  .worker-portal-shell-mobile .card.pad{padding:14px !important}
  .company-portal-shell .friendly-card{min-height:0;padding:14px;border-radius:14px}
  .company-portal-shell .friendly-card strong{font-size:22px !important}
  .company-portal-shell .pills,
  .worker-portal-shell-mobile .worker-portal-tabs,
  .worker-portal-shell-mobile .pills{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    padding-bottom:4px !important;
  }
  .company-portal-shell .pills .pill,
  .worker-portal-shell-mobile .worker-portal-tabs .pill,
  .worker-portal-shell-mobile .pills .pill{
    flex:0 0 auto;
    scroll-snap-align:start;
    padding:10px 12px !important;
  }
  .company-portal-shell .portal-list .item-row,
  .worker-portal-shell-mobile .worker-portal-list .item-row,
  .worker-portal-shell-mobile .item-row{
    display:block !important;
    gap:0 !important;
    padding:12px 0;
  }
  .worker-portal-shell-mobile .item-row.hidden{
    display:none !important;
  }
  .worker-portal-shell-mobile .worker-leave-declaration-box,
  .worker-portal-shell-mobile .worker-leave-declaration-box > :last-child{
    width:100%;
  }
  .worker-portal-shell-mobile .worker-leave-declaration-box > :last-child{
    justify-self:stretch !important;
  }
  .company-portal-shell .portal-list .item-row > :last-child,
  .worker-portal-shell-mobile .worker-portal-list .item-row > :last-child,
  .worker-portal-shell-mobile .item-row > :last-child{
    margin-top:8px;
    text-align:left !important;
    min-width:0 !important;
  }
  .company-portal-shell .scroll-panel,
  .worker-portal-shell-mobile .scroll-panel{max-height:none !important;overflow:visible !important}
  .worker-portal-shell-mobile .worker-install-panel .btn,
  .company-portal-shell .btn{width:100%;justify-content:center}
}


/* Visibility hardening patch 24 */
.card .small,
.card .muted,
.card .page-description,
.card .workspace-note,
.card .section-note,
.summary-mini .small,
.stat .label,
.filter-meta,
.filter-meta .small,
.toolbar .small,
.item-row .small,
table td .small,
table td .muted,
.empty-state,
.portal-list .small,
.worker-portal-shell-mobile .small,
.company-portal-shell .small,
.worker-portal-shell-mobile .page-description,
.company-portal-shell .page-description,
.company-portal-shell .workspace-note,
.worker-portal-shell-mobile .workspace-note,
.reminder-actions-note,
.page-density-hint{
  color:#475569 !important;
}

.card h1,
.card h2,
.card h3,
.card h4,
.card strong,
.card label,
.card th,
.card td strong,
.summary-mini strong,
.stat .value,
.portal-list strong,
.worker-portal-shell-mobile strong,
.company-portal-shell strong{
  color:#0f172a;
}

.card a:not(.btn):not(.pill):not(.summary-mini-link):not(.stat-link-card),
.portal-list a:not(.btn):not(.pill),
table a:not(.btn):not(.pill){
  color:#1d4ed8;
}

.card input,
.card select,
.card textarea,
.worker-portal-shell-mobile input,
.worker-portal-shell-mobile select,
.worker-portal-shell-mobile textarea,
.company-portal-shell input,
.company-portal-shell select,
.company-portal-shell textarea,
.grid-form input,
.grid-form select,
.grid-form textarea{
  color:#0f172a;
  background:#fff;
}

.card input::placeholder,
.card textarea::placeholder,
.grid-form input::placeholder,
.grid-form textarea::placeholder,
.worker-portal-shell-mobile input::placeholder,
.worker-portal-shell-mobile textarea::placeholder,
.company-portal-shell input::placeholder,
.company-portal-shell textarea::placeholder{
  color:#94a3b8;
  opacity:1;
}

.pill:not(.pill-active):not(.worker-tab-active):not(.ok):not(.warn):not(.danger):not(.success),
.badge:not(.ok):not(.warn):not(.danger):not(.success){
  color:#334155;
}

.sidebar .small,
.sidebar .muted,
.sidebar .nav-section-label,
.sidebar-brand small{
  color:#cbd5e1;
  opacity:1;
}

/* Visibility hardening patch 25 */
.company-portal-shell,
.worker-portal-shell-mobile,
.company-portal-shell .card,
.worker-portal-shell-mobile .card,
.company-portal-shell .portal-hero,
.worker-portal-shell-mobile .worker-inner-card,
.worker-portal-shell-mobile .worker-metric-card,
.worker-portal-shell-mobile .worker-compliance-item,
.company-portal-shell .company-request-row,
.company-portal-shell .portal-item-row,
.company-portal-shell .friendly-card,
.company-portal-shell .workflow-card,
.company-portal-shell .workflow-step,
.company-portal-shell .module-ownership-chip,
.company-portal-shell .quick-route-card{
  color:#0f172a !important;
}

.company-portal-shell .portal-hero,
.company-portal-shell .card.pad,
.company-portal-shell .friendly-card,
.company-portal-shell .workflow-card,
.company-portal-shell .workflow-step,
.company-portal-shell .module-ownership-chip,
.company-portal-shell .quick-route-card,
.company-portal-shell .company-request-row,
.worker-portal-shell-mobile .worker-inner-card,
.worker-portal-shell-mobile .worker-metric-card,
.worker-portal-shell-mobile .worker-compliance-item,
.worker-portal-shell-mobile .worker-review-box,
.worker-portal-shell-mobile .worker-current-file,
.worker-portal-shell-mobile .worker-entry-table-wrap,
.worker-portal-shell-mobile .worker-day-row{
  background:#ffffff !important;
  border-color:#e2e8f0 !important;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
}

.company-portal-shell p,
.company-portal-shell li,
.company-portal-shell td,
.company-portal-shell label,
.company-portal-shell .small,
.company-portal-shell .muted,
.company-portal-shell .page-description,
.company-portal-shell .workspace-note,
.company-portal-shell .section-note,
.company-portal-shell .empty-state,
.company-portal-shell .company-request-summary,
.company-portal-shell .company-request-label,
.company-portal-shell .company-request-count,
.company-portal-shell .portal-item-row .small,
.company-portal-shell .portal-hero .small,
.company-portal-shell .portal-hero p,
.company-portal-shell .friendly-card .small,
.company-portal-shell .workflow-route-hint,
.company-portal-shell .workflow-note,
.company-portal-shell .inline-note,
.company-portal-shell .kv,
.company-portal-shell .kv div,
.company-portal-shell .pill:not(.pill-active),
.worker-portal-shell-mobile p,
.worker-portal-shell-mobile li,
.worker-portal-shell-mobile td,
.worker-portal-shell-mobile label,
.worker-portal-shell-mobile .small,
.worker-portal-shell-mobile .muted,
.worker-portal-shell-mobile .page-description,
.worker-portal-shell-mobile .workspace-note,
.worker-portal-shell-mobile .section-note,
.worker-portal-shell-mobile .empty-state,
.worker-portal-shell-mobile .worker-review-summary,
.worker-portal-shell-mobile .worker-week-limit-note,
.worker-portal-shell-mobile .worker-entry-alert,
.worker-portal-shell-mobile .worker-auto-fill,
.worker-portal-shell-mobile .worker-current-file .small,
.worker-portal-shell-mobile .worker-compliance-item small,
.worker-portal-shell-mobile .worker-compliance-item span,
.worker-portal-shell-mobile .kv,
.worker-portal-shell-mobile .kv div,
.worker-portal-shell-mobile .pill:not(.worker-tab-active):not(.pill-active){
  color:#475569 !important;
  opacity:1 !important;
}

.company-portal-shell h1,
.company-portal-shell h2,
.company-portal-shell h3,
.company-portal-shell h4,
.company-portal-shell strong,
.company-portal-shell th,
.company-portal-shell td strong,
.company-portal-shell .friendly-card strong,
.company-portal-shell .summary-mini strong,
.company-portal-shell .portal-hero strong,
.worker-portal-shell-mobile h1,
.worker-portal-shell-mobile h2,
.worker-portal-shell-mobile h3,
.worker-portal-shell-mobile h4,
.worker-portal-shell-mobile strong,
.worker-portal-shell-mobile th,
.worker-portal-shell-mobile td strong,
.worker-portal-shell-mobile .worker-metric-card strong,
.worker-portal-shell-mobile .summary-mini strong,
.worker-portal-shell-mobile .worker-compliance-item strong{
  color:#0f172a !important;
}

.company-portal-shell a:not(.btn):not(.pill):not(.badge),
.worker-portal-shell-mobile a:not(.btn):not(.pill):not(.badge){
  color:#1d4ed8;
}

.company-portal-shell input,
.company-portal-shell select,
.company-portal-shell textarea,
.worker-portal-shell-mobile input,
.worker-portal-shell-mobile select,
.worker-portal-shell-mobile textarea{
  color:#0f172a !important;
  background:#fff !important;
  border-color:#cbd5e1 !important;
}

.company-portal-shell input::placeholder,
.company-portal-shell textarea::placeholder,
.worker-portal-shell-mobile input::placeholder,
.worker-portal-shell-mobile textarea::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
}

.company-portal-shell .portal-section-pills .pill,
.worker-portal-shell-mobile .worker-portal-tabs .pill,
.worker-portal-shell-mobile .pills .pill{
  font-weight:700;
}

.company-portal-shell .badge:not(.approved):not(.rejected):not(.danger):not(.warning):not(.info):not(.submitted),
.worker-portal-shell-mobile .badge:not(.approved):not(.rejected):not(.danger):not(.warning):not(.info):not(.submitted){
  color:#334155 !important;
}


/* PATCH: planning cleanup + stronger visual hierarchy */
.planning-summary-primary{background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);border:1px solid #dbe7f5;box-shadow:0 12px 28px rgba(15,23,42,.05)}
.planning-summary-primary .summary-mini{background:#fff;border-color:#dbe7f5;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.planning-summary-primary .summary-mini .small{color:#475569}
.planning-summary-primary .summary-mini strong{color:#0f172a}
.planning-summary-legend{margin-top:10px;margin-bottom:4px}
.planning-queue-pills{display:flex;flex-wrap:wrap;gap:8px}
.planning-queue-pills .pill strong{margin-left:6px}
@media (max-width: 900px){
  .planning-summary-primary{padding:14px}
  .planning-summary-primary .summary-mini{padding:12px}
}


/* PATCH: planning critical cards stronger */
.planning-summary-primary .summary-mini.summary-mini-neutral{background:#ffffff;border-color:#dbe7f5;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.planning-summary-primary .summary-mini.info{background:#eff6ff;border-color:#93c5fd}
.planning-summary-primary .summary-mini.info .small{color:#1d4ed8}
.planning-summary-primary .summary-mini.info strong{color:#1e3a8a}
.planning-summary-primary .summary-mini.summary-mini-hot{background:linear-gradient(180deg,#fff7f7 0%, #ffffff 100%);border-color:#fca5a5;box-shadow:0 10px 24px rgba(220,38,38,.10)}
.planning-summary-primary .summary-mini.summary-mini-hot .small{color:#991b1b}
.planning-summary-primary .summary-mini.summary-mini-hot strong{color:#7f1d1d}
.planning-summary-primary .summary-mini.danger,
.planning-summary-primary .summary-mini.summary-mini-critical{background:linear-gradient(180deg,#fef2f2 0%, #fff5f5 100%);border-color:#f87171;box-shadow:0 12px 28px rgba(220,38,38,.14)}
.planning-summary-primary .summary-mini.danger .small,
.planning-summary-primary .summary-mini.summary-mini-critical .small{color:#991b1b}
.planning-summary-primary .summary-mini.danger strong,
.planning-summary-primary .summary-mini.summary-mini-critical strong{color:#7f1d1d}
.planning-summary-primary .summary-mini.danger::before,
.planning-summary-primary .summary-mini.summary-mini-critical::before,
.planning-summary-primary .summary-mini.summary-mini-hot::before{content:"";display:block;height:4px;border-radius:999px;background:#dc2626;margin:-14px -14px 12px -14px}
.planning-summary-primary .summary-mini.info::before{content:"";display:block;height:4px;border-radius:999px;background:#2563eb;margin:-14px -14px 12px -14px}
.planning-queue-pills .pill-danger{background:#fef2f2;border-color:#fca5a5;color:#991b1b}
.planning-queue-pills .pill-warning{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.planning-queue-pills .pill-info{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.planning-note.danger{color:#991b1b;font-weight:700}
.planning-page-flow{display:flex;flex-direction:column;gap:16px}
.planning-page-flow>#planning-surface-switcher{order:1;margin-bottom:0}
.planning-page-flow>.planning-summary-primary{order:2}
.planning-page-flow>.planning-summary-legend{order:3;margin-top:0;margin-bottom:0}
.planning-page-flow>#planning-workers-board{order:4}
.planning-page-flow>.planning-pagination{order:5}
.planning-page-flow>#planning-hidden-workers{order:6;margin:0!important}
.planning-page-flow>.planning-workflow-grid{order:7;margin-top:0!important}
.planning-page-flow>.planning-pressure-grid{order:8}
.planning-page-flow>.planning-filter-panel{order:9}
.planning-filter-details>summary::-webkit-details-marker{display:none}
.planning-filter-summary{cursor:pointer}
.planning-filter-summary h3{margin:0}
.planning-filter-details .grid-form{border-top:1px solid var(--border)}
.planning-filter-panel .filter-meta{border-top:1px solid var(--border);padding-top:14px}
.planning-filter-panel .filter-meta .pills{max-width:100%}

/* Help center */
.help-shell{display:grid;gap:18px}
.help-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:20px;align-items:start}
.help-hero h3{margin:10px 0 8px;font-size:24px}
.help-search-form{display:grid;gap:8px}
.help-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}
.help-summary-strip{padding:16px}
.help-filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.help-section-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-top:4px}
.help-section-heading h3{margin:0;font-size:22px}
.help-topic-grid,.help-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.help-topic-card,.help-module-card{display:block;min-width:0;padding:0;border:1px solid #dbe4f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04);overflow:hidden}
.help-topic-card h4,.help-module-card h4{margin:0;font-size:18px;line-height:1.25}
.help-topic-card p,.help-module-card p{margin:0}
.help-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.help-dropdown-summary{display:grid;gap:10px;padding:16px;cursor:pointer;list-style:none}
.help-dropdown-summary::-webkit-details-marker,.help-dropdown-summary::marker{display:none;content:""}
.help-dropdown-card[open]{border-color:#bfdbfe;box-shadow:0 12px 30px rgba(37,99,235,.08)}
.help-dropdown-card[open] .help-dropdown-summary{border-bottom:1px solid #e2e8f0;background:#f8fbff}
.help-dropdown-body{display:grid;gap:12px;padding:14px 16px 16px}
.help-dropdown-indicator{margin-left:auto;padding:5px 9px;border-radius:999px;border:1px solid var(--border);background:var(--soft);color:#334155;font-size:10px;font-weight:800;line-height:1.2}
.help-dropdown-indicator::before{content:"Open"}
.help-dropdown-card[open] .help-dropdown-indicator::before{content:"Close"}
.help-language-toggle{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.help-language-toggle-global{margin-top:12px}
.help-steps{display:grid;gap:8px;margin:0;padding-left:20px;color:#334155;font-size:13px;line-height:1.45}
.help-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.help-module-note{padding:10px 12px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff;color:#1e3a8a;font-size:13px;line-height:1.45}
.help-module-facts{display:grid;gap:8px;margin:0}
.help-module-facts div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:8px 0;border-top:1px solid #eef2f7}
.help-module-facts dt{font-size:12px;font-weight:800;color:#64748b}
.help-module-facts dd{margin:0;font-size:13px;color:#334155;overflow-wrap:anywhere}
.help-empty{margin-top:0}
@media (max-width: 900px){
  .planning-summary-primary .summary-mini.danger::before,
  .planning-summary-primary .summary-mini.summary-mini-critical::before,
  .planning-summary-primary .summary-mini.summary-mini-hot::before,
  .planning-summary-primary .summary-mini.info::before{margin:-12px -12px 10px -12px}
  .help-hero{grid-template-columns:1fr}
  .help-search-row{grid-template-columns:1fr}
  .help-search-row .btn{width:100%}
}


.card-focus-ring{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.14);}
.page-client_requests .summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.page-client_requests .filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;}
.page-client_requests .grid-2{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;}
@media (max-width: 980px){.page-client_requests .grid-2{grid-template-columns:1fr;}}

/* Client Requests accordion / dropdown pipeline */
.client-request-accordion{
  overflow:hidden;
}
.client-request-accordion-summary{
  width:100%;
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:2px 0 4px;
  border:0;
  background:transparent;
  text-align:left;
}
.client-request-accordion-summary::-webkit-details-marker,
.client-request-accordion-summary::marker{
  display:none;
  content:'';
}
.client-request-accordion-main{
  flex:1 1 auto;
  min-width:0;
  display:grid;
  gap:8px;
}
.client-request-accordion-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.client-request-accordion-toggle{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--soft);
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.client-request-accordion.is-open .client-request-accordion-toggle{
  background:var(--soft-2);
  color:var(--text);
}
.client-request-accordion.is-open .client-request-accordion-toggle::after{
  content:' ▲';
}
.client-request-accordion:not(.is-open) .client-request-accordion-toggle::after{
  content:' ▼';
}
.client-request-accordion-body{
  padding-top:4px;
}
@media (max-width: 760px){
  .client-request-accordion-summary{
    flex-direction:column;
    align-items:stretch;
  }
  .client-request-accordion-toggle{
    align-self:flex-start;
  }
  .client-request-accordion-badges .badge,
  .client-request-accordion-badges .pill{
    max-width:100%;
  }
}

/* Unified menu/tab controls */
.pills{
  align-items:center;
}
.pill,
.pills .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  min-height:23px;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--soft);
  color:#334155;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  box-shadow:none;
  white-space:nowrap;
}
span.pill{
  white-space:normal;
  text-align:left;
  overflow-wrap:anywhere;
}
.pills .btn:hover,
.pill:hover{
  border-color:#cbd5e1;
  background:#eef2f7;
  color:var(--text);
}
.pill-active,
.worker-tab-active.pill,
.pill.worker-tab-active,
.settings-modern-subtabs .pill-active{
  background:var(--dark);
  border-color:var(--dark);
  color:#fff !important;
  box-shadow:none;
}
.settings-modern-tab,
.recruitment-workspace-subnav-link{
  color:var(--text) !important;
}
.settings-modern-tab.active,
.recruitment-workspace-subnav-link.active{
  border-color:rgba(15,23,42,.28);
  background:rgba(15,23,42,.04);
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
}
.settings-modern-tab.active strong,
.recruitment-workspace-subnav-link.active strong{
  color:var(--text);
}

/* Mobile polish: keep repeated actions usable without changing the desktop density pass. */
@media (max-width: 760px){
  button,
  .btn,
  .pills .btn{
    min-height:40px;
    padding:9px 12px;
    border-radius:14px;
    line-height:1.2;
  }

  .pill{
    min-width:34px;
    min-height:34px;
    padding:7px 10px;
    font-size:11px;
    line-height:1.25;
  }

  .table-wrap .btn,
  .table-wrap .pill{
    min-height:32px;
    max-width:none;
  }

  .list-compact .item-row{
    flex-wrap:wrap;
  }

  .list-compact .item-row > .btn,
  .list-compact .item-row > .pill{
    flex-shrink:0;
    max-width:none;
  }

  .mobile-nav-toggle{
    min-height:40px;
  }

  .sidebar-close{
    min-width:40px;
    min-height:40px;
    padding:0;
  }
}

/* Nested panels still occur in dense admin screens; flatten their visual weight. */
.card .card{
  border-radius:16px;
  box-shadow:none;
}

.card .card.pad{
  padding:14px;
}

@media (max-width: 760px){
  .card .card{
    border-radius:14px;
  }
}

/* Fines mobile register */
.fine-driver-preview-box{
  min-height:44px;
  padding:10px 12px;
  border:1px solid #dbe7f5;
  border-radius:14px;
  background:#f8fafc;
}
.fine-driver-preview-box strong,
.fine-driver-preview-box span{display:block}
.fine-checkbox-label{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-weight:800;
}
.fine-checkbox-label input[type=checkbox]{
  width:auto;
  flex:0 0 auto;
}
.fine-manual-driver-box{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #dbe7f5;
  border-radius:16px;
  background:#fff;
}
.fine-manual-driver-fields{
  display:grid;
  gap:6px;
}
.fine-mobile-list{display:none}
.fine-mobile-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
}
.fine-mobile-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.fine-mobile-card-head > div,
.fine-mobile-meta > div{min-width:0}
.fine-mobile-card-head strong,
.fine-mobile-meta strong{
  display:block;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.fine-mobile-card-head .small,
.fine-mobile-meta .small{display:block}
.fine-mobile-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.fine-mobile-meta > div{
  padding:10px;
  border:1px solid #edf2f7;
  border-radius:14px;
  background:var(--soft);
}
.fine-mobile-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.fine-mobile-status-form{
  padding:0 !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:end;
}
.fine-mobile-status-form button{width:100%}
.fine-mobile-note{
  padding:10px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid #edf2f7;
}
.fine-mobile-source{
  margin-top:8px;
  max-height:180px;
  white-space:pre-wrap;
  padding:10px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
}

@media (max-width: 760px){
  .page-fines .fine-register-table{display:none}
  .page-fines .fine-mobile-list{
    display:grid;
    gap:12px;
    padding:0 14px 16px;
  }
}

@media (max-width: 440px){
  .fine-mobile-meta{grid-template-columns:1fr}
  .fine-mobile-status-form{grid-template-columns:1fr !important}
  .fine-mobile-card-head{align-items:stretch}
  .fine-mobile-card-head .badge{align-self:flex-start}
}
/* 2026-08 visual pass: explicit entity editors and compact long-form workspaces. */
.entity-editor-grid.is-single{
  grid-template-columns:minmax(0,1fr) !important;
}

.entity-create-toolbar{
  margin-bottom:16px;
}

.entity-create-toolbar .section-head{
  border-bottom:0;
}

.period-pagination-footer{
  border-top:1px solid var(--border);
  border-bottom:0;
}

.log-secondary-panel{
  margin-top:16px;
}

.log-secondary-panel > .entity-secondary-body{
  padding:16px;
}

.log-secondary-panel > .entity-secondary-body > .grid-2{
  margin:0;
}

@media (max-width: 760px){
  .page-worker-portal .worker-admin-preview{
    padding:10px 12px;
    margin:0 0 10px;
  }

  .page-worker-portal .worker-admin-preview > .small{
    display:none;
  }

  .page-worker-portal .worker-admin-preview .pills{
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    margin-top:6px !important;
    overflow-x:auto;
    scrollbar-width:thin;
  }

  .page-worker-portal .worker-admin-preview .pill{
    flex:0 0 auto;
    padding:6px 9px;
    font-size:11px;
  }

  .page-worker-portal .worker-portal-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px;
    margin-bottom:10px;
  }

  .page-worker-portal .worker-portal-summary .summary-mini{
    min-height:72px;
    padding:10px;
  }

  .page-worker-portal .worker-portal-summary .summary-mini strong{
    font-size:15px !important;
    line-height:1.2;
    overflow-wrap:anywhere;
  }

  .page-worker-portal .worker-portal-head{
    gap:8px;
  }

  .page-worker-portal .worker-portal-head .page-description{
    display:none;
  }

  .page-worker-portal .worker-portal-tabs{
    flex-wrap:nowrap;
    scroll-snap-type:x proximity;
  }

  .page-worker-portal .worker-portal-tabs .pill{
    min-height:38px;
    scroll-snap-align:center;
  }
}

@media (max-width: 760px){
  .page-periods .summary-strip{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px;
    padding:10px;
  }

  .page-periods .summary-mini{
    min-height:78px;
    padding:10px 12px;
  }

  .page-periods .summary-mini strong{
    font-size:22px;
  }

  .page-periods .summary-mini .small:last-child{
    display:none;
  }

  .page-periods .period-pagination{
    width:100%;
    flex-wrap:nowrap;
    overflow-x:auto;
  }

  .page-notifications .stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px;
  }

  .page-notifications .stat{
    min-height:84px;
    padding:12px;
  }

  .page-notifications .stat .value{
    font-size:24px;
  }

  .page-notifications .stat .small{
    display:none;
  }
}

/* Planning row actions: keep the operational choice clear and secondary tools available on demand. */
.planning-row-actions{
  min-width:156px;
}

.planning-row-actions-primary{
  display:flex;
  align-items:flex-start;
  gap:6px;
  flex-wrap:wrap;
}

.planning-row-primary-action{
  border-color:#0f172a;
  background:#0f172a;
  color:#fff !important;
  font-weight:800;
}

.planning-row-primary-action:hover{
  border-color:#1e293b;
  background:#1e293b;
  color:#fff !important;
}

.planning-row-more{
  min-width:0;
}

.planning-row-more > summary{
  cursor:pointer;
  list-style:none;
  user-select:none;
}

.planning-row-more > summary::-webkit-details-marker{
  display:none;
}

.planning-row-more > summary::after{
  content:" +";
  color:var(--muted);
  font-weight:900;
}

.planning-row-more[open] > summary::after{
  content:" −";
}

.planning-row-more-menu{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  width:min(360px,70vw);
  margin-top:8px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
}

.planning-row-more-menu form{
  display:inline-flex;
  margin:0;
}

@media (max-width:760px){
  .planning-row-actions{
    min-width:142px;
  }

  .planning-row-more-menu{
    width:240px;
  }
}
