*{margin:0;padding:0;box-sizing:border-box;}
/* Native iOS shell: hide web boot chrome (native splash covers cold start) */
html.ios-app #bootSkeleton,
html.ios-app #bootSnapshot,
html.ss-native-shell #bootSkeleton,
html.ss-native-shell #bootSnapshot,
html[data-ios-app="1"] #bootSkeleton,
html[data-ios-app="1"] #bootSnapshot{
  display:none!important;
  opacity:0!important;
  pointer-events:none!important;
}
/* Prefer no accidental text selection/copy in the app UI */
html,body{
  -webkit-user-select:none;user-select:none;
  -webkit-touch-callout:none;
}
input,textarea,select,[contenteditable="true"],.allow-text-select,code,pre{
  -webkit-user-select:text;user-select:text;
  -webkit-touch-callout:default;
}
/* Design system themes (DESIGN-SYSTEM.md) — dark is default */
:root{
  color-scheme:dark;
  --font-ui: "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --color-background:#09111a;
  --color-surface:#0b131d;
  --color-surface-dim:#0d1520;
  --color-surface-bright:#182230;
  --color-surface-container-lowest:#0f1722;
  --color-surface-container-low:#121b27;
  --color-surface-container:#182230;
  --color-surface-container-high:#223043;
  --color-surface-container-highest:#314256;
  --color-surface-variant:#273243;
  --color-on-surface:#edf3fb;
  --color-on-surface-variant:#a8b4c4;
  --color-on-background:#edf3fb;
  --color-primary:#6ea8ff;
  --color-on-primary:#09111a;
  --color-primary-container:#1a2d4a;
  --color-on-primary-container:#c8dcff;
  --color-secondary:#67dfad;
  --color-on-secondary:#002113;
  --color-secondary-container:#0d3f31;
  --color-on-secondary-container:#8feec7;
  --color-tertiary:#eef4ff;
  --color-on-tertiary:#09111a;
  --color-tertiary-container:#213965;
  --color-on-tertiary-container:#9ac0ff;
  --color-error:#ff9488;
  --color-on-error:#ffffff;
  --color-error-container:#4c171c;
  --color-on-error-container:#ffd9d4;
  --color-outline:#6c788a;
  --color-outline-variant:#233143;
  --shadow-soft-deep:0 10px 15px -3px rgba(0,0,0,.35);
  /* App aliases (legacy var names) */
  --primary:var(--color-primary);
  --on-primary:var(--color-on-primary);
  --accent:var(--color-secondary);
  --bg:var(--color-background);
  --card:var(--color-surface-container-lowest);
  --sidebar:var(--color-surface-container-lowest);
  --text:var(--color-on-surface);
  --text2:var(--color-on-surface-variant);
  --border:var(--color-outline-variant);
  --green:var(--color-secondary);
  --yellow:#e6c35c;
  --blue:var(--color-primary);
  --red:var(--color-error);
  --orange:#e08200;
  --input-bg:var(--color-surface-container-low);
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --admin-mobile-pad-bottom: calc(env(safe-area-inset-bottom, 0px) + 40px);
  /* Extra room so last cards on admin tabs fully clear the iPhone home indicator / fold. */
  --admin-mobile-scroll-extra: 100px;
  --ss-admin-scroll-end: calc(env(safe-area-inset-bottom, 0px) + 120px);
  --admin-scrollbar-reserve: 16px;
}
[data-theme="light"]{
  color-scheme:light;
  --color-background:#f7f9fb;
  --color-surface:#f7f9fb;
  --color-surface-dim:#d8dadc;
  --color-surface-bright:#f7f9fb;
  --color-surface-container-lowest:#ffffff;
  --color-surface-container-low:#f2f4f6;
  --color-surface-container:#eceef0;
  --color-surface-container-high:#e6e8ea;
  --color-surface-container-highest:#e0e3e5;
  --color-surface-variant:#e0e3e5;
  --color-on-surface:#191c1e;
  --color-on-surface-variant:#45464d;
  --color-on-background:#191c1e;
  --color-primary:#000000;
  --color-on-primary:#ffffff;
  --color-primary-container:#131b2e;
  --color-on-primary-container:#7c839b;
  --color-secondary:#006c49;
  --color-on-secondary:#ffffff;
  --color-secondary-container:#6cf8bb;
  --color-on-secondary-container:#00714d;
  --color-tertiary:#000000;
  --color-on-tertiary:#ffffff;
  --color-tertiary-container:#001a42;
  --color-on-tertiary-container:#3980f4;
  --color-error:#ba1a1a;
  --color-on-error:#ffffff;
  --color-error-container:#ffdad6;
  --color-on-error-container:#93000a;
  --color-outline:#76777d;
  --color-outline-variant:#c6c6cd;
  --shadow-soft-deep:0 10px 15px -3px rgba(15,23,42,.08);
  --primary:var(--color-primary);
  --on-primary:var(--color-on-primary);
  --accent:var(--color-secondary);
  --bg:var(--color-background);
  --card:var(--color-surface-container-lowest);
  --sidebar:var(--color-surface-container-lowest);
  --text:var(--color-on-surface);
  --text2:var(--color-on-surface-variant);
  --border:color-mix(in srgb, var(--color-outline-variant) 60%, transparent);
  --green:var(--color-secondary);
  --yellow:#d4a017;
  --blue:var(--color-on-tertiary-container);
  --red:var(--color-error);
  --orange:#e08200;
  --input-bg:var(--color-surface-container-low);
}
[data-theme="light"] #loginScreen{background:linear-gradient(165deg,#e4eaf2 0%,#f4f6f9 42%,#e8edf4 100%);}
[data-theme="light"] .login-container label{color:var(--text);}
[data-theme="light"] .login-card{background:#fff;border-color:rgba(148,163,184,.35);box-shadow:0 18px 48px -20px rgba(15,23,42,.18);}
[data-theme="light"] .login-card-brand h3{color:var(--text);}
[data-theme="light"] .login-form-group input{background:#f1f5f9;color:var(--text);border-color:transparent;}
[data-theme="light"] .section-title,[data-theme="light"] .card-header h3,[data-theme="light"] .w-info h4,[data-theme="light"] .oc-info h4,[data-theme="light"] .stat-card .sc-value,[data-theme="light"] .modal-header h3,[data-theme="light"] h4{color:var(--text);}
[data-theme="light"] .diary-entry-card h4{color:var(--text);}
[data-theme="light"] .sidebar{background:#FFFFFF;border-right-color:#E4E7EB;box-shadow:none;}
[data-theme="light"] .sidebar-brand{border-bottom-color:#EAECEF;}
[data-theme="light"] .sidebar-brand img{filter:none;}
[data-theme="light"] .sidebar-nav a{color:#5c5d64;border-radius:8px;margin:2px 10px;padding:12px 14px;position:relative;}
[data-theme="light"] .sidebar-nav a.active{color:#141218;background:#EEF1F4;font-weight:600;}
[data-theme="light"] .sidebar-nav a.active::before{content:none;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .sidebar-nav a:hover{color:#141218;background:#F2F4F6;}
[data-theme="light"] .sidebar-nav a.active:hover{color:#141218;background:#EEF1F4;}
}
[data-theme="light"] .sidebar-logout{border-top-color:#EAECEF;}
[data-theme="light"] .sidebar-logout button{background:#fff;color:#2f80ed;border:1px solid rgba(47,128,237,.28);border-radius:10px;padding:12px;font-weight:600;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .sidebar-logout button:hover{background:#2f80ed;color:#fff;border-color:#2f80ed;}
}
[data-theme="light"] .top-header{background:var(--card);border-color:var(--border);box-shadow:0 1px 4px rgba(0,0,0,.06);}
[data-theme="light"] .modal-overlay{background:rgba(0,0,0,.4);}
[data-theme="light"] .modal{background:var(--card);border-color:var(--border);}
[data-theme="light"] .modal-footer{border-color:var(--border);}
[data-theme="light"] .form-group input,[data-theme="light"] .form-group textarea{background:#fff;border-color:var(--border);color:var(--text);}
[data-theme="light"] .form-group input::placeholder,[data-theme="light"] .form-group textarea::placeholder{color:var(--text2);}
[data-theme="light"] .form-group select{
  background-color:#fff;
  border-color:var(--border);
  color:var(--text);
  background-image:url("data:image/svg+xml,%3Csvg fill='%235c5d64' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:18px;
}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .data-table tr:hover td{background:rgba(0,163,196,.05);}
[data-theme="light"] .worker-item:hover{background:rgba(0,163,196,.05);}
}
[data-theme="light"] .object-card .oc-icon{background:rgba(0,163,196,.1);color:var(--accent);}
[data-theme="light"] .hamburger{color:var(--text);}
/* Theme-aware brand logo: colourful icon + white wordmark (dark theme) / dark wordmark (light theme). */
.login-logo .brand-logo-light{display:none;}
[data-theme="light"] .login-logo .brand-logo-default{display:none;}
[data-theme="light"] .login-logo .brand-logo-light{display:inline-block;}
.header-logo{display:none;}
@media(max-width:900px){
  html:not([data-theme="light"]) .header-logo.brand-logo-default{display:block;}
  html[data-theme="light"] .header-logo.brand-logo-light{display:block;}
}
[data-theme="light"] .bottom-nav{background:var(--card);border-color:var(--border);box-shadow:0 -2px 8px rgba(0,0,0,.08);}
[data-theme="light"] ::-webkit-scrollbar-track{background:var(--bg);}
[data-theme="light"] ::-webkit-scrollbar-thumb{background:#c5c8cc;}
.theme-toggle{background:var(--input-bg);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);border-radius:12px;color:var(--text2);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;}
@media (hover:hover) and (pointer:fine){
.theme-toggle:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--input-bg));}
}
[data-theme="light"] .theme-toggle i:before{content:"\f186";}
[data-theme="light"] .theme-toggle.login-gear i:before{content:"\f013";}
[data-theme="light"] .account-dropdown{background:var(--card);border-color:var(--border);box-shadow:0 18px 48px rgba(15,21,37,.14);}
[data-theme="light"] .ad-header{border-color:var(--border);background:transparent;}
[data-theme="light"] .ad-name{color:var(--text);}
[data-theme="light"] .ad-item{color:var(--text);}
[data-theme="light"] .account-dropdown .ad-ico{background:rgba(15,21,37,.05);border-color:var(--border);color:var(--text2);}
[data-theme="light"] .account-dropdown .ad-item.logout .ad-ico{background:rgba(47,128,237,.10);border-color:rgba(47,128,237,.22);color:#2f80ed;}
[data-theme="light"] .account-dropdown .ad-submenu{background:rgba(15,21,37,.03);}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .ad-item:hover{background:rgba(0,163,196,.06);}
}
/* html/body base — design-system background tokens */
html{height:100%;height:-webkit-fill-available;margin:0;padding:0;overflow:hidden;background:var(--bg);}
html[data-theme="light"]{background:var(--bg);}
body{min-height:100%;min-height:-webkit-fill-available;margin:0;padding:0;overflow:hidden;background:var(--bg);}
html[data-theme="light"] body{background:var(--bg);}
body{font-family:var(--font-ui);color:var(--text);-webkit-font-smoothing:antialiased;}
html{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;}
#appShell button,#appShell .btn,#appShell .bottom-nav a,#appShell .sidebar-nav a,#appShell .icon-btn,#appShell .theme-toggle,#appShell input[type="button"],#appShell input[type="submit"],#appShell .worker-item,#appShell .mobile-card,#appShell .diary-entry-card,#appShell .form-check,#appShell .stat-card,#appShell .date-period-btn,#appShell .reset-btn,#appShell .photo-upload-btn,#appShell .lang-btn,#appShell .lang-option,#appShell .trip-address-toggle,#appShell .trip-address-item,#appShell .work-toggle,#loginScreen button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
@media (pointer:coarse){
.stat-card:active{transform:translateY(0)!important;}
.login-btn:active{transform:translateY(0)!important;}
.diary-entry-card:active{transform:translateY(0)!important;border-color:var(--border);}
.mobile-card:active{border-color:var(--border);}
[data-theme="light"] .mobile-card:active{border-color:var(--border);}
.btn:active{opacity:1;}
.worker-item:active{background:transparent!important;}
[data-theme="light"] .worker-item:active{background:transparent!important;}
.data-table tr:active td{background:transparent!important;}
[data-theme="light"] .data-table tr:active td{background:transparent!important;}
.trip-address-item:active{background:transparent!important;color:inherit;}
[data-theme="light"] .trip-address-item:active{background:transparent!important;color:inherit;}
#w-trips .wt-trip-summary:active td{background:transparent!important;}
}
a{color:var(--primary);text-decoration:none;}


::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

/* LOGIN — vertical: icon on top, form below */
#loginScreen{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;min-height:-webkit-fill-available;z-index:9999;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;background:radial-gradient(ellipse 90% 55% at 50% -5%,#15253a 0%,#0b1522 42%,#070e16 100%);overflow-y:auto;padding:0;overscroll-behavior:none;-webkit-overflow-scrolling:touch;transform:translateZ(0);isolation:isolate;}
#loginScreen::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(ellipse 55% 40% at 50% 18%,rgba(77,163,255,.18),transparent 68%),
  radial-gradient(ellipse 40% 28% at 75% 80%,rgba(41,121,255,.07),transparent 60%);}
#loginScreen::after{content:none;}
[data-theme="light"] #loginScreen{background:linear-gradient(180deg,#eef3f8 0%,#f7f9fb 50%,#eef2f6 100%);}
[data-theme="light"] #loginScreen::before{background:radial-gradient(ellipse 70% 45% at 50% 10%,rgba(47,128,237,.12),transparent 60%);}
:root[data-ios-ui] #loginScreen{bottom:auto;height:max(100vh, var(--ios-login-vh, 1px));min-height:max(100vh, var(--ios-login-vh, 1px));}
/* Keyboard open: allow swipe so password / button stay reachable above the keyboard. */
#loginScreen.login-kb-open{
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
:root[data-ios-ui] #loginScreen.login-kb-open{
  height:var(--ios-login-vh, 100dvh);
  min-height:var(--ios-login-vh, 100dvh);
  max-height:var(--ios-login-vh, 100dvh);
  bottom:auto;
}
#loginScreen.login-kb-open .login-container{
  justify-content:flex-start;
  padding-top:8px;
  padding-bottom:max(160px, 42vh);
}
#loginScreen.login-kb-open .login-stage{gap:10px;}
#loginScreen.login-kb-open .login-hero{padding-top:0;padding-bottom:0;}
#loginScreen.login-kb-open .login-logo .brand-app-icon{width:72px;height:72px;filter:drop-shadow(0 8px 16px rgba(41,121,255,.28));}
#loginScreen.login-kb-open .login-logo .brand-wordmark{font-size:18px;}
#loginScreen.login-kb-open .login-footer{display:none;}
.login-top-controls{position:relative;z-index:2;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) 0 calc(16px + var(--safe-left));}
.login-top-controls .theme-toggle.login-gear{width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(12,20,32,.55);color:var(--text2);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
[data-theme="light"] .login-top-controls .theme-toggle.login-gear{background:rgba(255,255,255,.92);border-color:rgba(15,23,42,.12);color:#64748b;}
.login-top-controls .lang-switcher .lang-btn{border-radius:999px;background:rgba(12,20,32,.55);border:1px solid rgba(255,255,255,.1);padding:6px 12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
[data-theme="light"] .login-top-controls .lang-switcher .lang-btn{background:rgba(255,255,255,.92);border-color:rgba(15,23,42,.12);}
.login-container{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:100%;width:100%;padding:4px calc(18px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(18px + var(--safe-left));animation:fadeUp .55s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes loginIconIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.login-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:400px;}
.login-watermark{display:none;}
.login-hero{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2px 8px 2px;width:100%;}
.login-hero::before{content:'';position:absolute;left:50%;top:38%;width:min(220px,62vw);height:min(220px,62vw);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(110,168,255,.26) 0%,rgba(41,121,255,.08) 42%,transparent 70%);pointer-events:none;z-index:0;}
.login-logo{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;border:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;animation:loginIconIn .55s ease both;}
[data-theme="light"] .login-logo{background:transparent;border:none;}
.login-logo .brand-app-icon{width:120px;height:120px;border-radius:0;object-fit:contain;display:block;background:transparent;box-shadow:none;filter:drop-shadow(0 12px 26px rgba(41,121,255,.32));}
.login-hero-copy{display:none;}
.login-logo .brand-wordmark{
  display:block;
  font-size:22px;
  font-weight:800;
  letter-spacing:.02em;
  line-height:1.25;
  padding:2px 8px;
  white-space:nowrap;
  overflow:visible;
  background:none;
  color:#6eb6ff;
  -webkit-text-fill-color:#6eb6ff;
  filter:none;
}
[data-theme="light"] .login-logo .brand-wordmark{
  background:none;
  color:#2f80ed;
  -webkit-text-fill-color:#2f80ed;
  filter:none;
}
.login-hero-tag{display:none;}
.login-card{position:relative;z-index:2;background:linear-gradient(180deg,rgba(22,32,46,.96) 0%,rgba(14,22,34,.98) 100%);border:1px solid rgba(148,163,184,.14);border-radius:20px;padding:24px 22px 20px;text-align:left;width:100%;box-shadow:0 24px 48px -24px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.04);}
[data-theme="light"] .login-card{background:#fff;border-color:rgba(148,163,184,.3);box-shadow:0 18px 44px -22px rgba(15,23,42,.16);}
.login-card::before{content:none;}
.login-card-brand{display:flex;flex-direction:column;align-items:flex-start;text-align:left;margin:0 0 16px;}
.login-card-kicker{margin:0;font-size:20px;font-weight:750;letter-spacing:-.03em;color:var(--text);line-height:1.15;}
.login-card-brand.mode-alt .login-card-kicker{display:none;}
.login-card-brand .login-logo{margin:0 0 18px;}
.login-card-brand .login-logo img:not(.brand-app-icon){max-width:200px;height:auto;}
.login-card-brand h3{color:var(--text);font-size:20px;font-weight:800;margin:0 0 6px;text-align:left;letter-spacing:-.03em;}
[data-theme="light"] .login-card-brand h3{color:var(--text);}
.login-card-brand .login-subtitle{font-size:13px;color:var(--text2);margin:0;line-height:1.45;max-width:22rem;text-align:left;}
.login-form-group{margin-bottom:14px;}
.login-form-group label{display:block;font-size:12.5px;color:var(--text2);margin-bottom:7px;font-weight:550;}
.login-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;}
.login-label-row label{margin-bottom:0;}
.login-forgot-link{background:none;border:none;padding:0;font-size:12px;font-weight:600;color:#6eb6ff;cursor:pointer;white-space:nowrap;}
.login-forgot-link:hover{text-decoration:underline;}
[data-theme="light"] .login-forgot-link{color:var(--accent,#00A3C4);}
.login-forgot-info{margin-top:14px;padding:14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.15);font-size:13px;color:var(--text2);line-height:1.5;display:none;text-align:left;}
[data-theme="light"] .login-forgot-info{background:#f1f5f9;border-color:rgba(148,163,184,.25);}
.login-forgot-info strong{color:var(--text);}
.login-forgot-info a{color:var(--primary);font-weight:600;text-decoration:none;}
.login-or-divider{display:flex;align-items:center;gap:12px;margin:16px 0 4px;color:var(--text2);font-size:12px;text-transform:lowercase;}
.login-or-divider::before,.login-or-divider::after{content:'';flex:1;height:1px;background:rgba(148,163,184,.25);}
.login-btn-secondary{width:100%;padding:14px;background:transparent;color:var(--text);border:1px solid rgba(148,163,184,.28);border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;margin-top:6px;transition:background .2s,border-color .2s;}
.login-btn-secondary:hover{background:rgba(255,255,255,.04);border-color:rgba(148,163,184,.45);}
[data-theme="light"] .login-btn-secondary{border-color:#cbd5e1;}
[data-theme="light"] .login-btn-secondary:hover{background:#f8fafc;}
.login-forgot-ok{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);font-size:13px;color:var(--text2);line-height:1.45;display:none;text-align:left;}
.login-forgot-ok a{color:var(--primary);font-weight:600;word-break:break-all;}
.login-back-link{display:block;width:100%;margin-top:14px;background:none;border:none;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;text-align:center;padding:8px;}
.login-back-link:hover{text-decoration:underline;}
.login-form-group input{width:100%;padding:13px 14px;background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.14);border-radius:12px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;}
[data-theme="light"] .login-form-group input{background:#f1f5f9;color:var(--text);border-color:transparent;}
.login-form-group input:focus{border-color:rgba(110,168,255,.45);background:rgba(110,168,255,.05);box-shadow:0 0 0 3px rgba(110,168,255,.12);}
[data-theme="light"] .login-form-group input:focus{border-color:rgba(0,163,196,.4);box-shadow:0 0 0 3px rgba(0,163,196,.12);background:#fff;}
.login-form-group .input-icon{position:relative;}
.login-form-group .input-icon>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:rgba(168,180,196,.75);font-size:14px;pointer-events:none;}
.login-form-group .input-icon input{padding-left:42px;}
.login-form-group .input-icon input#loginPass,
.login-form-group .input-icon input#regPass{padding-right:44px;}
.login-form-group .input-icon .login-pass-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text2);cursor:pointer;padding:8px;font-size:15px;line-height:0;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .2s;}
.login-form-group .input-icon .login-pass-toggle:hover{color:var(--primary);}
[data-theme="light"] .login-form-group .input-icon .login-pass-toggle:hover{color:var(--accent);}
.login-btn{width:100%;padding:14px;background:linear-gradient(180deg,#7eb8ff 0%,#4da3ff 40%,#2f80ed 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:filter .2s,transform .15s,box-shadow .2s;margin-top:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 22px -10px rgba(47,128,237,.7),inset 0 1px 0 rgba(255,255,255,.22);}
@media (hover:hover) and (pointer:fine){.login-btn:hover{filter:brightness(1.06);box-shadow:0 12px 26px -10px rgba(47,128,237,.8),inset 0 1px 0 rgba(255,255,255,.25);}}
.login-switch{margin-top:18px;padding-top:16px;border-top:1px solid rgba(148,163,184,.12);text-align:center;font-size:13.5px;color:var(--text2);}
[data-theme="light"] .login-switch{border-top-color:rgba(148,163,184,.22);}
.login-switch button{background:none;border:none;color:#6eb6ff;font-weight:650;cursor:pointer;padding:0;font-size:13.5px;}
.login-switch button:hover{text-decoration:underline;}
[data-theme="light"] .login-switch button{color:var(--accent,#00A3C4);}
.login-hint-soft{margin-top:12px;font-size:10.5px;color:var(--text2);line-height:1.45;opacity:.45;text-align:center;}
.login-error{color:var(--red);font-size:13px;text-align:center;margin-top:14px;display:none;}
.login-footer{display:block;margin:2px 0 0;padding:0;text-align:center;background:transparent;border:none;}
.login-stage .login-footer{display:block;position:relative;z-index:2;margin:2px 0 0;padding:0;text-align:center;background:transparent;border:none;}
[data-theme="light"] .login-stage .login-footer{background:transparent;border:none;}
.login-footer p{font-size:11px;color:var(--text2);margin:0;opacity:.55;}
.login-footer a{color:#6eb6ff;text-decoration:none;font-weight:550;}
.login-reg-hint{font-size:12px;color:var(--text2);margin:0 0 16px;line-height:1.45;}
.login-hint{margin-top:20px;padding:16px;background:rgba(110,168,255,.06);border:1px solid rgba(110,168,255,.15);border-radius:10px;}
.login-hint h4{color:var(--primary);font-size:13px;margin-bottom:10px;text-align:center;}
.login-hint-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12px;color:var(--text2);}
.login-hint-row i{color:var(--primary);width:18px;text-align:center;}
.login-hint-row code{background:rgba(110,168,255,.1);padding:1px 6px;border-radius:4px;font-size:11px;color:var(--primary);font-family:monospace;}

@media (min-width:700px){
  .login-stage{max-width:420px;gap:20px;}
  .login-logo .brand-app-icon{width:136px;height:136px;}
  .login-logo .brand-wordmark{font-size:24px;letter-spacing:.02em;}
  .login-card{padding:28px 26px 22px;border-radius:22px;}
  .login-card-kicker{font-size:22px;}
  .login-hero::before{width:250px;height:250px;}
}
/* Desktop: keep layout as before; only neutralize phone keyboard compact jump */
@media (min-width:901px){
  #loginScreen.login-kb-open .login-container{
    justify-content:center;
    padding-top:4px;
    padding-bottom:calc(18px + var(--safe-bottom));
  }
  #loginScreen.login-kb-open .login-stage{gap:20px;}
  #loginScreen.login-kb-open .login-logo .brand-app-icon{width:136px;height:136px;}
  #loginScreen.login-kb-open .login-logo .brand-wordmark{font-size:24px;}
  #loginScreen.login-kb-open .login-footer{display:block;}
}
@media (prefers-reduced-motion:reduce){
  .login-logo{animation:none;}
}
/* LAYOUT */
/* Match --bg so any WebKit gap under fixed layers isn’t a different shade than the admin/worker canvas (#0d0d24 vs #0a0a1a). */
#appShell{display:none;position:fixed;top:0;left:0;right:0;bottom:calc(-1 * var(--safe-bottom));overflow:hidden;background:var(--bg);}
#roleWorker{position:fixed;top:0;left:0;right:0;bottom:calc(-1 * var(--safe-bottom));display:flex;flex-direction:column;overflow:hidden;}
.layout{display:flex;position:fixed;top:0;left:0;right:0;bottom:calc(-1 * var(--safe-bottom));}
[data-theme="light"] #appShell,[data-theme="light"] #roleWorker,[data-theme="light"] .layout{background:var(--bg);}
:root[data-ios-ui] #appShell,:root[data-ios-ui] #roleWorker,:root[data-ios-ui] .layout{bottom:0;}
@supports (height: 100dvh){
  #appShell,#roleWorker,.layout{height:calc(100dvh + var(--safe-bottom));}
}
:root[data-ios-ui] #appShell,:root[data-ios-ui] #roleWorker,:root[data-ios-ui] .layout{height:100dvh;}
/* Висота shell: --ios-app-vh з JS (visualViewport) для iOS та Android PWA. */
:root[data-ios-ui] body[data-role] #appShell,
html[data-pwa-standalone]:not([data-ios-ui]) body[data-role] #appShell{
  height:var(--ios-app-vh,100dvh);
  min-height:var(--ios-app-vh,100dvh);
}
:root[data-ios-ui] body[data-role] #roleWorker,
:root[data-ios-ui] body[data-role="admin"] #roleAdmin.layout,
html[data-pwa-standalone]:not([data-ios-ui]) body[data-role] #roleWorker,
html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin.layout{
  height:var(--ios-app-vh,100dvh);
  min-height:var(--ios-app-vh,100dvh);
}
body[data-role="admin"] #appShell,
body[data-role="admin"] #roleAdmin.layout{
  bottom:0;
}
@supports (height: 100dvh){
  body[data-role="admin"] #appShell,
  body[data-role="admin"] #roleAdmin.layout{
    height:100dvh;
    min-height:100dvh;
  }
}
:root[data-ios-ui] body[data-role="admin"] #appShell,
:root[data-ios-ui] body[data-role="admin"] #roleAdmin.layout,
html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #appShell,
html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin.layout{
  height:var(--ios-app-vh,100dvh);
  min-height:var(--ios-app-vh,100dvh);
}
:root[data-ios-ui] body[data-role="admin"] #appShell,
:root[data-ios-ui] body[data-role="admin"] #roleAdmin.layout{
  top:0!important;
  bottom:-160px!important;
  height:auto!important;
  min-height:0!important;
}
:root[data-ios-ui] body[data-role="worker"] #appShell,
:root[data-ios-ui] body[data-role="worker"] #roleWorker{
  top:0!important;
  bottom:-160px!important;
  height:auto!important;
  min-height:0!important;
}
/* iOS standalone + mobile (≤900px) Android/desktop-touch PWA: extend past home indicator */
:root[data-ios-ui][data-ios-standalone] body[data-role="admin"] #appShell,
:root[data-ios-ui][data-ios-standalone] body[data-role="admin"] #roleAdmin.layout{
  position:absolute;
  top:0;
  right:0;
  bottom:-160px!important;
  left:0;
  height:auto!important;
  min-height:0!important;
}
:root[data-ios-ui][data-ios-standalone] body[data-role="worker"] #appShell,
:root[data-ios-ui][data-ios-standalone] body[data-role="worker"] #roleWorker{
  position:absolute;
  top:0;
  right:0;
  bottom:-160px!important;
  left:0;
  height:auto!important;
  min-height:0!important;
}
@media (max-width:900px){
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #appShell,
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin.layout,
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="worker"] #appShell,
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="worker"] #roleWorker{
    position:absolute;
    top:0;
    right:0;
    bottom:-160px!important;
    left:0;
    height:auto!important;
    min-height:0!important;
  }
}
/* Mac/desktop PWA: never use bottom:-160 / height:auto — WebKit then fails % heights and overflow:hidden kills scroll */
@media (min-width:901px){
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #appShell,
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin.layout,
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="worker"] #appShell,
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="worker"] #roleWorker{
    position:fixed;
    top:0;
    right:0;
    bottom:0!important;
    left:0;
    height:100%!important;
    min-height:100%!important;
    max-height:100%;
  }
  @supports (height:100dvh){
    html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #appShell,
    html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin.layout,
    html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="worker"] #appShell,
    html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="worker"] #roleWorker{
      height:100dvh!important;
      min-height:100dvh!important;
      max-height:100dvh;
    }
  }
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin .main-area{
    flex:1 1 auto;
    height:auto!important;
    max-height:100%;
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin .content-area{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    padding-bottom:24px!important;
    scroll-padding-bottom:24px;
  }
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="worker"] #roleWorker .content-area.builder-main{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
}
:root[data-ios-ui][data-ios-standalone] body[data-role="admin"] #roleAdmin,
html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin{
  overflow:hidden;
}
:root[data-ios-ui][data-ios-standalone] body[data-role="admin"] #roleAdmin .main-area,
html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin .main-area{
  height:100%;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
:root[data-ios-ui][data-ios-standalone] body[data-role="admin"] #roleAdmin .content-area,
html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin .content-area{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  overflow-x:hidden;
}
:root[data-ios-ui][data-ios-standalone] body[data-role="admin"] #roleAdmin .content-area{
  padding-bottom:calc(var(--admin-mobile-pad-bottom) + var(--admin-mobile-scroll-extra))!important;
  scroll-padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 120px);
}
@media (max-width:900px){
  html[data-pwa-standalone]:not([data-ios-ui]) body[data-role="admin"] #roleAdmin .content-area{
    padding-bottom:calc(var(--admin-mobile-pad-bottom) + var(--admin-mobile-scroll-extra))!important;
    scroll-padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 120px);
  }
}
/* Real end-spacer: padding alone is unreliable in iOS WKWebView / PWA scroll containers. */
@media (max-width:900px){
  body[data-role="admin"] #roleAdmin .tab-content.active::after{
    content:'';
    display:block!important;
    height:var(--ss-admin-scroll-end);
    width:100%;
    flex-shrink:0;
    pointer-events:none;
  }
  body[data-role="admin"] #roleAdmin .tab-content .tab-scroll-end{
    display:block;
    height:var(--ss-admin-scroll-end);
    width:100%;
    flex-shrink:0;
    pointer-events:none;
  }
}
:root[data-ios-ui] body[data-role="admin"] #roleAdmin .tab-content.active::after,
html[data-pwa-standalone] body[data-role="admin"] #roleAdmin .tab-content.active::after{
  content:'';
  display:block!important;
  height:var(--ss-admin-scroll-end);
  width:100%;
  flex-shrink:0;
  pointer-events:none;
}
:root[data-ios-ui] body[data-role="admin"] #roleAdmin .tab-content .tab-scroll-end,
html[data-pwa-standalone] body[data-role="admin"] #roleAdmin .tab-content .tab-scroll-end{
  display:block;
  height:var(--ss-admin-scroll-end);
  width:100%;
  flex-shrink:0;
  pointer-events:none;
}
/* Avoid double spacer when JS also injected .tab-scroll-end */
body[data-role="admin"] #roleAdmin .tab-content.active:has(> .tab-scroll-end)::after{
  display:none!important;
  content:none!important;
  height:0!important;
}
.sidebar{
  width:240px;background:var(--sidebar);border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  transition:transform .35s cubic-bezier(.22,1,.36,1),width .6s cubic-bezier(.34,1.15,.64,1),box-shadow .5s ease;
  position:fixed;top:0;left:0;height:100vh;z-index:100;
  padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow-x:hidden;
  will-change:width;
  transform-origin:left center;
}
@supports (height: 100dvh){
  .sidebar{height:100dvh;}
}
.sidebar.closed{transform:translateX(-240px);}
@keyframes sidebarBrandSPop{
  0%{opacity:0;transform:scale(.35) rotate(-18deg);}
  55%{opacity:1;transform:scale(1.18) rotate(6deg);}
  100%{opacity:1;transform:scale(1) rotate(0);}
}
@keyframes sidebarBrandTextIn{
  0%{opacity:0;transform:translateX(-18px);filter:blur(6px);}
  100%{opacity:1;transform:translateX(0);filter:blur(0);}
}
@keyframes sidebarIconPop{
  0%{transform:scale(1);}
  35%{transform:scale(1.22);}
  100%{transform:scale(1);}
}
@keyframes sidebarRailTip{
  0%{transform:perspective(900px) rotateY(0deg);}
  45%{transform:perspective(900px) rotateY(-7deg);}
  100%{transform:perspective(900px) rotateY(0deg);}
}
@keyframes sidebarRailOpen{
  0%{transform:perspective(900px) rotateY(0deg);}
  45%{transform:perspective(900px) rotateY(5deg);}
  100%{transform:perspective(900px) rotateY(0deg);}
}
@keyframes navBadgePop{
  0%{transform:scale(.4);opacity:0;}
  70%{transform:scale(1.15);opacity:1;}
  100%{transform:scale(1);opacity:1;}
}
@media(min-width:901px){
  body[data-role="admin"] .hamburger{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:10px;flex-shrink:0;
  }
  body[data-role="admin"] .hamburger:hover{background:rgba(255,255,255,.06);}
  [data-theme="light"] body[data-role="admin"] .hamburger:hover{background:rgba(15,21,37,.06);}
  #adminSidebarToggle .sb-toggle-ico{
    display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:inherit;
    transition:transform .2s ease;
  }
  #adminSidebarToggle .sb-toggle-ico svg{display:block;overflow:visible;}
  #adminSidebarToggle .sb-t-rail,
  #adminSidebarToggle .sb-t-chev,
  #adminSidebarToggle .sb-t-frame{
    transition:transform .45s cubic-bezier(.34,1.2,.64,1),opacity .3s ease;
    transform-origin:center;
  }
  #adminSidebarToggle.is-collapsed .sb-t-rail{
    transform:translateX(-3px);opacity:.35;
  }
  #adminSidebarToggle.is-collapsed .sb-t-chev{
    transform:translateX(1px) scaleX(-1);
  }
  #adminSidebarToggle:active .sb-toggle-ico{transform:scale(.92);}

  /* Stagger index for cascade */
  #adminSidebar .sidebar-nav > *:nth-child(1){--nav-i:0;}
  #adminSidebar .sidebar-nav > *:nth-child(2){--nav-i:1;}
  #adminSidebar .sidebar-nav > *:nth-child(3){--nav-i:2;}
  #adminSidebar .sidebar-nav > *:nth-child(4){--nav-i:3;}
  #adminSidebar .sidebar-nav > *:nth-child(5){--nav-i:4;}
  #adminSidebar .sidebar-nav > *:nth-child(6){--nav-i:5;}
  #adminSidebar .sidebar-nav > *:nth-child(7){--nav-i:6;}
  #adminSidebar .sidebar-nav > *:nth-child(8){--nav-i:7;}
  #adminSidebar .sidebar-nav > *:nth-child(9){--nav-i:8;}
  #adminSidebar .sidebar-nav > *:nth-child(10){--nav-i:9;}

  #adminSidebar .sidebar-nav a span:not(.nav-badge){
    transition:
      opacity .28s ease calc(var(--nav-i,0) * 32ms),
      max-width .55s cubic-bezier(.34,1.15,.64,1) calc(var(--nav-i,0) * 28ms),
      transform .4s cubic-bezier(.34,1.15,.64,1) calc(var(--nav-i,0) * 32ms),
      margin .4s ease calc(var(--nav-i,0) * 28ms);
  }
  #adminSidebar .sidebar-nav a i{
    transition:transform .35s cubic-bezier(.34,1.4,.64,1) calc(var(--nav-i,0) * 28ms),font-size .3s ease,width .3s ease;
  }

  #adminSidebar.is-collapsing{
    animation:sidebarRailTip .55s cubic-bezier(.34,1.15,.64,1) both;
  }
  #adminSidebar.is-expanding{
    animation:sidebarRailOpen .55s cubic-bezier(.34,1.15,.64,1) both;
  }
  #adminSidebar.is-collapsing .sidebar-brand:not(.has-logo) .brand-collapsed-mark{
    animation:sidebarBrandSPop .55s cubic-bezier(.34,1.45,.64,1) .12s both;
  }
  #adminSidebar.is-expanding .sidebar-brand .brand-wordmark{
    animation:sidebarBrandTextIn .5s cubic-bezier(.22,1,.36,1) .08s both;
  }
  #adminSidebar.is-collapsing .sidebar-nav a i,
  #adminSidebar.is-expanding .sidebar-nav a i{
    animation:sidebarIconPop .45s cubic-bezier(.34,1.4,.64,1) calc(var(--nav-i,0) * 30ms) both;
  }

  #adminSidebar.collapsed{
    width:72px;
    overflow-x:hidden;
    box-shadow:4px 0 24px rgba(0,0,0,.18);
  }
  #adminSidebar.is-toggling{
    box-shadow:10px 0 36px rgba(0,0,0,.32);
  }
  #adminSidebar.collapsed .sidebar-brand{
    height:64px;padding:0 8px;justify-content:center;
  }
  #adminSidebar.collapsed .sidebar-brand .brand-wordmark{
    opacity:0;transform:translateX(-14px) scale(.88);max-width:0;margin:0;pointer-events:none;filter:blur(4px);
  }
  #adminSidebar.collapsed .sidebar-brand .company-logo{max-width:36px;max-height:36px;}
  #adminSidebar.collapsed .sidebar-brand:not(.has-logo) .brand-collapsed-mark{
    opacity:1;transform:scale(1);
  }
  [data-theme="light"] #adminSidebar .brand-collapsed-mark{color:#0f172a;}
  #adminSidebar.collapsed .sidebar-nav{padding:8px 0 12px;}
  #adminSidebar.collapsed .sidebar-nav a{
    justify-content:center;padding:12px 0;margin:2px 8px;gap:0;
  }
  #adminSidebar.collapsed .sidebar-nav a span:not(.nav-badge){
    flex:0 0 0;opacity:0;max-width:0;margin:0;padding:0;transform:translateX(-12px);pointer-events:none;filter:blur(2px);
  }
  #adminSidebar.collapsed .sidebar-nav a i{width:auto;font-size:16px;margin:0;}
  #adminSidebar.collapsed .sidebar-nav-group .sidebar-nav-sub{
    max-height:0!important;opacity:0!important;margin:0 8px!important;pointer-events:none;
  }
  #adminSidebar.collapsed .sidebar-logout{padding:12px 8px;}
  #adminSidebar.collapsed .sidebar-logout button{
    font-size:0;line-height:0;padding:12px 0;display:flex;align-items:center;justify-content:center;
  }
  #adminSidebar.collapsed .sidebar-logout button i{font-size:15px;line-height:1;}
  #adminSidebar.collapsed .sidebar-logout button span{
    opacity:0;max-width:0;overflow:hidden;display:inline-block;
  }
  #adminMain.sidebar-collapsed{margin-left:72px;}
  .header-fs-btn{display:inline-flex!important;}
}
@media (prefers-reduced-motion: reduce){
  .sidebar,
  .main-area,
  .sidebar-nav a,
  .sidebar-nav a span,
  .sidebar-brand .brand-wordmark,
  .sidebar-brand .brand-collapsed-mark,
  #adminSidebarToggle .hb-ico span,
  #adminSidebarToggle .sb-t-rail,
  #adminSidebarToggle .sb-t-chev,
  #adminSidebarToggle .sb-toggle-ico{
    transition-duration:.01ms!important;
    animation:none!important;
  }
  #adminSidebar.is-collapsing,
  #adminSidebar.is-expanding{animation:none!important;}
}
/* Keep brand divider level with .top-header bottom border */
.sidebar-brand{height:64px;padding:0 22px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);flex-shrink:0;box-sizing:border-box;position:relative;overflow:hidden;}
.sidebar-brand img{width:60%;height:auto;}
.sidebar-brand .brand-logo-light{display:none;}
[data-theme="light"] .sidebar-brand .brand-logo-default{display:none;}
[data-theme="light"] .sidebar-brand .brand-logo-light{display:block;}
.sidebar-brand h2,.sidebar-brand .brand-wordmark{
  font-size:17px;color:#fff;font-weight:700;letter-spacing:-.03em;margin:0;line-height:1.15;
  white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis;
  transition:opacity .22s ease,transform .35s cubic-bezier(.22,1,.36,1),max-width .4s cubic-bezier(.22,1,.36,1);
}
.brand-wordmark{font-size:18px;color:#fff;font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.2;white-space:nowrap;max-width:180px;overflow:hidden;transition:opacity .22s ease,transform .35s cubic-bezier(.22,1,.36,1),max-width .4s cubic-bezier(.22,1,.36,1);}
[data-theme="light"] .sidebar-brand h2,[data-theme="light"] .sidebar-brand .brand-wordmark,[data-theme="light"] .brand-wordmark{color:#0f172a;}
.sidebar-brand .brand-collapsed-mark{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1;
  opacity:0;transform:scale(.7);pointer-events:none;
  transition:opacity .25s ease .05s,transform .4s cubic-bezier(.22,1,.36,1);
}
.sidebar-brand .brand-collapsed-mark img,
.sidebar-brand .brand-collapsed-mark .brand-collapsed-icon{
  width:34px;height:34px;border-radius:0;object-fit:contain;display:block;background:transparent;
  opacity:1;color:#fff;
  /* Override .sidebar-brand img{width:60%} so the mark stays crisp and sized */
  max-width:34px;flex-shrink:0;
}
[data-theme="light"] .sidebar-brand .brand-collapsed-mark img,
[data-theme="light"] .sidebar-brand .brand-collapsed-mark .brand-collapsed-icon{
  filter:brightness(0) saturate(100%);
  opacity:.88;
}
.top-header .brand-wordmark{font-size:16px;color:var(--text);}
.company-logo{max-height:40px;max-width:160px;width:auto;height:auto;object-fit:contain;display:none;}
.sidebar-brand .company-logo{max-height:44px;max-width:180px;}
.top-header .company-logo{max-height:32px;max-width:140px;}
.header-brand{display:inline-flex;align-items:center;gap:8px;min-width:0;}
[data-company-brand].has-logo .brand-wordmark{display:none;}
[data-company-brand].has-logo .company-logo{display:block;}
[data-company-brand].has-logo .brand-collapsed-mark{display:none!important;}
#admin-settings{padding-bottom:32px;max-width:none;width:100%;}
#admin-settings .settings-page-head{margin:0 0 22px;}
#admin-settings .settings-page-head .section-title{margin:0 0 4px;font-size:26px;font-weight:700;letter-spacing:-.04em;line-height:1.15;}
#admin-settings .settings-intro{font-size:13.5px;color:var(--text2);line-height:1.5;margin:0;max-width:none;opacity:.9;}
#admin-settings .settings-tabs{
  display:inline-flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;margin:0 0 18px;padding:4px;border-radius:14px;
  background:var(--bg);border:1px solid var(--border);max-width:100%;
}
#admin-settings .settings-tabs::-webkit-scrollbar{display:none;}
[data-theme="light"] #admin-settings .settings-tabs{background:#F2F4F6;border-color:#E6E8EB;}
#admin-settings .settings-tab{
  appearance:none;border:1px solid transparent;background:transparent;color:var(--text2);
  font-size:13px;font-weight:600;padding:9px 14px;min-height:38px;border-radius:10px;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0;
  transition:background .15s,border-color .15s,color .15s;
}
#admin-settings .settings-tab i{font-size:12px;opacity:.75;}
@media (hover:hover) and (pointer:fine){
  #admin-settings .settings-tab:not(.active):hover{color:var(--text);background:rgba(255,255,255,.04);}
  [data-theme="light"] #admin-settings .settings-tab:not(.active):hover{background:#fff;color:#141218;}
}
#admin-settings .settings-tab.active{
  background:var(--card);color:var(--text);border-color:var(--border);box-shadow:0 1px 2px rgba(15,21,37,.06);
}
#admin-settings .settings-tab.active i{opacity:1;color:inherit;}
html:not([data-theme="light"]) #admin-settings .settings-tab.active{
  background:#182230;border-color:#233143;color:#edf3fb;box-shadow:none;
}
[data-theme="light"] #admin-settings .settings-tab.active{background:#fff;border-color:#D8DADC;color:#141218;box-shadow:0 1px 2px rgba(15,21,37,.06);}
#admin-settings .settings-main{min-width:0;}
#admin-settings .settings-panel{display:none;}
#admin-settings .settings-panel.active{display:block;animation:settingsFade .2s ease;}
@keyframes settingsFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
#admin-settings .settings-panel > .card,#admin-settings .settings-surface{background:transparent;border:none;border-radius:0;padding:0;margin:0;overflow:visible;box-shadow:none;}
#admin-settings .settings-panel-head{display:none;}
#admin-settings .settings-panel-body{padding:0;}
#admin-settings .settings-block{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:22px 24px;margin:0 0 12px;}
[data-theme="light"] #admin-settings .settings-block{border-color:rgba(15,23,42,.06);box-shadow:0 1px 2px rgba(15,23,42,.03);}
#admin-settings .settings-block:last-child{margin-bottom:0;}
#admin-settings .settings-block-title{margin:0 0 16px;font-size:14px;font-weight:700;letter-spacing:-.02em;color:var(--text);display:flex;align-items:center;gap:8px;}
#admin-settings .settings-block-title span{font-weight:500;font-size:12px;color:var(--text2);margin-left:auto;}
/* Profile dashboard (reference layout) */
#admin-settings{max-width:none;width:100%;}
#w-profile{max-width:none;width:100%;padding-bottom:24px;}
#w-profile .prof-scroll-end{
  height:72px;
  width:100%;
  flex-shrink:0;
  pointer-events:none;
}
#w-profile > .card{background:transparent;border:none;border-radius:0;padding:0;margin:0;overflow:visible;box-shadow:none;}
#w-profile .settings-panel-body{padding:0;}
#w-profile .prof-back-btn{
  display:inline-flex;align-items:center;gap:8px;
  margin:0 0 10px;padding:8px 12px 8px 10px;
  border:1px solid var(--border);border-radius:10px;
  background:transparent;color:var(--text);font-size:14px;font-weight:600;
  cursor:pointer;min-height:40px;
}
#w-profile .prof-back-btn i{font-size:14px;opacity:.85;}
#w-profile .prof-back-btn:active{opacity:.8;}
[data-theme="light"] #w-profile .prof-back-btn{background:#fff;}
/* Profile: hide bottom nav; system/back button returns to previous tab */
body.worker-w-profile-active #workerNav,
body.worker-w-profile-active .bottom-nav{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.worker-w-profile-active #roleWorker .content-area.builder-main{
  padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px))!important;
  scroll-padding-bottom:80px;
}
/* Pin worker shell to visible viewport — bottom:-safe otherwise puts scroll end under the screen */
@media (max-width:900px){
  body[data-role="worker"] #roleWorker{
    bottom:0!important;
    height:var(--ios-app-vh, 100dvh)!important;
    max-height:var(--ios-app-vh, 100dvh)!important;
    min-height:0!important;
  }
  body[data-role="worker"].worker-w-profile-active #roleWorker{
    padding-bottom:env(safe-area-inset-bottom, 0px)!important;
  }
}
#admin-settings .prof-hero, #w-profile .prof-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 22px;}
#admin-settings .prof-avatar-wrap, #w-profile .prof-avatar-wrap{position:relative;margin-bottom:14px;}
#admin-settings .prof-avatar, #w-profile .prof-avatar{
  width:108px;height:108px;border-radius:50%;
  background:#1a1f2e;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;
  overflow:hidden;border:3px solid rgba(255,255,255,.08);
  box-shadow:0 8px 28px rgba(0,0,0,.25);
}
[data-theme="light"] #admin-settings .prof-avatar, [data-theme="light"] #w-profile .prof-avatar{background:#111827;border-color:#e5e7eb;box-shadow:0 8px 24px rgba(15,23,42,.1);}
#admin-settings .prof-avatar.has-photo, #w-profile .prof-avatar.has-photo{background:transparent;padding:0;}
#admin-settings .prof-avatar img, #w-profile .prof-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
#admin-settings .prof-avatar-btn, #w-profile .prof-avatar-btn{
  position:absolute;right:0;bottom:0;width:32px;height:32px;border-radius:50%;
  border:2px solid var(--card,#0b0f19);background:var(--blue,#6ea8ff);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
}
#admin-settings .prof-avatar-btn input, #w-profile .prof-avatar-btn input{display:none;}
#admin-settings .prof-name, #w-profile .prof-name{margin:0;font-size:20px;font-weight:700;letter-spacing:-.03em;color:var(--text);}
#admin-settings .prof-badge, #w-profile .prof-badge{
  display:inline-flex;align-items:center;margin-top:10px;padding:6px 14px;border-radius:999px;
  font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;
  background:rgba(255,255,255,.06);color:var(--text2);border:1px solid rgba(255,255,255,.08);
}
[data-theme="light"] #admin-settings .prof-badge, [data-theme="light"] #w-profile .prof-badge{background:#f3f4f6;color:#6b7280;border-color:#e5e7eb;}
#admin-settings .prof-stats, #w-profile .prof-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px;}
#admin-settings .prof-stat, #w-profile .prof-stat{
  background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:16px;
  padding:18px 16px;text-align:center;min-width:0;
}
[data-theme="light"] #admin-settings .prof-stat, [data-theme="light"] #w-profile .prof-stat{background:#fff;border-color:#e8eaed;box-shadow:0 1px 2px rgba(15,23,42,.04);}
#admin-settings .prof-stat-label, #w-profile .prof-stat-label{
  font-size:10px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--text2);margin:0 0 8px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#admin-settings .prof-stat-value, #w-profile .prof-stat-value{font-size:28px;font-weight:750;letter-spacing:-.04em;color:var(--text);line-height:1;}
@media(max-width:560px){
  #admin-settings .prof-stats, #w-profile .prof-stats{gap:8px;margin:0 0 14px;}
  #admin-settings .prof-stat, #w-profile .prof-stat{padding:12px 8px;border-radius:14px;}
  #admin-settings .prof-stat-label, #w-profile .prof-stat-label{font-size:9px;letter-spacing:.04em;margin:0 0 6px;}
  #admin-settings .prof-stat-value, #w-profile .prof-stat-value{font-size:22px;}
}
#admin-settings .prof-grid, #w-profile .prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:800px){#admin-settings .prof-grid, #w-profile .prof-grid{grid-template-columns:1fr;}}
#admin-settings .prof-card, #w-profile .prof-card{
  background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:18px;overflow:hidden;
}
[data-theme="light"] #admin-settings .prof-card, [data-theme="light"] #w-profile .prof-card{background:#fff;border-color:#e8eaed;box-shadow:0 1px 2px rgba(15,23,42,.04);}
#admin-settings .prof-card-head, #w-profile .prof-card-head{
  display:flex;align-items:center;gap:12px;padding:20px 22px 16px;
  font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.02em;
}
#admin-settings .prof-card-head i, #w-profile .prof-card-head i{color:var(--text2);font-size:17px;width:22px;text-align:center;}
#admin-settings .prof-row, #w-profile .prof-row{
  display:flex;align-items:center;gap:16px;padding:18px 22px;
  border-top:1px solid rgba(255,255,255,.06);min-height:72px;
}
[data-theme="light"] #admin-settings .prof-row, [data-theme="light"] #w-profile .prof-row{border-top-color:#f0f1f3;}
#admin-settings .prof-row-ico, #w-profile .prof-row-ico{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);color:var(--text2);font-size:16px;
}
[data-theme="light"] #admin-settings .prof-row-ico, [data-theme="light"] #w-profile .prof-row-ico{background:#f3f4f6;color:#6b7280;}
#admin-settings .prof-row-body, #w-profile .prof-row-body{flex:1;min-width:0;}
#admin-settings .prof-row-label, #w-profile .prof-row-label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:4px;}
#admin-settings .prof-row-value, #w-profile .prof-row-value{display:block;font-size:16px;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#admin-settings .prof-row-notify-title, #w-profile .prof-row-notify-title{font-size:17px;font-weight:700;margin:0;letter-spacing:-.01em;}
#admin-settings button.prof-row, #w-profile button.prof-row{
  appearance:none;width:100%;
  border:none;border-top:1px solid rgba(255,255,255,.06);
  background:transparent;cursor:pointer;text-align:left;color:inherit;font:inherit;
  transition:background .12s;
}
[data-theme="light"] #admin-settings button.prof-row, [data-theme="light"] #w-profile button.prof-row{border-top-color:#f0f1f3;}
#admin-settings button.prof-row:hover, #w-profile button.prof-row:hover{background:rgba(255,255,255,.03);}
[data-theme="light"] #admin-settings button.prof-row:hover, [data-theme="light"] #w-profile button.prof-row:hover{background:#f9fafb;}
#admin-settings .prof-row-right, #w-profile .prof-row-right{display:flex;align-items:center;gap:10px;flex-shrink:0;color:var(--text2);font-size:15px;font-weight:600;}
#admin-settings .prof-row-right i.fa-chevron-right, #w-profile .prof-row-right i.fa-chevron-right{font-size:13px;opacity:.55;}
#admin-settings .prof-row-badge, #w-profile .prof-row-badge{
  font-size:11px;font-weight:650;padding:3px 8px;border-radius:999px;
  background:rgba(148,163,184,.15);color:var(--text2);
}
#admin-settings .prof-row-badge.is-on, #w-profile .prof-row-badge.is-on{background:rgba(34,197,94,.15);color:#4ade80;}
[data-theme="light"] #admin-settings .prof-row-badge.is-on, [data-theme="light"] #w-profile .prof-row-badge.is-on{background:rgba(22,163,74,.12);color:#15803d;}
#admin-settings .prof-expand, #w-profile .prof-expand{display:none;padding:4px 22px 20px;border-top:1px solid rgba(255,255,255,.06);}
[data-theme="light"] #admin-settings .prof-expand, [data-theme="light"] #w-profile .prof-expand{border-top-color:#f0f1f3;}
#admin-settings .prof-expand.open, #w-profile .prof-expand.open{display:block;animation:settingsFade .18s ease;}
#admin-settings .prof-expand .settings-lang-grid, #w-profile .prof-expand .settings-lang-grid{padding-top:14px;}
#admin-settings .prof-expand .settings-theme-seg, #w-profile .prof-expand .settings-theme-seg{margin-top:14px;}
#admin-settings .prof-expand .settings-pass-grid, #w-profile .prof-expand .settings-pass-grid{padding-top:14px;}
#admin-settings .prof-expand .settings-actions, #w-profile .prof-expand .settings-actions{margin-top:14px;}
#admin-settings .prof-avatar-actions, #w-profile .prof-avatar-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;}

/* Language pick modal (reference layout) */
#profileLangModal .lang-pick-modal{max-width:520px;width:92%;}
#profileLangModal .modal-header{padding:22px 26px;}
#profileLangModal .modal-header h3{font-size:20px;font-weight:700;letter-spacing:-.02em;}
#profileLangModal .modal-body{padding:18px 26px 26px;}
#profileLangModal .lang-pick-hint{
  margin:0 0 16px;font-size:14px;color:var(--text2);line-height:1.45;font-weight:500;
}
#profileLangModal .lang-pick-list{display:flex;flex-direction:column;gap:12px;}
#profileLangModal .lang-pick-row{
  appearance:none;width:100%;display:flex;align-items:center;gap:16px;
  padding:16px 18px;border-radius:16px;cursor:pointer;text-align:left;
  border:1.5px solid var(--border);background:transparent;color:var(--text);
  transition:border-color .15s,background .15s;
}
#profileLangModal .lang-pick-row:hover{border-color:rgba(148,163,184,.55);}
#profileLangModal .lang-pick-row.is-active{
  border-width:2px;border-color:var(--text);background:rgba(255,255,255,.03);
}
[data-theme="light"] #profileLangModal .lang-pick-row{
  border-color:#e5e7eb;background:#fff;
}
[data-theme="light"] #profileLangModal .lang-pick-row:hover{border-color:#cbd5e1;}
[data-theme="light"] #profileLangModal .lang-pick-row.is-active{
  border-color:#111827;background:#fff;
}
#profileLangModal .lang-pick-badge{
  width:48px;height:48px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;letter-spacing:.03em;
  background:rgba(148,163,184,.2);color:var(--text2);
}
[data-theme="light"] #profileLangModal .lang-pick-badge{
  background:#eef0f3;color:#4b5563;
}
#profileLangModal .lang-pick-row.is-active .lang-pick-badge{
  background:#111827;color:#fff;
}
html:not([data-theme="light"]) #profileLangModal .lang-pick-row.is-active .lang-pick-badge{
  background:#edf2f7;color:#0b1220;
}
#profileLangModal .lang-pick-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
#profileLangModal .lang-pick-copy strong{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.25;}
#profileLangModal .lang-pick-copy small{font-size:13px;color:var(--text2);font-weight:500;line-height:1.35;}
#profileLangModal .lang-pick-radio{
  width:22px;height:22px;border-radius:50%;flex-shrink:0;
  border:2px solid rgba(148,163,184,.5);box-sizing:border-box;
  background:transparent;
}
[data-theme="light"] #profileLangModal .lang-pick-radio{border-color:#d1d5db;}
#profileLangModal .lang-pick-row.is-active .lang-pick-radio{
  border-color:#111827;background:#111827;
  box-shadow:inset 0 0 0 3.5px #fff;
}
html:not([data-theme="light"]) #profileLangModal .lang-pick-row.is-active .lang-pick-radio{
  border-color:#edf2f7;background:#edf2f7;
  box-shadow:inset 0 0 0 3.5px var(--card,#16162a);
}
html:not([data-theme="light"]) #profileLangModal .modal-header h3{color:var(--text);}
[data-theme="light"] #profileLangModal .modal{
  background:#fff;border-color:#e5e7eb;box-shadow:0 20px 50px rgba(15,23,42,.18);
}
[data-theme="light"] #profileLangModal .modal-header h3{color:#111827;}
[data-theme="light"] #profileLangModal .modal-header{border-bottom-color:#eceef2;}
[data-theme="light"] #profileLangModal .modal-close{color:#9ca3af;}

/* Tech support modal (admin) */
#profileSupportModal .support-modal{
  max-width:440px;width:min(440px, calc(100vw - 24px));
  overflow:hidden;
}
#profileSupportModal .support-modal-head{
  display:flex;align-items:center;gap:12px;padding:20px 22px 16px;
}
#profileSupportModal .support-modal-head h3{
  flex:1;min-width:0;margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em;
}
#profileSupportModal .support-modal-head .modal-close{margin-left:auto;}
#profileSupportModal .support-modal-head-ico{
  width:42px;height:42px;border-radius:14px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg, rgba(110,168,255,.28), rgba(47,128,237,.14));
  color:#7eb6ff;font-size:18px;
}
html[data-theme="light"] #profileSupportModal .support-modal-head-ico{
  background:linear-gradient(145deg, #e8f1ff, #d6e8ff);color:#2f80ed;
}
#profileSupportModal .modal-body{padding:8px 22px 20px;}
#profileSupportModal .support-modal-hint{
  margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--text2);font-weight:500;
}
#profileSupportModal .support-mail-card{
  display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;
  padding:14px 16px;border-radius:14px;text-decoration:none;color:inherit;
  border:1px solid rgba(110,168,255,.28);
  background:rgba(110,168,255,.08);
  transition:border-color .15s ease, background .15s ease, transform .12s ease;
}
#profileSupportModal .support-mail-card:hover{
  border-color:rgba(110,168,255,.5);background:rgba(110,168,255,.12);
}
#profileSupportModal .support-mail-card:active{transform:scale(.99);}
html[data-theme="light"] #profileSupportModal .support-mail-card{
  background:#f3f8ff;border-color:#c9dcff;
}
html[data-theme="light"] #profileSupportModal .support-mail-card:hover{
  background:#eaf2ff;border-color:#a8c8ff;
}
#profileSupportModal .support-mail-ico{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.18);color:#7eb6ff;font-size:17px;
}
html[data-theme="light"] #profileSupportModal .support-mail-ico{
  background:#fff;color:#2f80ed;border:1px solid #d7e6ff;
}
#profileSupportModal .support-mail-copy{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;
}
#profileSupportModal .support-mail-copy strong{
  font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em;
}
#profileSupportModal .support-mail-copy small{
  font-size:13px;font-weight:600;color:#6ea8ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
html[data-theme="light"] #profileSupportModal .support-mail-copy small{color:#2f80ed;}
#profileSupportModal .support-mail-chev{
  flex-shrink:0;font-size:12px;color:var(--text2);opacity:.55;
}
#profileSupportModal .support-modal-footer{
  display:flex;justify-content:stretch;gap:10px;padding:14px 22px 20px;
}
#profileSupportModal .support-modal-footer .btn{
  flex:1;justify-content:center;min-height:44px;border-radius:12px;font-weight:600;
}
#profileSupportModal .support-modal-footer .btn-primary{
  background:linear-gradient(145deg, #5aa2ff, #2f80ed);
  border:none;color:#fff;
  box-shadow:0 6px 16px rgba(47,128,237,.28);
}

/* Theme pick modal (reference layout) */
#profileThemeModal .theme-pick-modal{max-width:520px;width:92%;}
#profileThemeModal .modal-header{padding:22px 26px;}
#profileThemeModal .modal-header h3{font-size:20px;font-weight:700;letter-spacing:-.02em;}
#profileThemeModal .modal-body{padding:18px 26px 26px;}
#profileThemeModal .theme-pick-hint{
  margin:0 0 16px;font-size:14px;color:var(--text2);line-height:1.45;font-weight:500;
}
#profileThemeModal .theme-pick-list{display:flex;flex-direction:column;gap:12px;}
#profileThemeModal .theme-pick-row{
  appearance:none;width:100%;display:flex;align-items:center;gap:16px;
  padding:16px 18px;border-radius:16px;cursor:pointer;text-align:left;
  border:1.5px solid var(--border);background:transparent;color:var(--text);
  transition:border-color .15s,background .15s;
}
#profileThemeModal .theme-pick-row:hover{border-color:rgba(148,163,184,.55);}
#profileThemeModal .theme-pick-row.is-active{border-color:var(--text);background:rgba(255,255,255,.03);}
[data-theme="light"] #profileThemeModal .theme-pick-row{border-color:#e5e7eb;background:#fff;}
[data-theme="light"] #profileThemeModal .theme-pick-row:hover{border-color:#cbd5e1;}
[data-theme="light"] #profileThemeModal .theme-pick-row.is-active{border-color:#111827;background:#fff;}
#profileThemeModal .theme-pick-swatch{
  width:48px;height:48px;border-radius:12px;flex-shrink:0;position:relative;
  border:1px solid rgba(148,163,184,.35);box-sizing:border-box;overflow:hidden;
}
#profileThemeModal .theme-pick-swatch::after{
  content:"";position:absolute;left:9px;bottom:9px;width:8px;height:8px;border-radius:50%;
}
#profileThemeModal .theme-pick-swatch.is-light{background:#fff;border-color:#e5e7eb;}
#profileThemeModal .theme-pick-swatch.is-light::after{background:#111827;}
#profileThemeModal .theme-pick-swatch.is-dark{background:#1c1c28;border-color:#2a2a3a;}
#profileThemeModal .theme-pick-swatch.is-dark::after{background:#e8eaed;}
#profileThemeModal .theme-pick-swatch.is-auto{
  background:linear-gradient(180deg,#f7f8fa 0%,#f7f8fa 46%,#1c1c28 54%,#1c1c28 100%);
  border-color:#d1d5db;
}
#profileThemeModal .theme-pick-swatch.is-auto::after{display:none;}
#profileThemeModal .theme-pick-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
#profileThemeModal .theme-pick-copy strong{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.25;}
#profileThemeModal .theme-pick-copy small{font-size:13px;color:var(--text2);font-weight:500;line-height:1.4;}
#profileThemeModal .theme-pick-radio{
  width:22px;height:22px;border-radius:50%;flex-shrink:0;
  border:2px solid rgba(148,163,184,.5);box-sizing:border-box;background:transparent;
}
[data-theme="light"] #profileThemeModal .theme-pick-radio{border-color:#d1d5db;}
#profileThemeModal .theme-pick-row.is-active .theme-pick-radio{
  border-color:#111827;background:#111827;box-shadow:inset 0 0 0 3px #fff;
}
html:not([data-theme="light"]) #profileThemeModal .theme-pick-row.is-active .theme-pick-radio{
  border-color:#edf2f7;background:#edf2f7;box-shadow:inset 0 0 0 3px var(--card,#16162a);
}
html:not([data-theme="light"]) #profileThemeModal .modal-header h3{color:var(--text);}
[data-theme="light"] #profileThemeModal .modal{
  background:#fff;border-color:#e5e7eb;box-shadow:0 20px 50px rgba(15,23,42,.18);
}
[data-theme="light"] #profileThemeModal .modal-header h3{color:#111827;}
[data-theme="light"] #profileThemeModal .modal-header{border-bottom-color:#eceef2;}
[data-theme="light"] #profileThemeModal .modal-close{color:#9ca3af;}

#profileSecurityModal .theme-pick-modal{max-width:520px;width:92%;}
#profileSecurityModal .modal-header{padding:22px 26px;}
#profileSecurityModal .modal-header h3{font-size:20px;font-weight:700;letter-spacing:-.02em;}
#profileSecurityModal .modal-body{padding:18px 26px 26px;}
#profileSecurityModal .theme-pick-hint{
  margin:0 0 16px;font-size:14px;color:var(--text2);line-height:1.45;font-weight:500;
}
#profileSecurityModal .theme-pick-list{display:flex;flex-direction:column;gap:12px;}
#profileSecurityModal .theme-pick-row{
  appearance:none;width:100%;display:flex;align-items:center;gap:16px;
  padding:16px 18px;border-radius:16px;cursor:pointer;text-align:left;
  border:1.5px solid var(--border);background:transparent;color:var(--text);
  transition:border-color .15s,background .15s;
}
#profileSecurityModal .theme-pick-row:hover{border-color:rgba(148,163,184,.55);}
[data-theme="light"] #profileSecurityModal .theme-pick-row{border-color:#e5e7eb;background:#fff;}
[data-theme="light"] #profileSecurityModal .theme-pick-row:hover{border-color:#cbd5e1;}
#profileSecurityModal .theme-pick-swatch{
  width:48px;height:48px;border-radius:12px;flex-shrink:0;position:relative;
  border:1px solid rgba(148,163,184,.35);box-sizing:border-box;overflow:hidden;
}
#profileSecurityModal .theme-pick-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
#profileSecurityModal .theme-pick-copy strong{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.25;}
#profileSecurityModal .theme-pick-copy small{font-size:13px;color:var(--text2);font-weight:500;line-height:1.4;}
#profileSecurityModal .theme-pick-radio{flex-shrink:0;display:flex;align-items:center;}
[data-theme="light"] #profileSecurityModal .modal{
  background:#fff;border-color:#e5e7eb;box-shadow:0 20px 50px rgba(15,23,42,.18);
}
[data-theme="light"] #profileSecurityModal .modal-header h3{color:#111827;}
[data-theme="light"] #profileSecurityModal .modal-header{border-bottom-color:#eceef2;}
[data-theme="light"] #profileSecurityModal .modal-close{color:#9ca3af;}
#profileSecurityModal .prof-row-badge{
  font-size:11px;font-weight:650;padding:3px 8px;border-radius:999px;
  background:rgba(148,163,184,.15);color:var(--text2);
}
#profileSecurityModal .prof-row-badge.is-on{background:rgba(34,197,94,.15);color:#4ade80;}
[data-theme="light"] #profileSecurityModal .prof-row-badge.is-on{background:rgba(22,163,74,.12);color:#15803d;}

.profile-settings-modal .settings-theme-seg{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;border-radius:14px;
  background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.05);
}
[data-theme="light"] .profile-settings-modal .settings-theme-seg{background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.06);}
.profile-settings-modal .settings-theme-card{
  appearance:none;border:none;background:transparent;color:var(--text2);border-radius:11px;padding:16px 12px;cursor:pointer;
  text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;transition:background .15s,color .15s,box-shadow .15s;
}
.profile-settings-modal .settings-theme-card:hover{color:var(--text);background:rgba(255,255,255,.04);}
.profile-settings-modal .settings-theme-card.active{color:var(--text);background:rgba(110,168,255,.14);box-shadow:inset 0 0 0 1px rgba(110,168,255,.28);}
[data-theme="light"] .profile-settings-modal .settings-theme-card.active{background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.08);color:#0F1525;}
.profile-settings-modal .settings-theme-ico{
  width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-size:16px;background:rgba(255,255,255,.05);
}
.profile-settings-modal .settings-theme-card.active .settings-theme-ico{background:rgba(110,168,255,.2);color:var(--blue,#6ea8ff);}
.profile-settings-modal .settings-theme-card strong{font-size:14px;font-weight:650;}

#admin-settings .settings-mod-stack{display:flex;flex-direction:column;gap:18px;}
#admin-settings .settings-modules-page{margin:0;}
#admin-settings .settings-modules-head{margin:0 0 16px;}
#admin-settings .settings-modules-head .section-title{
  margin:0;font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.15;
  display:flex;align-items:center;gap:10px;
}
#admin-settings .settings-modules-head .section-title i{font-size:18px;opacity:.85;}
#admin-settings .settings-modules-intro{
  margin:8px 0 0;font-size:13px;color:var(--text2);line-height:1.45;max-width:42em;
}
#admin-settings .settings-modules-core-hint{margin-top:16px;}
#admin-settings .settings-mod-group{
  border:1px solid var(--border);border-radius:16px;overflow:hidden;
  background:rgba(255,255,255,.02);
}
[data-theme="light"] #admin-settings .settings-mod-group{
  background:#fff;border-color:#e8eaed;box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#admin-settings .settings-mod-group-head{
  display:flex;align-items:center;gap:10px;padding:12px 16px;
  border-bottom:1px solid var(--border);background:rgba(148,163,184,.06);
}
[data-theme="light"] #admin-settings .settings-mod-group-head{background:#f7f9fb;}
#admin-settings .settings-mod-group-head i{
  width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.14);color:var(--blue,#6ea8ff);font-size:12px;
}
#admin-settings .settings-mod-group-head strong{
  font-size:13px;font-weight:700;letter-spacing:-.01em;color:var(--text);
}
#admin-settings .settings-mod-group-head span{
  margin-left:auto;font-size:11px;font-weight:600;color:var(--text2);
}
#admin-settings .settings-mod-list{display:flex;flex-direction:column;}
#admin-settings .settings-feat-card{
  display:flex;align-items:center;gap:14px;padding:14px 16px;
  border:0;border-radius:0;border-bottom:1px solid var(--border);
  background:transparent;transition:background .15s,opacity .15s;
}
#admin-settings .settings-feat-card:last-child{border-bottom:0;}
#admin-settings .settings-feat-card.is-on{background:rgba(110,168,255,.05);}
[data-theme="light"] #admin-settings .settings-feat-card.is-on{background:rgba(47,107,255,.04);}
#admin-settings .settings-feat-card.is-locked{opacity:.55;}
#admin-settings .settings-feat-card.is-always{
  background:rgba(148,163,184,.04);
}
#admin-settings .settings-feat-ico{
  width:40px;height:40px;border-radius:11px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(148,163,184,.14);color:var(--text2);font-size:15px;
}
#admin-settings .settings-feat-card.is-on .settings-feat-ico,
#admin-settings .settings-feat-card.is-always .settings-feat-ico{
  background:rgba(110,168,255,.18);color:var(--blue,#6ea8ff);
}
#admin-settings button.settings-feat-card.roles-card{
  width:100%;
  appearance:none;-webkit-appearance:none;
  text-align:left;font:inherit;color:inherit;cursor:pointer;
}
#admin-settings .settings-feat-copy-top .roles-chip{
  display:inline-flex;align-items:center;flex-shrink:0;
  font-size:11px;font-weight:600;line-height:1.2;
  padding:2px 8px;border-radius:999px;
  background:rgba(148,163,184,.16);color:var(--text2);white-space:nowrap;
}
#admin-settings .roles-card-chevron{margin-left:8px;opacity:.45;font-size:12px;flex-shrink:0;}
#admin-settings .roles-list-actions{margin-top:16px;}
#admin-settings .roles-empty{padding:18px 16px;color:var(--text2);font-size:13px;}
#admin-settings .settings-feat-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#admin-settings .settings-feat-copy-top{display:flex;align-items:center;gap:6px;min-width:0;}
#admin-settings .settings-feat-copy strong{font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em;}
#admin-settings .settings-feat-copy small{font-size:12px;color:var(--text2);line-height:1.35;font-weight:500;}
#admin-settings .settings-feat-schedule-wrap{
  display:none;margin:0;width:100%;max-width:100%;box-sizing:border-box;
  border-bottom:1px solid var(--border);
  background:rgba(110,168,255,.05);
}
#admin-settings .settings-feat-card.is-on + .settings-feat-schedule-wrap{display:block;}
#admin-settings .settings-feat-card.is-on:has(+ .settings-feat-schedule-wrap){
  border-bottom:0;padding-bottom:8px;
}
#admin-settings .settings-feat-schedule{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:6px 16px 12px;border:0;border-radius:0;background:transparent;
  color:var(--text);font-size:13px;font-weight:650;cursor:pointer;text-align:left;
  box-sizing:border-box;
}
#admin-settings .settings-feat-schedule > .fa-clock{
  width:28px;height:28px;border-radius:8px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.16);color:var(--blue,#6ea8ff);font-size:12px;
}
#admin-settings .settings-feat-schedule-wrap.is-open .settings-feat-schedule{
  padding-bottom:8px;
}
#admin-settings .settings-feat-schedule span{flex:1;min-width:0;}
#admin-settings .settings-feat-schedule .fa-chevron-down{
  opacity:.5;font-size:11px;transition:transform .18s ease;flex-shrink:0;
}
#admin-settings .settings-feat-schedule-wrap.is-open .settings-feat-schedule .fa-chevron-down{
  transform:rotate(180deg);
}
[data-theme="light"] #admin-settings .settings-feat-schedule-wrap{background:rgba(47,107,255,.04);}
[data-theme="light"] #admin-settings .settings-feat-schedule > .fa-clock{background:#E8F0FE;color:#2f80ed;}
#admin-settings .settings-feat-schedule-panel{
  display:none;padding:0 16px 16px;border:0;border-radius:0;background:transparent;
  animation:hourRemSlide .18s ease-out;
}
#admin-settings .settings-feat-schedule-wrap.is-open .settings-feat-schedule-panel{display:block;}
@keyframes hourRemSlide{from{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
#admin-settings .settings-feat-info{
  appearance:none;border:0;background:transparent;color:var(--text2);cursor:pointer;
  width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;padding:0;flex-shrink:0;position:relative;
}
#admin-settings .settings-feat-info:hover,
#admin-settings .settings-feat-info:focus-visible{
  color:var(--blue,#6ea8ff);background:rgba(110,168,255,.12);outline:none;
}
#admin-settings .settings-feat-info .settings-feat-tip{
  display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);
  width:min(280px,70vw);padding:10px 12px;border-radius:10px;z-index:40;text-align:left;
  background:#0f1722;color:#e8eef6;border:1px solid #233143;
  font-size:12px;font-weight:500;line-height:1.45;box-shadow:0 8px 24px rgba(0,0,0,.28);
  pointer-events:none;white-space:normal;
}
[data-theme="light"] #admin-settings .settings-feat-info .settings-feat-tip{
  background:#fff;color:#141218;border-color:#e4e7eb;box-shadow:0 8px 24px rgba(15,23,42,.12);
}
#admin-settings .settings-feat-info:hover .settings-feat-tip,
#admin-settings .settings-feat-info:focus-visible .settings-feat-tip,
#admin-settings .settings-feat-info.is-open .settings-feat-tip{display:block;}
#admin-settings .settings-feat-badge{
  display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;
  font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;
  background:rgba(110,168,255,.14);color:var(--blue,#6ea8ff);
}
#admin-settings .settings-feat-badge-soon{
  background:rgba(224,168,0,.16);color:#e0a800;text-transform:none;letter-spacing:0;font-weight:650;
  max-width:9.5rem;white-space:normal;line-height:1.2;text-align:center;
}
#admin-settings .settings-feat-card.is-frozen{
  opacity:.72;
}
#admin-settings .settings-feat-card.is-frozen .settings-feat-copy small{
  color:var(--orange,#e08200);
}
#admin-settings .settings-switch{
  position:relative;display:inline-block;width:46px;height:28px;flex-shrink:0;cursor:pointer;
}
#admin-settings .settings-switch input{opacity:0;width:0;height:0;position:absolute;}
#admin-settings .settings-switch-slider{
  position:absolute;inset:0;border-radius:999px;background:rgba(148,163,184,.28);
  transition:background .15s;
}
#admin-settings .settings-switch-slider::before{
  content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s;
}
#admin-settings .settings-switch input:checked + .settings-switch-slider{background:var(--blue,#6ea8ff);}
#admin-settings .settings-switch input:checked + .settings-switch-slider::before{transform:translateX(18px);}
#admin-settings .settings-switch input:disabled + .settings-switch-slider{opacity:.55;cursor:not-allowed;}

@media(max-width:720px){
  #admin-settings .settings-modules-head{margin:0 0 14px;}
  #admin-settings .settings-modules-head .section-title{
    font-size:22px;font-weight:750;letter-spacing:-.02em;
  }
  #admin-settings .settings-modules-intro{
    margin:6px 0 0;font-size:12.5px;line-height:1.45;
  }
  #admin-settings .settings-mod-stack{gap:12px;}
  #admin-settings .settings-mod-group{
    border-radius:16px;margin:0;
  }
  #admin-settings .settings-mod-group-head{
    padding:12px 14px;gap:10px;
  }
  #admin-settings .settings-mod-group-head i{
    width:30px;height:30px;border-radius:9px;font-size:13px;
  }
  #admin-settings .settings-mod-group-head strong{font-size:14px;}
  #admin-settings .settings-mod-group-head span{
    font-size:12px;padding:3px 8px;border-radius:999px;
    background:rgba(255,255,255,.04);border:1px solid var(--border);
  }
  [data-theme="light"] #admin-settings .settings-mod-group-head span{
    background:#F2F4F6;border-color:#E6E8EB;
  }
  #admin-settings .settings-feat-card{
    align-items:flex-start;gap:12px;padding:14px 14px;
    min-height:64px;
  }
  #admin-settings .settings-feat-ico{
    width:42px;height:42px;border-radius:12px;font-size:16px;margin-top:1px;
  }
  #admin-settings .settings-feat-copy{gap:4px;padding-right:2px;}
  #admin-settings .settings-feat-copy-top{flex-wrap:wrap;gap:4px 6px;}
  #admin-settings .settings-feat-copy strong{
    font-size:15px;line-height:1.25;font-weight:700;
  }
  #admin-settings .settings-feat-copy small{
    font-size:12.5px;line-height:1.4;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  #admin-settings .settings-feat-info{
    width:28px;height:28px;font-size:14px;
  }
  #admin-settings .settings-feat-info .settings-feat-tip{
    left:0;right:auto;transform:none;width:min(260px,calc(100vw - 72px));
  }
  #admin-settings .settings-feat-badge{
    margin-top:6px;padding:5px 10px;font-size:11px;align-self:center;
  }
  #admin-settings .settings-feat-card > .settings-switch{
    width:52px;height:32px;margin-top:5px;align-self:center;
  }
  #admin-settings .settings-feat-card > .settings-switch .settings-switch-slider::before{
    width:26px;height:26px;left:3px;top:3px;
  }
  #admin-settings .settings-feat-card > .settings-switch input:checked + .settings-switch-slider::before{
    transform:translateX(20px);
  }
  #admin-settings .settings-feat-schedule-wrap{margin:0;width:100%;}
  #admin-settings .settings-feat-schedule{padding:6px 14px 12px;font-size:13px;}
  #admin-settings .settings-feat-schedule-panel{padding:0 14px 16px;}
  #admin-settings .settings-modules-core-hint{
    margin-top:14px;padding:12px 14px;border-radius:14px;
    background:var(--card);border:1px solid var(--border);font-size:12.5px;line-height:1.45;
  }
}
@media(max-width:420px){
  #admin-settings .settings-feat-copy small{-webkit-line-clamp:3;}
}

#adminSidebar .sidebar-nav .is-feature-off,
#adminSidebar .sidebar-nav a.is-feature-off{
  opacity:.48;
}
#adminSidebar .sidebar-nav .is-feature-off > a.sidebar-nav-parent .nav-badge,
#adminSidebar .sidebar-nav a.is-feature-off .nav-badge{
  display:none !important;
}

.feature-gate{
  max-width:440px;margin:56px auto;padding:40px 32px 32px;text-align:center;
  border:1px solid rgba(255,255,255,.08);border-radius:22px;
  background:linear-gradient(165deg,rgba(110,168,255,.07) 0%,rgba(255,255,255,.025) 42%,rgba(255,255,255,.015) 100%);
  box-shadow:0 18px 48px rgba(0,0,0,.22);
  position:relative;overflow:hidden;
}
.feature-gate::before{
  content:'';position:absolute;inset:0 auto auto 0;width:100%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(110,168,255,.35),transparent);
  pointer-events:none;
}
[data-theme="light"] .feature-gate{
  background:linear-gradient(165deg,#f7faff 0%,#fff 45%,#fff 100%);
  border-color:#e6ebf2;box-shadow:0 12px 36px rgba(15,23,42,.07);
}
[data-theme="light"] .feature-gate::before{
  background:linear-gradient(90deg,transparent,rgba(47,128,237,.28),transparent);
}
.feature-gate-ico{
  width:64px;height:64px;border-radius:18px;margin:0 auto 18px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.14);color:var(--blue,#6ea8ff);font-size:24px;
  box-shadow:inset 0 0 0 1px rgba(110,168,255,.18),0 10px 28px rgba(47,128,237,.12);
}
[data-theme="light"] .feature-gate-ico{
  background:#eef4ff;color:#2f80ed;
  box-shadow:inset 0 0 0 1px rgba(47,128,237,.12),0 8px 20px rgba(47,128,237,.1);
}
.feature-gate-mod{
  display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;padding:5px 12px;
  border-radius:999px;font-size:12px;font-weight:650;letter-spacing:.01em;
  color:var(--blue,#6ea8ff);background:rgba(110,168,255,.1);
  border:1px solid rgba(110,168,255,.18);
}
[data-theme="light"] .feature-gate-mod{
  color:#2f6fe0;background:#eef4ff;border-color:#d6e4ff;
}
.feature-gate h3{
  margin:0 0 10px;font-size:22px;font-weight:750;letter-spacing:-.03em;color:var(--text);line-height:1.25;
}
.feature-gate p{
  margin:0 auto 22px;max-width:34em;font-size:14.5px;line-height:1.55;color:var(--text2);
}
.feature-gate-actions{
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.feature-gate .feature-gate-path{
  display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;
  margin:0;padding:8px 12px;border-radius:12px;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.06);
  font-size:12.5px;font-weight:600;color:var(--text2);line-height:1.2;
}
[data-theme="light"] .feature-gate .feature-gate-path{
  background:#f4f6f9;border-color:#e7ebf0;color:#5c6575;
}
.feature-gate .feature-gate-path span{color:var(--text2);}
.feature-gate .feature-gate-path span.is-current{color:var(--text);font-weight:700;}
.feature-gate .feature-gate-path i{font-size:9px;opacity:.55;color:var(--text2);}
.feature-gate .feature-gate-cta{
  min-width:min(100%,220px);width:100%;max-width:280px;
  justify-content:center;padding:12px 18px;border-radius:12px;font-weight:700;
}
@media (max-width:560px){
  .feature-gate{margin:28px 12px;padding:32px 20px 24px;border-radius:18px;}
  .feature-gate h3{font-size:20px;}
  .feature-gate .feature-gate-cta{max-width:none;}
}

#admin-settings .settings-feat-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;
}
#admin-settings .settings-identity{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
#admin-settings .settings-avatar-preview{width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,rgba(110,168,255,.22),rgba(110,168,255,.08));color:var(--blue,#6ea8ff);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;overflow:hidden;flex-shrink:0;border:2px solid rgba(110,168,255,.2);}
#admin-settings .settings-avatar-preview.has-photo{padding:0;background:transparent;border-color:rgba(255,255,255,.1);}
#admin-settings .settings-avatar-preview img{width:100%;height:100%;object-fit:cover;display:block;}
#admin-settings .settings-identity-meta{flex:1;min-width:160px;}
#admin-settings .settings-identity-meta strong{display:block;font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.02em;}
#admin-settings .settings-identity-meta small{display:block;font-size:12.5px;color:var(--text2);margin-top:3px;line-height:1.4;}
#admin-settings .settings-identity-actions{display:flex;flex-wrap:wrap;gap:8px;}
#admin-settings .settings-theme-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;border-radius:14px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.05);}
[data-theme="light"] #admin-settings .settings-theme-seg{background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.06);}
#admin-settings .settings-theme-card{appearance:none;border:none;background:transparent;color:var(--text2);border-radius:11px;padding:14px 12px;cursor:pointer;text-align:center;transition:background .15s,color .15s,box-shadow .15s;display:flex;flex-direction:column;align-items:center;gap:8px;}
#admin-settings .settings-theme-card:hover{color:var(--text);background:rgba(255,255,255,.04);}
#admin-settings .settings-theme-card.active{color:var(--text);background:rgba(110,168,255,.14);box-shadow:inset 0 0 0 1px rgba(110,168,255,.28);}
[data-theme="light"] #admin-settings .settings-theme-card.active{background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.08);color:#0F1525;}
#admin-settings .settings-theme-ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;background:rgba(255,255,255,.05);}
#admin-settings .settings-theme-card.active .settings-theme-ico{background:rgba(110,168,255,.2);color:var(--blue,#6ea8ff);}
#admin-settings .settings-theme-card strong{font-size:13px;font-weight:650;}
#admin-settings .settings-lang-grid{display:flex;flex-wrap:wrap;gap:8px;}
#admin-settings .settings-lang-btn{appearance:none;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--text2);border-radius:999px;padding:10px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;transition:all .15s;}
[data-theme="light"] #admin-settings .settings-lang-btn{border-color:rgba(15,23,42,.08);background:#fff;}
#admin-settings .settings-lang-btn:hover{color:var(--text);border-color:rgba(110,168,255,.35);}
#admin-settings .settings-lang-btn.active{color:var(--text);background:rgba(110,168,255,.14);border-color:rgba(110,168,255,.4);}
[data-theme="light"] #admin-settings .settings-lang-btn.active{color:#0F1525;background:rgba(62,123,250,.1);border-color:rgba(62,123,250,.35);}
#admin-settings .settings-lang-btn .flag{font-size:15px;line-height:1;}
#admin-settings .settings-pass-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
#admin-settings .settings-pass-grid .form-group:last-child{grid-column:1 / -1;}
@media(max-width:560px){#admin-settings .settings-pass-grid{grid-template-columns:1fr;}#admin-settings .settings-pass-grid .form-group:last-child{grid-column:auto;}}
#admin-settings .settings-pass-grid .form-group{margin:0;}
#admin-settings .settings-pass-grid label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:6px;}
#admin-settings .settings-pass-grid input{width:100%;padding:12px 14px;border-radius:11px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2);color:var(--text);font-size:13px;transition:border-color .15s,box-shadow .15s;}
[data-theme="light"] #admin-settings .settings-pass-grid input{background:#f7f9fb;border-color:rgba(15,23,42,.08);}
#admin-settings .settings-pass-grid input:focus{outline:none;border-color:rgba(110,168,255,.5);box-shadow:0 0 0 3px rgba(110,168,255,.12);}
#admin-settings .settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
#admin-settings .settings-actions .btn{border-radius:10px;font-weight:600;}
#admin-settings .settings-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:720px){#admin-settings .settings-grid-2{grid-template-columns:1fr;}}
#admin-settings .settings-logo-preview{display:flex;align-items:center;justify-content:center;min-height:132px;padding:28px;border-radius:14px;background:rgba(0,0,0,.18);border:1px dashed rgba(255,255,255,.1);margin-bottom:12px;}
[data-theme="light"] #admin-settings .settings-logo-preview{background:#f7f9fb;border-color:rgba(15,23,42,.12);}
#admin-settings .settings-logo-preview img{max-height:72px;max-width:100%;object-fit:contain;}
#admin-settings .settings-logo-preview .settings-logo-empty{font-size:13px;color:var(--text2);text-align:center;line-height:1.45;max-width:240px;}
#admin-settings .settings-hint{font-size:12px;color:var(--text2);line-height:1.45;margin:10px 0 0;}
#admin-settings .settings-brand-mock{display:grid;grid-template-columns:76px 1fr;gap:0;height:132px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);}
#admin-settings .settings-brand-mock .sbm-side{background:#0a0e18;padding:12px 10px;display:flex;flex-direction:column;gap:10px;}
#admin-settings .settings-brand-mock[data-preview-theme="light"] .sbm-side{background:#eef2f6;}
#admin-settings .settings-brand-mock .sbm-brand{height:26px;display:flex;align-items:center;justify-content:center;}
#admin-settings .settings-brand-mock .sbm-brand img{max-height:20px;max-width:100%;object-fit:contain;}
#admin-settings .settings-brand-mock .sbm-brand-text{font-size:8px;font-weight:800;letter-spacing:-.02em;color:#fff;}
#admin-settings .settings-brand-mock[data-preview-theme="light"] .sbm-brand-text{color:#0F1525;}
#admin-settings .settings-brand-mock .sbm-nav{display:flex;flex-direction:column;gap:5px;}
#admin-settings .settings-brand-mock .sbm-nav span{height:5px;border-radius:3px;background:rgba(255,255,255,.1);}
#admin-settings .settings-brand-mock .sbm-nav span.active{background:rgba(110,168,255,.55);width:70%;}
#admin-settings .settings-brand-mock[data-preview-theme="light"] .sbm-nav span{background:rgba(15,23,42,.1);}
#admin-settings .settings-brand-mock[data-preview-theme="light"] .sbm-nav span.active{background:rgba(62,123,250,.45);}
#admin-settings .settings-brand-mock .sbm-main{background:rgba(255,255,255,.03);padding:12px;display:flex;flex-direction:column;gap:10px;}
#admin-settings .settings-brand-mock[data-preview-theme="light"] .sbm-main{background:#fff;}
#admin-settings .settings-brand-mock .sbm-top{height:8px;border-radius:5px;background:rgba(148,163,184,.15);width:50%;}
#admin-settings .settings-brand-mock .sbm-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1;}
#admin-settings .settings-brand-mock .sbm-cards i{display:block;border-radius:8px;background:rgba(148,163,184,.1);}
#admin-settings .settings-integ-chips{
  display:inline-flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;margin:0 0 14px;padding:4px;border-radius:14px;
  background:var(--bg);border:1px solid var(--border);max-width:100%;
}
#admin-settings .settings-integ-chips::-webkit-scrollbar{display:none;}
[data-theme="light"] #admin-settings .settings-integ-chips{background:#F2F4F6;border-color:#E6E8EB;}
#admin-settings .settings-integ-chip{
  appearance:none;border:1px solid transparent;background:transparent;color:var(--text2);
  border-radius:10px;padding:9px 14px;min-height:38px;font-size:13px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0;
  transition:background .15s,border-color .15s,color .15s;
}
@media (hover:hover) and (pointer:fine){
  #admin-settings .settings-integ-chip:not(.active):hover{color:var(--text);background:rgba(255,255,255,.04);}
  [data-theme="light"] #admin-settings .settings-integ-chip:not(.active):hover{background:#fff;color:#141218;}
}
#admin-settings .settings-integ-chip.active{
  background:var(--card);color:var(--text);border-color:var(--border);box-shadow:0 1px 2px rgba(15,21,37,.06);
}
html:not([data-theme="light"]) #admin-settings .settings-integ-chip.active{
  background:#182230;border-color:#233143;color:#edf3fb;box-shadow:none;
}
[data-theme="light"] #admin-settings .settings-integ-chip.active{background:#fff;border-color:#D8DADC;color:#141218;}
#admin-settings .settings-integ-pane{display:none;}
#admin-settings .settings-integ-pane.active{display:block;animation:settingsFade .2s ease;}
#admin-settings .settings-integ-pane > .card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:0;margin:0;overflow:hidden;}
[data-theme="light"] #admin-settings .settings-integ-pane > .card{border-color:rgba(15,23,42,.06);}
#admin-settings .settings-integ-pane .settings-panel-head{display:block;padding:20px 22px 12px;border-bottom:1px solid rgba(255,255,255,.05);}
#admin-settings .settings-integ-pane .settings-panel-head h4{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;color:var(--text);}
#admin-settings .settings-integ-pane .settings-panel-head p{margin:6px 0 0;font-size:12.5px;line-height:1.5;color:var(--text2);}
#admin-settings .settings-integ-pane .settings-panel-body{padding:18px 22px 22px;}
#admin-settings .settings-api-box{border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(0,0,0,.15);padding:14px 16px;margin-bottom:10px;}
[data-theme="light"] #admin-settings .settings-api-box{background:#f7f9fb;border-color:rgba(15,23,42,.06);}
#admin-settings .settings-api-box label{display:block;font-size:11px;font-weight:700;color:var(--text2);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;}
#admin-settings .settings-api-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text);word-break:break-all;line-height:1.5;padding:11px 12px;border-radius:10px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.05);}
[data-theme="light"] #admin-settings .settings-api-code{background:#fff;border-color:rgba(15,23,42,.08);}
#admin-settings .settings-api-list{margin:8px 0 0;padding:0;list-style:none;}
#admin-settings .settings-api-list li{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid rgba(255,255,255,.05);font-size:13px;color:var(--text2);line-height:1.4;}
#admin-settings .settings-api-list code{font-size:11px;font-weight:700;padding:4px 8px;border-radius:7px;background:rgba(110,168,255,.12);color:var(--blue,#6ea8ff);flex-shrink:0;}

/* Simple REST API guide */
#admin-settings .settings-api-simple{display:flex;flex-direction:column;gap:14px;}
#admin-settings .settings-api-intro{
  margin:0;padding:14px 16px;border-radius:14px;line-height:1.55;font-size:13.5px;color:var(--text);
  background:rgba(110,168,255,.08);border:1px solid rgba(110,168,255,.18);
}
[data-theme="light"] #admin-settings .settings-api-intro{background:#EFF6FF;border-color:#BFDBFE;color:#1e293b;}
#admin-settings .settings-api-step{
  border:1px solid rgba(255,255,255,.06);border-radius:16px;background:rgba(0,0,0,.12);padding:16px 16px 14px;
}
[data-theme="light"] #admin-settings .settings-api-step{background:#fff;border-color:#e8eaed;}
#admin-settings .settings-api-step-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;}
#admin-settings .settings-api-num{
  width:28px;height:28px;border-radius:9px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;color:#fff;background:var(--blue,#6ea8ff);
}
#admin-settings .settings-api-step-top strong{display:block;font-size:14.5px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.3;}
#admin-settings .settings-api-step-top small{display:block;margin-top:4px;font-size:12.5px;line-height:1.45;color:var(--text2);}
#admin-settings .settings-api-row{display:flex;align-items:stretch;gap:8px;}
#admin-settings .settings-api-row .settings-api-code{flex:1;min-width:0;display:flex;align-items:center;}
#admin-settings .settings-api-row .btn{flex-shrink:0;min-height:42px;padding:0 14px;border-radius:10px;font-weight:650;}
#admin-settings .settings-api-warn{
  margin:10px 0 0;font-size:12px;line-height:1.45;color:var(--text2);
  display:flex;align-items:flex-start;gap:8px;
}
#admin-settings .settings-api-warn i{color:var(--orange,#ff9100);margin-top:2px;flex-shrink:0;}
#admin-settings .settings-api-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#admin-settings .settings-api-card{
  border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 14px;
  background:rgba(255,255,255,.02);min-height:72px;
}
[data-theme="light"] #admin-settings .settings-api-card{background:#F8FAFC;border-color:#E2E8F0;}
#admin-settings .settings-api-card strong{display:block;font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:4px;line-height:1.3;}
#admin-settings .settings-api-card span{display:block;font-size:12px;color:var(--text2);line-height:1.45;}
#admin-settings .settings-api-card code{display:inline-block;margin-top:8px;font-size:11px;font-weight:650;color:var(--blue,#6ea8ff);opacity:.85;}
#admin-settings .settings-integ-pane#settingsInteg-api .settings-panel-head p{max-width:560px;}
#admin-settings .settings-integ-pane#settingsInteg-api .settings-panel-body{padding:16px 20px 20px;}
@media(max-width:720px){
  #admin-settings .settings-integ-chips{
    width:100%;margin:0 0 12px;padding:3px;gap:3px;
    border-radius:14px;
  }
  #admin-settings .settings-integ-chip{
    flex:1 1 auto;justify-content:center;min-height:40px;padding:8px 10px;font-size:12px;
  }
  #admin-settings .settings-integ-pane > .card{border-radius:16px;}
  #admin-settings .settings-integ-pane .settings-panel-head{
    padding:16px 14px 12px;
  }
  #admin-settings .settings-integ-pane .settings-panel-head h4{
    font-size:18px;font-weight:750;letter-spacing:-.02em;gap:8px;
  }
  #admin-settings .settings-integ-pane .settings-panel-head p{
    margin-top:6px;font-size:13px;line-height:1.45;max-width:none;
  }
  #admin-settings .settings-integ-pane#settingsInteg-api .settings-panel-body{
    padding:12px 12px 16px;
  }
  #admin-settings .settings-api-simple{gap:12px;}
  #admin-settings .settings-api-intro{
    padding:12px 14px;font-size:13px;line-height:1.5;border-radius:14px;
  }
  #admin-settings .settings-api-step{
    padding:14px 14px 12px;border-radius:16px;
  }
  #admin-settings .settings-api-step-top{gap:10px;margin-bottom:12px;}
  #admin-settings .settings-api-num{
    width:30px;height:30px;border-radius:10px;font-size:14px;
  }
  #admin-settings .settings-api-step-top strong{font-size:15px;}
  #admin-settings .settings-api-step-top small{font-size:12.5px;margin-top:5px;}
  #admin-settings .settings-api-row{
    flex-direction:column;align-items:stretch;gap:10px;
  }
  #admin-settings .settings-api-row .settings-api-code{
    width:100%;min-height:46px;padding:12px 14px;font-size:13px;
    border-radius:12px;word-break:break-all;
  }
  #admin-settings .settings-api-row .btn{
    width:100%;min-height:48px;justify-content:center;gap:8px;
    padding:0 16px;border-radius:12px;font-size:14px;font-weight:700;
  }
  #admin-settings .settings-api-warn{
    margin-top:12px;padding:10px 12px;border-radius:12px;
    background:rgba(255,145,0,.08);border:1px solid rgba(255,145,0,.22);
    font-size:12.5px;gap:10px;
  }
  [data-theme="light"] #admin-settings .settings-api-warn{
    background:#FFF7ED;border-color:#FED7AA;
  }
  #admin-settings .settings-api-cards{grid-template-columns:1fr;gap:8px;}
  #admin-settings .settings-api-card{
    padding:14px;border-radius:14px;min-height:0;
  }
  #admin-settings .settings-api-card strong{font-size:14px;margin-bottom:5px;}
  #admin-settings .settings-api-card span{font-size:12.5px;}
  #admin-settings .settings-api-card code{
    margin-top:10px;padding:5px 8px;border-radius:8px;
    background:rgba(110,168,255,.12);font-size:12px;
  }
}
@media(max-width:700px){#admin-settings .settings-api-cards{grid-template-columns:1fr;}}
#admin-settings .settings-integ-pane#settingsInteg-export .settings-panel-head p{max-width:520px;}
#admin-settings .settings-integ-pane#settingsInteg-export .settings-panel-body{padding:14px 20px 18px;}
#admin-settings .settings-export-filters{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0 0 14px;
}
#admin-settings .settings-export-filter{
  display:flex;flex-direction:column;gap:6px;min-width:0;
}
#admin-settings .settings-export-filter > span{
  font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text2);
}
#admin-settings .settings-export-picker{
  position:relative;display:flex;align-items:center;min-width:0;min-height:42px;padding:0 12px;
  border-radius:11px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);box-sizing:border-box;
}
[data-theme="light"] #admin-settings .settings-export-picker{background:#fff;border-color:#E2E8F0;}
#admin-settings .settings-export-picker .filter-select-trigger.site-select-trigger,
#admin-settings .settings-export-picker .settings-export-trigger.site-select-trigger{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13.5px;font-weight:550;outline:none;padding:0;min-height:40px;
  border-radius:0;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;font-family:inherit;
  display:flex!important;position:relative;z-index:2;-webkit-tap-highlight-color:transparent;
  text-align:left;line-height:1.25;box-sizing:border-box;
}
#admin-settings .settings-export-picker .filter-select-trigger .site-select-trigger-label{
  flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#admin-settings .settings-export-picker .filter-select-trigger i{
  color:var(--text2);font-size:12px;flex-shrink:0;opacity:.85;
}
#admin-settings .settings-export-quick{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:0 0 14px;
}
#admin-settings .settings-export-quick-btn{
  appearance:none;-webkit-appearance:none;margin:0;min-height:44px;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);
  color:var(--text);font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;line-height:1.25;
  transition:background .12s,border-color .12s,opacity .12s;
}
#admin-settings .settings-export-quick-btn i{color:var(--blue,#6ea8ff);flex-shrink:0;}
#admin-settings .settings-export-quick-btn:hover{background:rgba(110,168,255,.1);border-color:rgba(110,168,255,.28);}
#admin-settings .settings-export-quick-btn:disabled{opacity:.4;cursor:not-allowed;}
[data-theme="light"] #admin-settings .settings-export-quick-btn{background:#F8FAFC;border-color:#E2E8F0;}
[data-theme="light"] #admin-settings .settings-export-quick-btn:hover{background:#EFF6FF;border-color:#BFDBFE;}
#admin-settings .settings-export-list{
  list-style:none;margin:0;padding:0;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;
}
[data-theme="light"] #admin-settings .settings-export-list{border-color:#E2E8F0;background:#fff;}
#admin-settings .settings-export-list > li{margin:0;padding:0;}
#admin-settings .settings-export-list > li + li .settings-export-item{border-top:1px solid rgba(255,255,255,.05);}
[data-theme="light"] #admin-settings .settings-export-list > li + li .settings-export-item{border-top-color:#EEF1F4;}
#admin-settings .settings-export-item{
  display:flex;align-items:center;gap:12px;margin:0;padding:11px 14px;cursor:pointer;
  transition:background .12s;
}
#admin-settings .settings-export-item:hover{background:rgba(110,168,255,.06);}
[data-theme="light"] #admin-settings .settings-export-item:hover{background:#F8FAFC;}
#admin-settings .settings-export-item.is-on{background:rgba(110,168,255,.08);}
[data-theme="light"] #admin-settings .settings-export-item.is-on{background:#EFF6FF;}
#admin-settings .settings-export-item.is-empty{opacity:.55;}
#admin-settings .settings-export-item input{
  width:16px;height:16px;margin:0;accent-color:var(--primary,#6ea8ff);flex-shrink:0;cursor:pointer;
}
#admin-settings .settings-export-item .settings-export-name{
  flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--text);letter-spacing:-.01em;
}
#admin-settings .settings-export-item .settings-export-count{
  flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text2);
}
#admin-settings .settings-export-foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  margin-top:14px;padding-top:2px;
}
#admin-settings .settings-export-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px;color:var(--text2);
}
#admin-settings .settings-export-meta strong{font-weight:700;color:var(--text);}
#admin-settings .settings-export-meta button{
  border:0;background:none;padding:0;margin:0;font:inherit;color:var(--blue,#6ea8ff);
  cursor:pointer;font-weight:650;
}
#admin-settings .settings-export-meta button:hover{text-decoration:underline;}
#admin-settings .settings-export-meta .settings-export-sep{opacity:.35;user-select:none;}
#admin-settings .settings-export-foot .btn{min-height:40px;padding:0 18px;border-radius:10px;font-weight:650;}
@media(max-width:720px){
  #admin-settings .settings-integ-pane#settingsInteg-export .settings-panel-body{padding:12px 12px 16px;}
  #admin-settings .settings-export-filters{grid-template-columns:1fr;gap:10px;margin-bottom:12px;}
  #admin-settings .settings-export-filter > span{font-size:11px;}
  #admin-settings .settings-export-picker{min-height:48px;padding:0 14px;border-radius:12px;}
  #admin-settings .settings-export-picker .filter-select-trigger.site-select-trigger{min-height:46px;font-size:14.5px;font-weight:600;}
  #admin-settings .settings-export-quick{grid-template-columns:1fr;gap:8px;margin-bottom:12px;}
  #admin-settings .settings-export-quick-btn{min-height:48px;justify-content:flex-start;padding:12px 14px;font-size:13.5px;border-radius:12px;}
  #admin-settings .settings-export-list{border-radius:16px;}
  #admin-settings .settings-export-item{padding:14px 14px;gap:12px;min-height:48px;}
  #admin-settings .settings-export-item input{width:18px;height:18px;}
  #admin-settings .settings-export-item .settings-export-name{font-size:14.5px;}
  #admin-settings .settings-export-item .settings-export-count{font-size:13px;font-weight:650;}
  #admin-settings .settings-export-foot{flex-direction:column;align-items:stretch;gap:12px;margin-top:14px;}
  #admin-settings .settings-export-meta{justify-content:space-between;gap:8px;width:100%;}
  #admin-settings .settings-export-foot .btn{width:100%;min-height:50px;justify-content:center;border-radius:12px;font-size:15px;font-weight:700;}
}
#admin-settings .settings-sheet-list{display:flex;flex-direction:column;gap:10px;}
#admin-settings .settings-sheet-card{
  padding:12px 14px;border-radius:12px;border:1px solid var(--border);
  background:rgba(255,255,255,.025);margin:0;
  border-left:3px solid var(--sheet-accent, #0F9D58);
}
[data-theme="light"] #admin-settings .settings-sheet-card{background:#fbfcfe;border-color:#e8eaed;}
#admin-settings .settings-sheet-card[data-sheet-kind="hours"]{--sheet-accent:#6ea8ff;}
#admin-settings .settings-sheet-card[data-sheet-kind="trips"]{--sheet-accent:#34d399;}
#admin-settings .settings-sheet-card[data-sheet-kind="instruments"]{--sheet-accent:#fbbf24;}
#admin-settings .settings-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
#admin-settings .settings-sheet-head-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1;}
#admin-settings .settings-sheet-ico{
  width:32px;height:32px;border-radius:9px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:13px;
  background:color-mix(in srgb, var(--sheet-accent, #0F9D58) 16%, transparent);
  color:var(--sheet-accent, #0F9D58);
}
#admin-settings .settings-sheet-head strong{display:block;font-size:13.5px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.2;}
#admin-settings .settings-sheet-head small{display:none;}
#admin-settings .settings-sheet-head-side{display:flex;align-items:center;gap:8px;flex-shrink:0;}
#admin-settings .settings-badge{font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap;}
#admin-settings .settings-badge.on{background:rgba(34,197,94,.14);color:#4ade80;}
[data-theme="light"] #admin-settings .settings-badge.on{color:#15803d;}
#admin-settings .settings-badge.off{background:rgba(148,163,184,.12);color:var(--text2);}
#admin-settings .settings-sheet-card.has-env .settings-badge.env{background:rgba(59,130,246,.14);color:#60a5fa;}
#admin-settings .settings-sheet-card .settings-field{margin:0;}
#admin-settings .settings-sheet-card .settings-field label{display:none;}
#admin-settings .settings-sheet-row{
  display:flex;align-items:center;gap:8px;
}
#admin-settings .settings-sheet-row .settings-field{flex:1;min-width:0;}
#admin-settings .settings-field input{
  width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--border);
  background:rgba(0,0,0,.22);color:var(--text);font-size:13.5px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box;
}
[data-theme="light"] #admin-settings .settings-field input{background:#fff;border-color:#e5e7eb;}
#admin-settings .settings-field input:focus{outline:none;border-color:color-mix(in srgb, var(--sheet-accent, #6ea8ff) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--sheet-accent, #6ea8ff) 14%, transparent);}
#admin-settings .settings-help{font-size:12px;color:var(--text2);line-height:1.5;margin-top:8px;}
#admin-settings .settings-help a{color:var(--blue,#6ea8ff);font-weight:600;text-decoration:none;}
#admin-settings .settings-help a:hover{text-decoration:underline;}
#admin-settings .settings-sheet-card .settings-help{display:none;}
#admin-settings .settings-sheet-card .settings-help.is-env,
#admin-settings .settings-sheet-card .settings-help.is-warn{display:block;margin:6px 0 0;font-size:11px;}
#admin-settings .settings-sheet-card .settings-help.is-warn{color:#b45309;}
[data-theme="light"] #admin-settings .settings-sheet-card .settings-help.is-warn{color:#92400e;}
#admin-settings .settings-sheet-card .settings-sheet-actions{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;
}
#admin-settings .settings-sheet-card .settings-sheet-sync{
  font-size:12px;font-weight:650;padding:7px 12px;border-radius:9px;
}
#admin-settings .settings-sheets-banner{
  display:flex;align-items:flex-start;gap:10px;
  margin:0 0 12px;padding:10px 12px;border-radius:10px;
  font-size:12px;line-height:1.45;font-weight:600;
}
#admin-settings .settings-sheets-banner.warn{
  background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid rgba(245,158,11,.28);
}
[data-theme="light"] #admin-settings .settings-sheets-banner.warn{
  background:#fffbeb;color:#92400e;border-color:#fde68a;
}
#admin-settings .settings-sheets-banner i{margin-top:2px;flex-shrink:0;}
#admin-settings .settings-sheets-share{
  display:flex;flex-direction:column;gap:10px;
  margin:0 0 14px;padding:12px 14px;border-radius:12px;
  border:1px solid var(--border);background:rgba(110,168,255,.06);
}
[data-theme="light"] #admin-settings .settings-sheets-share{background:#f8fbff;border-color:#e2e8f0;}
#admin-settings .settings-sheets-share strong{font-size:13px;display:block;margin-bottom:4px;}
#admin-settings .settings-sheets-share p{margin:0;font-size:12px;line-height:1.45;color:var(--text2);}
#admin-settings .settings-sheets-share-email{
  display:inline-block;align-self:flex-start;max-width:100%;
  padding:8px 10px;border-radius:8px;cursor:pointer;
  font-size:12px;font-weight:650;word-break:break-all;
  background:rgba(0,0,0,.2);border:1px solid var(--border);color:var(--text);
}
[data-theme="light"] #admin-settings .settings-sheets-share-email{background:#fff;border-color:#dbe3ef;}
#admin-settings .settings-sheets-share-email:hover{border-color:var(--blue,#6ea8ff);}
#admin-settings .settings-sheet-card .btn-ghost{
  appearance:none;border:1px solid var(--border);background:transparent;color:var(--text2);
  font-size:12px;font-weight:650;cursor:pointer;padding:0;width:36px;height:36px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:border-color .12s,color .12s,background .12s;
}
#admin-settings .settings-sheet-card .btn-ghost span{display:none;}
#admin-settings .settings-sheet-card .btn-ghost:hover{color:#f87171;border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.08);}
#admin-settings .settings-integ-pane .settings-panel-head.sheets-head{padding:16px 20px 12px;}
#admin-settings .settings-integ-pane .settings-panel-head.sheets-head h4{font-size:16px;}
#admin-settings .settings-integ-pane .settings-panel-head.sheets-head p{margin-top:6px;max-width:520px;font-size:12px;}
#admin-settings .settings-integ-pane#settingsInteg-sheets .settings-panel-body,
#admin-settings #settingsInteg-sheets .settings-panel-body{padding:14px 18px 16px;}
#admin-settings .settings-gsheets-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;flex-shrink:0;vertical-align:-3px;
  font-size:11px;font-weight:750;line-height:1;color:inherit;
  font-family:inherit;letter-spacing:0;
  border:1.5px solid currentColor;border-radius:4px;
  box-sizing:border-box;opacity:.92;
}
#admin-settings .settings-gsheets-icon::before{content:'G';}
#admin-settings .settings-integ-chip .settings-gsheets-icon{width:17px;height:17px;font-size:10.5px;}
#admin-settings .settings-panel-head .settings-gsheets-icon{width:20px;height:20px;font-size:12px;border-radius:5px;}
#admin-settings .settings-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px 18px;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:var(--card);}
#admin-settings .settings-footer-left{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
#admin-settings .settings-footer-note{font-size:12px;color:var(--text2);line-height:1.4;}
#admin-settings .settings-dirty-badge{display:none;align-items:center;gap:6px;font-size:12px;font-weight:650;color:var(--text);}
#admin-settings .settings-footer.is-dirty .settings-dirty-badge{display:inline-flex;}
#admin-settings .settings-pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(max-width:900px){#admin-settings .settings-pick-grid{grid-template-columns:1fr;}}
#admin-settings .settings-pick-card{
  appearance:none;border:1px solid var(--border);background:rgba(255,255,255,.025);color:var(--text);
  border-radius:14px;padding:16px;cursor:pointer;text-align:left;
  display:flex;flex-direction:column;gap:10px;min-height:148px;
  border-left:3px solid var(--sheet-accent, #0F9D58);
  transition:border-color .15s,transform .15s,background .15s;
}
[data-theme="light"] #admin-settings .settings-pick-card{background:#fff;border-color:#e8eaed;}
#admin-settings .settings-pick-card[data-sheet-kind="hours"]{--sheet-accent:#6ea8ff;}
#admin-settings .settings-pick-card[data-sheet-kind="trips"]{--sheet-accent:#34d399;}
#admin-settings .settings-pick-card[data-sheet-kind="instruments"]{--sheet-accent:#fbbf24;}
#admin-settings .settings-pick-card:hover{
  border-color:color-mix(in srgb, var(--sheet-accent, #6ea8ff) 45%, var(--border));
  background:color-mix(in srgb, var(--sheet-accent, #6ea8ff) 8%, transparent);
  transform:translateY(-1px);
}
#admin-settings .settings-pick-ico{
  width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:15px;
  background:color-mix(in srgb, var(--sheet-accent, #0F9D58) 16%, transparent);
  color:var(--sheet-accent, #0F9D58);
}
#admin-settings .settings-pick-card strong{display:block;font-size:14px;font-weight:700;letter-spacing:-.01em;}
#admin-settings .settings-pick-card small{display:block;font-size:12.5px;color:var(--text2);line-height:1.45;margin-top:4px;}
#admin-settings .settings-pick-card .settings-pick-cta{
  margin-top:auto;font-size:12.5px;font-weight:700;color:var(--sheet-accent, #0F9D58);
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 0 0;border-top:1px solid rgba(148,163,184,.12);
}
#admin-settings .settings-sheets-empty{
  margin:0 0 16px;padding:14px 16px;border-radius:12px;
  background:rgba(15,157,88,.08);border:1px solid rgba(15,157,88,.2);
  display:flex;align-items:flex-start;gap:12px;
}
#admin-settings .settings-sheets-empty i{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(15,157,88,.14);color:#0F9D58;font-size:14px;
}
#admin-settings .settings-sheets-empty strong{display:block;font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:2px;}
#admin-settings .settings-sheets-empty p{margin:0;font-size:12.5px;color:var(--text2);line-height:1.45;}
#admin-settings .settings-sheets-head-row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
#admin-settings .settings-sheets-status{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;
  padding:5px 10px;border-radius:999px;background:rgba(148,163,184,.12);color:var(--text2);white-space:nowrap;
}
#admin-settings .settings-sheets-status.is-on{background:rgba(34,197,94,.14);color:#4ade80;}
[data-theme="light"] #admin-settings .settings-sheets-status.is-on{color:#15803d;}
#admin-settings .settings-sheets-more{margin-top:16px;padding-top:14px;border-top:1px solid rgba(148,163,184,.12);}
#admin-settings .settings-sheets-more-label{
  display:block;font-size:12px;font-weight:700;color:var(--text2);margin-bottom:10px;letter-spacing:.02em;
}
#admin-settings .settings-empty{padding:28px 16px;text-align:center;color:var(--text2);font-size:13px;line-height:1.55;}
#admin-settings .settings-empty-icon{width:44px;height:44px;margin:0 auto 12px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(15,157,88,.1);color:#0F9D58;font-size:18px;}
#admin-settings .settings-empty strong{display:block;color:var(--text);font-size:14px;font-weight:700;margin-bottom:4px;}
#admin-settings .settings-empty p{margin:0 auto 14px;max-width:340px;}
#admin-settings .settings-add-wrap{position:relative;display:inline-block;}
#admin-settings .settings-add-menu{position:absolute;left:0;top:calc(100% + 8px);min-width:260px;z-index:20;padding:6px;border-radius:12px;border:1px solid var(--border);background:var(--card,#fff);box-shadow:0 16px 40px rgba(15,23,42,.12);}
html:not([data-theme="light"]) #admin-settings .settings-add-menu{background:var(--card,#16162a);box-shadow:0 16px 40px rgba(0,0,0,.4);}
#admin-settings .settings-add-menu button{width:100%;appearance:none;border:none;background:transparent;color:var(--text);text-align:left;padding:11px 12px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px;}
#admin-settings .settings-add-menu button:hover{background:rgba(110,168,255,.1);}
#admin-settings .settings-add-menu button small{display:block;font-weight:500;font-size:11px;color:var(--text2);margin-top:2px;}
#admin-settings .settings-add-menu button > span{flex:1;min-width:0;}
#admin-settings #settingsMakeMount{margin:0;padding:0;}
#admin-settings #settingsMakeMount .section-title{display:none;}
#admin-settings #settingsMakeMount > .card{border-radius:18px;}
.user-avatar.has-photo,.account-dropdown .ad-avatar.has-photo{padding:0;overflow:hidden;background:transparent!important;}
.user-avatar.has-photo img,.account-dropdown .ad-avatar.has-photo img{width:100%;height:100%;object-fit:cover;display:block;}

.sidebar-nav{flex:1;overflow-y:auto;padding:10px 0 16px;}
.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:12px 20px;color:var(--text2);font-size:14px;transition:background .2s ease,color .2s ease,padding .35s cubic-bezier(.22,1,.36,1),margin .35s cubic-bezier(.22,1,.36,1),gap .35s cubic-bezier(.22,1,.36,1),justify-content .35s ease;cursor:pointer;border-radius:8px;margin:2px 10px;min-width:0;}
.sidebar-nav a span:not(.nav-badge){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px;opacity:1;transform:translateX(0);transition:opacity .22s ease,max-width .4s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1),margin .35s ease;}
.sidebar-nav a .nav-badge{flex:0 0 auto;}
.sidebar-nav a.active{color:#fff;background:rgba(110,168,255,.16);}
@media (hover:hover) and (pointer:fine){
.sidebar-nav a:hover{color:#fff;background:rgba(110,168,255,.12);}
}
.sidebar-nav a i{width:20px;text-align:center;font-size:15px;flex-shrink:0;transition:font-size .3s ease,width .3s ease;}
.sidebar-nav-group{margin:0;}
.sidebar-nav-group > a.sidebar-nav-parent{position:relative;}
.sidebar-nav-group .sidebar-nav-sub{
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .28s ease,opacity .2s ease,margin .2s ease;
  margin:0 10px;
}
.sidebar-nav-group.open .sidebar-nav-sub{
  max-height:280px;opacity:1;margin:2px 10px 6px;
}
.sidebar-nav-group .sidebar-nav-sub a{
  margin:1px 0;padding:9px 14px 9px 44px;font-size:13px;border-radius:8px;gap:10px;
}
.sidebar-nav-group .sidebar-nav-sub a i{font-size:13px;width:16px;}
[data-theme="light"] .sidebar-nav-group .sidebar-nav-sub a{margin-left:0;margin-right:0;}
[data-theme="light"] .sidebar-nav-group .sidebar-nav-sub a.active{background:#EEF1F4;color:#141218;font-weight:600;}
[data-theme="light"] .sidebar-nav-group .sidebar-nav-sub a:hover{background:#F2F4F6;color:#141218;}
.sidebar-logout{padding:16px;border-top:1px solid var(--border);}
.sidebar-logout button{width:100%;padding:10px;background:rgba(110,168,255,.1);color:var(--primary);border:1px solid rgba(110,168,255,.22);border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s;}
@media (hover:hover) and (pointer:fine){
.sidebar-logout button:hover{background:var(--primary);color:#09111a;}
}
.main-area{flex:1;margin-left:240px;display:flex;flex-direction:column;overflow:visible;transition:margin-left .6s cubic-bezier(.34,1.15,.64,1);}
.main-area.expanded{margin-left:0;}

/* HEADER */
.top-header{background:var(--card);border-bottom:1px solid var(--border);height:64px;padding:0 24px;display:flex;align-items:center;gap:16px;flex-shrink:0;z-index:90;box-sizing:border-box;}
.hamburger{background:none;border:none;color:var(--text);font-size:20px;cursor:pointer;display:none;}
.hamburger .sb-toggle-ico{
  display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:inherit;
}
.hamburger .sb-toggle-ico svg{display:block;}
.hamburger .sb-t-rail,
.hamburger .sb-t-chev,
.hamburger .sb-t-frame{
  transition:transform .45s cubic-bezier(.34,1.2,.64,1),opacity .3s ease;
  transform-origin:center;
}
/* Mobile drawer: chevron direction */
@media(max-width:900px){
  #adminSidebarToggle.is-drawer-open .sb-t-chev{transform:translateX(0);}
  #adminSidebarToggle:not(.is-drawer-open) .sb-t-chev{transform:translateX(1px) scaleX(-1);}
  #adminSidebarToggle:not(.is-drawer-open) .sb-t-rail{transform:translateX(-3px);opacity:.35;}
}
.header-fs-btn{
  display:none;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:12px;border:1px solid var(--border);
  background:var(--input-bg);color:var(--text2);cursor:pointer;font-size:14px;flex-shrink:0;
}
@media (hover:hover) and (pointer:fine){
  .header-fs-btn:hover{border-color:var(--blue);color:var(--blue);}
}
.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99;display:none;}
.sidebar-overlay.show{display:block;}
@media(max-width:900px){
  .hamburger{display:block;}
  .sidebar{
    transform:translate3d(-105%,0,0);
    width:min(280px,calc(100vw - 48px));
    max-width:100%;
    overflow-x:hidden;
    box-sizing:border-box;
    padding-bottom:var(--safe-bottom);
  }
  .sidebar.open{transform:translate3d(0,0,0);}
  .sidebar.collapsed{width:min(280px,calc(100vw - 48px));}
  .main-area{margin-left:0!important;}
  .main-area.sidebar-collapsed{margin-left:0!important;}
  .header-fs-btn{display:inline-flex;}
}
@media(max-width:900px){
  body[data-role="admin"]{overflow-x:hidden;background:var(--bg);}
  body[data-role="admin"] #adminOverlay{
    z-index:10040;
    background:rgba(9,17,26,.58);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }
  body[data-role="admin"] #adminSidebar{
    z-index:10050;
    box-shadow:12px 0 40px rgba(0,0,0,.35);
  }
  [data-theme="light"] body[data-role="admin"] #adminSidebar{
    box-shadow:12px 0 40px rgba(15,21,37,.18);
  }
  body[data-role="admin"].admin-drawer-open{
    overflow:hidden!important;
    touch-action:none;
  }
  body[data-role="admin"].admin-drawer-open #roleAdmin .top-header{
    z-index:10030;
  }
  body[data-role="admin"] #roleAdmin .sidebar-brand{
    min-height:56px;
    height:auto;
    padding-top:10px;
    padding-bottom:10px;
  }
  body[data-role="admin"] #appShell{
    max-width:100vw;
    overflow-x:hidden;
  }
  /* PWA / iOS: sticky is unreliable; fixed bar + reserved space keeps header viewport-locked like standalone. */
  body[data-role="admin"] #roleAdmin{
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
  }
  body[data-role="admin"] #roleAdmin .main-area{
    max-width:100%;
    min-width:0;
    overflow:hidden;
  }
  body[data-role="admin"] #roleAdmin.layout{
    width:100%;
    max-width:100vw;
  }
  body[data-role="admin"] #roleAdmin .content-area{
    overflow-x:hidden;
  }
  body[data-role="admin"] #roleAdmin .top-header,
  :root[data-ios-ui][data-ios-standalone] body[data-role="admin"] #roleAdmin .top-header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:110;
    flex-shrink:0;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    height:auto;
    min-height:48px;
    gap:8px;
    overflow:visible;
  }
  body[data-role="admin"] #roleAdmin .top-header .header-logo{
    max-width:min(128px,32vw);
    height:auto;
    max-height:30px;
    width:auto;
    object-fit:contain;
    flex-shrink:1;
  }
  body[data-role="admin"] #roleAdmin .top-header .hamburger{flex-shrink:0;}
  body[data-role="admin"] #roleAdmin .top-header .header-right{
    flex-shrink:0;
    gap:6px;
    margin-left:auto;
  }
  body[data-role="admin"] #roleAdmin .top-header .theme-toggle,
  body[data-role="admin"] #roleAdmin .top-header .icon-btn{
    width:34px;
    height:34px;
    font-size:14px;
  }
  body[data-role="admin"] #roleAdmin .main-area,
  :root[data-ios-ui][data-ios-standalone] body[data-role="admin"] #roleAdmin .main-area{
    padding-top:calc(55px + var(--safe-top));
    min-height:0;
  }
  body[data-role="admin"] #roleAdmin .content-area{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--admin-mobile-pad-bottom) + var(--admin-mobile-scroll-extra))!important;scroll-padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 120px);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent;}
  body[data-role="admin"] #roleAdmin .content-area::-webkit-scrollbar{width:6px;}
  body[data-role="admin"] #roleAdmin .content-area::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:8px;border:2px solid transparent;background-clip:padding-box;}

  /* Worker PWA: fixed app header; home content (incl. site picker) scrolls inside .content-area */
  body[data-role="worker"] #roleWorker .top-header,
  :root[data-ios-ui][data-ios-standalone] body[data-role="worker"] #roleWorker .top-header,
  html[data-pwa-standalone] body[data-role="worker"] #roleWorker .top-header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:110;
    flex-shrink:0;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
  }
  body[data-role="worker"] #roleWorker .content-area.builder-main,
  :root[data-ios-ui][data-ios-standalone] body[data-role="worker"] #roleWorker .content-area.builder-main,
  html[data-pwa-standalone] body[data-role="worker"] #roleWorker .content-area.builder-main{
    margin-top:calc(48px + var(--safe-top));
    min-height:0;
  }
}
.header-search{flex:1;position:relative;max-width:400px;}
.header-search input{width:100%;padding:8px 14px 8px 36px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;}
.header-search input:focus{border-color:var(--primary);}
.header-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text2);font-size:13px;}
.header-right{display:flex;align-items:center;gap:10px;margin-left:auto;}
/* Admin top header: brand is only in the sidebar — never show it here. */
body[data-role="admin"] #roleAdmin .top-header .header-brand{display:none!important;}
.top-header,.header-right,.lang-switcher{overflow:visible;}
.header-tools,
.header-account{
  display:inline-flex;align-items:center;gap:2px;
  padding:3px;
  background:color-mix(in srgb, var(--color-surface-bright) 55%, transparent);
  border:1px solid color-mix(in srgb, var(--border) 70%, transparent);
  border-radius:14px;
}
.header-meta{
  display:inline-flex;align-items:center;gap:2px;
  padding:3px 10px 3px 3px;
  background:color-mix(in srgb, var(--color-surface-bright) 55%, transparent);
  border:1px solid color-mix(in srgb, var(--border) 70%, transparent);
  border-radius:999px;
  min-height:42px;box-sizing:border-box;
}
.header-date{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:auto;padding:0 6px 0 8px;box-sizing:border-box;
  font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--text2);
  font-variant-numeric:tabular-nums;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";
  background:transparent;border:none;border-radius:0;white-space:nowrap;
}
.header-date::before{
  content:"";width:1px;height:16px;background:color-mix(in srgb, var(--border) 85%, transparent);
  margin-right:2px;flex-shrink:0;
}
.user-avatar{
  width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#7eb6ff 0%,#2f80ed 100%);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff;
  cursor:pointer;flex-shrink:0;box-shadow:0 2px 8px rgba(47,128,237,.28);
  transition:transform .15s ease,box-shadow .2s ease,filter .15s ease;
}
.user-avatar:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(47,128,237,.38);filter:brightness(1.05);}
.user-avatar > i{font-size:14px;line-height:1;}

/* Unified header toolbar controls — ghost buttons inside clusters */
.top-header .header-fs-btn,
.top-header .theme-toggle,
.top-header .icon-btn{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;
  background:transparent;
  border:1px solid transparent;
  color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease;
}
.top-header .header-fs-btn{display:none;}
@media (hover:hover) and (pointer:fine){
  .top-header .header-fs-btn:hover,
  .top-header .theme-toggle:hover,
  .top-header .icon-btn:hover{
    border-color:transparent;
    color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);
  }
}
.top-header .header-fs-btn:active,
.top-header .theme-toggle:active,
.top-header .icon-btn:active{transform:scale(.96);}
.top-header .lang-btn{
  height:34px;padding:0 10px;box-sizing:border-box;gap:7px;
  background:transparent;
  border:1px solid transparent;
  border-radius:999px;color:var(--text);font-size:13px;font-weight:600;
}
@media (hover:hover) and (pointer:fine){
  .top-header .lang-btn:hover{
    border-color:transparent;
    background:color-mix(in srgb, var(--primary) 12%, transparent);
    color:var(--text);
  }
}
.top-header .lang-btn .lang-name{font-weight:600;}
.top-header .lang-btn .fa-chevron-down{font-size:10px;opacity:.55;color:var(--text2);}
.top-header .lang-dropdown{
  border-radius:14px;border:1px solid var(--border);background:var(--card);
  box-shadow:0 12px 32px rgba(0,0,0,.35);min-width:180px;padding:6px;overflow:hidden;
}
.top-header .lang-option{
  border-radius:10px;padding:10px 12px;font-weight:500;
}
.top-header .lang-option.active{
  background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary);font-weight:650;
}
@media (hover:hover) and (pointer:fine){
  .top-header .lang-option:hover{background:color-mix(in srgb, var(--primary) 8%, transparent);}
}
[data-theme="light"] .header-tools,
[data-theme="light"] .header-meta,
[data-theme="light"] .header-account{
  background:#fff;border-color:#E6E8EB;box-shadow:0 1px 2px rgba(15,21,37,.04);
}
[data-theme="light"] .header-date{color:#5c5d64;}
[data-theme="light"] .header-date::before{background:#E6E8EB;}
[data-theme="light"] .top-header .header-fs-btn,
[data-theme="light"] .top-header .theme-toggle,
[data-theme="light"] .top-header .icon-btn,
[data-theme="light"] .top-header .lang-btn{
  background:transparent;border-color:transparent;
}
[data-theme="light"] .user-avatar{color:#fff;background:linear-gradient(145deg,#5b9fff 0%,#2f80ed 100%);}
.account-dropdown .ad-avatar > i{font-size:18px;line-height:1;}
#admin-settings .prof-avatar > i, #w-profile .prof-avatar > i{font-size:36px;line-height:1;opacity:.95;}
.account-dropdown{position:absolute;top:44px;right:0;width:248px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 38px rgba(0,0,0,.5);z-index:200;display:none;overflow:hidden;}
.account-dropdown.show{display:block;}
.account-dropdown .ad-header{display:flex;align-items:center;gap:11px;padding:13px 15px;text-align:left;border-bottom:1px solid var(--border);background:transparent;}
.account-dropdown .ad-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;margin:0;flex-shrink:0;}
.account-dropdown .ad-user{min-width:0;display:flex;flex-direction:column;gap:1px;}
.account-dropdown .ad-name{font-size:15px;font-weight:700;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.account-dropdown .ad-role{font-size:11px;color:var(--text2);}
.account-dropdown .ad-menu{padding:4px 0;}
.account-dropdown .ad-item{position:relative;display:flex;align-items:center;gap:11px;padding:8px 15px;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:background .18s;}
.account-dropdown .ad-menu>.ad-item:not(:first-child)::before{content:"";position:absolute;left:15px;right:15px;top:0;height:1px;background:var(--border);}
@media (hover:hover) and (pointer:fine){
.account-dropdown .ad-item:hover{background:rgba(110,168,255,.08);}
}
.account-dropdown .ad-ico{width:32px;height:32px;flex-shrink:0;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text2);font-size:13px;}
.account-dropdown .ad-ico i{width:auto;text-align:center;font-size:13px;color:inherit;}
.account-dropdown .ad-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.account-dropdown .ad-chev{margin-left:auto;flex-shrink:0;color:var(--text2);font-size:11px;opacity:.55;width:auto;}
.account-dropdown .ad-item.logout{color:var(--primary);}
.account-dropdown .ad-item.logout .ad-ico{background:rgba(110,168,255,.12);border-color:rgba(110,168,255,.22);color:var(--primary);}
.account-dropdown .ad-submenu{display:none;padding:2px 0 4px 0;background:rgba(0,0,0,.14);}
.account-dropdown .ad-submenu.show{display:block;}
.account-dropdown .ad-item.ad-sub{padding:7px 15px 7px 44px;font-size:12px;font-weight:500;}
.account-dropdown .ad-item.ad-sub::before{display:none;}
.account-dropdown .ad-item.ad-sub.active{color:var(--primary);font-weight:600;}
.icon-btn{position:relative;background:var(--input-bg);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);border-radius:12px;color:var(--text2);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;}
@media (hover:hover) and (pointer:fine){
.icon-btn:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--input-bg));}
}
.notif-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:var(--red);border:2px solid var(--card);display:none;}
.notif-dot.show{display:block;}

/* CONTENT */
.content-area{flex:1;overflow-y:auto;padding:24px;-webkit-overflow-scrolling:touch;}
.tab-content{display:none;animation:fadeIn .3s;}
.tab-content.active{display:block;}
/* Never let inactive admin tabs paint under the active one */
#roleAdmin .tab-content:not(.active){display:none!important;visibility:hidden!important;pointer-events:none!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;}
#roleAdmin .tab-content.active{display:block!important;visibility:visible!important;height:auto!important;overflow:visible!important;}
/* Admin view should fill the screen without an extra bottom strip. */
#roleAdmin{background:var(--bg);}
:root[data-ios-ui] body[data-role="admin"],
:root[data-ios-ui] body[data-role="admin"] #appShell,
:root[data-ios-ui] body[data-role="admin"] #roleAdmin,
:root[data-ios-ui] body[data-role="admin"] #roleAdmin .main-area,
:root[data-ios-ui] body[data-role="admin"] #roleAdmin .content-area{
  background:var(--bg)!important;
}
:root[data-ios-ui] body[data-role="admin"] #appShell::before{
  content:'';
  position:fixed;
  left:0;
  right:0;
  bottom:-220px;
  height:320px;
  background:var(--bg);
  pointer-events:none;
  z-index:0;
}
body[data-role="worker"]::before{
  content:'';
  position:fixed!important;
  left:0;
  right:0;
  bottom:-50px;
  height:120px;
  background:linear-gradient(to bottom,var(--sidebar) 0%,var(--sidebar) 70%,rgba(11,11,36,.95) 100%);
  pointer-events:none;
  z-index:0;
  transform:translateZ(0);
  will-change:transform;
}
[data-theme="light"] body[data-role="worker"]::before{
  background:linear-gradient(to bottom,#fff 0%,#fff 70%,rgba(255,255,255,.96) 100%);
}
body[data-role="admin"] #roleAdmin{
  z-index:1;
}
body[data-role="worker"] #roleWorker{
  z-index:1;
}
/* #workerNav is moved to document.body when logged in as worker; must stay above scrolling layers (was z-index:1 and lost to .bottom-nav). */
body[data-role="worker"] #workerNav{
  z-index:var(--worker-nav-z);
}
#roleAdmin .main-area{background:var(--bg);}
#roleAdmin .content-area{background:var(--bg);padding-bottom:0;}
/* Адмін: ланцюг flex + min-height:0 — вертикальний скрол лише в .content-area (PWA / усі вкладки) */
#roleAdmin.layout{
  align-items:stretch;
  min-width:0;
  min-height:0;
}
#roleAdmin .main-area{
  min-width:0;
  min-height:0;
}
#roleAdmin .content-area{
  min-height:0;
  flex:1 1 auto;
}
/* Android / desktop PWA (display-mode: standalone): той самий скрол у .content-area, що й на iOS */
@media (display-mode: standalone){
  body[data-role="admin"] #roleAdmin.layout{
    min-height:0;
    min-width:0;
  }
  body[data-role="admin"] #roleAdmin .main-area{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
    min-width:0;
    overflow:hidden;
  }
  body[data-role="admin"] #roleAdmin .content-area{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
  }
}
@media (max-width:1600px){
  body[data-role="admin"] #roleAdmin .content-area{
    padding-inline-end:calc(env(safe-area-inset-right, 0px) + var(--admin-scrollbar-reserve))!important;
  }
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* CARDS */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;transition:transform .2s;}
@media (hover:hover) and (pointer:fine){
.stat-card:hover{transform:translateY(-2px);}
}
.stat-card .sc-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:12px;}
.stat-card .sc-value{font-size:28px;font-weight:700;color:var(--text);margin-bottom:4px;}
.stat-card .sc-label{font-size:13px;color:var(--text2);}
.stat-card.red .sc-icon{background:rgba(233,69,96,.15);color:var(--red);}
.stat-card.blue .sc-icon{background:rgba(41,121,255,.15);color:var(--blue);}
.stat-card.green .sc-icon{background:rgba(0,200,83,.15);color:var(--green);}
.stat-card.yellow .sc-icon{background:rgba(255,214,0,.15);color:var(--yellow);}
.stat-card.orange .sc-icon{background:rgba(255,145,0,.15);color:var(--orange);}
.stat-card[role="button"]{cursor:pointer;}
.stat-card.purple .sc-icon{background:rgba(156,39,176,.15);color:#9c27b0;}
.section-title{font-size:18px;font-weight:600;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px;overflow:hidden;}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
.card-header h3{font-size:16px;color:var(--text);}

/* BADGES */
.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.badge-green{background:rgba(0,200,83,.15);color:var(--green);}
.badge-red{background:rgba(233,69,96,.15);color:var(--red);}
.badge-yellow{background:rgba(255,214,0,.15);color:var(--yellow);}
.badge-blue{background:rgba(41,121,255,.15);color:var(--blue);}
.badge-orange{background:rgba(255,145,0,.15);color:var(--orange);}
.badge-purple{background:rgba(156,39,176,.15);color:#9c27b0;}

/* TABLES */
.data-table{width:100%;border-collapse:collapse;font-size:13px;}
.data-table th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text2);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;}
.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);}
@media (hover:hover) and (pointer:fine){
.data-table tr:hover td{background:rgba(110,168,255,.03);}
}

/* Pracovníci: Stavba jedním řádkem (ellipsis), telefon monospace pro zarovnání skupin */
#admin-workers #workersTable td.workers-td-site{
  max-width:240px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  vertical-align:middle;
}
#admin-workers #workersTable td.workers-td-phone{
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  white-space:nowrap;
}
#admin-workers #workersCards .mobile-card .mc-main{min-width:0;flex:1;}
#admin-workers #workersCards .mobile-card .mc-sub{
  display:flex;flex-wrap:nowrap;gap:6px;min-width:0;overflow:hidden;
}
#admin-workers #workersCards .mobile-card .mc-sub > span{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;
}
/* Pracovníci – prostornější mobilní karty dle mockupu (adminmobile) */
#admin-workers #workersCards .mobile-card{
  padding:15px 16px;
  border-radius:16px;
  margin-bottom:12px;
}
#admin-workers #workersCards .mobile-card .mc-header{gap:14px;align-items:center;}
#admin-workers #workersCards .mobile-card .mc-name{font-size:16px;font-weight:700;line-height:1.25;}
#admin-workers #workersCards .mobile-card .mc-sub{font-size:13px;margin-top:4px;}
#admin-workers #workersCards .mobile-card .mc-chevron{font-size:14px;}
/* Pracovníci – hezčí rozbalený detail karty (adminmobile) */
#admin-workers #workersCards .mobile-card .mc-detail{margin-top:14px;padding-top:14px;}
#admin-workers #workersCards .mobile-card .mc-detail-row{align-items:center;gap:10px;padding:7px 0;font-size:13.5px;line-height:1.3;}
#admin-workers #workersCards .mobile-card .mc-detail-row i{width:18px;font-size:13px;color:var(--primary);flex-shrink:0;}
#admin-workers #workersCards .mobile-card .mc-detail-row .mc-label{min-width:74px;color:var(--text2);font-size:12px;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;}
#admin-workers #workersCards .mobile-card .mc-detail-row .mc-value{color:var(--text);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#admin-workers #workersCards .mobile-card .mc-detail-row a.mc-value{text-decoration:none;}
#admin-workers #workersCards .mobile-card .mc-login{background:rgba(110,168,255,.12);padding:3px 10px;border-radius:6px;font-size:12.5px;color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
#admin-workers #workersCards .mobile-card .mc-detail-actions{gap:10px;margin-top:14px;}
#admin-workers #workersCards .mobile-card .mc-detail-actions .btn-sm{padding:9px 16px;font-size:13px;}
#admin-workers .workers-search-wrap .header-search{max-width:none;width:100%;}
#admin-workers .card-header{margin-bottom:14px;}

/* Pracovníci — KPI / filter / table (jako sites / km) */
#admin-workers .workers-kpi{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px;width:100%;
}
@media(max-width:900px){#admin-workers .workers-kpi{grid-template-columns:1fr 1fr;}}
@media(max-width:420px){#admin-workers .workers-kpi{grid-template-columns:1fr;}}
#admin-workers .workers-kpi .wk-stat{
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
#admin-workers .workers-kpi .wk-stat .sc-icon{
  width:42px;height:42px;border-radius:12px;margin:0;font-size:16px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
#admin-workers .workers-kpi .wk-stat.blue .sc-icon{background:rgba(41,121,255,.16);color:var(--blue);}
#admin-workers .workers-kpi .wk-stat.green .sc-icon{background:rgba(0,200,83,.14);color:var(--green);}
#admin-workers .workers-kpi .wk-stat.yellow .sc-icon{background:rgba(255,214,0,.14);color:var(--yellow);}
#admin-workers .workers-kpi .wk-stat.orange .sc-icon{background:rgba(255,145,0,.14);color:var(--orange);}
#admin-workers .workers-kpi .wk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#admin-workers .workers-kpi .wk-value{
  font-size:22px;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#admin-workers .workers-kpi .wk-label{font-size:12px;color:var(--text2);line-height:1.3;}

#admin-workers .workers-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;flex-wrap:wrap;
}
#admin-workers .workers-head .section-title{
  margin:0;font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.15;
}
#admin-workers .workers-head .section-title i{font-size:18px;opacity:.85;}
#admin-workers .workers-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
#admin-workers .workers-head-actions .btn-sm{padding:9px 16px;font-size:13px;}
#admin-workers .workers-journal-wrap{position:relative;}
#admin-workers .workers-journal-badge{
  display:none;position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;
  background:var(--red);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--bg);
}

#admin-workers .workers-filter-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  margin:0 0 16px;padding:10px 12px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-workers .workers-filter-bar{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-workers .workers-filter-controls{
  display:flex;align-items:center;flex:1 1 280px;flex-wrap:wrap;gap:8px;min-width:0;
}
#admin-workers .workers-filter-seg{
  display:inline-flex;align-items:center;padding:3px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);flex-shrink:0;
}
[data-theme="light"] #admin-workers .workers-filter-seg{background:#F2F4F6;border-color:#E6E8EB;}
#admin-workers .workers-filter-seg-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:var(--text2);font:inherit;font-size:12px;font-weight:600;line-height:1;
  padding:9px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s,box-shadow .15s;
}
#admin-workers .workers-filter-seg-btn:hover{color:var(--text);}
#admin-workers .workers-filter-seg-btn.active{
  background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);
}
[data-theme="light"] #admin-workers .workers-filter-seg-btn.active{background:#fff;color:#141218;}
#admin-workers .workers-filter-search{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 200px;min-width:0;
  min-height:42px;padding:0 12px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-workers .workers-filter-search{background:#fff;}
#admin-workers .workers-filter-search > i{
  display:inline-flex;width:16px;justify-content:center;color:var(--text2);font-size:13px;flex-shrink:0;
}
#admin-workers .workers-filter-search input{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0;min-height:40px;
}
#admin-workers .workers-filter-clear{
  appearance:none;-webkit-appearance:none;flex-shrink:0;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;
  transition:background .15s,color .15s,border-color .15s;
}
#admin-workers .workers-filter-clear:hover{color:var(--text);background:rgba(255,255,255,.04);}
#admin-workers .workers-filter-clear.is-active{
  color:var(--orange);border-color:color-mix(in srgb, var(--orange) 35%, transparent);
  background:color-mix(in srgb, var(--orange) 12%, transparent);
}
[data-theme="light"] #admin-workers .workers-filter-clear:hover{background:#F2F4F6;color:#141218;}
@media(max-width:720px){
  #admin-workers .workers-filter-controls{flex:1 1 100%;}
  #admin-workers .workers-filter-seg{width:100%;overflow-x:auto;}
  #admin-workers .workers-filter-seg-btn{flex:1;text-align:center;padding:10px 8px;}
  #admin-workers .workers-filter-search{flex:1 1 100%;}
  #admin-workers .workers-filter-clear{margin-left:auto;}
}

/* Mobile workers: 3 buttons one row, 2 KPIs, search only */
@media(max-width:900px){
  #admin-workers .workers-head{
    flex-direction:column;align-items:stretch;gap:12px;
  }
  #admin-workers .workers-head .section-title{
    font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.15;margin:0;
  }
  #admin-workers .workers-head .section-title i{font-size:18px;opacity:.85;}
  #admin-workers .workers-head-actions{
    display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;width:100%;flex-wrap:nowrap;
  }
  #admin-workers .workers-journal-wrap{min-width:0;position:relative;}
  #admin-workers .workers-head-actions .btn-sm,
  #admin-workers .workers-journal-wrap .btn-sm{
    width:100%;min-width:0;justify-content:center;padding:10px 4px;font-size:11.5px;gap:5px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  #admin-workers .workers-kpi{
    grid-template-columns:1fr 1fr;gap:0;margin:0 0 14px;
    border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--card);
  }
  #admin-workers .workers-kpi .wk-mobile-hide{display:none!important;}
  #admin-workers .workers-kpi .wk-stat{
    border:none;border-radius:0;background:transparent;padding:14px 12px;gap:10px;
  }
  #admin-workers .workers-kpi .wk-stat.blue{border-right:1px solid var(--border);}
  #admin-workers .workers-kpi .wk-stat .sc-icon{width:36px;height:36px;font-size:14px;border-radius:10px;}
  #admin-workers .workers-kpi .wk-value{font-size:20px;}
  #admin-workers .workers-kpi .wk-label{font-size:11px;}
  #admin-workers .workers-filter-seg{display:none!important;}
  #admin-workers .workers-filter-controls{flex:1 1 auto;flex-wrap:nowrap;}
  #admin-workers .workers-filter-search{flex:1 1 auto;min-width:0;}
  #admin-workers .workers-filter-clear{margin-left:0;}
  #admin-workers .workers-filter-bar{padding:10px;gap:8px;flex-wrap:nowrap;}
}

#admin-workers .workers-table-card{
  padding:0;overflow:hidden;border-radius:16px;margin:0;background:var(--card);border:1px solid var(--border);width:100%;
}
[data-theme="light"] #admin-workers .workers-table-card{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-workers .workers-table{width:100%;table-layout:fixed;border-collapse:collapse;}
#admin-workers .workers-table thead th{
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text2);
  padding:12px 14px;border-bottom:1px solid var(--border);text-align:center !important;vertical-align:middle;
}
#admin-workers .workers-table tbody td{
  padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle;text-align:center;
}
#admin-workers .workers-table tbody tr:last-child td{border-bottom:none;}
#admin-workers .workers-table tbody tr:hover td{background:rgba(255,255,255,.03);}
[data-theme="light"] #admin-workers .workers-table tbody tr:hover td{background:rgba(15,21,37,.03);}
#admin-workers .workers-table th:nth-child(1),
#admin-workers .workers-table td:nth-child(1){width:24%;}
#admin-workers .workers-table td:nth-child(1){text-align:left;}
#admin-workers .workers-table th:nth-child(2),
#admin-workers .workers-table td:nth-child(2){width:14%;}
#admin-workers .workers-table th:nth-child(3),
#admin-workers .workers-table td:nth-child(3){width:16%;}
#admin-workers .workers-table th:nth-child(4),
#admin-workers .workers-table td:nth-child(4){width:14%;}
#admin-workers .workers-table th:nth-child(5),
#admin-workers .workers-table td:nth-child(5){width:20%;}
#admin-workers .workers-table th:nth-child(6),
#admin-workers .workers-table td:nth-child(6){width:12%;text-align:center;}
#admin-workers .workers-table .workers-name-cell{
  display:flex;align-items:center;gap:12px;min-width:0;
}
#admin-workers .workers-table .workers-name-cell .w-avatar{flex-shrink:0;}
#admin-workers .workers-table .workers-name-text{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text);
}
#admin-workers .workers-table .workers-login{
  background:color-mix(in srgb, var(--primary) 10%, transparent);padding:3px 8px;border-radius:6px;
  font-size:12px;color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
#admin-workers .workers-table .workers-row-actions{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap;
}
#admin-workers .workers-table .workers-row-actions .btn-sm{
  width:34px;height:34px;min-width:34px;padding:0;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
}
#admin-workers .workers-table tr.workers-row-clickable{cursor:pointer;}
#admin-workers .workers-table tr.workers-row-clickable:hover td{background:rgba(255,255,255,.03);}
[data-theme="light"] #admin-workers .workers-table tr.workers-row-clickable:hover td{background:rgba(15,21,37,.03);}
#admin-workers .workers-table tr.workers-row-clickable:focus{outline:none;}
#admin-workers .workers-table tr.workers-row-clickable:focus-visible td{background:rgba(110,168,255,.08);}
#workerDetailModal.modal-overlay{
  padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));
  box-sizing:border-box;align-items:center;z-index:320;
}
#workerDetailModal .worker-detail-modal{
  width:min(960px,calc(100vw - 28px));max-width:960px;border-radius:16px;
  display:flex;flex-direction:column;max-height:min(92vh,calc(100dvh - 24px));overflow:hidden;
}
#workerDetailModal .modal-header{padding:18px 22px 14px;}
#workerDetailModal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 22px;}
#workerDetailModal .modal-footer{padding:14px 22px 18px;}
#workerDetailModal .wd-hero{
  display:flex;align-items:center;gap:14px;margin-bottom:16px;min-width:0;
}
#workerDetailModal .wd-hero .w-avatar{
  width:52px;height:52px;font-size:18px;border-radius:14px;flex-shrink:0;
}
#workerDetailModal .wd-hero-text{min-width:0;flex:1;}
#workerDetailModal .wd-hero-name{
  margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#workerDetailModal .wd-hero-sub{
  margin:4px 0 0;font-size:13px;color:var(--text2);display:flex;flex-wrap:wrap;gap:8px;align-items:center;
}
#workerDetailModal .wd-stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;
}
@media(max-width:640px){
  #workerDetailModal .wd-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
#workerDetailModal .wd-stat{
  background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 12px 10px;
  min-width:0;
}
#workerDetailModal .wd-stat-label{
  font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text2);margin-bottom:4px;
}
#workerDetailModal .wd-stat-value{
  font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.2;
}
#workerDetailModal .wd-stat-sub{font-size:12px;color:var(--text2);margin-top:2px;}
#workerDetailModal .wd-section-title{
  font-size:13px;font-weight:700;color:var(--text);margin:4px 0 10px;letter-spacing:-.01em;
}
#workerDetailModal .wd-report{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;
}
@media(max-width:640px){
  #workerDetailModal .wd-report{grid-template-columns:1fr;}
}
#workerDetailModal .wd-report-block{
  border:1px solid var(--border);
  border-radius:12px;background:var(--bg);padding:12px 12px 10px;
  box-shadow:none;min-width:0;
}
#workerDetailModal .wd-report-head{
  display:flex;align-items:center;gap:8px;margin-bottom:8px;
  font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text2);
}
#workerDetailModal .wd-report-head i{
  width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary);font-size:11px;
  border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);flex-shrink:0;
}
#workerDetailModal .wd-report-rows{display:flex;flex-direction:column;gap:0;}
#workerDetailModal .wd-report-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:13px;color:var(--text);padding:6px 0;
  border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent);
}
#workerDetailModal .wd-report-row:first-child{border-top:none;padding-top:0;}
#workerDetailModal .wd-report-row:last-child{padding-bottom:0;}
#workerDetailModal .wd-report-row .wd-rr-name{
  min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;
}
#workerDetailModal .wd-report-row .wd-rr-val{
  flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.02em;
  color:var(--primary);font-size:14px;
}
#workerDetailModal .wd-report-row .wd-rr-sub{
  display:block;font-size:11px;font-weight:500;color:var(--text2);margin-top:1px;white-space:normal;
}
#workerDetailModal .wd-report-note{
  font-size:13px;color:var(--text);line-height:1.4;
}
#workerDetailModal .wd-report-note strong{font-weight:750;color:var(--primary);font-variant-numeric:tabular-nums;font-size:16px;}
#workerDetailModal .wd-report-meta{font-size:11px;color:var(--text2);margin-top:4px;line-height:1.35;}
[data-theme="light"] #workerDetailModal .wd-report-block{
  background:#fff;box-shadow:none;border-color:#E6E8EB;
}
#workerDetailModal .wd-activity{
  display:flex;flex-direction:column;gap:8px;margin-bottom:8px;
}
#workerDetailModal .wd-act{
  display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);
  border-radius:12px;background:var(--bg);
}
#workerDetailModal .wd-act-ico{
  width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;background:rgba(110,168,255,.12);color:#7EB6FF;font-size:13px;
}
#workerDetailModal .wd-act-body{min-width:0;flex:1;}
#workerDetailModal .wd-act-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.35;}
#workerDetailModal .wd-act-meta{font-size:12px;color:var(--text2);margin-top:2px;}
#workerDetailModal .wd-empty{
  padding:18px 12px;text-align:center;color:var(--text2);font-size:13px;border:1px dashed var(--border);border-radius:12px;
}
#workerDetailModal .wd-quick{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;
}
#workerDetailModal .wd-quick .btn{font-size:13px;}
#workerDetailModal .trip-detail-rows{gap:12px;margin-top:4px;}
#workerDetailModal .trip-detail-label{font-size:12px;}
#workerDetailModal .trip-detail-val{font-size:15px;}
#admin-workers .workers-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:48px 24px;background:var(--card);border:1px solid var(--border);border-radius:16px;gap:10px;
}
#admin-workers .workers-empty .workers-empty-ico{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--color-surface-container-low);color:var(--text2);font-size:20px;border:1px solid var(--border);
}
#admin-workers .workers-empty .workers-empty-title{margin:0;font-size:16px;font-weight:700;color:var(--text);}
#admin-workers .workers-empty .workers-empty-sub{margin:0;font-size:13px;color:var(--text2);line-height:1.45;max-width:360px;}
#admin-workers #workersCards{display:none;}
@media(max-width:900px){
  #admin-workers #workersCards.mobile-only{display:block;}
}
.desktop-only{display:block;}
.mobile-only{display:none;}
@media(max-width:900px){
  .desktop-only{display:none!important;}
  .mobile-only{display:block;}
}

/* Kilometry (adminweb): 4 statistické karty roztažené přes celou šířku vkladky.
   Globální .stats-grid používá auto-fill, který na širokých monitorech nechává
   prázdné sloupce a karty se nerozšíří — auto-fit prázdné stopy sbalí a karty roztáhne. */
#admin-kilometers .stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
#admin-kilometers .km-table-card{display:flex;align-items:center;gap:14px;text-align:left;}
#admin-kilometers .km-table-card .sc-icon{margin-bottom:0;flex-shrink:0;}
#admin-kilometers .km-table-card .sc-label{flex:1;font-size:14px;color:var(--text);font-weight:500;}
#admin-kilometers .km-table-card .km-table-chev{color:var(--text2);font-size:15px;flex-shrink:0;}
/* Kilometry: tlačítko Přidat modré ve světlém režimu (dle mockupu adminweb); v tmavém zůstává brand-red přes .btn-brand */
[data-theme="light"] #admin-kilometers .btn-primary{background:#2f6bff;color:#FFFFFF;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] #admin-kilometers .btn-primary:hover{background:#255ee6;color:#FFFFFF;}
}

/* Nástroje (adminweb): statistické karty roztažené přes celou šířku vkladky (desktop).
   Na mobilu (≤900px) zůstává globální auto-fill minmax(150px). */
@media(min-width:901px){
  #admin-tools .stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
}

/* Admin Hodiny / Kilometry: flat table, long text v jednom řádku (ellipsis), akce bez zalamování */
.admin-table-scroll{
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  width:100%;
  max-width:100%;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
}
#admin-kilometers .admin-oneline-km.data-table{
  table-layout:fixed;width:100%;min-width:0;border-collapse:collapse;
}
#admin-hours .admin-oneline-hours.data-table, #w-hours .admin-oneline-hours.data-table{
  table-layout:fixed;width:100%;min-width:1120px;border-collapse:collapse;
}
#admin-hours .admin-oneline-hours.data-table th, #w-hours .admin-oneline-hours.data-table th,
#admin-hours .admin-oneline-hours.data-table td, #w-hours .admin-oneline-hours.data-table td,
#admin-kilometers .admin-oneline-km.data-table th,
#admin-kilometers .admin-oneline-km.data-table td{
  text-align:left;vertical-align:middle;white-space:nowrap;
}
#admin-hours .admin-oneline-hours.data-table thead th, #w-hours .admin-oneline-hours.data-table thead th{text-align:center;}
#admin-hours .hours-table-card .admin-oneline-hours.data-table thead th, #w-hours .hours-table-card .admin-oneline-hours.data-table thead th{text-align:center;}
#admin-hours .admin-oneline-hours.data-table td.admin-td-recorded, #w-hours .admin-oneline-hours.data-table td.admin-td-recorded{
  font-size:13px;font-weight:400;color:var(--text);
  font-variant-numeric:tabular-nums;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";
}
#admin-kilometers .admin-oneline-km.data-table th:nth-child(1),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(1){width:12%;min-width:0;}
#admin-kilometers .admin-oneline-km.data-table th:nth-child(2),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(2){
  width:8%;min-width:0;box-sizing:border-box;
}
#admin-kilometers .admin-oneline-km.data-table th:nth-child(3),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(3){width:21%;min-width:0!important;}
#admin-kilometers .admin-oneline-km.data-table th:nth-child(4),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(4){width:21%;min-width:0!important;}
#admin-kilometers .admin-oneline-km.data-table th:nth-child(5),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(5){
  width:12%;min-width:0!important;
}
#admin-kilometers .admin-oneline-km.data-table th:nth-child(6),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(6){
  width:5%;min-width:0;padding-left:3px;padding-right:3px;text-align:center!important;box-sizing:border-box;
}
#admin-kilometers .admin-oneline-km.data-table th:nth-child(7),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(7){width:7%;min-width:0;text-align:center;}
#admin-kilometers .admin-oneline-km.data-table th:nth-child(8),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(8){
  text-align:right;width:16%;min-width:176px;white-space:nowrap;box-sizing:border-box;
}
#admin-kilometers .admin-oneline-km.data-table td.admin-td-clip{
  overflow:hidden;text-overflow:ellipsis;max-width:0;
}
/* Kilometry: compact one-line addresses with ellipsis; full info available via detail button */
#admin-kilometers .admin-oneline-km.data-table th:nth-child(3),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(3),
#admin-kilometers .admin-oneline-km.data-table th:nth-child(4),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(4){
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:0;
  vertical-align:middle;
  word-break:normal;
  overflow-wrap:normal;
  line-height:1.3;
  box-sizing:border-box;
}
#admin-kilometers .admin-oneline-km.data-table th:nth-child(5),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(5){
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:0;
  vertical-align:middle;
  word-break:normal;
  overflow-wrap:normal;
  line-height:1.3;
  box-sizing:border-box;
}
#admin-kilometers .admin-oneline-km.data-table td:nth-child(3),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(4),
#admin-kilometers .admin-oneline-km.data-table td:nth-child(5){
  font-size:12px;
}
#admin-hours .admin-oneline-hours.data-table th:nth-child(7),
#admin-hours .admin-oneline-hours.data-table td:nth-child(7){
  width:48px;max-width:56px;padding-left:6px;padding-right:6px;text-align:center!important;box-sizing:border-box;
}
#admin-hours .admin-oneline-hours.data-table th:nth-child(8),
#admin-hours .admin-oneline-hours.data-table td:nth-child(8){text-align:center;}
#admin-hours .admin-oneline-hours.data-table th:nth-child(9),
#admin-hours .admin-oneline-hours.data-table td:nth-child(9){
  min-width:172px;
  width:172px;
  box-sizing:border-box;
}
#admin-hours .admin-oneline-hours.data-table th:nth-child(9){text-align:center;}
#admin-hours .admin-oneline-hours.data-table td:nth-child(9){text-align:right;}
#admin-hours .admin-oneline-hours.data-table td.admin-td-clip, #w-hours .admin-oneline-hours.data-table td.admin-td-clip{
  overflow:hidden;text-overflow:ellipsis;max-width:0;
}
#admin-kilometers .admin-oneline-km.data-table td.admin-td-actions{
  white-space:nowrap;
  width:16%;
  min-width:176px;
  text-align:right;
  vertical-align:middle;
  display:flex;
  flex-wrap:nowrap;
  justify-content:flex-end;
  gap:10px;
  align-items:center;
  padding-right:18px;
}
#admin-kilometers .admin-oneline-km.data-table td:nth-child(7){
  padding-right:22px;
}
#admin-hours .admin-oneline-hours.data-table td.admin-td-actions, #w-hours .admin-oneline-hours.data-table td.admin-td-actions{
  white-space:nowrap;
  width:1%;
  text-align:right;
  display:flex;
  flex-wrap:nowrap;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  padding-right:10px;
  vertical-align:middle;
}
#admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-sm, #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-sm,
#admin-kilometers .admin-oneline-km.data-table td.admin-td-actions .btn-sm{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;}
#admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-sm, #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-sm,
#admin-kilometers .admin-oneline-km.data-table td.admin-td-actions .btn-sm{padding:6px 6px;min-width:32px;font-size:13px;}
/* Hodiny: čtvercové ikonové tlačítka (oko / tužka / koš / fajfka) */
#admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic, #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic{
  width:36px;
  height:36px;
  min-width:36px;
  padding:0;
  border-radius:8px;
  border:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  cursor:pointer;
  flex-shrink:0;
  transition:opacity .15s ease,transform .12s ease;
  box-sizing:border-box;
}
@media (hover:hover) and (pointer:fine){
  #admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic:hover, #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic:hover{opacity:.92;transform:translateY(-1px);}
}
#admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-view, #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-view{
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.12);
}
#admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-edit, #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-edit{
  background:rgba(41,121,255,.22);
  color:#79b4ff;
  border:1px solid rgba(41,121,255,.28);
}
#admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-del, #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-del{
  background:rgba(233,69,96,.18);
  color:#f0a8b8;
  border:1px solid rgba(233,69,96,.25);
}
#admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-ok, #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-ok{
  background:rgba(0,200,83,.18);
  color:#5ce695;
  border:1px solid rgba(0,200,83,.3);
}
.hour-view-modal .hour-view-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 16px;
  margin-bottom:14px;
}
.hour-view-modal .hour-view-row{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
}
html[data-theme="light"] .hour-view-modal .hour-view-row{
  background:rgba(15,23,34,.03);
  border-color:rgba(15,23,34,.06);
}
.hour-view-modal .hour-view-row-full{grid-column:1 / -1;}
.hour-view-modal .hour-view-k{
  color:var(--text2);
  font-size:11px;
  font-weight:650;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.2;
}
.hour-view-modal .hour-view-v{
  color:var(--text);
  font-size:14px;
  font-weight:600;
  word-break:break-word;
  line-height:1.35;
}
.hour-view-modal .hour-view-note-wrap{margin-top:2px;}
.hour-view-modal .hour-view-note-wrap label{
  display:block;margin-bottom:8px;font-size:12px;font-weight:650;color:var(--text2);
  text-transform:uppercase;letter-spacing:.04em;
}
.hour-view-modal #hourViewNote{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  padding:12px 14px;
  min-height:48px;
  white-space:pre-wrap;
  word-break:break-word;
  line-height:1.45;
  font-size:14px;
  color:var(--text);
}
html[data-theme="light"] .hour-view-modal #hourViewNote{
  background:rgba(15,23,34,.03);
  border-color:rgba(15,23,34,.08);
}
.hour-view-modal #hourViewNote.is-empty{color:var(--text2);font-style:italic;font-weight:500;}
#hourViewModal .modal.hour-view-modal{
  width:min(520px, calc(100vw - 24px));
}
#hourViewModal .modal-footer.hour-view-footer{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:12px 18px 14px;
  overflow-x:hidden;
}
.hour-view-footer-spacer{flex:1 1 auto;min-width:8px;}
#hourViewModal .hour-view-footer .hour-view-ico-btn{
  flex:0 0 auto;
  width:40px;
  height:40px;
  padding:0;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  white-space:nowrap;
}
#hourViewModal .hour-view-footer .hour-view-ico-btn i{
  font-size:14px;
  margin:0;
}
.hour-view-footer .btn-green{
  background:rgba(0,200,83,.18);border:1px solid rgba(0,200,83,.4);color:#69f0ae;
}
html[data-theme="light"] .hour-view-footer .btn-green{
  background:#e6f8ee;border-color:#8fd6a8;color:#147a3c;
}

/* Hours day modal (calendar cell click) */
#hourDayModal .modal.hour-day-modal{width:min(520px, calc(100vw - 24px));}
.hour-day-summary{
  margin:0 0 12px;font-size:13px;color:var(--text2);font-weight:500;
}
.hour-day-list{display:flex;flex-direction:column;gap:8px;max-height:min(52vh,420px);overflow:auto;}
.hour-day-empty{
  padding:28px 16px;text-align:center;color:var(--text2);font-size:14px;
  border:1px dashed var(--border);border-radius:12px;
}
.hour-day-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:12px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);color:inherit;text-align:left;cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
}
html[data-theme="light"] .hour-day-item{
  background:rgba(15,23,34,.03);border-color:rgba(15,23,34,.08);
}
.hour-day-item:hover{border-color:rgba(110,168,255,.35);background:rgba(110,168,255,.08);}
.hour-day-item-main{flex:1;min-width:0;}
.hour-day-item-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px;}
.hour-day-item-sub{font-size:12px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hour-day-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.hour-day-item-hours{font-size:13px;font-weight:700;color:var(--text);}
.hour-day-item-chev{color:var(--text2);font-size:12px;opacity:.7;flex-shrink:0;}
.hour-day-footer{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:flex-start;
}
.hour-day-footer .btn{
  padding:11px 18px;font-size:14px;font-weight:600;border-radius:10px;min-height:42px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.hour-day-footer .btn i{font-size:14px;}
.hour-day-footer .btn-green{
  background:rgba(0,200,83,.18);border:1px solid rgba(0,200,83,.4);color:#69f0ae;
}
html[data-theme="light"] .hour-day-footer .btn-green{
  background:#e6f8ee;border-color:#8fd6a8;color:#147a3c;
}
@media (max-width:520px){
  .hour-view-modal .hour-view-fields{grid-template-columns:1fr;}
}
#admin-kilometers .admin-oneline-km.data-table td{
  padding-top:8px;
  padding-bottom:8px;
  font-size:13px;
}
#admin-kilometers .admin-oneline-km.data-table th{
  padding-top:10px;
  padding-bottom:10px;
  font-size:12px;
  letter-spacing:.35px;
}
#admin-hours .admin-hours-table-card, #w-hours .admin-hours-table-card,
#admin-kilometers .admin-hours-table-card{
  padding:18px 18px 14px;
}
#admin-hours .admin-hours-table-toolbar, #w-hours .admin-hours-table-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  padding:14px 16px;
  border:1px solid rgba(0,200,83,.16);
  border-radius:14px;
  background:linear-gradient(135deg, rgba(0,200,83,.08), rgba(41,121,255,.05));
}
#admin-hours .admin-hours-table-toolbar-title, #w-hours .admin-hours-table-toolbar-title{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
#admin-hours .admin-hours-table-toolbar-title strong, #w-hours .admin-hours-table-toolbar-title strong{
  font-size:14px;
  font-weight:700;
  color:var(--text);
}
#admin-hours .admin-hours-table-toolbar-title span, #w-hours .admin-hours-table-toolbar-title span{
  font-size:12px;
  color:var(--text2);
  line-height:1.4;
}
#admin-hours .admin-hours-table-toolbar .btn-approve-all-hours, #w-hours .admin-hours-table-toolbar .btn-approve-all-hours{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  min-height:42px;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

/* Evidence hodin – přepínač zobrazení (Tabulka / Kalendář) */
#admin-hours .ah-view-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin:2px 0 16px;
}
#admin-hours .ah-view-toggle{
  display:inline-flex;
  gap:4px;
  padding:4px;
  border-radius:12px;
  background:var(--bg);
  border:1px solid var(--border);
}
#admin-hours .ah-view-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  border:none;
  background:transparent;
  color:var(--text2);
  font-size:13px;
  font-weight:600;
  border-radius:9px;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
  white-space:nowrap;
}
#admin-hours .ah-view-btn:hover{ color:var(--text); }
#admin-hours .ah-view-btn.active{
  background:var(--blue);
  color:#fff;
  box-shadow:0 6px 16px rgba(41,121,255,.28);
}
#admin-hours .ah-view-group{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
#admin-hours .ah-view-group-label{
  font-size:13px;
  color:var(--text2);
  font-weight:600;
}

/* Evidence hodin – kalendářní zobrazení */
#admin-hours .ah-cal{ padding:14px 16px 18px; }
#admin-hours .ah-cal-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:6px 0 16px;
}
#admin-hours .ah-cal-nav{
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid var(--border);
  background:var(--bg);
  color:var(--text);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease,border-color .15s ease;
}
#admin-hours .ah-cal-nav:hover{ border-color:var(--blue); color:var(--blue); }
#admin-hours .ah-cal-title{
  display:flex;
  flex-direction:column;
  align-items:center;
  line-height:1.15;
  min-width:150px;
}
#admin-hours .ah-cal-title .ah-cal-year{ font-size:13px; color:var(--text2); font-weight:600; }
#admin-hours .ah-cal-title .ah-cal-month{ font-size:20px; color:var(--text); font-weight:700; text-transform:capitalize; }
#admin-hours .ah-cal-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
#admin-hours .ah-cal-weekday{
  padding:10px 8px;
  font-size:13px;
  font-weight:600;
  color:var(--text2);
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#admin-hours .ah-cal-weekday.weekend{ color:var(--red); opacity:.8; }
#admin-hours .ah-cal-weekday-short{ display:none; }
#admin-hours .ah-cal-weekday-full{ display:block; width:100%; text-align:center; }
#admin-hours .ah-cal-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
}
#admin-hours .ah-cal-cell{
  min-height:104px;
  padding:6px 6px 8px;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  overflow:hidden;
  text-align:center;
  cursor:pointer;
  transition:background .15s ease;
}
#admin-hours .ah-cal-cell:hover{ background:rgba(110,168,255,.08); }
#admin-hours .ah-cal-cell:nth-child(7n){ border-right:none; }
#admin-hours .ah-cal-cell.other-month{ background:var(--bg); opacity:.55; cursor:default; }
#admin-hours .ah-cal-cell.is-today{ background:rgba(41,121,255,.08); }
#admin-hours .ah-cal-daynum{
  font-size:13px;
  font-weight:600;
  color:var(--text);
  margin-bottom:6px;
  text-align:center;
}
#admin-hours .ah-cal-cell.other-month .ah-cal-daynum{ color:var(--text2); }
#admin-hours .ah-cal-cell.is-today .ah-cal-daynum{ color:var(--blue); }
#admin-hours .ah-cal-events{
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:center;
}
#admin-hours .ah-cal-event{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  padding:2px 4px;
  border:none;
  background:transparent;
  border-radius:6px;
  cursor:pointer;
  text-align:center;
  transition:background .12s ease;
}
#admin-hours .ah-cal-event:hover{ background:rgba(41,121,255,.12); }
#admin-hours .ah-cal-event.status-pending{ opacity:1; }
#admin-hours .ah-cal-dot{
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--text2);
  box-shadow:0 0 0 1px rgba(0,0,0,.12);
}
#admin-hours .ah-cal-event.status-approved .ah-cal-dot,
#admin-hours .ah-cal-dot.is-approved{
  background:var(--green,#00c853);
  box-shadow:0 0 0 2px rgba(0,200,83,.22);
}
#admin-hours .ah-cal-event.status-pending .ah-cal-dot,
#admin-hours .ah-cal-dot.is-pending{
  background:var(--yellow,#ffd600);
  box-shadow:0 0 0 2px rgba(255,214,0,.28);
}
#admin-hours .ah-cal-event.status-rejected .ah-cal-dot,
#admin-hours .ah-cal-dot.is-rejected{
  background:var(--red,#e94560);
  box-shadow:0 0 0 2px rgba(110,168,255,.28);
}
#admin-hours .ah-cal-event-text{
  font-size:11px;
  color:var(--text2);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:900px){
  #admin-hours .ah-cal-cell{ min-height:78px; }
  #admin-hours .ah-cal-event-text{ font-size:10px; }
}
@media (max-width:600px){
  #admin-hours .ah-view-bar{
    flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;
    gap:6px;width:100%;max-width:100%;box-sizing:border-box;overflow:visible;
  }
  #admin-hours .ah-view-bar > .ah-view-toggle,
  #admin-hours .ah-view-group{
    flex:1 1 0;min-width:0;max-width:none;margin-left:0;
  }
  #admin-hours .ah-view-group-label{display:none;}
  #admin-hours .ah-view-group .ah-view-toggle{
    display:flex;width:100%;box-sizing:border-box;padding:3px;gap:2px;
  }
  #admin-hours .ah-view-bar > .ah-view-toggle{
    padding:3px;gap:2px;box-sizing:border-box;
  }
  #admin-hours .ah-view-bar .ah-view-btn{
    flex:1 1 0;min-width:0;justify-content:center;
    padding:7px 5px;font-size:11px;font-weight:650;gap:0;
    white-space:nowrap;overflow:visible;
  }
  #admin-hours .ah-view-bar > .ah-view-toggle .ah-view-btn i{display:none;}
  #admin-hours .ah-cal-cell{ min-height:64px; padding:4px; }
  #admin-hours .ah-cal-weekday{ padding:6px 4px; font-size:10px; text-align:center; }
  #admin-hours .ah-cal-weekday-full{ display:none; }
  #admin-hours .ah-cal-weekday-short{ display:block; width:100%; text-align:center; }
}

/* Evidence hodin – mobilní kompaktní seznam (jen mobile-only; neforced display) */
#admin-hours .ah-mlist, #w-hours .ah-mlist{
  margin:0;padding:0;overflow:hidden;
  border:1px solid var(--border);border-radius:16px;
  background:var(--card);box-sizing:border-box;
}
/* Nested inside .hours-table-card — avoid double card + empty gap under last row */
#admin-hours .hours-table-card > .ah-mlist,
#w-hours .hours-table-card > .ah-mlist{
  margin:0!important;
  border:none!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
[data-theme="light"] #admin-hours .ah-mlist, [data-theme="light"] #w-hours .ah-mlist{
  box-shadow:0 1px 3px rgba(15,21,37,.04);
}
[data-theme="light"] #admin-hours .hours-table-card > .ah-mlist,
[data-theme="light"] #w-hours .hours-table-card > .ah-mlist{
  box-shadow:none!important;
}
#admin-hours .ah-mlist-head, #w-hours .ah-mlist-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 78px 52px 14px;
  align-items:center;
  gap:8px;
  padding:12px 14px 10px;
  margin:0;
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.02);
}
[data-theme="light"] #admin-hours .ah-mlist-head, [data-theme="light"] #w-hours .ah-mlist-head{
  background:#F7F8FA;
}
#admin-hours .ah-mlist-head span, #w-hours .ah-mlist-head span{
  display:block;
  font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text2); white-space:nowrap; min-width:0;
  text-align:center;
}
#admin-hours .ah-mlist-head .ah-mh-site, #w-hours .ah-mlist-head .ah-mh-site{text-align:center;}
#admin-hours .ah-mlist-head .ah-mh-date, #w-hours .ah-mlist-head .ah-mh-date,
#admin-hours .ah-mlist-head .ah-mh-hours, #w-hours .ah-mlist-head .ah-mh-hours{text-align:center;}
#admin-hours .ah-mlist-head i, #w-hours .ah-mlist-head i{ display:none; }
#admin-hours .ah-mlist-empty, #w-hours .ah-mlist-empty{ text-align:center; color:var(--text2); padding:26px 0; }

#admin-hours .ah-mrow, #w-hours .ah-mrow{
  border:0;
  border-bottom:1px solid var(--border);
  border-radius:0;
  background:transparent;
  margin:0;
  cursor:pointer;
  transition:background .15s ease;
  position:relative;
}
#admin-hours .ah-mrow:last-child, #w-hours .ah-mrow:last-child{ border-bottom:none; }
#admin-hours .hours-table-card .ah-mrow:last-child,
#w-hours .hours-table-card .ah-mrow:last-child{
  border-bottom:none;
}
#admin-hours .ah-mrow:last-child .ah-mrow-head,
#w-hours .ah-mrow:last-child .ah-mrow-head{
  padding-bottom:12px;
}
#admin-hours .ah-mrow:active, #w-hours .ah-mrow:active{ background:rgba(255,255,255,.03); }
[data-theme="light"] #admin-hours .ah-mrow:active, [data-theme="light"] #w-hours .ah-mrow:active{ background:rgba(15,21,37,.03); }
#admin-hours .ah-mrow.is-pending, #w-hours .ah-mrow.is-pending{ border-color:var(--border); }
#admin-hours .ah-mrow.is-pending::before, #w-hours .ah-mrow.is-pending::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--yellow,#ffd600);border-radius:0;
}
#admin-hours .ah-mrow-head, #w-hours .ah-mrow-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 78px 52px 14px;
  align-items:center;
  gap:8px;
  padding:12px 14px;
}
#admin-hours .ah-mrow-av, #w-hours .ah-mrow-av{display:none;}
#admin-hours .ah-mrow-main, #w-hours .ah-mrow-main{ min-width:0; }
#admin-hours .ah-mrow-name, #w-hours .ah-mrow-name{ font-size:13px; font-weight:700; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.25; }
#admin-hours .ah-mrow-site, #w-hours .ah-mrow-site{ font-size:11px; color:var(--text2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px; line-height:1.25; }
#admin-hours .ah-mrow-note, #w-hours .ah-mrow-note{ display:none; }
#admin-hours .ah-mrow-date, #w-hours .ah-mrow-date{
  font-size:12px; color:var(--text); white-space:nowrap; overflow:visible; text-overflow:clip;
  font-variant-numeric:tabular-nums; font-weight:600; text-align:center; line-height:1.2;
}
#admin-hours .ah-mrow-hours, #w-hours .ah-mrow-hours{
  font-size:13px; font-weight:750; color:var(--text); white-space:nowrap;
  font-variant-numeric:tabular-nums; text-align:center; line-height:1.2;
}
#admin-hours .ah-mrow-hours .ah-h-unit, #w-hours .ah-mrow-hours .ah-h-unit{
  font-size:10px; font-weight:600; color:var(--text2); margin-left:1px;
}
#admin-hours .ah-mrow-chev, #w-hours .ah-mrow-chev{ color:var(--text2); font-size:12px; transition:transform .2s ease; justify-self:end; }
#admin-hours .ah-mrow.open .ah-mrow-chev, #w-hours .ah-mrow.open .ah-mrow-chev{ transform:rotate(90deg); }
#admin-hours .ah-mrow-detail, #w-hours .ah-mrow-detail{ display:none; padding:0 14px 12px; }
#admin-hours .ah-mrow.open .ah-mrow-detail, #w-hours .ah-mrow.open .ah-mrow-detail{ display:block; }
#admin-hours .ah-mrow-drow, #w-hours .ah-mrow-drow{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:8px 0; border-top:1px solid var(--border); font-size:12px; color:var(--text);
}
#admin-hours .ah-mrow-dlabel, #w-hours .ah-mrow-dlabel{ color:var(--text2); display:inline-flex; align-items:center; gap:6px; }
#admin-hours .ah-mrow-dlabel i, #w-hours .ah-mrow-dlabel i{ width:14px; text-align:center; }
#admin-hours .ah-mrow-actions, #w-hours .ah-mrow-actions{ display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
#admin-hours .ah-mrow-actions .btn-hour-ic, #w-hours .ah-mrow-actions .btn-hour-ic{
  width:38px; height:38px; min-width:38px; padding:0; border-radius:9px; border:none;
  display:inline-flex; align-items:center; justify-content:center; font-size:14px; cursor:pointer;
}
#admin-hours .ah-mrow-actions .btn-hour-ic.btn-hour-view, #w-hours .ah-mrow-actions .btn-hour-ic.btn-hour-view{ background:rgba(255,255,255,.08); color:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.12); }
#admin-hours .ah-mrow-actions .btn-hour-ic.btn-hour-edit, #w-hours .ah-mrow-actions .btn-hour-ic.btn-hour-edit{ background:rgba(41,121,255,.22); color:#79b4ff; border:1px solid rgba(41,121,255,.28); }
#admin-hours .ah-mrow-actions .btn-hour-ic.btn-hour-del, #w-hours .ah-mrow-actions .btn-hour-ic.btn-hour-del{ background:rgba(233,69,96,.18); color:#f0a8b8; border:1px solid rgba(233,69,96,.25); }
#admin-hours .ah-mrow-actions .btn-hour-ic.btn-hour-ok, #w-hours .ah-mrow-actions .btn-hour-ic.btn-hour-ok{ background:rgba(0,200,83,.18); color:#5ce695; border:1px solid rgba(0,200,83,.3); }
[data-theme="light"] #admin-hours .ah-mrow, [data-theme="light"] #w-hours .ah-mrow{ background:transparent; border-color:#E6E8EB; }
[data-theme="light"] #admin-hours .ah-mrow-av, [data-theme="light"] #w-hours .ah-mrow-av{ background:rgba(99,91,205,.12); color:#635bcd; }
[data-theme="light"] #admin-hours .ah-mrow-name, [data-theme="light"] #w-hours .ah-mrow-name{ color:#141218; }
[data-theme="light"] #admin-hours .ah-mrow-date, [data-theme="light"] #w-hours .ah-mrow-date,
[data-theme="light"] #admin-hours .ah-mrow-hours, [data-theme="light"] #w-hours .ah-mrow-hours{ color:#141218; }
[data-theme="light"] #admin-hours .ah-mrow-actions .btn-hour-ic.btn-hour-view, [data-theme="light"] #w-hours .ah-mrow-actions .btn-hour-ic.btn-hour-view{ background:#F1F3F6; color:#5c5d64; border-color:#E2E5EA; }

@media (max-width:900px){
  #admin-kilometers .lodging-admin-add-grid{
    grid-template-columns:1fr !important;
  }
}

/* Kilometry mobile/tablet: keep the same table behavior as Hours */
@media (max-width:960px){
  #admin-kilometers .admin-table-scroll{
    overflow-x:visible;
  }
  #admin-kilometers .admin-oneline-km.data-table{
    min-width:0;
    width:100%;
    table-layout:fixed;
  }
  #admin-kilometers .admin-oneline-km.data-table th,
  #admin-kilometers .admin-oneline-km.data-table td{
    font-size:12px;
    padding-left:8px;
    padding-right:8px;
  }
  #admin-kilometers .admin-oneline-km.data-table td.admin-td-actions{
    min-width:176px;
  }
}
@media (max-width:600px){
  #admin-hours .admin-oneline-hours.data-table, #w-hours .admin-oneline-hours.data-table{
    min-width:876px;
    width:100%;
    table-layout:fixed;
  }
  #w-hours .worker-oneline-hours.data-table{min-width:0!important;width:100%!important;}
  #admin-hours .admin-oneline-hours.data-table th, #w-hours .admin-oneline-hours.data-table th,
  #admin-hours .admin-oneline-hours.data-table td, #w-hours .admin-oneline-hours.data-table td{
    font-size:11px;
    padding-left:6px;
    padding-right:6px;
  }
  #admin-hours .admin-oneline-hours.data-table th:nth-child(1),
  #admin-hours .admin-oneline-hours.data-table td:nth-child(1){width:15%;}
  #admin-hours .admin-oneline-hours.data-table th:nth-child(2),
  #admin-hours .admin-oneline-hours.data-table td:nth-child(2){width:14%;}
  #admin-hours .admin-oneline-hours.data-table th:nth-child(3),
  #admin-hours .admin-oneline-hours.data-table td:nth-child(3){width:12%;}
  #admin-hours .admin-oneline-hours.data-table th:nth-child(4),
  #admin-hours .admin-oneline-hours.data-table td:nth-child(4){width:10%;}
  #admin-hours .admin-oneline-hours.data-table th:nth-child(5),
  #admin-hours .admin-oneline-hours.data-table td:nth-child(5){
    width:16%;
    min-width:96px;
    white-space:normal!important;
    line-height:1.2;
  }
  #admin-hours .admin-oneline-hours.data-table th:nth-child(6),
  #admin-hours .admin-oneline-hours.data-table td:nth-child(6){width:16%;}
  #admin-hours .admin-oneline-hours.data-table th:nth-child(7),
  #admin-hours .admin-oneline-hours.data-table td:nth-child(7){width:6%;}
  #admin-hours .admin-oneline-hours.data-table th:nth-child(8),
  #admin-hours .admin-oneline-hours.data-table td:nth-child(8){width:9%;}
  #admin-hours .admin-oneline-hours.data-table th:nth-child(9),
  #admin-hours .admin-oneline-hours.data-table td:nth-child(9){width:172px;min-width:172px;}
}

/* Worker hours table: 8 cols (no Pracovník) — fit viewport so Akce isn't clipped */
#w-hours .worker-oneline-hours.data-table{
  min-width:0!important;
  width:100%!important;
  table-layout:fixed;
}
#w-hours .hours-table-card{
  overflow:visible;
}
#w-hours .hours-table-card .admin-table-scroll{
  overflow-x:visible;
}
#w-hours .worker-oneline-hours.data-table th:nth-child(1),
#w-hours .worker-oneline-hours.data-table td:nth-child(1){width:18%;}
#w-hours .worker-oneline-hours.data-table th:nth-child(2),
#w-hours .worker-oneline-hours.data-table td:nth-child(2){width:16%;}
#w-hours .worker-oneline-hours.data-table th:nth-child(3),
#w-hours .worker-oneline-hours.data-table td:nth-child(3){width:11%;}
#w-hours .worker-oneline-hours.data-table th:nth-child(4),
#w-hours .worker-oneline-hours.data-table td:nth-child(4){width:14%;}
#w-hours .worker-oneline-hours.data-table th:nth-child(5),
#w-hours .worker-oneline-hours.data-table td:nth-child(5){width:14%;}
#w-hours .worker-oneline-hours.data-table th:nth-child(6),
#w-hours .worker-oneline-hours.data-table td:nth-child(6){
  width:56px;max-width:64px;padding-left:6px;padding-right:6px;text-align:center!important;box-sizing:border-box;
}
#w-hours .worker-oneline-hours.data-table th:nth-child(7),
#w-hours .worker-oneline-hours.data-table td:nth-child(7){width:90px;text-align:center;}
#w-hours .worker-oneline-hours.data-table th:nth-child(8),
#w-hours .worker-oneline-hours.data-table td:nth-child(8),
#w-hours .worker-oneline-hours.data-table td.admin-td-actions{
  min-width:52px;width:52px;max-width:56px;box-sizing:border-box;text-align:center;
  padding-left:4px;padding-right:8px;justify-content:center;
}
#w-hours .worker-oneline-hours.data-table td:nth-child(6).admin-td-hours{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px;}
#w-hours .worker-hours-locked{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;color:var(--text2);opacity:.55;font-size:13px;
}
@media (max-width:900px){
  #w-hours .worker-oneline-hours.data-table th:nth-child(1),
  #w-hours .worker-oneline-hours.data-table td:nth-child(1){width:18%;}
  #w-hours .worker-oneline-hours.data-table th:nth-child(2),
  #w-hours .worker-oneline-hours.data-table td:nth-child(2){width:14%;}
  #w-hours .worker-oneline-hours.data-table th:nth-child(3),
  #w-hours .worker-oneline-hours.data-table td:nth-child(3){width:12%;}
  #w-hours .worker-oneline-hours.data-table th:nth-child(4),
  #w-hours .worker-oneline-hours.data-table td:nth-child(4){width:16%;min-width:96px;white-space:normal!important;line-height:1.2;}
  #w-hours .worker-oneline-hours.data-table th:nth-child(5),
  #w-hours .worker-oneline-hours.data-table td:nth-child(5){width:16%;}
  #w-hours .worker-oneline-hours.data-table th:nth-child(6),
  #w-hours .worker-oneline-hours.data-table td:nth-child(6){width:8%;}
  #w-hours .worker-oneline-hours.data-table th:nth-child(7),
  #w-hours .worker-oneline-hours.data-table td:nth-child(7){width:10%;}
  #w-hours .worker-oneline-hours.data-table th:nth-child(8),
  #w-hours .worker-oneline-hours.data-table td:nth-child(8),
  #w-hours .worker-oneline-hours.data-table td.admin-td-actions{width:52px;min-width:52px;max-width:56px;}
}

.lodging-address-list-modal{max-width:640px;}
#lodgingCategoriesModalBody .lodging-cat-modal-row,
#lodgingAddressListModalBody .lodging-addr-modal-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--border);flex-wrap:wrap;
}
#lodgingAddressListModalBody .lodging-addr-modal-block{margin-bottom:16px;}
#lodgingAddressListModalBody .lodging-addr-modal-block h4{margin:0 0 8px;font-size:14px;color:var(--text);}
#admin-hours .admin-oneline-hours.data-table td:nth-child(7).admin-td-hours{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px;}
#admin-kilometers .admin-oneline-km.data-table td:nth-child(6).admin-td-km{font-variant-numeric:tabular-nums;font-weight:600;text-align:center;}

/* Worker trips: compact table + expandable row */
#w-trips .wt-trip-summary{cursor:pointer;}
@media (hover:hover) and (pointer:fine){
#w-trips .wt-trip-summary:hover td{background:rgba(110,168,255,.06);}
}
#w-trips .wt-trip-detail{display:none;}
#w-trips .wt-trip-detail.open{display:table-row;}
#w-trips .wt-trip-detail .wt-trip-detail-inner{text-align:left;padding:14px 16px;line-height:1.45;color:var(--text);font-size:13px;background:rgba(0,0,0,.15);}
#w-trips .wt-trip-chevron{transition:transform .18s;display:inline-block;color:var(--text2);}
#w-trips .wt-trip-chevron.open{transform:rotate(90deg);color:var(--primary);}
#w-trips .wt-trips-table-hint{display:none;font-size:12px;color:var(--text2);margin:0 0 10px;line-height:1.4;}
#w-trips .wt-trip-route-preview{font-size:10px;color:var(--text2);margin-top:5px;line-height:1.3;display:none;}

/* WORKER LIST */
.worker-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .2s;}
@media (hover:hover) and (pointer:fine){
.worker-item:hover{background:rgba(110,168,255,.04);}
}
.worker-item:last-child{border-bottom:none;}
.w-avatar{width:38px;height:38px;border-radius:50%;background:var(--primary)!important;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff!important;flex-shrink:0;overflow:hidden;}
.w-avatar.has-photo,.admin-diary-avatar.has-photo{padding:0!important;background:transparent!important;}
.w-avatar.has-photo img,.admin-diary-avatar.has-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.user-avatar,.account-dropdown .ad-avatar{background:var(--primary)!important;color:#fff!important;}
#admin-diary .admin-diary-avatar, #w-diary .admin-diary-avatar{background:var(--primary)!important;color:#fff!important;}
#admin-dashboard .dash-person .w-avatar{background:var(--primary)!important;color:#fff!important;}
#workerDetailModal .wd-hero .w-avatar{background:var(--primary)!important;color:#fff!important;}
#admin-dashboard .dash-person .w-avatar.has-photo,
#workerDetailModal .wd-hero .w-avatar.has-photo,
#admin-workers .w-avatar.has-photo{background:transparent!important;}
[data-theme="light"] .w-avatar.has-photo,
[data-theme="light"] #admin-dashboard .dash-person .w-avatar.has-photo,
[data-theme="light"] #workerDetailModal .wd-hero .w-avatar.has-photo{background:transparent!important;}
.w-info{flex:1;}
.w-info h4{font-size:14px;color:var(--text);margin-bottom:2px;}
.w-info p{font-size:12px;color:var(--text2);}
.w-status{width:10px;height:10px;border-radius:50%;}
.w-status.online{background:var(--green);box-shadow:0 0 6px var(--green);}
.w-status.offline{background:#555;}

/* Offline / no-internet — last tab frozen + blurred behind card */
#offlineBanner{
  display:none;position:fixed;inset:0;z-index:100000;
  align-items:center;justify-content:center;
  padding:24px;padding-top:calc(24px + env(safe-area-inset-top, 0px));
  padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
  background:transparent;
  color:var(--text,#edf3fb);text-align:center;
  pointer-events:auto;touch-action:none;
  box-sizing:border-box;
  overflow:hidden;
}
#offlineBanner.show{display:flex;}
#offlineBanner .offline-blur-bg{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  background:var(--bg,#09111a);
}
#offlineBanner .offline-blur-bg > *{
  position:absolute;left:0;top:0;width:100%;min-height:100%;
  transform:scale(1.06);
  transform-origin:center top;
  filter:blur(14px) saturate(.92);
  -webkit-filter:blur(14px) saturate(.92);
  pointer-events:none!important;
  user-select:none!important;
}
#offlineBanner .offline-lock-scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:rgba(9,17,26,.42);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
html[data-theme="light"] #offlineBanner .offline-lock-scrim{
  background:rgba(247,249,251,.48);
}
#offlineBanner .offline-lock-card,
#orgSuspendedLock .offline-lock-card{
  position:relative;z-index:2;
  width:min(420px,100%);
  background:var(--card,#0f1722);
  border:1px solid var(--border,rgba(255,255,255,.12));
  border-radius:20px;
  padding:28px 22px 22px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
#offlineBanner .offline-lock-ico{
  width:64px;height:64px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(180,35,24,.16);color:#ff8a80;font-size:26px;
  margin-bottom:4px;border:1px solid rgba(180,35,24,.28);
  position:relative;
  animation:offlineIcoPulse 1.8s ease-in-out infinite;
}
#offlineBanner .offline-lock-slash{
  position:absolute;left:50%;top:50%;width:34px;height:3px;
  background:#ff8a80;border-radius:2px;
  transform:translate(-50%,-50%) rotate(-42deg);
  box-shadow:0 0 0 2px rgba(15,23,34,.55);
}
#offlineBanner .offline-lock-title,
#orgSuspendedLock .offline-lock-title{
  margin:0;font-size:20px;font-weight:750;letter-spacing:-.02em;color:var(--text,#edf3fb);
}
#offlineBanner .offline-lock-text,
#orgSuspendedLock .offline-lock-text{
  margin:0;font-size:14px;line-height:1.45;color:var(--text2,#a8b4c4);font-weight:500;max-width:34ch;
}
#offlineBanner .offline-lock-retry,
#orgSuspendedLock .offline-lock-retry{
  margin-top:10px;min-width:160px;justify-content:center;
}
#offlineBanner.show .offline-lock-card,
#orgSuspendedLock.show .offline-lock-card{
  animation:offlineCardIn .32s ease-out;
}
@keyframes offlineIcoPulse{
  0%,100%{transform:scale(1);opacity:1;}
  50%{transform:scale(1.04);opacity:.88;}
}
@keyframes offlineCardIn{
  from{opacity:0;transform:translateY(10px) scale(.98);}
  to{opacity:1;transform:none;}
}
body.has-offline-banner{
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:none;
}
body.has-offline-banner #loginScreen,
body.has-offline-banner #appShell,
body.has-offline-banner #bootSkeleton,
body.has-offline-banner #bootSnapshot{
  pointer-events:none!important;
  user-select:none!important;
  /* Keep last tab visible under blur layer (hidden visually via overlay, not removed) */
  visibility:hidden!important;
}
html[data-pwa-standalone] #offlineBanner,
:root[data-ios-ui] #offlineBanner{
  padding-top:calc(24px + env(safe-area-inset-top, 0px));
}

/* Org suspended lock — login allowed, app blocked */
#orgSuspendedLock{
  display:none;position:fixed;inset:0;z-index:100050;
  align-items:center;justify-content:center;
  padding:24px;padding-top:calc(24px + env(safe-area-inset-top, 0px));
  padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
  background:transparent;
  color:var(--text,#edf3fb);text-align:center;
  pointer-events:auto;touch-action:none;
  box-sizing:border-box;
}
#orgSuspendedLock.show{display:flex;}
#orgSuspendedLock .org-suspended-scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:rgba(9,17,26,.62);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
html[data-theme="light"] #orgSuspendedLock .org-suspended-scrim{
  background:rgba(247,249,251,.7);
}
#orgSuspendedLock .org-suspended-card{
  position:relative;z-index:2;
  max-width:400px;width:100%;
  border:1px solid rgba(255,148,136,.28);
  box-shadow:0 24px 64px rgba(0,0,0,.45),0 0 0 1px rgba(255,148,136,.08);
}
#orgSuspendedLock .org-suspended-ico{
  width:64px;height:64px;border-radius:18px;margin:0 auto 16px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,148,136,.12);color:var(--red,#ff9488);
  font-size:30px;
}
#orgSuspendedLock .org-suspended-company{
  margin:0 0 16px;font-size:13px;font-weight:650;color:var(--text2);
}
body.has-org-suspended-lock{
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:none;
}
body.has-org-suspended-lock #appShell,
body.has-org-suspended-lock #bootSkeleton,
body.has-org-suspended-lock #bootSnapshot,
body.has-org-suspended-lock #offlineBanner,
body.has-org-suspended-lock #slowNetOverlay{
  pointer-events:none!important;
  user-select:none!important;
}
body.has-org-suspended-lock #orgSuspendedLock{pointer-events:auto!important;}

/* Subscription expired soft banner (grace 0–6 days) */
.sub-expired-banner{
  display:none;position:fixed;left:0;right:0;top:0;z-index:9500;
  padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top,0px));
  background:linear-gradient(180deg,#b45309,#9a3412);
  color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.28);
  box-sizing:border-box;
}
.sub-expired-banner.show{display:block;}
.sub-expired-banner-inner{
  max-width:980px;margin:0 auto;
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:13px;font-weight:650;line-height:1.35;text-align:center;
}
.sub-expired-banner-inner i{flex-shrink:0;opacity:.95;}
body.has-sub-expired-banner{
  --sub-expired-banner-h:48px;
}
body.has-sub-expired-banner #appShell .top-header{
  margin-top:calc(var(--sub-expired-banner-h) + env(safe-area-inset-top,0px));
}
body.has-sub-expired-banner #appShell .sidebar{
  padding-top:calc(var(--sub-expired-banner-h) + env(safe-area-inset-top,0px));
}
#orgSuspendedLock.is-sub-expired .org-suspended-ico{
  background:rgba(245,158,11,.14);color:#f5a524;
}
#orgSuspendedLock.is-sub-expired .org-suspended-card{
  border-color:rgba(245,158,11,.35);
  box-shadow:0 24px 64px rgba(0,0,0,.45),0 0 0 1px rgba(245,158,11,.1);
}

/* Slow network wait — top bar + optional soft card (web / PWA / APK) */
#slowNetOverlay{
  display:none;position:fixed;inset:0;z-index:99990;pointer-events:none;
  padding:0;box-sizing:border-box;
}
#slowNetOverlay.show{display:block;}
#slowNetOverlay.show-card{
  pointer-events:auto;
  background:rgba(9,17,26,.42);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:24px;padding-top:calc(24px + env(safe-area-inset-top, 0px));
  padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
}
.slow-net-topbar{
  position:fixed;left:0;right:0;top:0;height:3px;z-index:99991;
  background:rgba(110,168,255,.12);overflow:hidden;
  padding-top:env(safe-area-inset-top, 0px);
  box-sizing:content-box;
}
.slow-net-topbar-run{
  display:block;height:3px;width:38%;
  background:linear-gradient(90deg, transparent, #6EA8FF, #9bc4ff, transparent);
  animation:slowNetBar 1.1s ease-in-out infinite;
}
#slowNetOverlay.show-card .slow-net-topbar{opacity:.9;}
.slow-net-card{
  width:min(360px,100%);
  background:var(--card,#0f1722);
  border:1px solid var(--border,rgba(255,255,255,.12));
  border-radius:20px;
  padding:28px 22px 22px;
  box-shadow:0 20px 50px rgba(0,0,0,.4);
  text-align:center;
  animation:slowNetCardIn .28s ease-out;
}
.slow-net-signal{
  display:flex;align-items:flex-end;justify-content:center;gap:5px;
  height:36px;margin:0 auto 14px;
}
.slow-net-signal span{
  display:block;width:7px;border-radius:3px;
  background:rgba(110,168,255,.25);
  transform-origin:bottom center;
}
.slow-net-signal span:nth-child(1){height:10px;animation:slowNetSig 1.2s ease-in-out infinite;}
.slow-net-signal span:nth-child(2){height:16px;animation:slowNetSig 1.2s ease-in-out .15s infinite;}
.slow-net-signal span:nth-child(3){height:24px;animation:slowNetSig 1.2s ease-in-out .3s infinite;}
.slow-net-signal span:nth-child(4){height:32px;animation:slowNetSig 1.2s ease-in-out .45s infinite;background:rgba(110,168,255,.45);}
.slow-net-title{
  margin:0 0 6px;font-size:18px;font-weight:750;letter-spacing:-.02em;color:var(--text,#edf3fb);
}
.slow-net-text{
  margin:0 0 16px;font-size:13px;line-height:1.45;color:var(--text2,#a8b4c4);font-weight:500;
}
.slow-net-track{
  height:4px;border-radius:999px;background:rgba(110,168,255,.12);overflow:hidden;
}
.slow-net-track-run{
  display:block;height:100%;width:42%;border-radius:999px;
  background:#6EA8FF;
  animation:slowNetBar 1.15s ease-in-out infinite;
}
@keyframes slowNetBar{
  0%{transform:translateX(-120%);}
  100%{transform:translateX(320%);}
}
@keyframes slowNetSig{
  0%,100%{opacity:.35;transform:scaleY(.55);}
  50%{opacity:1;transform:scaleY(1);}
}
@keyframes slowNetCardIn{
  from{opacity:0;transform:translateY(8px) scale(.98);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
html[data-theme="light"] #slowNetOverlay.show-card{background:rgba(248,250,252,.55);}
html[data-theme="light"] .slow-net-topbar{background:rgba(37,99,235,.1);}
body.has-offline-banner #slowNetOverlay{display:none!important;}

.w-hours{font-size:13px;color:var(--text2);min-width:50px;text-align:right;}

/* OBJECT CARDS */
.object-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:12px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.object-card .oc-icon{width:48px;height:48px;border-radius:12px;background:rgba(110,168,255,.1);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--primary);flex-shrink:0;}
.object-card .oc-info{flex:1;min-width:200px;}
.object-card .oc-info h4{font-size:15px;color:var(--text);margin-bottom:4px;}
.object-card .oc-info p{font-size:12px;color:var(--text2);}

/* Admin dashboard — balanced dense overview */
#admin-dashboard{max-width:1240px;padding-bottom:24px;}
#w-home,#w-hours{max-width:1080px;padding-bottom:24px;}
@media (max-width:900px){
  /* Nav clearance is on #roleWorker — don't add phantom scroll on short pages */
  body[data-role="worker"] #w-home{padding-bottom:0!important;}
}
#admin-dashboard .admin-dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));}

#admin-dashboard .dash-head, #w-home .dash-head, #w-hours .dash-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 16px;flex-wrap:wrap;
}
#admin-dashboard .dash-head .section-title, #w-home .dash-head .section-title, #w-hours .dash-head .section-title{margin:0;font-size:26px;font-weight:750;letter-spacing:-.035em;}
#admin-dashboard .dash-greet, #w-home .dash-greet, #w-hours .dash-greet{font-size:13px;color:var(--text2);line-height:1.4;margin:8px 0 0;}

#admin-dashboard .dash-kpi, #w-home .dash-kpi, #w-hours .dash-kpi{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 12px;width:100%;
}
@media(max-width:1100px){#admin-dashboard .dash-kpi, #w-home .dash-kpi, #w-hours .dash-kpi{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:420px){#w-home .dash-kpi, #w-hours .dash-kpi{grid-template-columns:1fr;}}
#admin-dashboard .dash-kpi .dk-stat, #w-home .dash-kpi .dk-stat, #w-hours .dash-kpi .dk-stat{
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:15px 16px;
  border-radius:16px;background:var(--card);border:1px solid var(--border);box-sizing:border-box;
  cursor:pointer;text-align:left;font:inherit;appearance:none;-webkit-appearance:none;width:100%;
  transition:transform .18s,box-shadow .18s,border-color .15s;
}
@media (hover:hover) and (pointer:fine){
  #admin-dashboard .dash-kpi .dk-stat:hover, #w-home .dash-kpi .dk-stat:hover, #w-hours .dash-kpi .dk-stat:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--primary) 28%, transparent);}
}
#admin-dashboard .dash-kpi .dk-stat .sc-icon, #w-home .dash-kpi .dk-stat .sc-icon, #w-hours .dash-kpi .dk-stat .sc-icon{
  width:40px;height:40px;border-radius:12px;margin:0;font-size:15px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
#admin-dashboard .dash-kpi .dk-stat.blue .sc-icon, #w-home .dash-kpi .dk-stat.blue .sc-icon, #w-hours .dash-kpi .dk-stat.blue .sc-icon{background:color-mix(in srgb, var(--color-primary) 16%, transparent);color:var(--color-primary);}
#admin-dashboard .dash-kpi .dk-stat.green .sc-icon, #w-home .dash-kpi .dk-stat.green .sc-icon, #w-hours .dash-kpi .dk-stat.green .sc-icon{background:color-mix(in srgb, var(--color-secondary) 14%, transparent);color:var(--color-secondary);}
#admin-dashboard .dash-kpi .dk-stat.yellow .sc-icon, #w-home .dash-kpi .dk-stat.yellow .sc-icon, #w-hours .dash-kpi .dk-stat.yellow .sc-icon{background:color-mix(in srgb, var(--yellow) 14%, transparent);color:var(--yellow);}
#admin-dashboard .dash-kpi .dk-stat.orange .sc-icon, #w-home .dash-kpi .dk-stat.orange .sc-icon, #w-hours .dash-kpi .dk-stat.orange .sc-icon{background:color-mix(in srgb, var(--orange) 14%, transparent);color:var(--orange);}
#admin-dashboard .dash-kpi .dk-stat.purple .sc-icon, #w-home .dash-kpi .dk-stat.purple .sc-icon, #w-hours .dash-kpi .dk-stat.purple .sc-icon{background:rgba(156,39,176,.15);color:#ce93d8;}
[data-theme="light"] #admin-dashboard .dash-kpi .dk-stat.purple .sc-icon, [data-theme="light"] #w-home .dash-kpi .dk-stat.purple .sc-icon, [data-theme="light"] #w-hours .dash-kpi .dk-stat.purple .sc-icon{background:#EDE7F6;color:#5E35B1;}
#admin-dashboard .dash-kpi .dk-body, #w-home .dash-kpi .dk-body, #w-hours .dash-kpi .dk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#admin-dashboard .dash-kpi .dk-value, #w-home .dash-kpi .dk-value, #w-hours .dash-kpi .dk-value{
  font-size:22px;font-weight:750;line-height:1.1;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#admin-dashboard .dash-kpi .dk-label, #w-home .dash-kpi .dk-label, #w-hours .dash-kpi .dk-label{font-size:12px;color:var(--text2);line-height:1.3;}

/* Week strip — always fills width under KPI */
#admin-dashboard .dash-week-strip, #w-home .dash-week-strip, #w-hours .dash-week-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px;
}
@media(max-width:900px){#admin-dashboard .dash-week-strip, #w-home .dash-week-strip, #w-hours .dash-week-strip{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:420px){#w-home .dash-week-strip, #w-hours .dash-week-strip{grid-template-columns:1fr;}}
#admin-dashboard .dash-week-chip, #w-home .dash-week-chip, #w-hours .dash-week-chip{
  display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;
  background:var(--card);border:1px solid var(--border);min-width:0;
}
#admin-dashboard .dash-week-chip .wc-ico, #w-home .dash-week-chip .wc-ico, #w-hours .dash-week-chip .wc-ico{
  width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:var(--input-bg);color:var(--text2);font-size:14px;
}
#admin-dashboard .dash-week-chip .wc-val, #w-home .dash-week-chip .wc-val, #w-hours .dash-week-chip .wc-val{
  font-size:18px;font-weight:750;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15;
}
#admin-dashboard .dash-week-chip .wc-lab, #w-home .dash-week-chip .wc-lab, #w-hours .dash-week-chip .wc-lab{font-size:11px;color:var(--text2);margin-top:2px;line-height:1.3;}
#admin-dashboard .dash-week-chip .wc-lab-short, #w-home .dash-week-chip .wc-lab-short, #w-hours .dash-week-chip .wc-lab-short{display:none;}

/* Equal two-column main */
#admin-dashboard .dash-layout, #w-home .dash-layout, #w-hours .dash-layout, #w-diary .dash-layout, #w-trips .dash-layout, #w-tools .dash-layout{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch;
}
@media(max-width:980px){#admin-dashboard .dash-layout, #w-home .dash-layout, #w-hours .dash-layout, #w-diary .dash-layout, #w-trips .dash-layout, #w-tools .dash-layout{grid-template-columns:1fr;}}

#admin-dashboard .dash-col, #w-home .dash-col, #w-hours .dash-col, #w-diary .dash-col, #w-trips .dash-col, #w-tools .dash-col{display:flex;flex-direction:column;gap:16px;min-width:0;}
#admin-dashboard .dash-panel, #w-home .dash-panel, #w-hours .dash-panel, #w-diary .dash-panel, #w-trips .dash-panel, #w-tools .dash-panel{
  background:var(--card);border:1px solid var(--border);border-radius:16px;padding:0;box-sizing:border-box;overflow:hidden;
  display:flex;flex-direction:column;flex:1;
}
#admin-dashboard .dash-panel.dash-panel-activity, #w-home .dash-panel.dash-panel-activity, #w-hours .dash-panel.dash-panel-activity{min-height:280px;}
[data-theme="light"] #admin-dashboard .dash-panel, [data-theme="light"] #w-home .dash-panel, [data-theme="light"] #w-hours .dash-panel, [data-theme="light"] #w-diary .dash-panel, [data-theme="light"] #w-trips .dash-panel, [data-theme="light"] #w-tools .dash-panel{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-dashboard .dash-panel-head, #w-home .dash-panel-head, #w-hours .dash-panel-head, #w-diary .dash-panel-head, #w-trips .dash-panel-head, #w-tools .dash-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;
}
#admin-dashboard .dash-panel-title, #w-home .dash-panel-title, #w-hours .dash-panel-title, #w-diary .dash-panel-title, #w-trips .dash-panel-title, #w-tools .dash-panel-title{
  margin:0;font-size:14px;font-weight:750;color:var(--text);display:flex;align-items:center;gap:8px;letter-spacing:-.01em;
}
#admin-dashboard .dash-panel-title i, #w-home .dash-panel-title i, #w-hours .dash-panel-title i, #w-diary .dash-panel-title i, #w-trips .dash-panel-title i, #w-tools .dash-panel-title i{color:var(--text2);font-size:13px;}
#admin-dashboard .dash-panel-actions, #w-home .dash-panel-actions, #w-hours .dash-panel-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
#admin-dashboard .dash-panel-actions .btn-sm, #w-home .dash-panel-actions .btn-sm, #w-hours .dash-panel-actions .btn-sm{padding:7px 10px;font-size:12px;border-radius:10px;}
#admin-dashboard .dash-panel-body, #w-home .dash-panel-body, #w-hours .dash-panel-body, #w-diary .dash-panel-body, #w-trips .dash-panel-body, #w-tools .dash-panel-body{padding:14px 16px 16px;flex:1;}

#admin-dashboard .dash-sites-search, #w-home .dash-sites-search, #w-hours .dash-sites-search{
  display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 12px;margin:0 0 12px;
  border-radius:12px;background:var(--input-bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-dashboard .dash-sites-search, [data-theme="light"] #w-home .dash-sites-search, [data-theme="light"] #w-hours .dash-sites-search{background:#fff;}
#admin-dashboard .dash-sites-search i, #w-home .dash-sites-search i, #w-hours .dash-sites-search i{color:var(--text2);font-size:13px;}
#admin-dashboard .dash-sites-search input, #w-home .dash-sites-search input, #w-hours .dash-sites-search input{
  flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;outline:none;min-height:38px;
}

#admin-dashboard .dash-sites-list, #w-home .dash-sites-list, #w-hours .dash-sites-list{display:flex;flex-direction:column;gap:10px;}
#admin-dashboard .admin-dash-site-card, #w-home .admin-dash-site-card, #w-hours .admin-dash-site-card{
  margin:0;padding:0!important;overflow:hidden;border-radius:14px;position:relative;
  background:color-mix(in srgb, var(--bg) 55%, var(--card));border:1px solid var(--border);
  transition:border-color .15s;
}
#admin-dashboard .admin-dash-site-card.is-open, #w-home .admin-dash-site-card.is-open, #w-hours .admin-dash-site-card.is-open{border-color:color-mix(in srgb, var(--primary) 28%, transparent);}
#admin-dashboard .admin-dash-site-head, #w-home .admin-dash-site-head, #w-hours .admin-dash-site-head{padding:14px 16px;}
#admin-dashboard .admin-dash-site-text h4, #w-home .admin-dash-site-text h4, #w-hours .admin-dash-site-text h4{font-size:15px;}
#admin-dashboard .admin-dash-site-badges, #w-home .admin-dash-site-badges, #w-hours .admin-dash-site-badges{margin-top:6px;}
#admin-dashboard .admin-dash-site-workers, #w-home .admin-dash-site-workers, #w-hours .admin-dash-site-workers{padding:16px 16px 14px;}

/* Admin dashboard bento widgets */
#admin-dashboard .dash-bento{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:
    "hero workers sites"
    "approve approve approve"
    "week week week";
  gap:12px;margin:0 0 16px;align-items:stretch;
}
#admin-dashboard .db-hero{grid-area:hero;}
#admin-dashboard .db-tile.blue{grid-area:workers;}
#admin-dashboard .db-tile.green{grid-area:sites;}
#admin-dashboard .db-approve{grid-area:approve;}
#admin-dashboard .db-week{grid-area:week;}

#admin-dashboard .db-hero,
#admin-dashboard .db-tile,
#admin-dashboard .db-week-cell{
  appearance:none;-webkit-appearance:none;border:1px solid var(--border);background:var(--card);
  color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;
  transition:border-color .15s,transform .18s;
}
@media (hover:hover) and (pointer:fine){
  #admin-dashboard .db-hero:hover,
  #admin-dashboard .db-tile:hover,
  #admin-dashboard .db-week-cell:hover{border-color:color-mix(in srgb,var(--primary) 30%,transparent);transform:translateY(-1px);}
  #admin-dashboard .db-approve-btn:hover{background:color-mix(in srgb,var(--orange) 12%,transparent);}
}

#admin-dashboard .db-hero{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;
  min-height:148px;padding:18px;border-radius:20px;overflow:hidden;
  background:
    radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--yellow) 22%,transparent),transparent 55%),
    linear-gradient(160deg,color-mix(in srgb,var(--yellow) 10%,var(--card)),var(--card));
  border-color:color-mix(in srgb,var(--yellow) 28%,var(--border));
}
#admin-dashboard .db-kicker{
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--yellow);
}
#admin-dashboard .db-hero-main{display:flex;align-items:baseline;gap:8px;}
#admin-dashboard .db-hero-val{
  font-size:42px;font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--text);
  font-variant-numeric:tabular-nums;
}
#admin-dashboard .db-hero-unit{font-size:16px;font-weight:700;color:var(--text2);}
#admin-dashboard .db-hero-lab{font-size:13px;color:var(--text2);line-height:1.3;}
#admin-dashboard .db-hero-go{
  position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:12px;
  background:color-mix(in srgb,var(--yellow) 16%,transparent);color:var(--yellow);
}

#admin-dashboard .db-tile{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;
  gap:12px;min-height:148px;padding:16px;border-radius:20px;position:relative;
}
#admin-dashboard .db-tile.blue{
  background:linear-gradient(165deg,color-mix(in srgb,var(--color-primary) 16%,var(--card)),var(--card) 70%);
  border-color:color-mix(in srgb,var(--color-primary) 28%,var(--border));
}
#admin-dashboard .db-tile.green{
  background:linear-gradient(165deg,color-mix(in srgb,var(--color-secondary) 14%,var(--card)),var(--card) 70%);
  border-color:color-mix(in srgb,var(--color-secondary) 28%,var(--border));
}
#admin-dashboard .db-tile-ico{
  width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14px;
}
#admin-dashboard .db-tile.blue .db-tile-ico{background:color-mix(in srgb,var(--color-primary) 16%,transparent);color:var(--color-primary);}
#admin-dashboard .db-tile.green .db-tile-ico{background:color-mix(in srgb,var(--color-secondary) 14%,transparent);color:var(--color-secondary);}
#admin-dashboard .db-tile-val{
  font-size:32px;font-weight:800;letter-spacing:-.04em;line-height:1;margin-top:auto;
  font-variant-numeric:tabular-nums;
}
#admin-dashboard .db-tile-lab{font-size:12px;color:var(--text2);line-height:1.3;font-weight:500;}

#admin-dashboard .db-approve{
  border:1px solid color-mix(in srgb,var(--orange) 34%,var(--border));
  border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--orange) 10%,var(--card)),var(--card));
}
#admin-dashboard .db-approve.is-clear{
  border-color:color-mix(in srgb,var(--color-secondary) 28%,var(--border));
  background:linear-gradient(180deg,color-mix(in srgb,var(--color-secondary) 8%,var(--card)),var(--card));
}
#admin-dashboard .db-approve-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;border-bottom:1px solid color-mix(in srgb,var(--orange) 18%,var(--border));
}
#admin-dashboard .db-approve.is-clear .db-approve-head{display:none;}
#admin-dashboard .db-approve-title{
  display:flex;align-items:center;gap:8px;font-size:14px;font-weight:750;color:var(--text);
}
#admin-dashboard .db-approve-title i{color:var(--orange);}
#admin-dashboard .db-approve-total{
  min-width:28px;height:28px;padding:0 8px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--orange) 18%,transparent);color:var(--orange);
  font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;
}
#admin-dashboard .db-approve-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;}
#admin-dashboard .db-approve-actions.is-single{grid-template-columns:1fr;}
#admin-dashboard .db-approve-btn{
  appearance:none;-webkit-appearance:none;border:0;border-right:1px solid color-mix(in srgb,var(--orange) 16%,var(--border));
  background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left;
  display:flex;align-items:center;gap:10px;padding:14px 16px;min-width:0;
}
#admin-dashboard .db-approve-btn:last-child{border-right:0;}
#admin-dashboard .db-approve-btn i{color:var(--orange);width:16px;text-align:center;flex-shrink:0;}
#admin-dashboard .db-approve-btn-lab{
  flex:1;min-width:0;font-size:13px;font-weight:650;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#admin-dashboard .db-approve-btn strong{
  font-size:16px;font-weight:800;color:var(--orange);font-variant-numeric:tabular-nums;
}
#admin-dashboard .db-approve-clear{
  display:flex;align-items:center;gap:8px;padding:14px 16px;font-size:13px;color:var(--text2);
}
#admin-dashboard .db-approve-clear i{color:var(--color-secondary);}

#admin-dashboard .db-week{
  border:1px solid var(--border);border-radius:18px;background:var(--card);overflow:hidden;
}
#admin-dashboard .db-week-head{
  display:flex;align-items:center;gap:8px;padding:12px 16px;
  border-bottom:1px solid var(--border);font-size:13px;font-weight:750;color:var(--text);
}
#admin-dashboard .db-week-head i{color:var(--text2);font-size:12px;}
#admin-dashboard .db-week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
#admin-dashboard .db-week-cell{
  display:flex;flex-direction:column;gap:3px;padding:14px 12px;
  border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;min-width:0;
}
#admin-dashboard .db-week-cell:last-child{border-right:0;}
#admin-dashboard .db-week-val{
  font-size:18px;font-weight:750;letter-spacing:-.02em;line-height:1.1;
  font-variant-numeric:tabular-nums;color:var(--text);
}
#admin-dashboard .db-week-lab{font-size:11px;color:var(--text2);line-height:1.25;}

[data-theme="light"] #admin-dashboard .db-hero{
  background:radial-gradient(120% 90% at 100% 0%,#FFF3CD,transparent 55%),linear-gradient(160deg,#FFF8E1,#fff);
  border-color:#FFE082;
}
[data-theme="light"] #admin-dashboard .db-tile.blue{
  background:linear-gradient(165deg,#E8F0FE,#fff 70%);border-color:#C5D7F5;
}
[data-theme="light"] #admin-dashboard .db-tile.green{
  background:linear-gradient(165deg,#E8F5E9,#fff 70%);border-color:#C8E6C9;
}
[data-theme="light"] #admin-dashboard .db-approve{
  background:linear-gradient(180deg,#FFF3E0,#fff);
}

@media(max-width:900px){
  #admin-dashboard .dash-bento{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "hero hero"
      "workers sites"
      "approve approve"
      "week week";
  }
  #admin-dashboard .db-hero{min-height:128px;padding:16px;}
  #admin-dashboard .db-hero-val{font-size:36px;}
  #admin-dashboard .db-tile{min-height:118px;padding:14px;border-radius:18px;}
  #admin-dashboard .db-tile-val{font-size:28px;}
  #admin-dashboard .dash-head{margin:0 0 14px;align-items:flex-start;}
  #admin-dashboard .dash-head .section-title{
    font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.15;
  }
  #admin-dashboard .dash-head .section-title i{font-size:18px;opacity:.85;}
  #admin-dashboard .dash-greet{margin:6px 0 0;font-size:12px;}
  #admin-dashboard .dash-layout{gap:12px;align-items:start;}
  #admin-dashboard .dash-col{gap:12px;}
  #admin-dashboard .dash-panel{border-radius:16px;flex:0 0 auto;}
  #admin-dashboard .dash-panel-head{padding:12px 14px;}
  #admin-dashboard .dash-panel-body{padding:12px 14px 14px;flex:0 0 auto;}
  #admin-dashboard .dash-panel.dash-panel-activity{min-height:0;}
  #admin-dashboard .admin-dash-site-head{padding:12px 14px;}
  #admin-dashboard .admin-dash-site-workers{padding:12px 14px;}
}
@media(max-width:420px){
  #admin-dashboard .db-approve-actions{grid-template-columns:1fr;}
  #admin-dashboard .db-approve-btn{border-right:0;border-bottom:1px solid color-mix(in srgb,var(--orange) 16%,var(--border));}
  #admin-dashboard .db-approve-btn:last-child{border-bottom:0;}
  #admin-dashboard .db-week-grid{grid-template-columns:1fr 1fr;}
  #admin-dashboard .db-week-cell:nth-child(2n){border-right:0;}
  #admin-dashboard .db-week-cell:nth-child(-n+2){border-bottom:1px solid var(--border);}
}

/* Needs — compact inside column */
#admin-dashboard .dash-needs, #w-home .dash-needs, #w-hours .dash-needs{
  display:flex;flex-direction:column;gap:0;margin:0;
  border:1px solid color-mix(in srgb, var(--orange) 32%, var(--border));
  border-radius:14px;overflow:hidden;background:color-mix(in srgb, var(--orange) 7%, transparent);
}
#admin-dashboard .dash-needs.is-clear, #w-home .dash-needs.is-clear, #w-hours .dash-needs.is-clear{
  border-color:color-mix(in srgb, var(--color-secondary) 28%, var(--border));
  background:color-mix(in srgb, var(--color-secondary) 6%, transparent);
}
#admin-dashboard .dash-needs-head, #w-home .dash-needs-head, #w-hours .dash-needs-head{
  display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid color-mix(in srgb, var(--orange) 18%, var(--border));
}
#admin-dashboard .dash-needs.is-clear .dash-needs-head, #w-home .dash-needs.is-clear .dash-needs-head, #w-hours .dash-needs.is-clear .dash-needs-head{border-bottom-color:color-mix(in srgb, var(--color-secondary) 16%, var(--border));}
#admin-dashboard .dash-needs-head i, #w-home .dash-needs-head i, #w-hours .dash-needs-head i{color:var(--orange);}
#admin-dashboard .dash-needs.is-clear .dash-needs-head i, #w-home .dash-needs.is-clear .dash-needs-head i, #w-hours .dash-needs.is-clear .dash-needs-head i{color:var(--color-secondary);}
#admin-dashboard .dash-needs-head strong, #w-home .dash-needs-head strong, #w-hours .dash-needs-head strong{font-size:13px;font-weight:750;color:var(--text);}
#admin-dashboard .dash-needs-head span, #w-home .dash-needs-head span, #w-hours .dash-needs-head span{font-size:12px;color:var(--text2);margin-left:auto;}
#admin-dashboard .dash-need-row, #w-home .dash-need-row, #w-hours .dash-need-row{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-top:1px solid color-mix(in srgb, var(--orange) 14%, var(--border));
  background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left;appearance:none;width:100%;
  transition:background .15s;
}
#admin-dashboard .dash-need-row:first-of-type, #w-home .dash-need-row:first-of-type, #w-hours .dash-need-row:first-of-type{border-top:0;}
@media (hover:hover) and (pointer:fine){
  #admin-dashboard .dash-need-row:hover, #w-home .dash-need-row:hover, #w-hours .dash-need-row:hover{background:color-mix(in srgb, var(--orange) 10%, transparent);}
}
#admin-dashboard .dash-need-row .nr-ico, #w-home .dash-need-row .nr-ico, #w-hours .dash-need-row .nr-ico{
  width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:color-mix(in srgb, var(--orange) 16%, transparent);color:var(--orange);font-size:12px;
}
#admin-dashboard .dash-need-row .nr-body, #w-home .dash-need-row .nr-body, #w-hours .dash-need-row .nr-body{flex:1;min-width:0;}
#admin-dashboard .dash-need-row .nr-title, #w-home .dash-need-row .nr-title, #w-hours .dash-need-row .nr-title{font-size:13px;font-weight:700;color:var(--text);margin:0 0 2px;}
#admin-dashboard .dash-need-row .nr-sub, #w-home .dash-need-row .nr-sub, #w-hours .dash-need-row .nr-sub{font-size:12px;color:var(--text2);margin:0;}
#admin-dashboard .dash-need-row .nr-count, #w-home .dash-need-row .nr-count, #w-hours .dash-need-row .nr-count{
  font-size:17px;font-weight:750;font-variant-numeric:tabular-nums;color:var(--orange);flex-shrink:0;
}
#admin-dashboard .dash-needs-clear, #w-home .dash-needs-clear, #w-hours .dash-needs-clear{
  padding:16px 14px;text-align:center;color:var(--text2);font-size:13px;line-height:1.45;
}

#admin-dashboard .dash-section, #w-home .dash-section, #w-hours .dash-section{padding:0;margin:0;}
#admin-dashboard .dash-section + .dash-section, #w-home .dash-section + .dash-section, #w-hours .dash-section + .dash-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);}
#admin-dashboard .dash-section-head, #w-home .dash-section-head, #w-hours .dash-section-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;
}
#admin-dashboard .dash-section-head h5, #w-home .dash-section-head h5, #w-hours .dash-section-head h5{
  margin:0;font-size:12px;font-weight:750;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;
  display:flex;align-items:center;gap:7px;
}
#admin-dashboard .dash-section-head h5 .dot, #w-home .dash-section-head h5 .dot, #w-hours .dash-section-head h5 .dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;}
#admin-dashboard .dash-section-head .btn-sm, #w-home .dash-section-head .btn-sm, #w-hours .dash-section-head .btn-sm{padding:5px 9px;font-size:11px;border-radius:8px;}

#admin-dashboard .dash-online-list, #w-home .dash-online-list, #w-hours .dash-online-list,
#admin-dashboard .dash-unassigned-list, #w-home .dash-unassigned-list, #w-hours .dash-unassigned-list,
#admin-dashboard .dash-activity-list, #w-home .dash-activity-list, #w-hours .dash-activity-list{display:flex;flex-direction:column;gap:8px;}
#admin-dashboard .dash-person, #w-home .dash-person, #w-hours .dash-person,
#admin-dashboard .dash-act, #w-home .dash-act, #w-hours .dash-act{
  display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:12px;
  background:var(--input-bg);border:1px solid var(--border);
}
#admin-dashboard .dash-person, #w-home .dash-person, #w-hours .dash-person{align-items:center;}
#admin-dashboard .dash-person .w-avatar, #w-home .dash-person .w-avatar, #w-hours .dash-person .w-avatar,
#admin-dashboard .dash-act .act-ico, #w-home .dash-act .act-ico, #w-hours .dash-act .act-ico{
  width:32px;height:32px;font-size:11px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
#admin-dashboard .dash-act .act-ico, #w-home .dash-act .act-ico, #w-hours .dash-act .act-ico{
  border-radius:10px;background:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-primary);font-size:12px;
  margin-top:1px;
}
#admin-dashboard .dash-act.act-km .act-ico, #w-home .dash-act.act-km .act-ico, #w-hours .dash-act.act-km .act-ico{background:color-mix(in srgb, var(--orange) 14%, transparent);color:var(--orange);}
#admin-dashboard .dash-act.act-diary .act-ico, #w-home .dash-act.act-diary .act-ico, #w-hours .dash-act.act-diary .act-ico{background:color-mix(in srgb, var(--color-secondary) 14%, transparent);color:var(--color-secondary);}
#admin-dashboard .dash-person-main, #w-home .dash-person-main, #w-hours .dash-person-main,
#admin-dashboard .dash-act-main, #w-home .dash-act-main, #w-hours .dash-act-main{flex:1;min-width:0;}
#admin-dashboard .dash-person-name, #w-home .dash-person-name, #w-hours .dash-person-name,
#admin-dashboard .dash-act-title, #w-home .dash-act-title, #w-hours .dash-act-title{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#admin-dashboard .dash-act-action, #w-home .dash-act-action, #w-hours .dash-act-action{
  margin-top:2px;font-size:12px;font-weight:600;color:var(--text);line-height:1.35;
}
#admin-dashboard .dash-person-sub, #w-home .dash-person-sub, #w-hours .dash-person-sub,
#admin-dashboard .dash-act-sub, #w-home .dash-act-sub, #w-hours .dash-act-sub{
  margin-top:3px;font-size:11px;color:var(--text2);line-height:1.45;
  white-space:normal;overflow:visible;text-overflow:unset;
}
#admin-dashboard .dash-person-sub, #w-home .dash-person-sub, #w-hours .dash-person-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#admin-dashboard .dash-act-note, #w-home .dash-act-note, #w-hours .dash-act-note{
  margin-top:4px;font-size:11px;color:var(--text2);line-height:1.45;opacity:.92;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#admin-dashboard .dash-act > .fa-chevron-right, #w-home .dash-act > .fa-chevron-right, #w-hours .dash-act > .fa-chevron-right{margin-top:10px;flex-shrink:0;}
#admin-dashboard .dash-empty-inline, #w-home .dash-empty-inline, #w-hours .dash-empty-inline{
  padding:18px 10px;text-align:center;color:var(--text2);font-size:13px;line-height:1.45;
}
#admin-dashboard .dash-sites-empty, #w-home .dash-sites-empty, #w-hours .dash-sites-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:36px 18px;gap:8px;color:var(--text2);flex:1;
}
#admin-dashboard .dash-sites-empty i, #w-home .dash-sites-empty i, #w-hours .dash-sites-empty i{font-size:22px;opacity:.7;}
#admin-dashboard .dash-sites-empty p, #w-home .dash-sites-empty p, #w-hours .dash-sites-empty p{margin:0;font-size:13px;line-height:1.45;max-width:280px;}

/* ===== ADMIN TRANSPORT (OBD / GPS prototype) ===== */
#admin-transport{max-width:none;width:100%;padding-bottom:24px;}
#admin-transport .tr-head{
  margin:0 0 14px;
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
}
#admin-transport .tr-head-text{min-width:0;flex:1;}
#admin-transport .tr-head .section-title{margin:0 0 6px;}
#admin-transport .tr-sub{margin:0;font-size:13px;color:var(--text2);line-height:1.45;max-width:640px;}
#admin-transport .tr-add-btn{flex-shrink:0;white-space:nowrap;align-self:flex-start;}
#admin-transport .tr-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px;}
@media(max-width:900px){#admin-transport .tr-kpi{grid-template-columns:1fr 1fr;}}
#admin-transport .tr-kpi .tr-chip{
  display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;
  background:var(--card);border:1px solid var(--border);min-width:0;
}
#admin-transport .tr-kpi .tr-chip .wc-ico{
  width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.14);color:var(--primary,#6ea8ff);flex-shrink:0;
}
#admin-transport .tr-kpi .tr-chip.is-fuel .wc-ico{background:rgba(224,130,0,.14);color:var(--orange,#e08200);}
#admin-transport .tr-kpi .tr-chip.is-alarm .wc-ico{background:rgba(255,148,136,.14);color:var(--red,#ff9488);}
#admin-transport .tr-kpi .tr-chip.is-ok .wc-ico{background:rgba(103,223,173,.14);color:var(--green,#67dfad);}
#admin-transport .tr-kpi .wc-val{font-size:20px;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
#admin-transport .tr-kpi .wc-lab{font-size:11px;color:var(--text2);margin-top:2px;line-height:1.3;}
@media(max-width:720px){
  #admin-transport .tr-head{
    margin:0 0 12px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;
  }
  #admin-transport .tr-head-text{flex:1;min-width:0;}
  #admin-transport .tr-head-text .tr-sub{display:none;}
  #admin-transport .tr-head-text .section-title{margin:0;font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.15;}
  #admin-transport .tr-head-text .section-title i{font-size:18px;opacity:.85;}
  #admin-transport .tr-add-btn{
    width:auto;align-self:center;flex-shrink:0;
    min-height:36px;padding:8px 12px;font-size:13px;border-radius:10px;gap:6px;
  }
  #admin-transport .tr-add-btn i{font-size:12px;}
  #admin-transport .tr-kpi{
    grid-template-columns:1fr 1fr;gap:0;margin:0 0 14px;
    border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--card);
  }
  #admin-transport .tr-kpi .tr-chip-online,
  #admin-transport .tr-kpi .tr-chip-moving{display:none!important;}
  #admin-transport .tr-kpi .tr-chip{
    gap:10px;padding:12px 12px;border:0;border-radius:0;background:transparent;
    border-right:1px solid var(--border);min-height:0;
  }
  #admin-transport .tr-kpi .tr-chip-fuel{border-right:0;}
  #admin-transport .tr-kpi .tr-chip .wc-ico{width:34px;height:34px;font-size:13px;border-radius:10px;}
  #admin-transport .tr-kpi .wc-val{font-size:20px;font-weight:800;letter-spacing:-.03em;}
  #admin-transport .tr-kpi .wc-val small{font-size:12px!important;}
  #admin-transport .tr-kpi .wc-lab{font-size:11px;line-height:1.25;font-weight:500;}
}
#admin-transport .tr-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;align-items:stretch;}
@media(max-width:980px){#admin-transport .tr-layout{grid-template-columns:1fr;}}
#admin-transport .tr-panel{
  background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;min-height:0;
}
#admin-transport .tr-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0;
}
#admin-transport .tr-panel-head h4{margin:0;font-size:14px;font-weight:750;display:flex;align-items:center;gap:8px;}
#admin-transport .tr-panel-head h4 i{color:var(--text2);font-size:13px;}
#admin-transport .tr-panel-head-main{min-width:0;display:flex;flex-direction:column;gap:4px;}
#admin-transport .tr-vin{
  font-size:12px;color:var(--text2);font-variant-numeric:tabular-nums;letter-spacing:.04em;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.3;
  word-break:break-all;
}
#admin-transport .tr-vin-lbl{
  font-family:inherit;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  font-size:10px;margin-right:6px;opacity:.85;
}
@media(max-width:700px){#admin-transport .tr-vin-lbl{display:none;}}
#admin-transport .tr-info-btn{
  width:40px;height:40px;border-radius:11px;border:1px solid var(--border);
  background:var(--input-bg,rgba(255,255,255,.03));color:var(--text);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;
  transition:background .15s,border-color .15s,transform .15s;font-size:17px;
}
#admin-transport .tr-panel-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
#admin-transport .tr-action-btn{
  height:40px;padding:0 12px;border-radius:11px;border:1px solid var(--border);
  background:var(--input-bg,rgba(255,255,255,.03));color:var(--text);
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;flex-shrink:0;
  transition:background .15s,border-color .15s,transform .15s;
  font:inherit;font-size:13px;font-weight:650;white-space:nowrap;
}
#admin-transport .tr-action-btn i{font-size:14px;opacity:.9}
#admin-transport .tr-action-btn:hover{
  background:color-mix(in srgb, var(--primary,#6ea8ff) 12%, transparent);
  border-color:color-mix(in srgb, var(--primary,#6ea8ff) 35%, var(--border));
  transform:translateY(-1px);
}
@media(max-width:720px){
  #admin-transport .tr-action-btn .tr-action-lbl{display:none}
  #admin-transport .tr-action-btn{width:40px;padding:0;justify-content:center}
}
#admin-transport .tr-info-btn:hover{
  background:color-mix(in srgb, var(--primary,#6ea8ff) 12%, transparent);
  border-color:color-mix(in srgb, var(--primary,#6ea8ff) 35%, var(--border));
  transform:translateY(-1px);
}
.tr-info-modal .modal{max-width:560px}
.tr-info-block{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--input-bg,rgba(255,255,255,.03));margin-bottom:12px}
.tr-info-block:last-child{margin-bottom:0}
.tr-info-block h4{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text2)}
.tr-info-block p{margin:0;font-size:13px;line-height:1.55;color:var(--text)}
.tr-info-kv{display:grid;gap:8px}
.tr-info-kv-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:13px}
.tr-info-kv-row span:first-child{color:var(--text2)}
.tr-info-kv-row span:last-child{font-weight:700;text-align:right;font-variant-numeric:tabular-nums;word-break:break-word}
.tr-info-status{display:inline-flex;align-items:center;gap:6px;font-weight:750;font-size:12px}
.tr-info-dot{width:8px;height:8px;border-radius:999px;background:var(--green,#67dfad);box-shadow:0 0 0 3px rgba(103,223,173,.22)}
.tr-info-dot.warn{background:var(--orange,#e08200);box-shadow:0 0 0 3px rgba(224,130,0,.22)}
.tr-info-dot.off{background:var(--text2);box-shadow:0 0 0 3px rgba(148,163,184,.18)}
.tr-add-modal{max-width:560px}
.tr-add-steps{display:flex;gap:6px;margin:0 0 16px;flex-wrap:wrap}
.tr-add-step{
  flex:1;min-width:64px;padding:8px 6px;border-radius:10px;border:1px solid var(--border);
  background:var(--input-bg,rgba(255,255,255,.03));text-align:center;font-size:11px;font-weight:700;
  color:var(--text2);line-height:1.25;
}
.tr-add-step.is-active{border-color:color-mix(in srgb,var(--primary,#6ea8ff) 45%,var(--border));color:var(--text);background:color-mix(in srgb,var(--primary,#6ea8ff) 10%,transparent)}
.tr-add-step.is-done{border-color:color-mix(in srgb,var(--green,#67dfad) 40%,var(--border));color:var(--green,#67dfad)}
.tr-add-step .n{display:block;font-size:13px;font-weight:800;margin-bottom:2px;color:inherit}
.tr-add-guide{display:flex;flex-direction:column;gap:10px;margin:0}
.tr-add-guide-item{
  display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;
  border:1px solid var(--border);background:var(--input-bg,rgba(255,255,255,.03));
}
.tr-add-guide-item .n{
  width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.14);color:var(--primary,#6ea8ff);font-weight:800;font-size:13px;flex-shrink:0;
}
.tr-add-guide-item p{margin:0;font-size:13px;line-height:1.45;color:var(--text)}
.tr-add-wait{text-align:center;padding:18px 8px 8px}
.tr-add-wait .spin{font-size:28px;color:var(--primary,#6ea8ff);margin-bottom:12px}
.tr-add-wait p{margin:0;font-size:14px;line-height:1.5;color:var(--text)}
.tr-add-wait .sub{margin-top:8px;font-size:12px;color:var(--text2)}
.tr-add-hint{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--text2)}
.tr-add-sn-row{display:flex;gap:8px;align-items:stretch}
.tr-add-sn-row input{flex:1;min-width:0}
.tr-add-can-badge{
  display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:6px 10px;border-radius:999px;
  background:rgba(103,223,173,.14);color:var(--green,#67dfad);font-size:12px;font-weight:700;
}
.tr-edit-danger{
  margin-top:16px;padding:14px;border-radius:12px;border:1px solid rgba(255,148,136,.28);
  background:rgba(255,148,136,.06);
}
.tr-edit-danger h4{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--red,#ff9488)}
.tr-edit-danger p{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--text2)}
.tr-edit-danger-actions{display:flex;flex-wrap:wrap;gap:8px}
/* Transport route — fullscreen (no modal) */
.tr-route-fs{
  position:fixed;inset:0;z-index:520;display:none;
  background:var(--bg);color:var(--text);
  width:100%;height:100%;height:100dvh;
  overflow:hidden;
}
.tr-route-fs.is-open{display:flex;flex-direction:row;}
.tr-route-fs-side{
  flex:0 0 min(340px,38vw);width:min(340px,38vw);max-width:100%;
  display:flex;flex-direction:column;min-height:0;
  border-right:1px solid var(--border);background:var(--card);
}
.tr-route-fs-side-head{
  flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  padding:14px 14px 12px;padding-top:calc(14px + env(safe-area-inset-top,0px));
  border-bottom:1px solid var(--border);
}
.tr-route-fs-side-head h3{
  margin:0;font-size:16px;font-weight:700;letter-spacing:-.02em;line-height:1.25;min-width:0;
}
.tr-route-fs-side-sub{margin:4px 0 0;font-size:12px;color:var(--text2);line-height:1.35;}
.tr-route-fs-close{
  flex:0 0 auto;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);
  background:transparent;color:var(--text2);cursor:pointer;font-size:20px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
}
.tr-route-fs-close:hover{color:var(--text);border-color:var(--primary,#6ea8ff);background:rgba(110,168,255,.08);}
.tr-route-fs-filters{
  flex:0 0 auto;display:block;
  padding:12px 14px 8px;border-bottom:none;
}
.tr-route-fs-filters .filter-group{display:flex;flex-direction:column;gap:5px;min-width:0;position:relative;}
.tr-route-fs-filters label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text2);}
.tr-mini-cal-btn{
  width:100%;min-height:40px;border-radius:10px;border:1px solid var(--border);
  background:var(--input-bg,rgba(255,255,255,.03));color:var(--text);
  padding:0 12px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;
  display:flex;align-items:center;justify-content:flex-start;gap:10px;text-align:left;
}
.tr-mini-cal-btn i{color:var(--primary,#6ea8ff);font-size:14px;}
.tr-mini-cal-btn:hover,.tr-mini-cal-btn.is-open{
  border-color:color-mix(in srgb,var(--primary,#6ea8ff) 50%,var(--border));
  color:var(--text);
}
.tr-mini-cal-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tr-mini-cal-popup{
  display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 12px 32px rgba(0,0,0,.45);padding:12px;
}
.tr-mini-cal-popup.show{display:block;}
[data-theme="light"] .tr-mini-cal-popup{box-shadow:0 12px 28px rgba(15,23,42,.12);}
.tr-mini-cal-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;
}
.tr-mini-cal-head-title{font-size:13px;font-weight:750;letter-spacing:-.01em;color:var(--text);}
.tr-mini-cal-nav{
  width:30px;height:30px;border-radius:8px;border:1px solid var(--border);
  background:transparent;color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
}
.tr-mini-cal-nav:hover{color:var(--primary,#6ea8ff);border-color:var(--primary,#6ea8ff);}
.tr-mini-cal-weekdays{
  display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;
}
.tr-mini-cal-weekdays span{
  text-align:center;font-size:10px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--text2);padding:4px 0;
}
.tr-mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.tr-mini-cal-day{
  aspect-ratio:1;min-height:32px;border:none;border-radius:9px;
  background:transparent;color:var(--text);font:inherit;font-size:12px;font-weight:650;
  cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;
}
.tr-mini-cal-day.is-muted{color:var(--text2);opacity:.45;}
@media (hover:hover) and (pointer:fine){
  .tr-mini-cal-day:hover:not(:disabled){background:rgba(110,168,255,.12);color:var(--text);}
}
.tr-mini-cal-day.is-in-range{background:rgba(110,168,255,.14);border-radius:0;}
.tr-mini-cal-day.is-range-start{border-radius:9px 0 0 9px;}
.tr-mini-cal-day.is-range-end{border-radius:0 9px 9px 0;}
.tr-mini-cal-day.is-range-start.is-range-end{border-radius:9px;}
.tr-mini-cal-day.is-selected{
  background:var(--primary,#6ea8ff)!important;color:#0b1220!important;border-radius:9px;font-weight:800;
}
.tr-mini-cal-day.is-today:not(.is-selected)::after{
  content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--primary,#6ea8ff);
}
.tr-mini-cal-hint{
  margin:10px 0 0;font-size:11px;line-height:1.35;color:var(--text2);text-align:center;
}
.tr-mini-cal-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.tr-mini-cal-chip{
  flex:1 1 auto;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--border);
  background:transparent;color:var(--text2);font:inherit;font-size:11px;font-weight:700;cursor:pointer;
}
.tr-mini-cal-chip:hover,.tr-mini-cal-chip.is-on{
  border-color:color-mix(in srgb,var(--primary,#6ea8ff) 45%,var(--border));
  color:var(--text);background:rgba(110,168,255,.1);
}
.tr-route-fs-summary{
  flex:0 0 auto;margin:0 14px 10px;padding:14px 12px 12px;
  border:1px solid var(--border);border-radius:14px;
  background:var(--input-bg,rgba(255,255,255,.03));
  box-sizing:border-box;
}
.tr-route-fs-summary-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;align-items:start;
}
.tr-route-fs-summary-item{
  min-width:0;padding:0;border:none;background:transparent;text-align:center;
}
.tr-route-fs-summary-item .val{
  font-size:20px;font-weight:750;letter-spacing:-.03em;color:var(--text);line-height:1.15;
  font-variant-numeric:tabular-nums;
}
.tr-route-fs-summary-item .val small{
  font-size:11px;font-weight:650;margin-left:4px;opacity:.55;letter-spacing:0;
}
.tr-route-fs-summary-item .lbl{
  margin-top:5px;font-size:11px;font-weight:600;color:var(--text2);letter-spacing:.01em;
  line-height:1.25;
}
.tr-route-fs-summary-foot{
  margin:12px 0 0;padding-top:10px;border-top:1px solid var(--border);
  font-size:12px;color:var(--text2);line-height:1.35;text-align:center;
}
.tr-route-fs-list{
  flex:1 1 auto;min-height:0;overflow:auto;padding:10px 10px calc(12px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;gap:8px;
}
.tr-route-fs-empty{
  margin:18px 8px;padding:18px 14px;text-align:center;border:1px dashed var(--border);border-radius:14px;color:var(--text2);
}
.tr-route-fs-empty strong{display:block;color:var(--text);margin-bottom:4px;font-size:14px;}
.tr-route-fs-empty span{font-size:12px;line-height:1.4;}
.tr-route-item{
  width:100%;text-align:left;border:1px solid var(--border);border-radius:14px;
  background:transparent;color:var(--text);padding:12px 12px 11px;cursor:pointer;font:inherit;
  display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s;
}
.tr-route-item:hover{border-color:color-mix(in srgb,var(--primary,#6ea8ff) 45%,var(--border));background:rgba(110,168,255,.06);}
.tr-route-item.is-on{
  border-color:var(--tr-route-color, color-mix(in srgb,var(--primary,#6ea8ff) 55%,var(--border)));
  background:color-mix(in srgb, var(--tr-route-color, #6ea8ff) 14%, transparent);
}
.tr-route-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.tr-route-item-time-wrap{display:inline-flex;align-items:center;gap:8px;min-width:0;}
.tr-route-item-swatch{
  width:10px;height:10px;border-radius:50%;flex:0 0 auto;
  box-shadow:0 0 0 2px rgba(255,255,255,.08);
}
.tr-route-item-time{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text2);font-weight:650;}
.tr-route-item-badge{
  display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:750;letter-spacing:.02em;text-transform:uppercase;
}
.tr-route-item-badge.is-active{background:rgba(110,168,255,.16);color:var(--primary,#6ea8ff);}
.tr-route-item-badge.is-done{background:rgba(103,223,173,.14);color:var(--green,#67dfad);}
.tr-route-item-title{font-size:14px;font-weight:700;line-height:1.3;letter-spacing:-.01em;}
.tr-route-item-meta{font-size:12px;color:var(--text2);line-height:1.35;}
.tr-route-fs-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;}
.tr-route-fs-main-head{
  flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));
  border-bottom:1px solid var(--border);background:var(--card);
}
.tr-route-fs-main-head .tr-route-fs-close{display:none;}
.tr-route-meta{margin:0;font-size:13px;color:var(--text2);line-height:1.45;min-width:0;}
.tr-route-meta strong{color:var(--text);font-weight:700;}
.tr-route-fs-map{
  flex:1 1 auto;min-height:0;width:100%;
  background:var(--input-bg,rgba(255,255,255,.03));
  position:relative;
}
.tr-route-fs-map .leaflet-container{
  width:100%;height:100%;
  background:#1a2330;
  -webkit-tap-highlight-color:transparent;
}
.tr-route-fs-map[data-map-tone="light"] .leaflet-container{background:#c5d0db;}
.tr-route-fs-map[data-map-tone="dark"] .leaflet-container{background:#1a2330;}
.tr-route-fs-map .leaflet-control-attribution{display:none!important;}
.tr-route-fs-map .leaflet-tile-pane{
  background:inherit;
}
.tr-route-fs-map .leaflet-tile-pane,
.tr-route-fs-map .leaflet-overlay-pane,
.tr-route-fs-map .leaflet-marker-pane{
  will-change:transform;
}
.tr-route-fs-map .leaflet-tile{
  image-rendering:auto;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.tr-route-fs-map .leaflet-bar a{
  background:var(--card)!important;color:var(--text)!important;border-bottom-color:var(--border)!important;
}
.tr-route-fs-map .leaflet-bar a:hover{background:rgba(110,168,255,.12)!important;}
.tr-map-type{
  margin:0 0 16px 16px!important;
  font:inherit;
}
.tr-map-type-toggle{
  width:44px;height:44px;border:1px solid rgba(255,255,255,.14);
  border-radius:12px;background:rgba(15,20,30,.92);color:#fff;
  box-shadow:0 6px 20px rgba(0,0,0,.4);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:16px;
  backdrop-filter:blur(8px);
}
.tr-map-type-toggle:hover{border-color:rgba(110,168,255,.45);color:#fff;}
.tr-map-type.is-open .tr-map-type-toggle{display:none;}
.tr-map-type-panel{
  display:none;padding:10px;border-radius:16px;
  background:rgba(15,20,30,.94);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 28px rgba(0,0,0,.45);backdrop-filter:blur(10px);
  width:min(312px,calc(100vw - 28px));
}
.tr-map-type.is-open .tr-map-type-panel{display:block;}
.tr-map-type-title{
  margin:0 2px 8px;font-size:11px;font-weight:750;letter-spacing:.04em;
  text-transform:uppercase;color:rgba(255,255,255,.55);
}
.tr-map-type-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
}
.tr-map-type-card{
  appearance:none;-webkit-appearance:none;border:2px solid transparent;
  background:transparent;padding:0;cursor:pointer;border-radius:12px;
  display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;
  color:#fff;font:inherit;
}
.tr-map-type-card:hover .tr-map-type-preview{transform:scale(1.02);}
.tr-map-type-card.is-active{
  border-color:#6ea8ff;
}
.tr-map-type-preview{
  height:54px;border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background-size:cover;background-position:center;transition:transform .15s;
  position:relative;overflow:hidden;
}
.tr-map-type-preview::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.45));
  pointer-events:none;
}
.tr-map-type-preview.is-city{
  background-image:
    linear-gradient(135deg,rgba(232,236,241,.2),rgba(180,198,220,.15)),
    url('https://tile.openstreetmap.org/6/33/21.png');
  background-color:#d7e0ea;
}
.tr-map-type-preview.is-sat{
  background-image:url('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/6/21/33');
  background-color:#1b2a22;
}
.tr-map-type-preview.is-hybrid{
  background-image:
    linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35)),
    url('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/6/21/33');
  background-color:#1b2a22;
}
.tr-map-type-preview.is-terrain{
  background-image:url('https://a.tile.opentopomap.org/6/33/21.png');
  background-color:#c9d7b8;
}
.tr-map-type-preview.is-light{
  background-image:url('https://a.basemaps.cartocdn.com/light_all/6/33/21.png');
  background-color:#eceff3;
}
.tr-map-type-preview.is-dark{
  background-image:url('https://a.basemaps.cartocdn.com/dark_all/6/33/21.png');
  background-color:#1b2430;
}
.tr-map-type-lbl{
  font-size:11px;font-weight:700;text-align:center;line-height:1.2;
  color:rgba(255,255,255,.88);padding:0 2px 2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.tr-map-type-card.is-active .tr-map-type-lbl{color:#9fc4ff;}
[data-theme="light"] .tr-map-type-toggle,
[data-theme="light"] .tr-map-type-panel{
  background:rgba(255,255,255,.96);color:#141218;border-color:#E6E8EB;
  box-shadow:0 8px 22px rgba(15,23,42,.14);
}
[data-theme="light"] .tr-map-type-title{color:#6b7280;}
[data-theme="light"] .tr-map-type-lbl{color:#374151;}
[data-theme="light"] .tr-map-type-card.is-active .tr-map-type-lbl{color:#2563eb;}
@media(max-width:820px){
  .tr-map-type{margin:0 0 12px 10px!important;}
  .tr-map-type-panel{width:min(280px,calc(100vw - 20px));}
  .tr-map-type-preview{height:46px;}
}
@media(max-width:820px){
  .tr-route-fs.is-open{flex-direction:column;position:relative;}
  .tr-route-fs-side{
    flex:1 1 auto;width:100%;max-height:none;min-height:0;
    border-right:none;border-bottom:none;
  }
  .tr-route-fs.is-map-open .tr-route-fs-side{display:none;}
  .tr-route-fs-main{
    display:none;position:absolute;inset:0;z-index:6;
    width:100%;height:100%;background:var(--bg);
  }
  .tr-route-fs.is-map-open .tr-route-fs-main{display:flex;flex-direction:column;}
  .tr-route-fs-main-head{
    padding-top:calc(12px + env(safe-area-inset-top,0px));
  }
  .tr-route-fs-main-head .tr-route-fs-close{display:inline-flex;}
  .tr-route-fs-side-head .tr-route-fs-close{display:inline-flex;}
  .tr-route-fs-list{flex:1 1 auto;max-height:none;min-height:0;}
  .tr-route-map-toggle{
    display:none;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;
    margin:0;width:100%;min-height:48px;padding:12px 16px;
    border:0;border-top:1px solid var(--border);border-radius:0;
    background:var(--card);color:var(--text);font:inherit;font-size:14px;font-weight:700;
    cursor:pointer;box-sizing:border-box;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));
  }
  .tr-route-map-toggle.is-visible{display:inline-flex;}
  .tr-route-map-toggle i{font-size:15px;color:var(--primary,#6ea8ff);}
  .tr-route-map-toggle.is-open i{color:var(--text2);}
  .tr-route-fs.is-map-open .tr-route-map-toggle-list{display:none!important;}
  .tr-route-map-toggle-map{display:none!important;}
  .tr-route-fs.is-map-open .tr-route-map-toggle-map.is-visible{display:inline-flex!important;}
}
@media(min-width:821px){
  .tr-route-map-toggle{display:none!important;}
}
.tr-journal-fs{
  position:fixed;inset:0;z-index:520;display:none;
  background:var(--bg);color:var(--text);
  width:100%;height:100%;height:100dvh;
  overflow:hidden;flex-direction:column;
}
.tr-journal-fs.is-open{display:flex;}
.tr-journal-fs-head{
  flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:14px 18px 12px;padding-top:calc(14px + env(safe-area-inset-top,0px));
  border-bottom:1px solid var(--border);background:var(--card);
}
.tr-journal-fs-head h3{
  margin:0;font-size:18px;font-weight:750;letter-spacing:-.02em;line-height:1.25;
}
.tr-journal-fs-sub{margin:4px 0 0;font-size:12px;color:var(--text2);line-height:1.35;}
.tr-journal-fs-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.tr-journal-fs-export{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--border);
  background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;
}
.tr-journal-fs-export i{color:#3d9a5f;}
.tr-journal-fs-export:hover{
  border-color:color-mix(in srgb,#3d9a5f 45%,var(--border));
  background:rgba(61,154,95,.1);
}
.tr-journal-fs-toolbar{
  flex:0 0 auto;padding:12px 18px 0;background:var(--bg);
}
.tr-journal-filter-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  padding:10px 12px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] .tr-journal-filter-bar{box-shadow:0 1px 3px rgba(15,21,37,.04);border-color:#E6E8EB;}
.tr-journal-filter-seg{
  display:inline-flex;align-items:center;padding:3px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);flex-shrink:0;max-width:100%;overflow-x:auto;
}
[data-theme="light"] .tr-journal-filter-seg{background:#F2F4F6;border-color:#E6E8EB;}
.tr-journal-filter-seg-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:var(--text2);font:inherit;font-size:12px;font-weight:600;line-height:1;
  padding:9px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s,box-shadow .15s;
}
.tr-journal-filter-seg-btn:hover{color:var(--text);}
.tr-journal-filter-seg-btn.active{
  background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);
}
[data-theme="light"] .tr-journal-filter-seg-btn.active{
  background:#fff;color:#141218;box-shadow:0 1px 2px rgba(15,21,37,.08);
}
.tr-journal-filter-controls{
  display:flex;align-items:center;flex:1 1 280px;flex-wrap:wrap;gap:8px;min-width:0;
}
.tr-journal-filter-field,
.tr-journal-filter-date{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 140px;min-width:0;
  min-height:42px;padding:0 12px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] .tr-journal-filter-field,
[data-theme="light"] .tr-journal-filter-date{background:#fff;}
.tr-journal-filter-search{flex:1.4 1 180px;}
.tr-journal-filter-field > i,
.tr-journal-filter-date > i{
  display:inline-flex;width:16px;justify-content:center;color:var(--text2);font-size:13px;flex-shrink:0;
}
.tr-journal-filter-field input[type="search"]{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0;min-height:40px;
}
.tr-journal-filter-field input[type="search"]::placeholder{color:var(--text2);opacity:.85;}
.tr-journal-filter-date-btn{
  flex:1;min-width:0;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer;padding:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:40px;
}
.tr-journal-filter-date .tr-mini-cal-popup{
  left:0;right:auto;min-width:260px;width:min(280px,calc(100vw - 48px));
}
.tr-journal-filter-clear{
  appearance:none;-webkit-appearance:none;flex-shrink:0;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;
  transition:background .15s,color .15s,border-color .15s;
}
.tr-journal-filter-clear:hover{color:var(--text);background:rgba(255,255,255,.04);}
.tr-journal-filter-clear.is-active{
  color:var(--orange,#e08200);border-color:rgba(224,130,0,.35);background:rgba(224,130,0,.1);
}
[data-theme="light"] .tr-journal-filter-clear:hover{background:#F2F4F6;color:#141218;}
[data-theme="light"] .tr-journal-filter-clear.is-active{
  color:#E65100;background:#FFF3E0;border-color:#FFCC80;
}
.tr-journal-fs-body{
  flex:1 1 auto;min-height:0;overflow:auto;
  padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px));
}
.tr-journal-meta{
  margin:0 0 12px;font-size:12px;color:var(--text2);
}
.tr-journal-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--card);}
.tr-journal-table{width:100%;border-collapse:collapse;min-width:760px;font-size:13px}
.tr-journal-table th{
  text-align:left;padding:12px 14px;font-size:11px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:var(--text2);background:rgba(255,255,255,.03);border-bottom:1px solid var(--border);
  white-space:nowrap;position:sticky;top:0;z-index:1;
}
[data-theme="light"] .tr-journal-table th{background:#F8FAFC}
.tr-journal-table td{padding:13px 14px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--text);line-height:1.4}
.tr-journal-table tr:last-child td{border-bottom:none}
.tr-journal-table tbody tr:hover td{background:rgba(110,168,255,.05)}
.tr-journal-time{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text2);font-size:12px}
.tr-journal-type{
  display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;
  font-size:11px;font-weight:750;white-space:nowrap;
}
.tr-journal-type i{font-size:11px}
.tr-journal-type.is-fuel{background:rgba(224,130,0,.14);color:var(--orange,#e08200)}
.tr-journal-type.is-engine{background:rgba(103,223,173,.14);color:var(--green,#67dfad)}
.tr-journal-type.is-trip{background:rgba(110,168,255,.14);color:var(--primary,#6ea8ff)}
.tr-journal-type.is-alarm{background:rgba(255,148,136,.14);color:var(--red,#ff9488)}
.tr-journal-detail{font-weight:650}
.tr-journal-geo{display:flex;flex-direction:column;gap:4px;min-width:180px}
.tr-journal-geo-place{font-weight:650}
.tr-journal-geo-coords{font-size:11px;color:var(--text2);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.tr-journal-geo a{
  display:inline-flex;align-items:center;gap:6px;margin-top:2px;font-size:12px;font-weight:700;
  color:var(--primary,#6ea8ff);text-decoration:none;
}
.tr-journal-geo a:hover{text-decoration:underline}
.tr-journal-muted{color:var(--text2)}
.tr-journal-empty{
  padding:40px 20px;text-align:center;border:1px dashed var(--border);border-radius:14px;color:var(--text2);
}
.tr-journal-empty strong{display:block;color:var(--text);margin-bottom:6px;font-size:15px;}
@media(max-width:720px){
  .tr-journal-fs-export{display:none!important;}
  .tr-journal-filter-bar{padding:10px;}
  .tr-journal-filter-seg{width:100%;}
  .tr-journal-filter-seg-btn{flex:1;text-align:center;padding:10px 8px;}
  .tr-journal-filter-controls{
    display:flex;flex-wrap:nowrap;align-items:center;gap:8px;
    flex:1 1 100%;min-width:0;
  }
  .tr-journal-filter-field,
  .tr-journal-filter-date,
  .tr-journal-filter-search{
    flex:1 1 0;min-width:0;padding:0 10px;
  }
  .tr-journal-filter-clear{
    margin-left:0;flex-shrink:0;width:40px;height:40px;
  }
}
#admin-transport .tr-fleet{display:flex;flex-direction:column;gap:8px;padding:12px;overflow-y:auto;max-height:min(70vh,720px);}
#admin-transport .tr-vehicle{
  display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:12px;
  border:1px solid var(--border);background:var(--input-bg,rgba(255,255,255,.03));
  cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%;appearance:none;
  transition:border-color .15s,background .15s;
}
#admin-transport .tr-vehicle:hover{border-color:color-mix(in srgb, var(--primary,#6ea8ff) 35%, var(--border));}
#admin-transport .tr-vehicle.is-active{
  border-color:color-mix(in srgb, var(--primary,#6ea8ff) 45%, transparent);
  background:rgba(110,168,255,.1);
}
[data-theme="light"] #admin-transport .tr-vehicle.is-active{background:#EFF6FF;border-color:#93C5FD;}
#admin-transport .tr-v-ico{
  width:40px;height:40px;border-radius:11px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:15px;
  background:rgba(110,168,255,.14);color:var(--primary,#6ea8ff);
}
#admin-transport .tr-v-ico.is-off{background:rgba(148,163,184,.12);color:var(--text2);}
#admin-transport .tr-v-ico.is-move{background:rgba(103,223,173,.14);color:var(--green,#67dfad);}
#admin-transport .tr-v-main{flex:1;min-width:0;}
#admin-transport .tr-v-name{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#admin-transport .tr-v-plate{font-size:12px;color:var(--text2);margin-top:2px;font-variant-numeric:tabular-nums;}
#admin-transport .tr-v-meta{font-size:11px;color:var(--text2);margin-top:4px;line-height:1.35;}
#admin-transport .tr-status{
  flex-shrink:0;font-size:10px;font-weight:700;padding:4px 8px;border-radius:999px;
  text-transform:uppercase;letter-spacing:.03em;
}
#admin-transport .tr-status.on{background:rgba(103,223,173,.16);color:var(--green,#67dfad);}
#admin-transport .tr-status.move{background:rgba(110,168,255,.16);color:var(--primary,#6ea8ff);}
#admin-transport .tr-status.off{background:rgba(148,163,184,.14);color:var(--text2);}
#admin-transport .tr-detail-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:14px;}
#admin-transport .tr-live{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
@media(max-width:900px){#admin-transport .tr-live{grid-template-columns:1fr 1fr;}}
#admin-transport .tr-live-card{
  padding:12px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.02);
}
[data-theme="light"] #admin-transport .tr-live-card{background:#F8FAFC;}
#admin-transport .tr-live-card .lbl{font-size:11px;color:var(--text2);margin-bottom:4px;}
#admin-transport .tr-live-card .val{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);}
#admin-transport .tr-live-card .val small{font-size:11px;font-weight:600;color:var(--text2);margin-left:4px;}
#admin-transport .tr-live-card .tr-live-val-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;
}
#admin-transport .tr-live-card .tr-fuel-delta{
  flex:0 0 auto;font-size:15px;font-weight:800;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;padding:0;border-radius:0;line-height:1.15;
  background:transparent!important;
}
#admin-transport .tr-live-card .tr-fuel-delta.is-up{
  color:#67dfad;background:transparent;
}
#admin-transport .tr-live-card .tr-fuel-delta.is-down{
  color:#ff9488;background:transparent;
}
[data-theme="light"] #admin-transport .tr-live-card .tr-fuel-delta.is-up{
  color:#15803d;background:transparent;
}
[data-theme="light"] #admin-transport .tr-live-card .tr-fuel-delta.is-down{
  color:#c2410c;background:transparent;
}
#admin-transport .tr-section-title{
  margin:0 0 8px;font-size:12px;font-weight:750;color:var(--text2);
  text-transform:uppercase;letter-spacing:.04em;
}
#admin-transport .tr-timeline{display:flex;flex-direction:column;}
#admin-transport .tr-ev{
  display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:10px 0;
  border-bottom:1px solid var(--border);
}
#admin-transport .tr-ev:last-child{border-bottom:none;}
#admin-transport .tr-ev-dot{
  width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-size:12px;flex-shrink:0;background:rgba(110,168,255,.14);color:var(--primary,#6ea8ff);
}
#admin-transport .tr-ev-dot.is-engine{background:rgba(103,223,173,.14);color:var(--green,#67dfad);}
#admin-transport .tr-ev-dot.is-fuel{background:rgba(224,130,0,.14);color:var(--orange,#e08200);}
#admin-transport .tr-ev-dot.is-alarm{background:rgba(255,148,136,.14);color:var(--red,#ff9488);}
#admin-transport .tr-ev-dot.is-trip{background:rgba(110,168,255,.14);color:var(--primary,#6ea8ff);}
#admin-transport .tr-ev-title{font-size:13px;font-weight:650;color:var(--text);}
#admin-transport .tr-ev-sub{font-size:12px;color:var(--text2);margin-top:3px;line-height:1.4;}
#admin-transport .tr-ev-time{font-size:11px;color:var(--text2);margin-top:4px;font-variant-numeric:tabular-nums;}
#admin-transport .tr-events-more{
  margin-top:4px;width:100%;padding:11px 12px;border-radius:12px;border:1px dashed var(--border);
  background:transparent;color:var(--text2);font:inherit;font-size:13px;font-weight:650;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  transition:background .15s,border-color .15s,color .15s;
}
#admin-transport .tr-events-more:hover{
  color:var(--text);border-color:color-mix(in srgb,var(--primary,#6ea8ff) 35%,var(--border));
  background:color-mix(in srgb,var(--primary,#6ea8ff) 8%,transparent);
}
#admin-transport .tr-events-more span{opacity:.75;font-weight:600}
#admin-transport .tr-empty{padding:28px 16px;text-align:center;color:var(--text2);font-size:13px;line-height:1.45;}

/* Evidence hodin — KPI / filter / table (jako km / diary) */
#admin-hours .hours-kpi, #w-hours .hours-kpi{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 14px;width:100%;
}
#w-hours .hours-kpi{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1100px){#admin-hours .hours-kpi{grid-template-columns:repeat(3,minmax(0,1fr));}}
#admin-hours .hours-kpi .hk-stat, #w-hours .hours-kpi .hk-stat{
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
#admin-hours .hours-kpi .hk-stat.hk-sheet, #w-hours .hours-kpi .hk-stat.hk-sheet,
#admin-hours .hours-kpi .hk-stat.hk-export, #w-hours .hours-kpi .hk-stat.hk-export{
  cursor:pointer;text-align:left;font:inherit;appearance:none;-webkit-appearance:none;
  transition:transform .18s,box-shadow .18s;
}
@media (hover:hover) and (pointer:fine){
  #admin-hours .hours-kpi .hk-stat.hk-sheet:hover, #w-hours .hours-kpi .hk-stat.hk-sheet:hover,
  #admin-hours .hours-kpi .hk-stat.hk-export:hover, #w-hours .hours-kpi .hk-stat.hk-export:hover{transform:translateY(-2px);}
}
#admin-hours .hours-kpi .hk-stat .sc-icon, #w-hours .hours-kpi .hk-stat .sc-icon{
  width:42px;height:42px;border-radius:12px;margin:0;font-size:16px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
#admin-hours .hours-kpi .hk-stat.blue .sc-icon, #w-hours .hours-kpi .hk-stat.blue .sc-icon{background:color-mix(in srgb, var(--color-primary) 16%, transparent);color:var(--color-primary);}
#admin-hours .hours-kpi .hk-stat.green .sc-icon, #w-hours .hours-kpi .hk-stat.green .sc-icon{background:color-mix(in srgb, var(--color-secondary) 14%, transparent);color:var(--color-secondary);}
#admin-hours .hours-kpi .hk-stat.yellow .sc-icon, #w-hours .hours-kpi .hk-stat.yellow .sc-icon{background:color-mix(in srgb, var(--yellow) 14%, transparent);color:var(--yellow);}
#admin-hours .hours-kpi .hk-stat.orange .sc-icon, #w-hours .hours-kpi .hk-stat.orange .sc-icon{background:color-mix(in srgb, var(--orange) 14%, transparent);color:var(--orange);}
#admin-hours .hours-kpi .hk-stat.purple .sc-icon, #w-hours .hours-kpi .hk-stat.purple .sc-icon{background:rgba(156,39,176,.15);color:#ce93d8;}
[data-theme="light"] #admin-hours .hours-kpi .hk-stat.purple .sc-icon, [data-theme="light"] #w-hours .hours-kpi .hk-stat.purple .sc-icon{background:#EDE7F6;color:#5E35B1;}
#admin-hours .hours-kpi .hk-body, #w-hours .hours-kpi .hk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#admin-hours .hours-kpi .hk-value, #w-hours .hours-kpi .hk-value{
  font-size:22px;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#admin-hours .hours-kpi .hk-label, #w-hours .hours-kpi .hk-label{font-size:12px;color:var(--text2);line-height:1.3;}
#admin-hours .hours-kpi .hk-sheet .hk-chev, #w-hours .hours-kpi .hk-sheet .hk-chev,
#admin-hours .hours-kpi .hk-export .hk-chev, #w-hours .hours-kpi .hk-export .hk-chev{color:var(--text2);font-size:14px;flex-shrink:0;margin-left:auto;}
#admin-hours > .section-title{
  font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.15;margin:0 0 14px;
}
#admin-hours > .section-title i{font-size:18px;opacity:.85;}
@media(max-width:720px){
  #admin-hours > .section-title{
    font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.15;margin:0 0 14px;
  }
  #admin-hours > .section-title i{font-size:18px;opacity:.85;}
  #admin-hours .hours-kpi,
  #w-hours .hours-kpi{
    display:flex;align-items:stretch;gap:0;
    border:1px solid var(--border);border-radius:16px;background:var(--card);
    overflow:hidden;box-sizing:border-box;
  }
  #admin-hours .hours-kpi .hk-stat,
  #w-hours .hours-kpi .hk-stat{
    flex:1 1 50%;min-width:0;gap:10px;padding:12px 12px;
    border:0;border-radius:0;background:transparent;box-shadow:none;
  }
  #admin-hours .hours-kpi .hk-stat.blue,
  #w-hours .hours-kpi .hk-stat.blue{border-right:1px solid var(--border);}
  #admin-hours .hours-kpi .hk-stat .sc-icon,
  #w-hours .hours-kpi .hk-stat .sc-icon{width:38px;height:38px;font-size:15px;}
  #admin-hours .hours-kpi .hk-value,
  #w-hours .hours-kpi .hk-value{font-size:20px;}
  #admin-hours .hours-kpi .hk-label,
  #w-hours .hours-kpi .hk-label{font-size:11px;}
  #admin-hours .hours-kpi .hk-stat.green,
  #admin-hours .hours-kpi .hk-stat.hk-export,
  #admin-hours .hours-kpi .hk-stat.hk-sheet,
  #w-hours .hours-kpi .hk-stat.green{display:none!important;}
}
#admin-hours .hours-filter-bar, #w-hours .hours-filter-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  margin:0 0 16px;padding:10px 12px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-hours .hours-filter-bar, [data-theme="light"] #w-hours .hours-filter-bar{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-hours .hours-filter-controls, #w-hours .hours-filter-controls{
  display:flex;align-items:center;flex:1 1 280px;flex-wrap:wrap;gap:8px;min-width:0;
}
#admin-hours .hours-filter-seg, #w-hours .hours-filter-seg{
  display:inline-flex;align-items:center;padding:3px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);flex-shrink:0;
}
[data-theme="light"] #admin-hours .hours-filter-seg, [data-theme="light"] #w-hours .hours-filter-seg{background:#F2F4F6;border-color:#E6E8EB;}
#admin-hours .hours-filter-seg-btn, #w-hours .hours-filter-seg-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:var(--text2);font:inherit;font-size:12px;font-weight:600;line-height:1;
  padding:9px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s,box-shadow .15s;
}
#admin-hours .hours-filter-seg-btn:hover, #w-hours .hours-filter-seg-btn:hover{color:var(--text);}
#admin-hours .hours-filter-seg-btn.active, #w-hours .hours-filter-seg-btn.active{
  background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);
}
[data-theme="light"] #admin-hours .hours-filter-seg-btn.active, [data-theme="light"] #w-hours .hours-filter-seg-btn.active{background:#fff;color:#141218;}
#admin-hours .hours-filter-field, #w-hours .hours-filter-field,
#admin-hours .hours-filter-bar .hours-filter-date, #w-hours .hours-filter-bar .hours-filter-date{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 120px;min-width:0;
  min-height:42px;padding:0 12px;border-radius:12px;
  background:var(--input-bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-hours .hours-filter-field, [data-theme="light"] #w-hours .hours-filter-field,
[data-theme="light"] #admin-hours .hours-filter-bar .hours-filter-date, [data-theme="light"] #w-hours .hours-filter-bar .hours-filter-date{background:#fff;}
#admin-hours .hours-filter-field > i.hours-filter-ico, #w-hours .hours-filter-field > i.hours-filter-ico{
  display:inline-flex;width:16px;justify-content:center;color:var(--text2);font-size:13px;flex-shrink:0;
}
#admin-hours .hours-filter-bar .hours-filter-date > label, #w-hours .hours-filter-bar .hours-filter-date > label{display:none;}
#admin-hours .hours-filter-field select, #w-hours .hours-filter-field select{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0 18px 0 0;min-height:40px;
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 0 center;background-size:11px 11px;
}
#w-hours .hours-filter-field select.ss-hidden-select,
#w-diary .diary-filter-field select.ss-hidden-select,
#w-home select.ss-hidden-select,
#admin-hours .hours-filter-field select.ss-hidden-select,
#admin-diary .diary-filter-field select.ss-hidden-select,
#admin-kilometers .km-filter-field select.ss-hidden-select,
#admin-notifications .notify-filter-field select.ss-hidden-select,
#admin-tools .tools-map-filter-field select.ss-hidden-select,
#admin-tools .tools-ledger-field select.ss-hidden-select,
select.ss-hidden-select{
  display:none!important;position:absolute!important;width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;
  border:0!important;clip:rect(0,0,0,0)!important;
}
#w-hours .hours-filter-field .hours-filter-site-trigger.site-select-trigger,
#w-diary .diary-filter-field .diary-filter-site-trigger.site-select-trigger,
#admin-hours .hours-filter-field .filter-select-trigger.site-select-trigger,
#admin-diary .diary-filter-field .filter-select-trigger.site-select-trigger,
#admin-kilometers .km-filter-field .filter-select-trigger.site-select-trigger,
#admin-notifications .notify-filter-field .filter-select-trigger.site-select-trigger,
#admin-tools .tools-map-filter-field .filter-select-trigger.site-select-trigger,
#admin-tools .tools-ledger-field .filter-select-trigger.site-select-trigger{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0;min-height:40px;
  border-radius:0;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;font-family:inherit;
  display:flex!important;position:relative;z-index:2;-webkit-tap-highlight-color:transparent;
  text-align:left;line-height:1.25;box-sizing:border-box;
}
#w-hours .hours-filter-field .hours-filter-site-trigger .site-select-trigger-label,
#w-diary .diary-filter-field .diary-filter-site-trigger .site-select-trigger-label,
#admin-hours .hours-filter-field .filter-select-trigger .site-select-trigger-label,
#admin-diary .diary-filter-field .filter-select-trigger .site-select-trigger-label,
#admin-kilometers .km-filter-field .filter-select-trigger .site-select-trigger-label,
#admin-notifications .notify-filter-field .filter-select-trigger .site-select-trigger-label,
#admin-tools .tools-map-filter-field .filter-select-trigger .site-select-trigger-label,
#admin-tools .tools-ledger-field .filter-select-trigger .site-select-trigger-label{
  flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  display:block;line-height:1.25;align-self:center;text-align:left;
}
#w-hours .hours-filter-field .hours-filter-site-trigger i,
#w-diary .diary-filter-field .diary-filter-site-trigger i,
#admin-hours .hours-filter-field .filter-select-trigger i,
#admin-diary .diary-filter-field .filter-select-trigger i,
#admin-kilometers .km-filter-field .filter-select-trigger i,
#admin-notifications .notify-filter-field .filter-select-trigger i,
#admin-tools .tools-map-filter-field .filter-select-trigger i,
#admin-tools .tools-ledger-field .filter-select-trigger i{
  color:var(--text2);font-size:11px;flex-shrink:0;align-self:center;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
}
#w-diary .worker-diary-filter-inline .diary-filter-field .diary-filter-site-trigger{
  min-height:38px;font-size:12px;
}
#admin-tools .tools-ledger-field{
  display:flex;align-items:center;gap:8px;min-width:0;position:relative;
}
#admin-hours .hours-filter-bar .hours-filter-date, #w-hours .hours-filter-bar .hours-filter-date{padding-right:10px;flex:1.2 1 160px;}
#admin-hours .hours-filter-bar .hours-filter-date .date-period-btn, #w-hours .hours-filter-bar .hours-filter-date .date-period-btn{
  flex:1;min-width:0;width:100%;min-height:40px;margin:0;padding:0;border:0;border-radius:0;
  background:transparent;color:var(--text);font-size:13px;font-weight:500;justify-content:flex-start;box-shadow:none;
}
#admin-hours .hours-filter-bar .hours-filter-date .date-period-popup, #w-hours .hours-filter-bar .hours-filter-date .date-period-popup{left:0;right:auto;min-width:280px;z-index:40;}
#admin-hours .hours-filter-clear, #w-hours .hours-filter-clear{
  appearance:none;-webkit-appearance:none;flex-shrink:0;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;
  transition:background .15s,color .15s,border-color .15s;
}
#admin-hours .hours-filter-clear:hover, #w-hours .hours-filter-clear:hover{color:var(--text);background:rgba(255,255,255,.04);}
#admin-hours .hours-filter-clear.is-active, #w-hours .hours-filter-clear.is-active{
  color:var(--orange);border-color:color-mix(in srgb, var(--orange) 35%, transparent);
  background:color-mix(in srgb, var(--orange) 12%, transparent);
}
[data-theme="light"] #admin-hours .hours-filter-clear:hover, [data-theme="light"] #w-hours .hours-filter-clear:hover{background:#F2F4F6;color:#141218;}
#admin-hours .hours-filter-tail, #w-hours .hours-filter-tail{display:contents;}
@media(max-width:720px){
  #admin-hours .hours-filter-controls, #w-hours .hours-filter-controls{flex:1 1 100%;}
  #admin-hours .hours-filter-seg, #w-hours .hours-filter-seg{width:100%;overflow-x:auto;}
  #admin-hours .hours-filter-seg-btn, #w-hours .hours-filter-seg-btn{flex:1;text-align:center;padding:10px 8px;}
  #admin-hours .hours-filter-field, #w-hours .hours-filter-field{flex:1 1 calc(50% - 4px);}
  #admin-hours .hours-filter-bar .hours-filter-date{flex:1 1 calc(50% - 4px);}
  #admin-hours .hours-filter-tail,
  #w-hours .hours-filter-tail{
    display:flex;align-items:center;flex:1 1 100%;gap:6px;min-width:0;flex-wrap:nowrap;
  }
  #admin-hours .hours-filter-tail .hours-filter-field,
  #admin-hours .hours-filter-tail .hours-filter-date,
  #w-hours .hours-filter-tail .hours-filter-date{
    flex:1 1 0;min-width:0;max-width:none;padding:0 8px;gap:6px;
  }
  #admin-hours .hours-filter-tail .hours-filter-date,
  #w-hours .hours-filter-tail .hours-filter-date{padding-right:6px;flex:1 1 0;}
  #admin-hours .hours-filter-tail .hours-filter-field select,
  #admin-hours .hours-filter-tail .hours-filter-date .date-period-btn,
  #w-hours .hours-filter-tail .hours-filter-date .date-period-btn{font-size:12px;}
  #admin-hours .hours-filter-tail .hours-filter-clear,
  #w-hours .hours-filter-tail .hours-filter-clear{
    margin-left:0;flex:0 0 40px;width:40px;height:40px;
  }
}

#admin-hours .hours-table-card, #w-hours .hours-table-card{
  padding:0;overflow:hidden;border-radius:16px;margin:0;background:var(--card);border:1px solid var(--border);width:100%;
}
[data-theme="light"] #admin-hours .hours-table-card, [data-theme="light"] #w-hours .hours-table-card{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-hours .hours-table-card .admin-table-scroll, #w-hours .hours-table-card .admin-table-scroll{padding:0;}
#admin-hours .hours-empty, #w-hours .hours-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:48px 24px;background:var(--card);border:1px solid var(--border);border-radius:16px;gap:10px;
}
#admin-hours .hours-empty .hours-empty-ico, #w-hours .hours-empty .hours-empty-ico{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--color-surface-container-low);color:var(--text2);font-size:20px;border:1px solid var(--border);
}
#admin-hours .hours-empty .hours-empty-title, #w-hours .hours-empty .hours-empty-title{margin:0;font-size:16px;font-weight:700;color:var(--text);}
#admin-hours .hours-empty .hours-empty-sub, #w-hours .hours-empty .hours-empty-sub{margin:0;font-size:13px;color:var(--text2);line-height:1.45;max-width:360px;}
#admin-hours .ah-view-bar{margin:0 0 14px;}
#admin-dashboard .admin-dashboard-sites-title{margin-top:8px;}
.admin-dash-site-card{margin-bottom:12px;padding:0!important;overflow:hidden;}
.admin-dash-site-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:12px;flex-wrap:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.admin-dash-site-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0;}
.admin-dash-site-icon{width:40px;height:40px;border-radius:10px;background:rgba(110,168,255,.15);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.admin-dash-site-icon.blue{background:rgba(41,121,255,.15);color:var(--blue);}
[data-theme="light"] .admin-dash-site-icon{background:#E0F7FA;color:var(--accent);}
[data-theme="light"] .admin-dash-site-icon.blue{background:#E8F0FE;color:#1565C0;}
.admin-dash-site-text{min-width:0;}
.admin-dash-site-text h4{color:var(--text);font-size:16px;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-dash-site-text p{font-size:12px;color:var(--text2);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-dash-site-text p i{margin-right:4px;}
.admin-dash-site-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0;}
.admin-dash-site-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px;}
.admin-dash-site-chevron{color:var(--text2);font-size:13px;transition:transform .2s;flex-shrink:0;margin-left:8px;align-self:center;}
.admin-dash-site-workers{border-top:1px solid var(--border);padding:16px 20px 18px;}
.admin-dash-site-workers .dash-worker-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;gap:10px;}
.admin-dash-site-workers .dash-worker-row+.dash-worker-row{border-top:1px solid var(--border);}
.site-worked-hours{margin:0;padding:0;}
.site-worked-hours-head{
  display:block;font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;
  margin:0 0 14px;padding:0;font-weight:650;line-height:1.45;
}
.site-worked-cols{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 0 6px;padding:0 2px;font-size:11px;font-weight:600;color:var(--text2);
  text-transform:uppercase;letter-spacing:.03em;line-height:1.4;
}
.site-worked-list{display:flex;flex-direction:column;gap:0;margin:0;}
.site-worked-empty{
  display:block;margin:0 0 4px;padding:14px 12px;border-radius:12px;
  background:rgba(255,255,255,.03);border:1px dashed var(--border);
  color:var(--text2);font-size:13px;line-height:1.5;text-align:center;
}
[data-theme="light"] .site-worked-empty{background:#F8FAFC;border-color:#E2E8F0;}
.site-worked-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 4px;min-height:44px;border-top:1px solid var(--border);
}
.site-worked-row:first-child{border-top:none;}
.site-worked-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;}
.site-worked-name strong{font-size:14px;font-weight:600;color:var(--text);line-height:1.35;}
.site-worked-online{font-size:10px;padding:2px 8px;}
.site-worked-hrs{font-size:14px;font-weight:700;color:var(--primary);white-space:nowrap;font-variant-numeric:tabular-nums;}
.site-worked-total{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:14px;padding:12px 14px;border-radius:12px;
  background:rgba(0,200,83,.08);border:1px solid rgba(0,200,83,.18);
  font-size:14px;color:var(--text);line-height:1.4;
}
[data-theme="light"] .site-worked-total{background:#E8F5E9;border-color:#C8E6C9;}
.site-worked-total span{font-weight:600;}
.site-worked-total strong{font-size:16px;color:var(--green);font-variant-numeric:tabular-nums;}
.admin-dashboard-unassigned{margin-top:16px;}
.admin-dashboard-unassigned h4{margin:0 0 8px;color:var(--text2);font-size:13px;font-weight:600;}

/* Light theme — admin dashboard colors (screenshot palette, colors only) */
[data-theme="light"] #admin-dashboard .stat-card{background:#FFFFFF;border-color:#D8DADC;}
[data-theme="light"] #admin-dashboard .stat-card .sc-value{color:#141218;}
[data-theme="light"] #admin-dashboard .stat-card .sc-label{color:#5c5d64;}
[data-theme="light"] #admin-dashboard .stat-card.blue .sc-icon{background:#E8F0FE;color:#1565C0;}
[data-theme="light"] #admin-dashboard .stat-card.red .sc-icon{background:#FCE8F3;color:#C2185B;}
[data-theme="light"] #admin-dashboard .stat-card.yellow .sc-icon{background:#FFF8E1;color:#E6A800;}
[data-theme="light"] #admin-dashboard .section-title{color:#141218;}
[data-theme="light"] #admin-dashboard .card{background:#FFFFFF;border-color:#D8DADC;}
[data-theme="light"] #admin-dashboard .admin-dash-site-icon{background:#E0F7FA;color:#00A3C4;}
[data-theme="light"] #admin-dashboard .admin-dash-site-icon.blue{background:#E8F0FE;color:#1565C0;}
[data-theme="light"] #admin-dashboard .admin-dash-site-text h4{color:#141218;}
[data-theme="light"] #admin-dashboard .admin-dash-site-text p{color:#5c5d64;}
[data-theme="light"] #admin-dashboard .admin-dash-site-workers{border-top-color:#D8DADC;}
[data-theme="light"] #admin-dashboard .dash-worker-row+.dash-worker-row{border-top-color:#D8DADC;}
[data-theme="light"] #admin-dashboard .badge-green{background:#E8F5E9;color:#2E7D32;}
[data-theme="light"] #admin-dashboard .badge-blue{background:#E3F2FD;color:#1565C0;}
[data-theme="light"] #admin-dashboard .badge-yellow{background:#FFF8E1;color:#E6A800;}
[data-theme="light"] #admin-dashboard .badge-red{background:#FCE8F3;color:#C2185B;}
[data-theme="light"] #admin-dashboard .admin-dashboard-unassigned h4{color:#5c5d64;}
[data-theme="light"] #admin-dashboard .site-worked-hrs{color:#00A3C4;}
[data-theme="light"] #admin-dashboard .site-worked-total strong{color:#2E7D32;}

/* Light theme — admin workers colors (screenshot palette, colors only) */
[data-theme="light"] #admin-workers .section-title{color:#141218;}
[data-theme="light"] #admin-workers .btn-secondary{background:#FFFFFF;color:#141218;border-color:#D8DADC;}
[data-theme="light"] #admin-workers .btn-blue{background:#E3F2FD;color:#3E7BFA;border-color:#BBDEFB;}
[data-theme="light"] #admin-workers .btn-primary{background:#2f6bff;color:#FFFFFF;}
/* Slightly larger header action buttons (Žurnál / Přeřadit / Přidat) — desktop only */
@media(min-width:901px){
#admin-workers .card-header .btn-sm{padding:9px 18px;font-size:13.5px;}
}
/* Mobil: mírně větší akční tlačítka v hlavičce Pracovníci (Žurnál / Přeřadit / Přidat) */
@media(max-width:900px){
#admin-workers .card-header .btn-sm{padding:9px 16px;font-size:13px;}
}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] #admin-workers .btn-secondary:hover{border-color:#2f6bff;color:#141218;}
[data-theme="light"] #admin-workers .btn-blue:hover{background:#D1E9FF;color:#3E7BFA;}
[data-theme="light"] #admin-workers .btn-primary:hover{background:#255ee6;color:#FFFFFF;}
}
[data-theme="light"] #admin-workers .header-search input{background:#FFFFFF;border-color:#D8DADC;color:#141218;}
[data-theme="light"] #admin-workers .header-search input:focus{border-color:#00A3C4;}
[data-theme="light"] #admin-workers .header-search i{color:#5c5d64;}
[data-theme="light"] #admin-workers .mobile-card{background:#FFFFFF;border-color:#D8DADC;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] #admin-workers .mobile-card:hover{border-color:#00A3C4;}
}
[data-theme="light"] #admin-workers .mobile-card .mc-name{color:#141218;}
[data-theme="light"] #admin-workers .mobile-card .mc-sub{color:#5c5d64;}
[data-theme="light"] #admin-workers .mobile-card .mc-chevron{color:#9ca3af;}
[data-theme="light"] #admin-workers .mobile-card .mc-detail{border-top-color:#D8DADC;}
#admin-workers .w-avatar,
#admin-dashboard .dash-person .w-avatar{
  color:#fff;
}
[data-theme="light"] #admin-workers .w-avatar,
[data-theme="light"] #admin-dashboard .dash-person .w-avatar{
  color:#fff;
}
[data-theme="light"] #admin-workers .card{background:#FFFFFF;border-color:#D8DADC;}
[data-theme="light"] #admin-workers .data-table th{color:#5c5d64;border-bottom-color:#D8DADC;}
[data-theme="light"] #admin-workers .data-table td{border-bottom-color:#D8DADC;color:#141218;}
[data-theme="light"] #admin-workers .data-table td code{background:#E0F7FA;color:#00A3C4;}

/* Light theme — admin sites colors (screenshot palette, colors only) */
[data-theme="light"] #admin-sites .section-title{color:#141218;}
[data-theme="light"] #admin-sites .btn-primary{background:#00A3C4;color:#FFFFFF;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] #admin-sites .btn-primary:hover{background:#0090AD;color:#FFFFFF;}
}
[data-theme="light"] #admin-sites .btn-secondary{background:#F1F5F9;color:#475569;border-color:#E2E8F0;}
[data-theme="light"] #admin-sites .btn-red{background:#FFEBEE;color:#D32F2F;border-color:#FFCDD2;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] #admin-sites .btn-secondary:hover{border-color:#CBD5E1;color:#334155;}
[data-theme="light"] #admin-sites .btn-red:hover{background:#FFCDD2;color:#C62828;}
}
[data-theme="light"] #admin-sites .card,
[data-theme="light"] #admin-sites .admin-site-card{background:#FFFFFF;border-color:#D8DADC;}
[data-theme="light"] #admin-sites .admin-site-card .admin-site-ico,
[data-theme="light"] #admin-dashboard .admin-dash-site-card .admin-site-ico{background:var(--sc)!important;color:#fff!important;}
[data-theme="light"] #admin-sites .admin-site-card h4{color:#141218;}
[data-theme="light"] #admin-sites .admin-site-card p{color:#64748B;}
[data-theme="light"] #admin-sites .admin-site-card .badge:not(.badge-green):not(.badge-blue):not(.badge-yellow):not(.badge-red):not(.badge-orange){background:#E3F2FD!important;color:#1976D2!important;}
[data-theme="light"] #admin-sites .badge-green{background:#E8F5E9;color:#2E7D32;}
[data-theme="light"] #admin-sites .badge-blue{background:#EDE7F6;color:#5E35B1;}
[data-theme="light"] #admin-sites .admin-dash-site-workers{border-top-color:#D8DADC;}
[data-theme="light"] #admin-sites .site-worked-hours-head{color:#64748B;}
[data-theme="light"] #admin-sites .site-worked-hrs{color:#00A3C4;}
[data-theme="light"] #admin-sites .site-worked-total strong{color:#2E7D32;}

/* Stavby: struktura karty (hlavička / štítky / akce). Desktop = jeden řádek (adminweb),
   mobil = tři řádky pod sebou (adminmobile mockup). */
#admin-sites .admin-site-card .asc-row{display:flex;align-items:center;gap:10px;padding:16px 20px;flex-wrap:wrap;}
#admin-sites .admin-site-card .asc-head{display:flex;align-items:center;gap:14px;flex:1;min-width:200px;cursor:pointer;}
#admin-sites .admin-site-card .asc-titles{min-width:0;}
#admin-sites .admin-site-card .asc-titles h4{color:var(--text);font-size:16px;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#admin-sites .admin-site-card .asc-titles p{font-size:12px;color:var(--text2);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#admin-sites .admin-site-card .asc-titles p i{margin-right:4px;}
#admin-sites .admin-site-card .asc-lunch{background:rgba(41,121,255,.12);color:#8cb4ff;white-space:nowrap;}
#admin-sites .admin-site-card .asc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#admin-sites .admin-site-card .asc-actions{display:flex;align-items:center;gap:8px;}
@media(max-width:600px){
  #admin-sites .admin-site-card .asc-row{flex-direction:column;align-items:stretch;gap:12px;padding:16px;}
  #admin-sites .admin-site-card .asc-head{width:100%;min-width:0;align-items:flex-start;}
  #admin-sites .admin-site-card .asc-titles h4{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;}
  #admin-sites .admin-site-card .asc-titles p{white-space:normal;overflow:visible;text-overflow:clip;}
  #admin-sites .admin-site-card .asc-meta{width:100%;}
  #admin-sites .admin-site-card .asc-actions{width:100%;}
  #admin-sites .admin-site-card .asc-actions .asc-chevron{margin-left:auto;}
  /* mobil: ikona stavby — primary blue */
  [data-theme="light"] #admin-sites .admin-site-card .admin-site-ico{background:rgba(47,128,237,.12)!important;color:#2f80ed!important;}
  /* mobil: štítek s počtem pracovníků modrý (ne fialový) */
  [data-theme="light"] #admin-sites .admin-site-card .badge-blue{background:#E3F2FD!important;color:#1565C0!important;}
}

/* ===== Light theme — global design system ===== */
[data-theme="light"] .btn-primary{background:var(--accent);color:#FFFFFF;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .btn-primary:hover{background:#0090AD;color:#FFFFFF;opacity:1;}
[data-theme="light"] .btn-secondary:hover{border-color:var(--accent);color:#141218;}
[data-theme="light"] .btn-blue:hover{background:#D1E9FF;color:#3E7BFA;}
[data-theme="light"] .btn-red:hover{background:#FFCDD2;color:#C62828;}
[data-theme="light"] .btn-green:hover{background:#C8E6C9;color:#1B5E20;}
[data-theme="light"] .btn-yellow:hover{background:#FFF8E1;color:#E6A800;}
}
[data-theme="light"] .btn-secondary{background:#FFFFFF;color:#141218;border-color:#D8DADC;}
[data-theme="light"] .btn-blue{background:#E3F2FD;color:#3E7BFA;border-color:#BBDEFB;}
[data-theme="light"] .btn-red{background:#FFEBEE;color:#D32F2F;border-color:#FFCDD2;}
[data-theme="light"] .btn-green{background:#E8F5E9;color:#2E7D32;border-color:#A5D6A7;}
[data-theme="light"] .btn-yellow{background:#FFF8E1;color:#E6A800;border-color:#FFE082;}
[data-theme="light"] .card,[data-theme="light"] .stat-card{background:#FFFFFF;border-color:#D8DADC;}
[data-theme="light"] .stat-card .sc-value{color:#141218;}
[data-theme="light"] .stat-card .sc-label{color:#5c5d64;}
[data-theme="light"] .stat-card.blue .sc-icon{background:#E8F0FE;color:#1565C0;}
[data-theme="light"] .stat-card.red .sc-icon{background:#FCE8F3;color:#C2185B;}
[data-theme="light"] .stat-card.yellow .sc-icon{background:#FFF8E1;color:#E6A800;}
[data-theme="light"] .stat-card.green .sc-icon{background:#E8F5E9;color:#2E7D32;}
[data-theme="light"] .stat-card.orange .sc-icon{background:#FFF3E0;color:#E65100;}
[data-theme="light"] .stat-card.purple .sc-icon{background:#EDE7F6;color:#5E35B1;}
[data-theme="light"] .badge-green{background:#E8F5E9;color:#2E7D32;}
[data-theme="light"] .badge-blue{background:#E3F2FD;color:#1565C0;}
[data-theme="light"] .badge-yellow{background:#FFF8E1;color:#E6A800;}
[data-theme="light"] .badge-red{background:#FFEBEE;color:#D32F2F;}
[data-theme="light"] .badge-orange{background:#FFF3E0;color:#E65100;}
[data-theme="light"] .badge-purple{background:#EDE7F6;color:#5E35B1;}
[data-theme="light"] .modal-header h3,[data-theme="light"] .ios-sheet-title{color:#141218;}
[data-theme="light"] .account-dropdown .ad-name{color:#141218;}
[data-theme="light"] .user-avatar{background:linear-gradient(145deg,#5b9fff 0%,#2f80ed 100%)!important;}
[data-theme="light"] .account-dropdown .ad-avatar{background:#2f80ed;}
[data-theme="light"] .w-avatar,
[data-theme="light"] #admin-diary .admin-diary-avatar, [data-theme="light"] #w-diary .admin-diary-avatar,
[data-theme="light"] #admin-dashboard .dash-person .w-avatar,
[data-theme="light"] #workerDetailModal .wd-hero .w-avatar{background:var(--accent)!important;color:#FFFFFF!important;}
[data-theme="light"] .w-avatar.has-photo,
[data-theme="light"] #admin-diary .admin-diary-avatar.has-photo,
[data-theme="light"] #w-diary .admin-diary-avatar.has-photo,
[data-theme="light"] #admin-dashboard .dash-person .w-avatar.has-photo,
[data-theme="light"] #workerDetailModal .wd-hero .w-avatar.has-photo{background:transparent!important;}
[data-theme="light"] .header-search input{background:#FFFFFF;border-color:#D8DADC;color:#141218;}
[data-theme="light"] .header-search input:focus{border-color:var(--accent);}
[data-theme="light"] .header-search i{color:#5c5d64;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .icon-btn:hover{border-color:var(--accent);color:var(--accent);}
[data-theme="light"] .lang-btn:hover{border-color:var(--accent);background:rgba(0,163,196,.06);}
[data-theme="light"] .stat-card:hover{transform:translateY(-2px);}
[data-theme="light"] .diary-entry-card:hover{border-color:var(--accent);}
}
[data-theme="light"] .mobile-card{background:#FFFFFF;border-color:#D8DADC;}
[data-theme="light"] .mobile-card .mc-name{color:#141218;}
[data-theme="light"] .mobile-card .mc-sub{color:#5c5d64;}
[data-theme="light"] .mobile-card .mc-chevron{color:#9ca3af;}
[data-theme="light"] .mobile-card .mc-detail{border-top-color:#D8DADC;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .mobile-card:hover{border-color:var(--accent);}
}
[data-theme="light"] .data-table th{color:#5c5d64;border-bottom-color:#D8DADC;}
[data-theme="light"] .data-table td{border-bottom-color:#D8DADC;color:#141218;}
[data-theme="light"] .login-btn{background:#2f80ed;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .login-btn:hover{background:#1f6fe0;transform:none;}
}
[data-theme="light"] .login-form-group input:focus{border-color:var(--accent);}
[data-theme="light"] .login-hint{background:rgba(0,163,196,.06);border-color:rgba(0,163,196,.15);}
[data-theme="light"] .login-hint h4,[data-theme="light"] .login-hint-row i{color:var(--accent);}
[data-theme="light"] .login-hint-row code{background:rgba(0,163,196,.1);color:var(--accent);}
[data-theme="light"] .form-group input:focus,[data-theme="light"] .form-group select:focus,[data-theme="light"] .form-group textarea:focus{border-color:color-mix(in srgb, var(--color-secondary) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-secondary) 22%, transparent);}
[data-theme="light"] .progress-bar .pb-fill{background:var(--accent);}
[data-theme="light"] .diary-entry-card{background:#FFFFFF;border-color:#D8DADC;}
[data-theme="light"] .object-card .oc-icon{background:#E0F7FA;color:var(--accent);}
[data-theme="light"] .site-select{background:#FFFFFF;border-color:#D8DADC;color:#141218;}
[data-theme="light"] .lang-btn{background:#FFFFFF;border-color:#D8DADC;color:#141218;}
[data-theme="light"] .site-worked-hrs{color:var(--accent);}
[data-theme="light"] .site-worked-total strong{color:#2E7D32;}
[data-theme="light"] body[data-role="worker"] #workerNav{background:#FFFFFF;border-top-color:#D8DADC;}
[data-theme="light"] #workerNav a{color:#5c5d64;}
[data-theme="light"] #workerNav a.active,[data-theme="light"] .bottom-nav a.active{color:var(--accent);}
[data-theme="light"] #workerToolsScanBar .tools-scan-fab{box-shadow:0 4px 20px rgba(0,163,196,.28);}
[data-theme="light"] .tools-admin-tabs .tools-tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
[data-theme="light"] #admin-tools .tools-admin-tabs .tools-tab-btn.active{background:#fff;color:#141218;border-color:#D8DADC;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .tools-admin-tabs .tools-tab-btn:not(.active):hover{border-color:var(--accent);color:#141218;}
[data-theme="light"] #admin-tools .tools-admin-tabs .tools-tab-btn:not(.active):hover{border-color:transparent;background:#fff;color:#141218;}
[data-theme="light"] .tools-history-row-clickable:hover{background:rgba(0,163,196,.05);}
[data-theme="light"] .date-period-popup .dp-month-cell:hover,[data-theme="light"] .date-period-popup .dp-week-cell:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
}
[data-theme="light"] #admin-hours .admin-hours-table-toolbar, [data-theme="light"] #w-hours .admin-hours-table-toolbar,[data-theme="light"] #admin-kilometers .admin-hours-table-toolbar{border-color:rgba(0,163,196,.16);background:linear-gradient(135deg,rgba(0,163,196,.08),rgba(21,101,192,.05));}
[data-theme="light"] #admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-view, [data-theme="light"] #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-view{background:#F1F5F9;color:#475569;border-color:#E2E8F0;}
[data-theme="light"] #admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-edit, [data-theme="light"] #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-edit{background:#E3F2FD;color:#3E7BFA;border-color:#BBDEFB;}
[data-theme="light"] #admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-del, [data-theme="light"] #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-del{background:#FFEBEE;color:#D32F2F;border-color:#FFCDD2;}
[data-theme="light"] #admin-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-ok, [data-theme="light"] #w-hours .admin-oneline-hours.data-table td.admin-td-actions .btn-hour-ic.btn-hour-ok{background:#E8F5E9;color:#2E7D32;border-color:#A5D6A7;}
[data-theme="light"] #admin-diary .admin-diary-card, [data-theme="light"] #w-diary .admin-diary-card{background:#FFFFFF;border-color:#D8DADC;}
[data-theme="light"] #admin-diary .admin-diary-avatar, [data-theme="light"] #w-diary .admin-diary-avatar{color:#fff;border-color:transparent;}
[data-theme="light"] #admin-diary .admin-diary-tag, [data-theme="light"] #w-diary .admin-diary-tag{background:#F7F9FB;border-color:#D8DADC;color:#5c5d64;}
[data-theme="light"] #admin-diary .admin-diary-tag.site, [data-theme="light"] #w-diary .admin-diary-tag.site{color:#C99200;border-color:rgba(201,146,0,.35);background:#FFF8E1;}
[data-theme="light"] #admin-diary .admin-diary-tag.task, [data-theme="light"] #w-diary .admin-diary-tag.task{color:#0B8FAD;border-color:rgba(11,143,173,.28);background:rgba(0,163,196,.08);}
[data-theme="light"] #admin-diary .admin-diary-tag.photos, [data-theme="light"] #w-diary .admin-diary-tag.photos{color:#3B82F6;border-color:rgba(59,130,246,.25);background:#EFF6FF;}
[data-theme="light"] #admin-diary .admin-diary-text, [data-theme="light"] #w-diary .admin-diary-text{background:#F7F9FB;border-color:#D8DADC;}
[data-theme="light"] #admin-notifications .card,[data-theme="light"] #admin-tools .card,[data-theme="light"] #admin-make .card{background:#FFFFFF;border-color:#D8DADC;}
[data-theme="light"] #admin-tools .tools-map-event.active{background:rgba(0,163,196,.08);border-left-color:var(--accent);}
[data-theme="light"] .trip-address-toggle:hover{border-color:var(--accent);color:var(--accent);background:#FFFFFF;}
[data-theme="light"] .date-period-btn,[data-theme="light"] .reset-btn{background:#FFFFFF;border-color:#D8DADC;color:#141218;}
[data-theme="light"] .date-period-btn.active,[data-theme="light"] .reset-btn.active{border-color:var(--accent);color:var(--accent);}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .date-period-btn:hover,[data-theme="light"] .reset-btn:hover{border-color:var(--accent);color:var(--accent);}
[data-theme="light"] .photo-upload-btn:hover{border-color:var(--accent);color:var(--accent);}
}
[data-theme="light"] .photo-upload-btn{background:#FFFFFF;border-color:#D8DADC;color:#5c5d64;}

.progress-bar{height:6px;background:var(--bg);border-radius:3px;margin-top:8px;overflow:hidden;}
.progress-bar .pb-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .6s;}

/* BUTTONS */
.btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s;}
.btn-primary{background:var(--primary);color:#fff;}
.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border);}
.btn-sm{padding:6px 14px;font-size:12px;}
.btn-green{background:rgba(0,200,83,.15);color:var(--green);border:1px solid rgba(0,200,83,.2);}
.btn-red{background:rgba(233,69,96,.15);color:var(--red);border:1px solid rgba(233,69,96,.2);}
.btn-yellow{background:rgba(255,214,0,.12);color:var(--yellow);border:1px solid rgba(255,214,0,.35);}
.btn-blue{background:rgba(41,121,255,.15);color:var(--blue);border:1px solid rgba(41,121,255,.2);}
/* Admin / SaaS dark theme: primary action buttons are solid blue */
html:not([data-theme="light"]) body[data-role="admin"] .btn-primary,
html:not([data-theme="light"]) body[data-role="platform"] .btn-primary{background:#2f80ed;color:#fff;}
html:not([data-theme="light"]) body[data-role="admin"] .btn-primary.btn-brand{background:var(--primary);color:#fff;}
html:not([data-theme="light"]) body[data-role="admin"] .tools-admin-tabs .tools-tab-btn.active{background:#2f80ed;color:#fff;border-color:#2f80ed;}
html:not([data-theme="light"]) body[data-role="admin"] #admin-tools .tools-admin-tabs .tools-tab-btn.active{background:var(--color-surface-container);color:var(--color-on-surface);border-color:var(--color-outline-variant);}
/* Admin mobile: primary accent on avatars / tabs */
@media(max-width:900px){
  body[data-role="admin"] .btn-primary,
  body[data-role="platform"] .btn-primary{background:#2f80ed!important;color:#fff!important;}
  body[data-role="admin"] #admin-workers .workers-head-actions .btn-primary,
  body[data-role="admin"] #admin-sites .sites-head .sites-add-btn{
    background:#2f80ed!important;color:#fff!important;
  }
  body[data-role="admin"] .admin-site-ico{background:rgba(110,168,255,.14)!important;color:#6ea8ff!important;}
  body[data-role="admin"] .admin-dash-site-icon:not(.blue){background:rgba(110,168,255,.14)!important;color:#6ea8ff!important;}
  body[data-role="admin"] .user-avatar,
  body[data-role="admin"] .account-dropdown .ad-avatar,
  body[data-role="platform"] .user-avatar,
  body[data-role="platform"] .account-dropdown .ad-avatar{background:#2f80ed!important;color:#fff!important;}
  body[data-role="admin"] .user-avatar.has-photo,
  body[data-role="admin"] .account-dropdown .ad-avatar.has-photo,
  body[data-role="platform"] .user-avatar.has-photo,
  body[data-role="platform"] .account-dropdown .ad-avatar.has-photo{
    background:transparent!important;padding:0!important;
  }
  body[data-role="admin"] .tools-admin-tabs .tools-tab-btn.active{background:#2f80ed!important;color:#fff!important;border-color:#2f80ed!important;}
  [data-theme="light"] .login-btn{background:#2f80ed;}
}
@media (hover:hover) and (pointer:fine){
html:not([data-theme="light"]) body[data-role="admin"] .btn-primary:hover,
html:not([data-theme="light"]) body[data-role="platform"] .btn-primary:hover{background:#1f6fe0;opacity:1;}
html:not([data-theme="light"]) body[data-role="admin"] .btn-primary.btn-brand:hover{background:var(--primary);opacity:.92;}
.btn-primary:hover{opacity:.92;}
.btn-secondary:hover{border-color:var(--primary);}
.btn-green:hover{background:var(--green);color:#fff;}
.btn-red:hover{background:var(--red);color:#fff;}
.btn-yellow:hover{background:var(--yellow);color:#12121f;}
[data-theme="light"] .btn-yellow:hover{color:var(--text);}
.btn-blue:hover{background:var(--blue);color:#fff;}
}

/* MODALS */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:none;align-items:center;justify-content:center;animation:fadeIn .2s;}
.modal-overlay.show{display:flex;}
.push-prompt-modal{z-index:420;}
.push-prompt-card{
  width:min(420px,calc(100vw - 32px));padding:28px 22px 20px;text-align:center;
  border-radius:20px;border:1px solid var(--border);background:var(--card);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.push-prompt-ico{
  width:56px;height:56px;margin:0 auto 14px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.14);color:#6ea8ff;font-size:22px;
}
.push-prompt-card h3{margin:0 0 10px;font-size:18px;font-weight:750;color:var(--text);}
.push-prompt-card p{margin:0;font-size:14px;line-height:1.45;color:var(--text2);}
.push-prompt-hint{margin-top:12px!important;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);font-size:12px!important;text-align:left;}
[data-theme="light"] .push-prompt-hint{background:#F3F4F6;}
.push-prompt-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px;}
.push-prompt-actions .btn{width:100%;justify-content:center;min-height:46px;}
.modal{background:var(--card);border:1px solid var(--border);border-radius:16px;width:90%;max-width:500px;max-height:85vh;overflow-y:auto;animation:fadeUp .3s;}
.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.modal-header h3{font-size:18px;color:#fff;}
.modal-close{background:none;border:none;color:var(--text2);font-size:20px;cursor:pointer;}
.trip-detail-rows{display:flex;flex-direction:column;gap:14px;}
.trip-detail-row{display:grid;grid-template-columns:minmax(118px,34%) 1fr;gap:14px;align-items:start;}
@media(max-width:480px){
.trip-detail-row{grid-template-columns:1fr;gap:4px;}
}
.trip-detail-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text2);}
.trip-detail-val{font-size:14px;line-height:1.5;color:var(--text);word-break:break-word;}
.trip-detail-muted{color:var(--text2);font-size:13px;font-weight:500;}
.modal-body{padding:24px;}
/* Worker account journal modal: fixed chrome, only the table list scrolls */
#workerAccountJournalModal.modal-overlay{
  overflow:hidden;
  overscroll-behavior:none;
  padding:max(12px,env(safe-area-inset-top,0px)) 16px max(12px,env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
}
#workerAccountJournalModal .modal{
  width:min(720px,calc(100vw - 32px));
  max-width:720px;
  max-height:min(85vh,calc(100vh - 32px));
  overflow:hidden !important;
  display:flex;
  flex-direction:column;
}
#workerAccountJournalModal .modal-header{flex:0 0 auto;}
#workerAccountJournalModal .modal-footer{flex:0 0 auto;}
#workerAccountJournalModal .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:12px 24px 16px;
}
#workerAccountJournalModal .worker-journal-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
#workerAccountJournalModal .worker-journal-scroll .card{margin:0;}
#workerAccountJournalModal .worker-journal-hint{
  font-size:12px;color:var(--text2);margin:0 0 12px;line-height:1.45;
}
#workerAccountJournalModal .worker-journal-table th{
  white-space:nowrap;padding:12px 14px;
}
#workerAccountJournalModal .worker-journal-table td.wj-time{
  white-space:nowrap;font-size:12px;
}
#workerAccountJournalModal .worker-journal-table td.wj-empty{
  text-align:center;color:var(--text2);padding:28px 16px;
}
@media(max-width:600px){
  #workerAccountJournalModal .modal{width:calc(100vw - 24px);max-width:none;}
  #workerAccountJournalModal .modal-body{padding:10px 14px 12px;}
  #workerAccountJournalModal .worker-journal-table{table-layout:fixed;width:100%;}
  #workerAccountJournalModal .worker-journal-table th,
  #workerAccountJournalModal .worker-journal-table td{padding:10px 8px;font-size:12px;vertical-align:top;}
  #workerAccountJournalModal .worker-journal-table th:nth-child(1),
  #workerAccountJournalModal .worker-journal-table td:nth-child(1){width:30%;}
  #workerAccountJournalModal .worker-journal-table th:nth-child(2),
  #workerAccountJournalModal .worker-journal-table td:nth-child(2){width:40%;}
  #workerAccountJournalModal .worker-journal-table th:nth-child(3),
  #workerAccountJournalModal .worker-journal-table td:nth-child(3){width:30%;}
  #workerAccountJournalModal .worker-journal-table td.wj-time{white-space:normal;font-size:11px;}
}.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:13px;color:var(--text2);margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{width:100%;max-width:100%;padding:10px 14px;background:var(--input-bg);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:14px;outline:none;font-family:inherit;box-sizing:border-box;-webkit-appearance:none;appearance:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:color-mix(in srgb, var(--color-secondary) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-secondary) 22%, transparent);}
.form-group textarea{min-height:80px;resize:vertical;}
.form-group select{
  padding-right:40px;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg fill='%236b7f94' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:18px;
}
.form-group select option{background:var(--bg);color:var(--text);}
.trip-address-field{position:relative;display:flex;align-items:center;}
.trip-address-field input{padding-right:52px;}
.trip-address-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02);color:var(--text2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,background .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
@media (hover:hover) and (pointer:fine){
.trip-address-toggle:hover{border-color:var(--primary);color:var(--primary);background:rgba(255,255,255,.04);}
}
.trip-address-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.45);padding:6px;display:none;z-index:260;max-height:260px;overflow-y:auto;}
.trip-address-menu.show{display:block;}
.trip-address-group{padding:4px 0;}
.trip-address-group + .trip-address-group{border-top:1px solid rgba(255,255,255,.05);}
.trip-address-group-label{padding:8px 12px 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);}
.trip-address-item{display:block;width:100%;padding:11px 12px;border:none;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-size:14px;line-height:1.35;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.trip-address-item:disabled{opacity:.55;cursor:default;}
@media (hover:hover) and (pointer:fine){
.trip-address-item:hover{background:rgba(110,168,255,.08);color:#fff;}
.trip-address-item:disabled:hover{background:transparent;color:var(--text);}
}
.trip-address-item-meta{display:block;margin-top:3px;font-size:12px;color:var(--text2);}
[data-theme="light"] .trip-address-item-meta{color:var(--text2);}

/* iOS-like bottom sheet (used for trip notes picker) */
.ios-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1200;display:none;align-items:flex-end;justify-content:center;padding:0 12px calc(12px + var(--safe-bottom));}
.ios-sheet-overlay.show{display:flex;}
.ios-sheet{width:min(520px, 100%);background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.55);overflow:hidden;animation:sheetUp .18s ease-out;}
.ios-sheet-header{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ios-sheet-title{font-size:14px;font-weight:700;color:#fff;}
.ios-sheet-close{background:transparent;border:none;color:var(--text2);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;}
.ios-sheet-list{max-height:min(60vh, 360px);overflow:auto;padding:8px;-webkit-overflow-scrolling:touch;}
.ios-sheet button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.ios-sheet-item{width:100%;display:flex;flex-direction:column;gap:2px;padding:12px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.02);color:var(--text);text-align:left;cursor:pointer;margin-bottom:8px;}
@media (hover:hover) and (pointer:fine){
.ios-sheet-item:hover{border-color:rgba(110,168,255,.55);background:rgba(110,168,255,.10);}
}
@media (pointer:coarse){
.ios-sheet-item:active{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.02);}
}
.ios-sheet-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.ios-sheet-item-label{font-size:14px;font-weight:700;}
.ios-sheet-item-meta{font-size:12px;color:var(--text2);font-weight:500;}
.ios-sheet-actions{padding:10px 12px;border-top:1px solid rgba(255,255,255,.06);}
.ios-sheet-cancel{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;font-weight:700;}
@media (hover:hover) and (pointer:fine){
.ios-sheet-cancel:hover{border-color:var(--primary);color:var(--primary);}
}
.ios-sheet-group-label{padding:10px 10px 6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);}
.ios-sheet-sep{height:1px;background:rgba(255,255,255,.06);margin:6px 8px 10px;border-radius:1px;}
[data-theme="light"] .ios-sheet-header{border-bottom:1px solid rgba(15,21,37,.08);}
[data-theme="light"] .ios-sheet-actions{border-top:1px solid rgba(15,21,37,.08);}
[data-theme="light"] .ios-sheet-title{color:var(--text);}
[data-theme="light"] .ios-sheet-item{border-color:rgba(15,21,37,.12);background:#fff;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .ios-sheet-item:hover{border-color:rgba(0,163,196,.55);background:rgba(0,163,196,.08);}
}
@media (pointer:coarse){
[data-theme="light"] .ios-sheet-item:active{border-color:rgba(15,21,37,.12);background:#fff;}
}
[data-theme="light"] .ios-sheet-sep{background:rgba(15,21,37,.08);}
/* Address sheet: category → adresy druhý krok */
.ios-sheet-header-address{justify-content:flex-start;gap:2px;}
.trip-address-sheet-back{border:none;background:transparent;color:var(--text2);font-size:16px;line-height:1;cursor:pointer;padding:6px;margin-right:2px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;flex-shrink:0;}
@media (hover:hover) and (pointer:fine){
.trip-address-sheet-back:hover{color:var(--primary);background:rgba(255,255,255,.04);}
}
.trip-address-sheet-back.is-hidden{visibility:hidden;pointer-events:none;}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .trip-address-sheet-back:hover{background:rgba(0,163,196,.06);}
}
.ios-sheet-header-address .ios-sheet-title{flex:1;text-align:center;font-size:15px;line-height:1.25;margin:0;padding:0 6px;}
.ios-sheet-header-address .ios-sheet-close{margin-left:auto;flex-shrink:0;}
.ios-sheet-item-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;}
.ios-sheet-item-row .ios-sheet-cat-text{display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0;flex:1;}
.ios-sheet-item-row .fa-chevron-right{color:var(--text2);font-size:12px;opacity:.55;flex-shrink:0;}
@keyframes sheetUp{from{transform:translateY(10px);opacity:.7}to{transform:translateY(0);opacity:1}}

/* Hour-reminder inline schedule panel */
#admin-settings .hour-rem-field{margin:0 0 14px;}
#admin-settings .hour-rem-field:last-child{margin-bottom:0;}
#admin-settings .hour-rem-field label{
  display:block;font-size:11px;font-weight:700;color:var(--text2);margin-bottom:8px;letter-spacing:.03em;text-transform:uppercase;
}
#admin-settings .hour-rem-time{
  width:100%;height:44px;border-radius:12px;border:1px solid var(--border);
  background:var(--input-bg,var(--bg));color:var(--text);font-size:17px;font-weight:650;
  padding:0 14px;outline:none;font-variant-numeric:tabular-nums;box-sizing:border-box;
}
#admin-settings .hour-rem-time:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(110,168,255,.15);}
#admin-settings .hour-rem-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;}
#admin-settings .hour-rem-day{
  width:100%;min-width:0;height:40px;border-radius:10px;
  border:1px solid var(--border);background:var(--input-bg,rgba(255,255,255,.03));color:var(--text2);
  font-size:12px;font-weight:700;cursor:pointer;padding:0;
}
#admin-settings .hour-rem-day.is-on{
  background:rgba(110,168,255,.22);border-color:rgba(110,168,255,.55);color:#fff;
}
[data-theme="light"] #admin-settings .hour-rem-day{background:#fff;}
[data-theme="light"] #admin-settings .hour-rem-day.is-on{background:#2f80ed;border-color:#2f80ed;color:#fff;}
#admin-settings .hour-rem-hint{margin:10px 0 0;font-size:11.5px;color:var(--text2);line-height:1.45;}

/* iOS-style scroll wheel time picker (worker hours) */
.ios-time-display-input{cursor:pointer;text-align:center;font-size:18px;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums;touch-action:manipulation;-webkit-user-select:none;user-select:none;}
.ios-time-display-input:focus{border-color:var(--primary);}
.ios-time-sheet-header{align-items:center;}
.ios-time-sheet-header .ios-sheet-title{flex:1;text-align:center;font-size:15px;padding:0 8px;}
.ios-time-sheet-btn{border:none;background:transparent;font-size:15px;font-weight:600;cursor:pointer;padding:8px 10px;min-height:44px;flex-shrink:0;}
.ios-time-sheet-btn-muted{color:var(--text2);}
.ios-time-sheet-btn-primary{color:var(--primary);}
.ios-time-picker-wrap{position:relative;display:flex;align-items:stretch;justify-content:center;gap:4px;height:220px;padding:0 20px 16px;overflow:hidden;}
.ios-time-picker-colon{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--text);padding-bottom:2px;flex-shrink:0;width:16px;}
.ios-time-wheel-col{flex:1;max-width:96px;height:220px;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior:contain;}
.ios-time-wheel-col::-webkit-scrollbar{display:none;}
.ios-time-wheel-spacer{height:88px;flex-shrink:0;}
.ios-time-wheel-item{height:44px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:22px;font-variant-numeric:tabular-nums;color:var(--text2);transition:color .12s,font-size .12s;}
.ios-time-wheel-item.is-selected{color:var(--text);font-weight:700;font-size:24px;}
.ios-time-picker-highlight{position:absolute;left:20px;right:20px;top:50%;transform:translateY(-50%);height:44px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);pointer-events:none;background:rgba(255,255,255,.04);border-radius:8px;z-index:1;}
.ios-time-picker-mask{position:absolute;left:0;right:0;height:88px;pointer-events:none;z-index:2;}
.ios-time-picker-mask.top{top:0;background:linear-gradient(to bottom,var(--card) 25%,transparent);}
.ios-time-picker-mask.bottom{bottom:0;background:linear-gradient(to top,var(--card) 25%,transparent);}
[data-theme="light"] .ios-time-picker-highlight{background:rgba(0,163,196,.06);border-color:rgba(15,21,37,.12);}
[data-theme="light"] .ios-time-picker-mask.top{background:linear-gradient(to bottom,#fff 25%,transparent);}
[data-theme="light"] .ios-time-picker-mask.bottom{background:linear-gradient(to top,#fff 25%,transparent);}
[data-theme="light"] .trip-address-group + .trip-address-group{border-top:1px solid rgba(15,21,37,.08);}
[data-theme="light"] .trip-address-toggle{background:var(--card);border-color:var(--border);color:var(--text2);}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .trip-address-toggle:hover{border-color:var(--accent);color:var(--accent);background:#FFFFFF;}
}
[data-theme="light"] .trip-address-menu{background:var(--card);border-color:var(--border);box-shadow:0 10px 28px rgba(0,0,0,.12);}
@media (hover:hover) and (pointer:fine){
[data-theme="light"] .trip-address-item:hover{background:rgba(0,163,196,.08);color:var(--text);}
}
.form-check{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--bg);
  cursor:pointer;
  user-select:none;
}
.form-group label.form-check{display:flex;margin-bottom:0;}
@media (hover:hover) and (pointer:fine){
.form-check:hover{border-color:rgba(110,168,255,.45);}
}
.form-check input[type="checkbox"]{
  width:20px;
  height:20px;
  flex:0 0 auto;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  border:1px solid rgba(255,255,255,.22);
  border-radius:2px;
  background:transparent;
  display:grid;
  place-content:center; /* center mark */
  margin-top:0;
}
.form-check input[type="checkbox"]::before{
  content:"";
  width:12px;
  height:12px;
  border-radius:2px;
  background:var(--primary);
  transform:scale(0);
  transition:transform .12s ease-in-out;
}
.form-check input[type="checkbox"]:checked{
  border-color:rgba(110,168,255,.75);
}
.form-check input[type="checkbox"]:checked::before{
  transform:scale(1);
}
.form-check .form-check-text{
  display:flex;
  flex:1;
  flex-direction:column;
  font-size:14px;
  color:var(--text);
  line-height:1.25;
  justify-content:center;
}
.form-check .form-check-hint{display:block;margin-top:2px;font-size:12px;color:var(--text2);}
/* Light theme: checkbox box needs a visible border on white background */
[data-theme="light"] .form-check input[type="checkbox"]{border-color:#c3c9d4;background:#fff;}
[data-theme="light"] .form-check input[type="checkbox"]:checked{border-color:var(--primary);}

/* Modal design language (screenshot): header icon, field icons, info box */
.modal-header .modal-head-left{display:flex;align-items:center;min-width:0;gap:12px;}
.modal-head-ico{width:40px;height:40px;border-radius:11px;background:rgba(41,121,255,.16);color:#6b95ff;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
[data-theme="light"] .modal-head-ico{background:#E8F0FE;color:#2f6bff;}
.field-icon{position:relative;}
.field-icon > .fld-ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--primary,#6ea8ff);font-size:15px;line-height:1;pointer-events:none;z-index:1;}
.field-icon.field-ta > .fld-ic{top:19px;transform:none;}
.field-icon > input,.field-icon > select,.field-icon > textarea{padding-left:42px!important;}
[data-theme="light"] .field-icon > .fld-ic{color:#2f6bff;}
.modal-info-box{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:rgba(41,121,255,.10);border:1px solid rgba(41,121,255,.20);margin-top:8px;}
.modal-info-box > i{color:#6b95ff;font-size:14px;margin-top:2px;flex-shrink:0;}
.modal-info-box > span{font-size:12px;color:var(--text2);line-height:1.45;}
[data-theme="light"] .modal-info-box{background:#EAF2FE;border-color:#CFE0FB;}
[data-theme="light"] .modal-info-box > i{color:#2f6bff;}
#workerModal .modal-body > .form-group > label:not(.form-check),
#workerModal .worker-form-grid > .form-group > label:not(.form-check){color:#8ea1c9;font-weight:500;}
[data-theme="light"] #workerModal .modal-body > .form-group > label:not(.form-check),
[data-theme="light"] #workerModal .worker-form-grid > .form-group > label:not(.form-check){color:#2f6bff;}
#workerModal .worker-form-modal{
  width:min(720px,94vw);max-width:720px;
}
#workerModal .worker-form-grid{
  display:grid;grid-template-columns:1fr;gap:0;
}
#workerModal .worker-form-grid > .form-group{margin-bottom:14px;}
@media(min-width:720px){
  #workerModal .worker-form-grid{
    grid-template-columns:1fr 1fr;gap:0 16px;align-items:start;
  }
  #workerModal .worker-form-grid > .form-group.worker-form-span2{grid-column:1 / -1;}
  #workerModal .worker-form-grid > .form-group .form-check{min-height:74px;}
}

/* Tools list — mobile row cards (screenshot): icon + name + RT + chevron */
.tools-mobile-list{display:none;}
@media(max-width:900px){
  #admin-tools .tools-desktop-table,
  #w-tools .tools-desktop-table{display:none;}
  .tools-mobile-list{display:block;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--card);}
}
.tools-mobile-list .tool-row{display:flex;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;border-bottom:1px solid var(--border);-webkit-tap-highlight-color:transparent;}
.tools-mobile-list .tool-row:last-child{border-bottom:none;}
.tools-mobile-list .tool-row-ico{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.05);color:var(--text2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
[data-theme="light"] .tools-mobile-list .tool-row-ico{background:#F1F3F7;color:#64748b;}
.tools-mobile-list .tool-row-main{flex:1;min-width:0;}
.tools-mobile-list .tool-row-name{font-weight:600;font-size:15px;color:var(--text);word-break:break-word;}
.tools-mobile-list .tool-row-sub{font-size:12px;color:var(--text2);margin-top:1px;word-break:break-word;}
.tools-mobile-list .tool-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.tools-mobile-list .tool-row-actions .btn{
  width:36px;height:36px;padding:0;margin:0;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
}
.tools-mobile-list .tool-row-chev{color:#e0a54a;font-size:14px;flex-shrink:0;}
.tools-mobile-list .tools-list-head{text-align:center;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--text2);font-weight:600;padding:12px 14px;border-bottom:1px solid var(--border);}
#admin-tools .tools-action-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;}
#admin-tools .tools-action-card .sc-icon{margin-bottom:16px;}
#admin-tools .tools-action-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;}
#admin-tools .tools-action-label{font-size:13px;color:var(--text2);line-height:1.3;}
#admin-tools .tools-action-btn{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text2);flex-shrink:0;font-size:13px;}
[data-theme="light"] #admin-tools .tools-action-btn{background:#F1F3F7;}
#admin-tools .tools-add-card{margin-bottom:16px;}
#admin-tools .tools-pool-line{font-size:12px;color:var(--text2);margin:0 0 14px;line-height:1.45;}
#admin-tools .tools-pool-line i{margin-right:6px;color:var(--primary);}
#admin-tools .tools-pool-line code{font-size:11px;}
#admin-tools .tools-add-btn{width:100%;justify-content:center;}

/* Tools page — design-system layout */
#admin-tools .tools-page-head{
  display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:16px;
}
#admin-tools .tools-page-head .section-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;flex:0 0 auto;}
#admin-tools .tools-page-head .section-title i{font-size:18px;opacity:.85;}
#admin-tools .tools-page-head .tools-title-dot{
  display:inline-block;margin:0 .35em;font-weight:500;opacity:.45;line-height:1;
  vertical-align:middle;transform:translateY(-.05em);
}
#admin-tools .tools-page-head .tools-title-sub{font-weight:600;opacity:.72;}
#admin-tools .tools-page-head .tools-admin-tabs{
  flex:0 1 auto;margin:0;min-width:0;max-width:100%;
}
#admin-tools .tools-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:0 0 auto;margin-left:auto;}
#admin-tools .tools-head-actions .btn{
  min-height:40px;padding:0 14px;border-radius:12px;font-size:13px;font-weight:600;
  display:inline-flex;align-items:center;gap:8px;
}
#admin-tools .tools-admin-tabs{
  display:inline-flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;margin-bottom:16px;padding:4px;border-radius:14px;
  background:var(--bg);border:1px solid var(--border);max-width:100%;
}
#admin-tools .tools-admin-tabs::-webkit-scrollbar{display:none;}
#admin-tools .tools-admin-tabs .tools-tab-btn{
  flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;
  padding:9px 14px;min-height:38px;border-radius:10px;border:1px solid transparent;
  background:transparent;color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;
}
#admin-tools .tools-admin-tabs .tools-tab-btn.active{
  background:var(--card);color:var(--text);border-color:var(--border);box-shadow:0 1px 2px rgba(15,21,37,.06);
}
html:not([data-theme="light"]) #admin-tools .tools-admin-tabs .tools-tab-btn.active{
  background:#182230;border-color:#233143;color:#edf3fb;box-shadow:none;
}
@media (hover:hover) and (pointer:fine){
  #admin-tools .tools-admin-tabs .tools-tab-btn:not(.active):hover{color:var(--text);background:rgba(255,255,255,.04);}
  [data-theme="light"] #admin-tools .tools-admin-tabs .tools-tab-btn:not(.active):hover{background:#fff;color:#141218;}
}
[data-theme="light"] #admin-tools .tools-admin-tabs{background:#F2F4F6;border-color:#E6E8EB;}
[data-theme="light"] #admin-tools .tools-admin-tabs .tools-tab-btn.active{background:#fff;border-color:#D8DADC;color:#141218;}
@media(max-width:900px){
  body[data-role="admin"] #admin-tools .tools-admin-tabs .tools-tab-btn.active{
    background:var(--card)!important;color:var(--text)!important;border-color:var(--border)!important;
  }
  html:not([data-theme="light"]) body[data-role="admin"] #admin-tools .tools-admin-tabs .tools-tab-btn.active{
    background:#182230!important;border-color:#233143!important;color:#edf3fb!important;
  }
  #admin-tools .tools-page-head .tools-admin-tabs{flex:1 1 100%;order:3;}
  #admin-tools .tools-head-actions{order:2;}
}
#admin-tools .tools-kpi{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 12px;width:100%;
}
#admin-tools .tools-kpi-pair{display:contents;}
@media(max-width:900px){
  #admin-tools .tools-instruments-kpi{display:none;}
  #admin-tools .tools-head-actions{display:none;}
}
#admin-tools .tools-kpi .tk-stat{
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
  transition:transform .18s,box-shadow .18s;
}
@media (hover:hover) and (pointer:fine){
  #admin-tools .tools-kpi .tk-stat:hover{transform:translateY(-2px);}
}
#admin-tools .tools-kpi .tk-stat .sc-icon{
  width:46px;height:46px;border-radius:13px;margin:0;font-size:18px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:#EEF1F4;color:#5c5d64;
}
#admin-tools .tools-kpi .tk-stat.blue .sc-icon{background:rgba(0,163,196,.12);color:var(--blue);}
#admin-tools .tools-kpi .tk-stat.orange .sc-icon{background:rgba(224,130,0,.14);color:var(--orange);}
#admin-tools .tools-kpi .tk-stat.green .sc-icon{background:rgba(46,158,90,.12);color:var(--green);}
#admin-tools .tools-kpi .tk-body{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;align-items:flex-start;
}
#admin-tools .tools-kpi .tk-eyebrow{
  font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);line-height:1.2;text-align:left;
}
#admin-tools .tools-kpi .tk-value{
  font-size:24px;font-weight:700;line-height:1.1;color:var(--text);margin:0;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#admin-tools .tools-kpi .tk-label{font-size:12px;color:var(--text2);line-height:1.35;margin:0;}
#admin-tools .tools-kpi .tk-stat-dark{
  background:#1D2433;border-color:#1D2433;color:#fff;cursor:pointer;text-align:left;font:inherit;
  appearance:none;-webkit-appearance:none;
}
#admin-tools .tools-kpi .tk-stat-dark .sc-icon{background:rgba(255,255,255,.12);color:#fff;}
#admin-tools .tools-kpi .tk-stat-dark .tk-eyebrow,
#admin-tools .tools-kpi .tk-stat-dark .tk-label{color:rgba(255,255,255,.62);}
#admin-tools .tools-kpi .tk-stat-dark .tk-value{color:#fff;font-size:18px;}
html:not([data-theme="light"]) #admin-tools .tools-kpi .tk-stat-dark{background:#16162e;border-color:#2a2a4a;}
[data-theme="light"] #admin-tools .tools-kpi .tk-stat{box-shadow:0 1px 2px rgba(15,21,37,.04);border-color:#E6E8EB;}
[data-theme="light"] #admin-tools .tools-kpi .tk-stat-dark{box-shadow:0 6px 18px rgba(15,21,37,.12);border-color:#1D2433;}
@media (hover:hover) and (pointer:fine){
  #admin-tools .tools-kpi .tk-stat-dark:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,21,37,.18);}
}

/* Mobile tools list: one shared KPI card split in half (like Stavby) */
@media(max-width:900px){
  #admin-tools .tools-kpi{
    grid-template-columns:1fr;gap:12px;margin:0 0 12px;
  }
  #admin-tools .tools-kpi-pair{
    display:grid;grid-template-columns:1fr 1fr;gap:0;
    border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--card);
  }
  #admin-tools .tools-kpi .tools-kpi-pair .tk-stat{
    border:none;border-radius:0;background:transparent;box-shadow:none;
    padding:14px 12px;gap:10px;transform:none;
  }
  #admin-tools .tools-kpi .tools-kpi-pair .tk-stat.blue{
    border-right:1px solid var(--border);
  }
  #admin-tools .tools-kpi .tools-kpi-pair .tk-stat .sc-icon{
    width:36px;height:36px;font-size:14px;border-radius:10px;
  }
  #admin-tools .tools-kpi .tools-kpi-pair .tk-body{gap:1px;}
  #admin-tools .tools-kpi .tools-kpi-pair .tk-value{font-size:20px;}
  #admin-tools .tools-kpi .tools-kpi-pair .tk-label{font-size:11px;line-height:1.25;}
  #admin-tools .tools-kpi .tools-kpi-pair .tk-eyebrow{display:none;}
  #admin-tools .tools-kpi .tk-stat-dark{width:100%;}
  [data-theme="light"] #admin-tools .tools-kpi .tools-kpi-pair .tk-stat{
    box-shadow:none;border-color:transparent;background:transparent;
  }
  [data-theme="light"] #admin-tools .tools-kpi .tools-kpi-pair .tk-stat.blue{
    border-right:1px solid var(--border);
  }
}
@media (hover:hover) and (pointer:fine){
  @media(max-width:900px){
    #admin-tools .tools-kpi .tools-kpi-pair .tk-stat:hover{transform:none;}
  }
}
#admin-tools .tools-pool-hint{
  display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:12px;line-height:1.45;color:var(--text2);
}
#admin-tools .tools-pool-hint i{opacity:.75;flex-shrink:0;}
#admin-tools .tools-pool-hint code{font-size:11px;opacity:.85;}

/* Instruments ledger — filter bar + table (design-system) */
#admin-tools .tools-ledger-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  margin:0 0 16px;padding:10px 12px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-tools .tools-ledger-bar{
  box-shadow:0 1px 3px rgba(15,21,37,.04);border-color:#E6E8EB;
}
#admin-tools .tools-ledger-seg{
  display:inline-flex;align-items:center;padding:3px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);flex-shrink:0;
}
[data-theme="light"] #admin-tools .tools-ledger-seg{background:#F2F4F6;border-color:#E6E8EB;}
#admin-tools .tools-ledger-seg-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:var(--text2);font:inherit;font-size:12px;font-weight:600;line-height:1;
  padding:9px 14px;border-radius:10px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s,box-shadow .15s;
}
#admin-tools .tools-ledger-seg-btn:hover{color:var(--text);}
#admin-tools .tools-ledger-seg-btn.active{
  background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);
}
[data-theme="light"] #admin-tools .tools-ledger-seg-btn.active{
  background:#fff;color:#141218;box-shadow:0 1px 2px rgba(15,21,37,.08);
}
#admin-tools .tools-ledger-controls{
  display:flex;align-items:center;flex:1 1 280px;flex-wrap:wrap;gap:8px;min-width:0;
}
#admin-tools .tools-ledger-field,
#admin-tools .tools-ledger-bar .tools-ledger-date{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 140px;min-width:0;
  min-height:42px;padding:0 12px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-tools .tools-ledger-field,
[data-theme="light"] #admin-tools .tools-ledger-bar .tools-ledger-date{background:#fff;}
#admin-tools .tools-ledger-field > i.tools-ledger-field-ico{
  display:inline-flex;width:16px;justify-content:center;color:var(--text2);font-size:13px;flex-shrink:0;
}
#admin-tools .tools-ledger-bar .tools-ledger-date > label{display:none;}
#admin-tools .tools-ledger-field select{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0 18px 0 0;min-height:40px;
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 0 center;background-size:11px 11px;
}
#admin-tools .tools-ledger-field input[type="search"]{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0;min-height:40px;
}
#admin-tools .tools-ledger-field input[type="search"]::placeholder{color:var(--text2);opacity:.85;}
#admin-tools .tools-ledger-search{flex:1.4 1 180px;}
#admin-tools .tools-ledger-bar .tools-ledger-date{padding-right:10px;}
#admin-tools .tools-ledger-bar .tools-ledger-date .date-period-btn{
  flex:1;min-width:0;width:100%;min-height:40px;margin:0;padding:0;border:0;border-radius:0;
  background:transparent;color:var(--text);font-size:13px;font-weight:500;justify-content:flex-start;
  box-shadow:none;
}
#admin-tools .tools-ledger-bar .tools-ledger-date .date-period-popup{left:0;right:auto;min-width:280px;z-index:40;}
#admin-tools .tools-ledger-clear{
  appearance:none;-webkit-appearance:none;flex-shrink:0;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;
  transition:background .15s,color .15s,border-color .15s;
}
#admin-tools .tools-ledger-clear:hover{color:var(--text);background:rgba(255,255,255,.04);}
#admin-tools .tools-ledger-clear.is-active{
  color:var(--orange);border-color:rgba(224,130,0,.35);background:rgba(224,130,0,.1);
}
[data-theme="light"] #admin-tools .tools-ledger-clear:hover{background:#F2F4F6;color:#141218;}
[data-theme="light"] #admin-tools .tools-ledger-clear.is-active{
  color:#E65100;background:#FFF3E0;border-color:#FFCC80;
}
@media(max-width:720px){
  #admin-tools .tools-ledger-bar{
    display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;padding:10px;
  }
  #admin-tools .tools-ledger-seg{grid-column:1 / -1;width:100%;}
  #admin-tools .tools-ledger-seg-btn{flex:1;text-align:center;padding:10px 8px;font-size:12px;}
  #admin-tools .tools-ledger-controls{display:contents;}
  #admin-tools .tools-ledger-bar:not(.tools-ledger-bar-instruments) .tools-ledger-holder{display:none!important;}
  #admin-tools .tools-ledger-search,
  #admin-tools .tools-ledger-bar:not(.tools-ledger-bar-instruments) .tools-ledger-tool{grid-column:1;min-width:0;flex:none;}
  #admin-tools .tools-ledger-field{flex:none;min-width:0;}
  #admin-tools .tools-ledger-bar:not(.tools-ledger-bar-instruments) .tools-ledger-date{
    grid-column:1 / -1;flex:none;min-width:0;
  }
  #admin-tools .tools-ledger-bar:not(.tools-ledger-bar-instruments) .tools-ledger-clear{
    grid-column:2;grid-row:auto;margin:0;align-self:center;
  }

  /* Instruments: status + tool/worker + period/reset */
  #admin-tools .tools-ledger-bar-instruments{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;
  }
  #admin-tools .tools-ledger-bar-instruments .tools-ledger-tool,
  #admin-tools .tools-ledger-bar-instruments .tools-ledger-holder{
    display:flex!important;min-width:0;
  }
  #admin-tools .tools-ledger-bar-instruments .tools-ledger-period-row{
    grid-column:1 / -1;display:flex;align-items:stretch;gap:8px;min-width:0;
  }
  #admin-tools .tools-ledger-bar-instruments .tools-ledger-period-row .tools-ledger-date{
    flex:1 1 auto;min-width:0;
  }
  #admin-tools .tools-ledger-bar-instruments .tools-ledger-period-row .tools-ledger-clear{
    flex:0 0 42px;width:42px;height:auto;min-height:42px;margin:0;align-self:stretch;
  }
  #admin-tools .tools-ledger-bar-instruments .tools-ledger-field{
    padding-left:10px;padding-right:10px;
  }
  #admin-tools .tools-ledger-bar-instruments .tools-ledger-field select{
    font-size:12px;padding-right:14px;
  }
  #admin-tools .tools-ledger-bar-instruments .tools-ledger-date .date-period-btn{
    font-size:12px;
  }
}
#admin-tools .tools-ledger-period-row{
  display:contents;
}
@media(min-width:721px){
  #admin-tools .tools-ledger-bar-instruments .tools-ledger-period-row{
    display:contents;
  }
}
#admin-tools .tools-ledger-card{
  padding:0;overflow:hidden;border-radius:16px;margin:0;background:var(--card);border:1px solid var(--border);
}
[data-theme="light"] #admin-tools .tools-ledger-card{box-shadow:0 1px 3px rgba(15,21,37,.04);border-color:#E6E8EB;}
#admin-tools .tools-ledger-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 20px 14px;border-bottom:1px solid var(--border);
}
#admin-tools .tools-ledger-head h4{margin:0;font-size:15px;font-weight:700;color:var(--text);}
#admin-tools .tools-ledger-head p{margin:4px 0 0;font-size:12px;color:var(--text2);line-height:1.4;}
#admin-tools .tools-ledger-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
#admin-tools .tools-ledger-table{width:100%;border-collapse:collapse;min-width:560px;}
#admin-tools .tools-ledger-table thead th{
  text-align:left;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text2);padding:14px 12px;border-bottom:1px solid var(--border);white-space:nowrap;
}
#admin-tools .tools-ledger-table thead th:first-child,
#admin-tools .tools-ledger-table tbody td:first-child{padding-left:20px;}
#admin-tools .tools-ledger-table thead th:last-child,
#admin-tools .tools-ledger-table tbody td:last-child{padding-right:16px;}
#admin-tools .tools-ledger-table tbody td{
  padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:middle;
  font-size:13px;color:var(--text);font-variant-numeric:tabular-nums;
}
#admin-tools .tools-ledger-table tbody tr:last-child td{border-bottom:none;}
#admin-tools .tools-ledger-table tbody tr.tools-ledger-row{
  cursor:pointer;transition:background .15s;
}
@media (hover:hover) and (pointer:fine){
  #admin-tools .tools-ledger-table tbody tr.tools-ledger-row:hover{background:rgba(255,255,255,.03);}
  [data-theme="light"] #admin-tools .tools-ledger-table tbody tr.tools-ledger-row:hover{background:rgba(15,21,37,.03);}
}
#admin-tools .tools-ledger-name{font-weight:600;color:var(--text);}
#admin-tools .tools-ledger-meta{display:block;font-size:11px;color:var(--text2);margin-top:2px;}
#admin-tools .tools-ledger-worker{color:var(--text2);}
#admin-tools .tools-ledger-chev{color:var(--text2);opacity:.55;font-size:12px;text-align:right;width:28px;}
#admin-tools .tools-ledger-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;
  padding:5px 10px;border-radius:8px;line-height:1.2;white-space:nowrap;
}
#admin-tools .tools-ledger-badge i{font-size:7px;}
#admin-tools .tools-ledger-badge.is-out{
  background:rgba(224,130,0,.12);color:var(--orange);border:1px solid rgba(224,130,0,.22);
}
#admin-tools .tools-ledger-badge.is-back{
  background:rgba(46,158,90,.12);color:var(--green);border:1px solid rgba(46,158,90,.22);
}
#admin-tools .tools-ledger-mobile{display:none;flex-direction:column;}
#admin-tools .tools-ledger-mrow{
  display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;
  border-bottom:1px solid var(--border);text-align:left;width:100%;
  background:transparent;border-left:none;border-right:none;border-top:none;color:inherit;font:inherit;
}
#admin-tools .tools-ledger-mrow:last-child{border-bottom:none;}
#admin-tools .tools-ledger-mico{
  width:42px;height:42px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:16px;
  background:rgba(255,255,255,.05);color:var(--text2);
}
#admin-tools .tools-ledger-mico.is-out{background:rgba(224,130,0,.12);color:var(--orange);}
#admin-tools .tools-ledger-mico.is-back{background:rgba(46,158,90,.12);color:var(--green);}
[data-theme="light"] #admin-tools .tools-ledger-mico{background:#F1F3F7;}
#admin-tools .tools-ledger-mmain{flex:1;min-width:0;}
#admin-tools .tools-ledger-mtitle{display:block;font-weight:600;font-size:14px;color:var(--text);word-break:break-word;line-height:1.25;}
#admin-tools .tools-ledger-msub{display:block;font-size:12px;color:var(--text2);margin-top:3px;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#admin-tools .tools-history-mobile .tools-history-mrow{padding:12px 14px;gap:10px;}
#admin-tools .tools-history-mobile .tools-ledger-mico{width:36px;height:36px;font-size:14px;border-radius:10px;}
#admin-tools .tools-history-mobile .tools-ledger-mtitle{font-size:15px;}
#admin-tools .tools-history-mobile .tools-ledger-chev{opacity:.45;font-size:12px;margin-left:4px;}
@media(max-width:720px){
  #admin-tools .tools-ledger-wrap{display:none;}
  #admin-tools .tools-ledger-mobile{display:flex;}
}

#admin-tools .tools-empty{
  text-align:center;padding:40px 24px;border-radius:16px;background:var(--card);border:1px solid var(--border);
}
#admin-tools .tools-empty > i{
  display:block;font-size:40px;line-height:1;margin:0 auto 14px;color:var(--text2);opacity:.45;
}
#admin-tools .tools-empty strong{
  display:block;font-size:16px;font-weight:700;color:var(--text);margin:0 0 6px;
}
#admin-tools .tools-empty span{
  display:block;font-size:13px;line-height:1.5;color:var(--text2);max-width:420px;margin:0 auto 18px;
}
#admin-tools .tools-empty .btn{min-height:42px;border-radius:12px;padding:0 18px;}
[data-theme="light"] #admin-tools .tools-empty{box-shadow:0 1px 3px rgba(15,21,37,.04);border-color:#E6E8EB;}
#admin-tools .tools-table-card{
  padding:0;overflow:hidden;border-radius:16px;margin-bottom:0;background:var(--card);border:1px solid var(--border);
  width:100%;
}
#admin-tools .tools-table-card .data-table{
  width:100%;table-layout:fixed;border-collapse:collapse;
}
#admin-tools .tools-table-card .data-table thead th{
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text2);
}
#admin-tools .tools-table-card .data-table tbody tr:hover{background:rgba(255,255,255,.03);}
/* List table: stretch columns across full width; actions pinned right */
#admin-tools .tools-list-table.data-table th,
#admin-tools .tools-list-table.data-table td{
  vertical-align:middle;
}
#admin-tools .tools-list-table.data-table th:nth-child(1),
#admin-tools .tools-list-table.data-table td:nth-child(1){width:26%;}
#admin-tools .tools-list-table.data-table th:nth-child(2),
#admin-tools .tools-list-table.data-table td:nth-child(2){width:12%;}
#admin-tools .tools-list-table.data-table th:nth-child(3),
#admin-tools .tools-list-table.data-table td:nth-child(3){width:14%;}
#admin-tools .tools-list-table.data-table th:nth-child(4),
#admin-tools .tools-list-table.data-table td:nth-child(4){width:14%;}
#admin-tools .tools-list-table.data-table th:nth-child(5),
#admin-tools .tools-list-table.data-table td:nth-child(5){
  width:34%;text-align:right;white-space:normal;
}
#admin-tools .tools-list-table .tools-row-actions{
  display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;
  max-width:100%;
}
#admin-tools .tools-list-table .tools-row-actions .btn{
  margin:0;flex-shrink:0;width:34px;height:34px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
}
[data-theme="light"] #admin-tools .tools-table-card{box-shadow:0 1px 3px rgba(15,21,37,.04);border-color:#E6E8EB;}
[data-theme="light"] #admin-tools .tools-table-card .data-table tbody tr:hover{background:rgba(15,21,37,.03);}
#admin-tools .tools-mobile-list{border-radius:16px;}
#admin-tools .tools-history-filter-wrap{margin:0 0 14px;}
#admin-tools .tools-history-mobile{display:none;flex-direction:column;padding:0;overflow:hidden;}
#admin-tools .tools-history-desktop{display:block;}
@media(max-width:720px){
  #admin-tools .tools-head-actions{width:100%;}
  #admin-tools .tools-head-actions .btn{flex:1 1 0;justify-content:center;min-width:0;}
  #admin-tools .tools-history-desktop{display:none;}
  #admin-tools .tools-history-mobile{display:flex;}
  #admin-tools .tools-page-head{margin-bottom:10px;}
  #admin-tools .tools-page-head .section-title{font-size:18px;}
}

/* Kilometry — lodging rows as cards with chevron (screenshot) */
.km-lodging-row{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;margin-top:10px;background:var(--card);}
.km-lodging-row .km-lodging-info{flex:1;min-width:0;}
.km-lodging-row .km-lodging-addr{color:var(--text2);font-size:12px;margin:2px 0 8px;}
.km-lodging-row .km-lodging-actions{display:flex;gap:8px;flex-wrap:wrap;}
.km-lodging-row .km-lodging-chev{color:var(--text2);font-size:14px;flex-shrink:0;}

/* Kilometry — subtabs, KPI, filter bar, trips table, lodging pane */
#admin-kilometers .km-subtabs{
  display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:14px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);margin:0 0 16px;
}
[data-theme="light"] #admin-kilometers .km-subtabs{background:#F2F4F6;border-color:#E6E8EB;}
#admin-kilometers .km-subtab-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:var(--text2);font:inherit;font-size:13px;font-weight:600;line-height:1;
  padding:10px 16px;border-radius:11px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s,box-shadow .15s;
}
#admin-kilometers .km-subtab-btn:hover{color:var(--text);}
#admin-kilometers .km-subtab-btn.active{
  background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);
}
[data-theme="light"] #admin-kilometers .km-subtab-btn.active{
  background:#fff;color:#141218;box-shadow:0 1px 2px rgba(15,21,37,.08);
}
#admin-kilometers .km-kpi{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 14px;width:100%;
}
@media(max-width:1100px){#admin-kilometers .km-kpi{grid-template-columns:repeat(3,minmax(0,1fr));}}
#admin-kilometers .km-kpi .kk-stat{
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
#admin-kilometers .km-kpi .kk-stat.kk-sheet,
#admin-kilometers .km-kpi .kk-stat.kk-export{
  cursor:pointer;text-align:left;font:inherit;appearance:none;-webkit-appearance:none;
  transition:transform .18s,box-shadow .18s;
}
@media (hover:hover) and (pointer:fine){
  #admin-kilometers .km-kpi .kk-stat.kk-sheet:hover,
  #admin-kilometers .km-kpi .kk-stat.kk-export:hover{transform:translateY(-2px);}
}
#admin-kilometers .km-kpi .kk-stat .sc-icon{
  width:42px;height:42px;border-radius:12px;margin:0;font-size:16px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
#admin-kilometers .km-kpi .kk-stat.blue .sc-icon{background:color-mix(in srgb, var(--color-primary) 16%, transparent);color:var(--color-primary);}
#admin-kilometers .km-kpi .kk-stat.green .sc-icon{background:color-mix(in srgb, var(--color-secondary) 14%, transparent);color:var(--color-secondary);}
#admin-kilometers .km-kpi .kk-stat.yellow .sc-icon{background:color-mix(in srgb, var(--yellow) 14%, transparent);color:var(--yellow);}
#admin-kilometers .km-kpi .kk-stat.orange .sc-icon{background:color-mix(in srgb, var(--orange) 14%, transparent);color:var(--orange);}
#admin-kilometers .km-kpi .kk-stat.purple .sc-icon{background:rgba(156,39,176,.15);color:#ce93d8;}
[data-theme="light"] #admin-kilometers .km-kpi .kk-stat.purple .sc-icon{background:#EDE7F6;color:#5E35B1;}
#admin-kilometers .km-kpi .kk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#admin-kilometers .km-kpi .kk-value{
  font-size:22px;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#admin-kilometers .km-kpi .kk-label{font-size:12px;color:var(--text2);line-height:1.3;}
#admin-kilometers .km-kpi .kk-sheet .kk-chev{color:var(--text2);font-size:14px;flex-shrink:0;margin-left:auto;}
@media(max-width:720px){
  #admin-kilometers .km-kpi{
    display:flex;align-items:stretch;gap:0;
    border:1px solid var(--border);border-radius:16px;background:var(--card);
    overflow:hidden;box-sizing:border-box;
  }
  #admin-kilometers .km-kpi .kk-stat{
    flex:1 1 50%;min-width:0;gap:10px;padding:12px 12px;
    border:0;border-radius:0;background:transparent;box-shadow:none;
  }
  #admin-kilometers .km-kpi .kk-stat.blue{border-right:1px solid var(--border);}
  #admin-kilometers .km-kpi .kk-stat .sc-icon{width:38px;height:38px;font-size:15px;}
  #admin-kilometers .km-kpi .kk-value{font-size:20px;}
  #admin-kilometers .km-kpi .kk-label{font-size:11px;}
  #admin-kilometers .km-kpi .kk-stat.green,
  #admin-kilometers .km-kpi .kk-stat.kk-export,
  #admin-kilometers .km-kpi .kk-stat.kk-sheet{display:none!important;}
}
#admin-kilometers .km-filter-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  margin:0 0 16px;padding:10px 12px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-kilometers .km-filter-bar{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-kilometers .km-filter-controls{
  display:flex;align-items:center;flex:1 1 280px;flex-wrap:wrap;gap:8px;min-width:0;
}
#admin-kilometers .km-filter-seg{
  display:inline-flex;align-items:center;padding:3px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);flex-shrink:0;
}
[data-theme="light"] #admin-kilometers .km-filter-seg{background:#F2F4F6;border-color:#E6E8EB;}
#admin-kilometers .km-filter-seg-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:var(--text2);font:inherit;font-size:12px;font-weight:600;line-height:1;
  padding:9px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s,box-shadow .15s;
}
#admin-kilometers .km-filter-seg-btn:hover{color:var(--text);}
#admin-kilometers .km-filter-seg-btn.active{
  background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);
}
[data-theme="light"] #admin-kilometers .km-filter-seg-btn.active{background:#fff;color:#141218;}
#admin-kilometers .km-filter-field,
#admin-kilometers .km-filter-bar .km-filter-date{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 140px;min-width:0;
  min-height:42px;padding:0 12px;border-radius:12px;
  background:var(--input-bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-kilometers .km-filter-field,
[data-theme="light"] #admin-kilometers .km-filter-bar .km-filter-date{background:#fff;}
#admin-kilometers .km-filter-field > i.km-filter-ico{
  display:inline-flex;width:16px;justify-content:center;color:var(--text2);font-size:13px;flex-shrink:0;
}
#admin-kilometers .km-filter-bar .km-filter-date > label{display:none;}
#admin-kilometers .km-filter-field select{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0 18px 0 0;min-height:40px;
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 0 center;background-size:11px 11px;
}
#admin-kilometers .km-filter-bar .km-filter-date{padding-right:10px;flex:1.2 1 180px;}
#admin-kilometers .km-filter-bar .km-filter-date .date-period-btn{
  flex:1;min-width:0;width:100%;min-height:40px;margin:0;padding:0;border:0;border-radius:0;
  background:transparent;color:var(--text);font-size:13px;font-weight:500;justify-content:flex-start;box-shadow:none;
}
#admin-kilometers .km-filter-bar .km-filter-date .date-period-popup{left:0;right:auto;min-width:280px;z-index:40;}
#admin-kilometers .km-filter-clear{
  appearance:none;-webkit-appearance:none;flex-shrink:0;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;
  transition:background .15s,color .15s,border-color .15s;
}
#admin-kilometers .km-filter-clear:hover{color:var(--text);background:rgba(255,255,255,.04);}
#admin-kilometers .km-filter-clear.is-active{
  color:var(--orange);border-color:color-mix(in srgb, var(--orange) 35%, transparent);
  background:color-mix(in srgb, var(--orange) 12%, transparent);
}
@media(max-width:720px){
  #admin-kilometers .km-filter-controls{flex:1 1 100%;}
  #admin-kilometers .km-filter-seg{width:100%;overflow-x:auto;}
  #admin-kilometers .km-filter-seg-btn{flex:1;text-align:center;padding:10px 8px;}
  #admin-kilometers .km-filter-field,
  #admin-kilometers .km-filter-bar .km-filter-date{
    flex:1 1 0;min-width:0;padding:0 8px;gap:6px;
  }
  #admin-kilometers .km-filter-bar .km-filter-date{flex:1 1 0;padding-right:6px;}
  #admin-kilometers .km-filter-field select,
  #admin-kilometers .km-filter-bar .km-filter-date .date-period-btn{font-size:12px;}
  #admin-kilometers .km-filter-clear{margin-left:0;flex-shrink:0;width:40px;height:40px;}
}

#admin-kilometers .km-trips-table{width:100%;table-layout:fixed;border-collapse:collapse;}
#admin-kilometers .km-trips-table thead th{
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text2);
  padding:12px 14px;border-bottom:1px solid var(--border);text-align:center!important;vertical-align:middle;
}
#admin-kilometers .km-trips-table tbody td{
  padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle;
  text-align:center;
}
#admin-kilometers .km-trips-table tbody tr.km-trip-row{cursor:pointer;}
#admin-kilometers .km-trips-table tbody tr:last-child td{border-bottom:none;}
#admin-kilometers .km-trips-table tbody tr:hover td{background:rgba(255,255,255,.03);}
[data-theme="light"] #admin-kilometers .km-trips-table tbody tr:hover td{background:rgba(15,21,37,.03);}
#admin-kilometers .km-trips-table th:nth-child(1),
#admin-kilometers .km-trips-table td:nth-child(1){width:12%;}
#admin-kilometers .km-trips-table th:nth-child(2),
#admin-kilometers .km-trips-table td:nth-child(2){width:9%;}
#admin-kilometers .km-trips-table th:nth-child(3),
#admin-kilometers .km-trips-table td:nth-child(3){width:17%;text-align:left;}
#admin-kilometers .km-trips-table th:nth-child(4),
#admin-kilometers .km-trips-table td:nth-child(4){width:17%;text-align:left;}
#admin-kilometers .km-trips-table th:nth-child(5),
#admin-kilometers .km-trips-table td:nth-child(5){width:11%;text-align:left;}
#admin-kilometers .km-trips-table th:nth-child(6),
#admin-kilometers .km-trips-table td:nth-child(6){width:6%;}
#admin-kilometers .km-trips-table th:nth-child(7),
#admin-kilometers .km-trips-table td:nth-child(7){width:10%;}
#admin-kilometers .km-trips-table th:nth-child(8),
#admin-kilometers .km-trips-table td:nth-child(8){
  width:18%;min-width:168px;text-align:center!important;white-space:nowrap;overflow:visible;
}
#admin-kilometers .km-trips-table td.km-td-clip{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0;
}
#admin-kilometers .km-trips-table td.km-td-km{font-variant-numeric:tabular-nums;font-weight:600;}
#admin-kilometers .km-trips-table .km-row-actions{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap;
  min-width:156px;
}
#admin-kilometers .km-trips-table .km-row-actions .btn{
  margin:0;flex:0 0 auto;
  width:34px;height:34px;min-width:34px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;box-sizing:border-box;line-height:1;
}
#admin-kilometers .km-trips-table .km-row-actions .btn i{
  font-size:13px;line-height:1;width:1em;text-align:center;
}
#admin-kilometers .kk-sheet .settings-gsheets-icon,
#admin-kilometers .kk-sheet .km-sheet-g{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border:1.5px solid currentColor;border-radius:4px;
  font-size:11px;font-weight:750;line-height:1;box-sizing:border-box;
}
#admin-kilometers .kk-sheet .km-sheet-g::before{content:'G';}
#admin-kilometers .km-trips-table-card{
  padding:0;overflow-x:auto;overflow-y:hidden;border-radius:16px;margin:0;background:var(--card);border:1px solid var(--border);width:100%;
}
[data-theme="light"] #admin-kilometers .km-trips-table-card{box-shadow:0 1px 3px rgba(15,21,37,.04);}

#admin-kilometers .km-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:48px 24px;background:var(--card);border:1px solid var(--border);border-radius:16px;gap:10px;
}
#admin-kilometers .km-empty .km-empty-ico{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--color-surface-container-low);color:var(--text2);font-size:20px;border:1px solid var(--border);
}
#admin-kilometers .km-empty .km-empty-title{margin:0;font-size:16px;font-weight:600;color:var(--text);}
#admin-kilometers .km-empty .km-empty-sub{margin:0;max-width:360px;font-size:13px;line-height:1.5;color:var(--text2);}

#admin-kilometers .km-lodging-card{
  padding:18px 20px;border-radius:16px;background:var(--card);border:1px solid var(--border);margin-bottom:16px;
}
[data-theme="light"] #admin-kilometers .km-lodging-card{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-kilometers .km-lodging-card h4{
  margin:0 0 14px;font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;
}
#admin-kilometers .km-lodging-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;
}
#admin-kilometers .km-lodging-card-head h4{margin:0;}
#admin-kilometers .km-lodging-card-actions{display:flex;gap:8px;flex-wrap:wrap;}
#admin-kilometers .km-lodging-add{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:10px;align-items:end;
}
@media(max-width:720px){#admin-kilometers .km-lodging-add{grid-template-columns:1fr;}}
#admin-kilometers .km-lodging-list{display:flex;flex-direction:column;gap:10px;}
#admin-kilometers .km-lodging-item{
  display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;
  background:var(--card);border:1px solid var(--border);
}
#admin-kilometers .km-lodging-item-main{flex:1;min-width:0;}
#admin-kilometers .km-lodging-item-name{font-weight:600;color:var(--text);font-size:14px;}
#admin-kilometers .km-lodging-item-addr{font-size:12px;color:var(--text2);margin-top:3px;}
#admin-kilometers .km-lodging-item-actions{display:flex;gap:8px;flex-shrink:0;}

.tool-status-out,.tool-status-free{
  display:inline-flex;align-items:center;gap:7px;
  font-size:12px;font-weight:600;line-height:1.2;
  padding:5px 11px;border-radius:8px;white-space:nowrap;
}
.tool-status-out i,.tool-status-free i{font-size:7px;line-height:1;}
.tool-status-out{
  color:var(--orange);
  background:color-mix(in srgb, var(--orange) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--orange) 28%, transparent);
}
.tool-status-free{
  color:var(--color-secondary);
  background:color-mix(in srgb, var(--color-secondary) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--color-secondary) 26%, transparent);
}
[data-theme="light"] .tool-status-out{
  background:color-mix(in srgb, var(--orange) 10%, #fff);
  border-color:color-mix(in srgb, var(--orange) 24%, transparent);
}
[data-theme="light"] .tool-status-free{
  background:color-mix(in srgb, var(--color-secondary) 10%, #fff);
  border-color:color-mix(in srgb, var(--color-secondary) 22%, transparent);
  color:var(--color-on-secondary-container);
}
.tool-scan-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;}
.tools-scan-methods .btn.is-frozen-scan{
  opacity:.65;cursor:not-allowed;pointer-events:none;
  display:inline-flex;align-items:center;gap:6px;
}
.tools-scan-methods .scan-soon-tag{
  font-size:10px;font-weight:650;opacity:.9;
  padding:1px 6px;border-radius:999px;
  background:rgba(224,168,0,.18);color:#e0a800;
}
/* Above .bottom-nav (z-index 9999) and worker link mega-z so the sheet covers the whole screen while scanning */
#toolScanModal.modal-overlay{
  z-index:2147483000!important;
  align-items:flex-end;
  padding:0;
  background:rgba(0,0,0,.78);
  inset:0!important;
  top:0!important;right:0!important;bottom:0!important;left:0!important;
}
#toolScanModal .modal.tool-scan-sheet{
  max-width:520px;width:100%;margin:0;
  max-height:min(90vh,calc(100dvh - 12px));
  height:auto;
  display:flex;flex-direction:column;overflow:hidden;
  border-radius:18px 18px 0 0;border-bottom:none;
  box-shadow:0 -8px 40px rgba(0,0,0,.35);
}
#toolScanModal .tool-scan-sheet-handle{
  flex:0 0 auto;width:40px;height:4px;border-radius:4px;background:var(--border);
  margin:10px auto 0;
}
#toolScanModal .modal-header.tool-scan-head{
  flex:0 0 auto;padding:12px 18px 8px;border-bottom:none;text-align:center;
}
#toolScanModal .modal-header.tool-scan-head h3{font-size:17px;font-weight:600;margin:0;}
#toolScanModal .modal-body.tool-scan-body{
  flex:0 1 auto;min-height:0;overflow:hidden;padding:0 16px calc(12px + env(safe-area-inset-bottom, 0px));
  display:flex;flex-direction:column;gap:0;
}
#toolScanModal .tool-scan-viewport{
  position:relative;border-radius:16px;overflow:hidden;background:#000;
  flex:0 0 auto;
  width:min(86vw,380px);
  height:min(86vw,380px);
  aspect-ratio:1 / 1;
  min-height:0;
  max-height:min(56vh,380px);
  margin:0 auto;
  border:1px solid var(--border);
}
#toolScanModal .tool-scan-viewport.is-loading #toolQrReader{
  visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
#toolScanModal #toolQrReader{
  position:absolute;inset:0;width:100%;height:100%;
  min-height:0;border-radius:0;overflow:hidden;background:#000;
}
#toolScanModal #toolQrReader > div,
#toolScanModal #toolQrReader #qr-shaded-region,
#toolScanModal #toolQrReader__scan_region,
#toolScanModal #toolQrReader__scan_region video{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
}
#toolScanModal #toolQrReader video,
#toolScanModal #toolQrReader .tool-qr-native-video,
#toolScanModal #toolQrReader .tool-qr-jsqr-video{
  position:absolute;inset:0;
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center;
  display:block;background:#000;
  /* Hide browser “play” overlay while camera stream attaches */
  -webkit-appearance:none;appearance:none;
}
#toolScanModal .tool-scan-loading{
  position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;
  background:#000;color:#fff;pointer-events:none;
}
#toolScanModal .tool-scan-loading.hidden{display:none!important;}
#toolScanModal .tool-scan-spinner{
  width:36px;height:36px;box-sizing:border-box;border-radius:50%;
  border:3px solid rgba(255,255,255,.18);
  border-top-color:#fff;
  animation:toolScanSpin .75s linear infinite;
}
@keyframes toolScanSpin{to{transform:rotate(360deg);}}
#toolScanModal .tool-scan-loading .sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
body.tool-scan-active #workerToolsScanBar,
body.tool-scan-active .worker-tools-scan-btn,
body.tool-scan-active .worker-tools-scan-cta,
body.tool-scan-active #workerNav,
body.tool-scan-active .bottom-nav,
body[data-role="worker"].tool-scan-active #workerNav,
:root[data-ios-ui] body[data-role="worker"].tool-scan-active #workerNav,
html[data-ios-app="1"] body[data-role="worker"].tool-scan-active #workerNav,
html.ios-app body[data-role="worker"].tool-scan-active #workerNav,
html[data-pwa-standalone] body[data-role="worker"].tool-scan-active #workerNav{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  transform:translate3d(0,110%,0)!important;
}
#toolScanModal #toolQrReader canvas{
  border-radius:0;display:none!important;
}
#toolScanModal #toolQrReader__dashboard_section,
#toolScanModal #toolQrReader__header_message{display:none!important;}
#toolScanModal #qr-shaded-region{display:none!important;}
#toolScanModal .tool-scan-frame-guide{display:none;}
#toolScanModal .tool-scan-hint-text{
  flex:0 0 auto;margin:10px 0 0;font-size:12px;line-height:1.4;color:var(--text2);text-align:center;
  padding:0 4px;
}
#toolScanModal .tool-scan-controls{
  flex:0 0 auto;display:flex;gap:10px;margin-top:12px;padding:0 2px;
}
#toolScanModal .tool-scan-controls .btn{
  flex:1;justify-content:center;align-items:center;gap:8px;
  padding:14px 16px;font-size:15px;font-weight:600;border-radius:12px;min-height:48px;
}
#toolScanModal .tool-scan-controls .tool-scan-ctrl-torch{
  flex:0 0 auto;width:52px;min-width:52px;padding:14px;
}
#toolScanModal .tool-scan-controls .tool-scan-ctrl-torch span{display:none;}
#toolScanModal .tool-scan-controls.torch-hidden .tool-scan-ctrl-close{
  flex:1;width:100%;
}
#toolScanModal .tool-scan-controls .tool-scan-ctrl-close{
  background:transparent;border:1px solid var(--border);color:var(--text2);
}
#toolScanModal .tool-scan-controls .tool-scan-ctrl-torch.is-on{
  background:rgba(255,193,7,.18);border-color:rgba(255,193,7,.45);color:#ffc107;
}
#toolQrBindWrap .tool-qr-bind-card,
#toolNfcBindWrap .tool-qr-bind-card{
  display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:12px;
  border:1px dashed var(--border);border-radius:12px;background:rgba(110,168,255,.04);
}
#toolQrBindWrap .tool-qr-bind-card.bound,
#toolNfcBindWrap .tool-qr-bind-card.bound{border-style:solid;border-color:rgba(0,200,83,.45);background:rgba(0,200,83,.06);}
#toolQrBindWrap .tool-qr-bind-icon,
#toolNfcBindWrap .tool-qr-bind-icon{
  width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.12);color:var(--primary);font-size:20px;flex-shrink:0;
}
#toolQrBindWrap .tool-qr-bind-card.bound .tool-qr-bind-icon,
#toolNfcBindWrap .tool-qr-bind-card.bound .tool-qr-bind-icon{background:rgba(0,200,83,.15);color:var(--green);}
#toolQrBindWrap .tool-qr-bind-text,
#toolNfcBindWrap .tool-qr-bind-text{flex:1;min-width:0;font-size:13px;line-height:1.45;color:var(--text);font-weight:500;}
#toolQrBindWrap .tool-qr-bind-scan-btn,
#toolNfcBindWrap .tool-qr-bind-scan-btn{width:100%;}
#toolQrBindWrap .tool-bind-scan-btn,
#toolNfcBindWrap .tool-bind-scan-btn{
  margin-top:12px;padding:15px 14px;font-size:16px;border-radius:14px;min-height:52px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;
}
#toolQrBindWrap .tool-bind-scan-btn i,
#toolNfcBindWrap .tool-bind-scan-btn i{font-size:17px;}
/* Secondary rewrite button stays slightly smaller */
#toolNfcRewriteFromModalBtn.tool-qr-bind-scan-btn{
  margin-top:10px;padding:12px;font-size:15px;border-radius:12px;min-height:0;font-weight:600;
}

/* Add-tool QR / NFC tabs */
.tool-bind-tabs{
  display:flex;gap:6px;padding:4px;margin:4px 0 14px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
}
html[data-theme="light"] .tool-bind-tabs{background:#F2F4F6;border-color:#E6E8EB;}
.tool-bind-tab{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 12px;border:none;border-radius:10px;cursor:pointer;
  background:transparent;color:var(--text2);font-size:13px;font-weight:600;
  transition:background .15s ease,color .15s ease;
}
.tool-bind-tab:hover{color:var(--text);}
.tool-bind-tab.active{background:#2f80ed;color:#fff;}
html[data-theme="light"] .tool-bind-tab.active{background:#fff;color:#141218;box-shadow:0 1px 3px rgba(15,23,34,.08);}
.tool-bind-tab i{font-size:14px;opacity:.9;}

.tools-nfc-check{
  display:flex;align-items:flex-start;gap:12px;margin-top:14px;margin-bottom:0;
  font-size:13px;color:var(--text2);line-height:1.35;cursor:pointer;
}
.tools-nfc-check input[type="checkbox"]{
  width:20px !important;height:20px !important;min-width:20px;max-width:20px;
  flex:0 0 20px;margin:1px 0 0;padding:0;border-radius:4px;
  -webkit-appearance:none;appearance:none;
  border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.04);
  display:grid;place-content:center;box-shadow:none;
}
.tools-nfc-check input[type="checkbox"]::before{
  content:"";width:11px;height:11px;border-radius:2px;background:var(--primary);
  transform:scale(0);transition:transform .12s ease-in-out;
}
.tools-nfc-check input[type="checkbox"]:checked{border-color:rgba(110,168,255,.75);}
.tools-nfc-check input[type="checkbox"]:checked::before{transform:scale(1);}
[data-theme="light"] .tools-nfc-check input[type="checkbox"]{border-color:#c3c9d4;background:#fff;}
.tool-nfc-lead{margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--text2);}
.tool-nfc-steps{display:flex;flex-direction:column;gap:10px;}
.tool-nfc-step{
  display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.4;color:var(--text2);
}
.tool-nfc-step-n{
  flex:0 0 24px;width:24px;height:24px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(47,128,237,.18);color:#6ea8ff;font-size:12px;font-weight:700;
}
html[data-theme="light"] .tool-nfc-step-n{background:rgba(47,128,237,.12);color:#2f80ed;}
.tool-nfc-pwa{
  text-align:center;padding:18px 14px 8px;border-radius:14px;
  border:1px dashed rgba(255,193,7,.35);background:rgba(255,193,7,.06);
}
html[data-theme="light"] .tool-nfc-pwa{border-color:rgba(180,140,20,.35);background:rgba(255,236,150,.25);}
.tool-nfc-pwa-ico{
  width:48px;height:48px;margin:0 auto 12px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,193,7,.14);color:#ffd54f;font-size:20px;
}
.tool-nfc-pwa-title{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--text);}
.tool-nfc-pwa-text{margin:0;font-size:13px;line-height:1.45;color:var(--text2);}

.nfc-prompt-overlay{position:fixed;inset:0;z-index:12000;background:rgba(8,12,18,.72);display:flex;align-items:center;justify-content:center;padding:24px;}
.nfc-prompt-card{width:min(360px,100%);background:var(--card, #152032);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:28px 22px 22px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.35);}
.nfc-prompt-ico{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(110,168,255,.15);color:#6EA8FF;font-size:28px;animation:nfcPulse 1.4s ease-in-out infinite;}
.nfc-prompt-card h3{margin:0 0 8px;font-size:18px;color:var(--text,#fff);}
.nfc-prompt-card p{margin:0 0 18px;font-size:13px;color:var(--text2,#9aa7b8);line-height:1.45;}
@keyframes nfcPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}
#toolModal.modal-overlay{
  padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
}
#toolModal .modal{
  display:flex;
  flex-direction:column;
  width:min(500px,calc(100vw - 24px));
  max-height:min(90vh,calc(100dvh - 24px));
  overflow:hidden;
}
#toolModal .modal-header{flex:0 0 auto;}
#toolModal .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
#toolModal .modal-footer{flex:0 0 auto;}
body[data-role="worker"] #toolScanModal .modal.tool-scan-sheet{
  height:auto;
  max-height:min(92vh,calc(100dvh - 8px));
}
body[data-role="worker"].worker-w-tools-active #toolScanModal .modal.tool-scan-sheet{
  height:auto;
  max-height:min(92vh,calc(100dvh - 8px));
}
/* Content-sized sheet while scanning — larger camera box on phone */
body[data-role="worker"].tool-scan-active #toolScanModal .modal.tool-scan-sheet,
body[data-role="worker"].worker-w-tools-active.tool-scan-active #toolScanModal .modal.tool-scan-sheet{
  height:auto;
  max-height:min(92vh,calc(100dvh - 8px));
}
body[data-role="worker"] #toolScanModal .tool-scan-viewport{
  width:min(88vw,400px);
  height:min(88vw,400px);
  max-height:min(58vh,400px);
}
@media(max-width:600px){
  #toolScanModal .tool-scan-viewport{
    width:min(90vw,100%);
    height:auto;
    aspect-ratio:1 / 1;
    max-height:min(58vh,420px);
    min-height:min(72vw,300px);
  }
  #toolScanModal .modal-header.tool-scan-head{padding:10px 14px 6px;}
  #toolScanModal .modal-header.tool-scan-head h3{font-size:16px;}
  #toolScanModal .modal-body.tool-scan-body{padding:0 14px 10px;}
  #toolScanModal .tool-scan-controls .btn{padding:12px 14px;font-size:14px;min-height:44px;}
}
.tool-history-row{padding:10px 0;border-bottom:1px solid var(--border);}
.tool-history-row:last-child{border-bottom:none;}
.admin-tools-map-wrap{margin-top:12px;}
.admin-tools-map{
  width:100%;height:min(52vh,520px);min-height:280px;border-radius:12px;
  border:1px solid var(--border);background:var(--bg);z-index:1;
}
#admin-tools .tools-map-split{
  display:flex;
  align-items:stretch;
  width:100%;
  height:min(calc(100vh - 220px),760px);
  min-height:580px;
  margin-top:8px;
  box-sizing:border-box;
  --tools-map-list-width:32%;
}
#admin-tools .tools-map-panel-list{
  width:var(--tools-map-list-width);
  min-width:220px;
  max-width:58%;
  flex-shrink:0;
}
#admin-tools .tools-map-resizer{
  position:relative;width:14px;margin:0 -3px;flex-shrink:0;z-index:10;
  cursor:col-resize;touch-action:none;align-self:stretch;
}
#admin-tools .tools-map-resizer::before{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:4px;height:64px;border-radius:999px;background:var(--border);
  transition:background .15s,height .15s,box-shadow .15s;
  box-shadow:0 0 0 1px rgba(255,255,255,.04);
}
#admin-tools .tools-map-resizer::after{
  content:'';position:absolute;inset:0;
}
#admin-tools .tools-map-resizer:hover::before,
#admin-tools .tools-map-resizer:focus-visible::before,
body.tools-map-split-dragging #admin-tools .tools-map-resizer::before{
  background:var(--primary,#6ea8ff);height:84px;
  box-shadow:0 0 0 4px rgba(110,168,255,.18);
}
#admin-tools .tools-map-resizer:focus{outline:none;}
#admin-tools .tools-map-resizer:focus-visible{outline:none;}
body.tools-map-split-dragging{cursor:col-resize !important;user-select:none !important;}
body.tools-map-split-dragging *{cursor:col-resize !important;}
body.tools-map-split-dragging .leaflet-container{pointer-events:none !important;}
#admin-tools .tools-map-panel-map{
  flex:1;min-width:0;
}
#admin-tools .tools-map-panel{
  display:flex;flex-direction:column;min-height:0;min-width:0;
  height:100%;overflow:hidden;
  border-radius:16px;border:1px solid var(--border);background:var(--card);
  box-shadow:0 2px 16px rgba(0,0,0,.12);
}
#admin-tools .tools-map-panel-filters{
  padding:12px 12px 12px;border-bottom:1px solid var(--border);flex-shrink:0;
  background:transparent;position:relative;z-index:5;
}
#admin-tools .tools-map-filter-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  margin:0;padding:10px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-tools .tools-map-filter-bar{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-tools .tools-map-filter-controls{
  display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;gap:8px;min-width:0;
}
#admin-tools .tools-map-filter-seg{
  display:inline-flex;align-items:center;padding:3px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);flex-shrink:0;
}
[data-theme="light"] #admin-tools .tools-map-filter-seg{background:#F2F4F6;border-color:#E6E8EB;}
#admin-tools .tools-map-filter-seg-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:var(--text2);font:inherit;font-size:12px;font-weight:600;line-height:1;
  padding:9px 14px;border-radius:10px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s,box-shadow .15s;
}
#admin-tools .tools-map-filter-seg-btn:hover{color:var(--text);}
#admin-tools .tools-map-filter-seg-btn.active{
  background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);
}
[data-theme="light"] #admin-tools .tools-map-filter-seg-btn.active{
  background:#fff;color:#141218;box-shadow:0 1px 2px rgba(15,21,37,.08);
}
#admin-tools .tools-map-filter-field,
#admin-tools .tools-map-filter-bar .tools-map-filter-date{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 120px;min-width:0;
  min-height:42px;padding:0 12px;border-radius:12px;
  background:var(--input-bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-tools .tools-map-filter-field,
[data-theme="light"] #admin-tools .tools-map-filter-bar .tools-map-filter-date{background:#fff;}
#admin-tools .tools-map-filter-field > i.tools-map-filter-ico{
  display:inline-flex;width:16px;justify-content:center;color:var(--text2);font-size:13px;flex-shrink:0;
}
#admin-tools .tools-map-filter-bar .tools-map-filter-date > label{display:none;}
#admin-tools .tools-map-filter-field select{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0 18px 0 0;min-height:40px;
  cursor:pointer;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1.1 1.1l4.9 4.9 4.9-4.9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;
}
#admin-tools .tools-map-filter-bar .tools-map-filter-date{padding-right:10px;flex:1.2 1 160px;}
#admin-tools .tools-map-filter-bar .tools-map-filter-date .date-period-btn{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0;min-height:40px;
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;text-align:left;
}
#admin-tools .tools-map-filter-bar .tools-map-filter-date .date-period-btn i{color:var(--text2);margin:0;}
#admin-tools .tools-map-filter-bar .tools-map-filter-date .date-period-popup{left:0;right:auto;min-width:280px;z-index:40;}
#admin-tools .tools-map-filter-clear{
  width:42px;height:42px;flex-shrink:0;margin-left:auto;border-radius:12px;
  border:1px solid var(--border);background:var(--input-bg);color:var(--text2);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  appearance:none;-webkit-appearance:none;font-size:14px;padding:0;
  transition:color .15s,background .15s,border-color .15s;
}
#admin-tools .tools-map-filter-clear:hover{color:var(--text);background:rgba(255,255,255,.04);}
#admin-tools .tools-map-filter-clear.is-active{
  color:var(--orange);border-color:rgba(255,145,0,.35);background:rgba(255,145,0,.12);
}
[data-theme="light"] #admin-tools .tools-map-filter-clear:hover{background:#F2F4F6;color:#141218;}
#admin-tools .tools-map-filter-tail{display:contents;}
@media(max-width:720px){
  #admin-tools .tools-map-filter-seg{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  #admin-tools .tools-map-filter-seg-btn{flex:1;text-align:center;padding:10px 8px;}
  #admin-tools .tools-map-filter-field{flex:1 1 calc(50% - 4px);}
  #admin-tools .tools-map-filter-tail{
    display:flex;align-items:center;gap:8px;flex:1 1 100%;min-width:0;
  }
  #admin-tools .tools-map-filter-tail .tools-map-filter-date{
    flex:1 1 0;min-width:0;padding-right:6px;
  }
  #admin-tools .tools-map-filter-tail .tools-map-filter-clear{
    margin:0;width:40px;height:40px;
  }
}
#admin-tools .tools-map-list-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:11px 16px 9px;font-size:12px;font-weight:600;color:var(--text2);
  text-transform:uppercase;letter-spacing:.35px;flex-shrink:0;
  border-bottom:1px solid var(--border);
}
#admin-tools .tools-map-list-head span:last-child{
  font-weight:500;text-transform:none;letter-spacing:0;color:var(--text2);font-size:11px;
}
#admin-tools .tools-map-events-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;}
#admin-tools .tools-map-events{margin:0;max-height:none;border-radius:0;background:transparent;}
#admin-tools .tools-map-event{
  display:flex;align-items:flex-start;gap:10px;padding:12px 16px;
  border-bottom:1px solid var(--border);font-size:13px;cursor:pointer;
  transition:background .15s;
}
#admin-tools .tools-map-event:last-child{border-bottom:none;}
#admin-tools .tools-map-event:hover{background:rgba(255,255,255,.03);}
#admin-tools .tools-map-event.active{
  background:rgba(110,168,255,.1);border-left:3px solid var(--primary);padding-left:13px;
}
#admin-tools .tools-map-event-dot{
  width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:6px;
  box-shadow:0 0 0 2px rgba(255,255,255,.15);
}
#admin-tools .tools-map-event-dot.checkout{background:var(--green);}
#admin-tools .tools-map-event-dot.checkin{background:var(--orange);}
#admin-tools .tools-map-event-body{flex:1;min-width:0;}
#admin-tools .tools-map-event-body strong{
  display:block;font-size:14px;color:var(--text);margin-bottom:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#admin-tools .tools-map-event-meta{
  display:block;font-size:12px;color:var(--text2);line-height:1.4;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#admin-tools .tools-map-event-time{
  display:block;font-size:11px;color:var(--text2);margin-top:4px;
}
#admin-tools .tools-map-list-empty{
  flex:1;display:flex;align-items:center;justify-content:center;
  padding:28px 18px;text-align:center;color:var(--text2);font-size:13px;line-height:1.45;
}
#admin-tools .tools-map-panel-map{
  position:relative;overflow:hidden;border:none;background:var(--bg);padding:0;
  box-shadow:0 2px 16px rgba(0,0,0,.18);
}
#admin-tools .tools-map-panel-map .admin-tools-map-wrap{
  position:absolute;inset:0;margin:0;z-index:1;
}
#admin-tools .tools-map-panel-map .admin-tools-map,
#admin-tools .tools-map-panel-map .leaflet-container{
  width:100% !important;height:100% !important;min-height:0 !important;
  border-radius:0;border:none;
  background:#1a2330;
}
#admin-tools .tools-map-panel-map .admin-tools-map[data-map-tone="light"],
#admin-tools .tools-map-panel-map .admin-tools-map[data-map-tone="light"] .leaflet-container{
  background:#c5d0db;
}
#admin-tools .tools-map-panel-map .admin-tools-map[data-map-tone="dark"],
#admin-tools .tools-map-panel-map .admin-tools-map[data-map-tone="dark"] .leaflet-container{
  background:#1a2330;
}
#admin-tools .leaflet-control-attribution,
.admin-tools-map .leaflet-control-attribution,
#adminToolsMap .leaflet-control-attribution{
  display:none!important;
}
#admin-tools .tools-map-panel-map .tools-map-legend{
  position:absolute;top:12px;left:12px;right:12px;z-index:600;margin:0;
  padding:8px 12px;border-radius:999px;width:fit-content;max-width:calc(100% - 24px);
  background:rgba(18,18,24,.82);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.08);font-size:11px;gap:10px;
  box-shadow:0 4px 18px rgba(0,0,0,.25);pointer-events:none;
}
[data-theme="light"] #admin-tools .tools-map-panel-map .tools-map-legend{
  background:rgba(255,255,255,.92);border-color:rgba(0,0,0,.08);
}
.tools-map-legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 12px;font-size:12px;color:var(--text2);}
.tools-map-legend span{display:inline-flex;align-items:center;gap:6px;}
.tools-map-legend .dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.tools-map-legend .dot.checkout{background:var(--green);}
.tools-map-legend .dot.checkin{background:var(--orange);}
.tools-history-row-clickable{cursor:pointer;transition:background .15s;}
.tools-history-row-clickable:hover{background:rgba(255,255,255,.04);}
#toolRentalDetailModal.modal-overlay{
  padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
  align-items:center;
  z-index:320;
}
#toolRentalDetailModal .modal{
  width:min(680px,calc(100vw - 28px));
  max-width:680px;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  max-height:min(92vh,calc(100dvh - 24px));
  overflow:hidden;
}
#toolRentalDetailModal .modal-header{flex-shrink:0;padding:18px 24px 16px;}
#toolRentalDetailModal .modal-header h3{font-size:19px;font-weight:700;}
#toolRentalDetailModal .modal-head-ico{width:38px;height:38px;font-size:15px;}
#toolRentalDetailModal .modal-body{
  flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:8px 24px 18px;
}
#toolRentalDetailModal .modal-footer{flex-shrink:0;padding:14px 24px 18px;}
#toolRentalDetailModal .modal-footer .btn{font-size:15px;padding:11px 22px;}
#toolRentalDetailModal .trip-detail-rows{gap:10px;margin-bottom:10px;}
#toolRentalDetailModal .trip-detail-row{
  display:grid;grid-template-columns:minmax(110px,36%) 1fr;gap:10px 16px;align-items:start;
}
#toolRentalDetailModal .trip-detail-label{
  font-size:13px;font-weight:600;color:var(--text2);padding-top:0;line-height:1.25;
}
#toolRentalDetailModal .trip-detail-val{
  font-size:15px;font-weight:600;color:var(--text);line-height:1.25;word-break:break-word;
}
#toolRentalDetailModal .trip-detail-val .trip-detail-muted{display:block;margin-top:2px;font-size:13px;font-weight:500;color:var(--text2);line-height:1.25;}
#toolRentalDetailModal .trip-detail-val a{color:var(--blue);font-weight:600;font-size:14px;}
#toolRentalDetailModal .trip-detail-val code{
  font-size:13px;font-weight:650;padding:3px 8px;border-radius:8px;
  background:rgba(255,255,255,.06);border:1px solid var(--border);
}
[data-theme="light"] #toolRentalDetailModal .trip-detail-val code{background:#F3F4F6;border-color:#E5E7EB;}
@media(max-width:560px){
  #toolRentalDetailModal.modal-overlay{overflow:hidden;}
  #toolRentalDetailModal .modal{
    max-height:min(92vh,calc(100dvh - 24px));
    overflow:hidden;
  }
  #toolRentalDetailModal .modal-header{padding:14px 16px 12px;}
  #toolRentalDetailModal .modal-footer{padding:10px 16px 14px;}
  #toolRentalDetailModal .modal-body{padding:6px 16px 12px;}
  #toolRentalDetailModal .modal-body{overflow:hidden;}
  #toolRentalDetailModal .trip-detail-row{grid-template-columns:1fr;gap:2px;}
  #toolRentalDetailModal .trip-detail-rows{gap:8px;margin-bottom:8px;}
  #toolRentalDetailModal .trip-detail-val .trip-detail-muted{margin-top:1px;}
  #toolRentalDetailModal .tool-rental-detail-layout{gap:8px;}
  #toolRentalDetailModal .trip-detail-label{font-size:12px;}
  #toolRentalDetailModal .trip-detail-val{font-size:14px;}
  #toolRentalDetailModal .trip-detail-val a{font-size:13px;}
  #toolRentalDetailModal .modal-footer .btn{padding:10px 18px;font-size:14px;}
  #toolRentalDetailModal .tool-rental-detail-map{
    min-height:170px;
    height:170px;
  }
  #toolRentalDetailModal .tool-rental-detail-map .leaflet-container{min-height:170px !important;}
}
@media(min-width:900px){
  #toolRentalDetailModal .modal{width:min(960px,94vw);max-width:960px;}
}
.tool-rental-detail-info{margin-bottom:0;}
.tool-rental-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;font-size:15px;padding:10px 0;border-bottom:1px solid var(--border);}
.tool-rental-detail-row:last-child{border-bottom:none;}
.tool-rental-detail-row label{color:var(--text2);flex-shrink:0;max-width:42%;font-size:14px;font-weight:500;}
.tool-rental-detail-row span{text-align:right;color:var(--text);line-height:1.45;font-size:15px;font-weight:600;}
.tool-rental-detail-row a{font-size:13px !important;font-weight:500;}
.tool-rental-detail-row code{font-size:13px !important;}
.tool-rental-detail-layout{
  display:flex;flex-direction:column;gap:14px;min-height:0;flex:1;
}
.tool-rental-detail-map-wrap{
  margin-top:0;flex:0 0 auto;position:relative;
  width:100%;min-height:240px;
}
.tool-rental-detail-map{
  width:100%;height:240px;min-height:240px;border-radius:12px;
  border:1px solid var(--border);background:var(--bg);z-index:1;
  position:relative;overflow:hidden;
}
.tool-rental-detail-map .leaflet-container{
  width:100% !important;height:100% !important;min-height:240px !important;
  border-radius:12px;background:var(--bg);
}
.tools-map-legend.compact{margin:0;font-size:11px;gap:10px;flex-shrink:0;}
@media(min-width:720px){
  .tool-rental-detail-layout{
    display:grid;grid-template-columns:minmax(280px,0.9fr) minmax(0,1.2fr);
    gap:18px;align-items:stretch;
  }
  .tool-rental-detail-side{
    display:flex;flex-direction:column;gap:10px;min-height:0;
  }
  .tool-rental-detail-map-wrap{
    flex:1;min-height:360px;height:100%;
  }
  .tool-rental-detail-map{
    height:100%;min-height:360px;
  }
  .tool-rental-detail-map .leaflet-container{
    min-height:360px !important;
  }
}
.tools-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center;}
.tools-admin-tabs .tools-tab-btn{
  padding:10px 18px;border-radius:10px;border:1px solid var(--border);background:var(--card);
  color:var(--text2);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;
}
.tools-admin-tabs .tools-tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.tools-admin-tabs .tools-tab-btn:not(.active):hover{border-color:var(--primary);color:var(--text);}
/* Admin tools page tabs styled above under #admin-tools .tools-admin-tabs */
:root{--tools-scan-bar-h:72px;}
.tools-worker-page{display:block;}
.tools-worker-scroll{padding-bottom:8px;}
#w-tools .tools-scroll-end{
  height:32px;
  width:100%;
  flex-shrink:0;
  pointer-events:none;
}

/* Worker tools — admin-like page chrome */
#w-tools .tools-page-head{
  display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin:0 0 16px;
}
#w-tools .tools-page-head .section-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;flex:0 0 auto;}
#w-tools .tools-page-head .section-title i{font-size:18px;opacity:.85;}
#w-tools .tools-page-head .tools-admin-tabs{
  display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:14px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);margin:0;flex:0 1 auto;
}
[data-theme="light"] #w-tools .tools-page-head .tools-admin-tabs{background:#F2F4F6;border-color:#E6E8EB;}
#w-tools .tools-page-head .tools-tab-btn{
  appearance:none;-webkit-appearance:none;border:1px solid transparent;background:transparent;
  color:var(--text2);font:inherit;font-size:13px;font-weight:600;line-height:1.2;
  padding:10px 14px;border-radius:11px;cursor:pointer;white-space:nowrap;
  display:inline-flex;align-items:center;gap:8px;transition:background .15s,color .15s,border-color .15s;
}
#w-tools .tools-page-head .tools-tab-btn .tools-tab-label-short{display:none;}
#w-tools .tools-page-head .tools-tab-btn i{font-size:12px;opacity:.9;margin:0;line-height:1;}
@media(max-width:720px){
  body[data-role="worker"] #w-tools .tools-page-head .tools-tab-btn .tools-tab-label-full{display:none;}
  body[data-role="worker"] #w-tools .tools-page-head .tools-tab-btn .tools-tab-label-short{display:inline;}
}
@media(hover:hover) and (pointer:fine){
  #w-tools .tools-page-head .tools-tab-btn:not(.active):hover{color:var(--text);background:rgba(255,255,255,.04);}
  [data-theme="light"] #w-tools .tools-page-head .tools-tab-btn:not(.active):hover{background:#fff;color:#141218;}
}
#w-tools .tools-page-head .tools-tab-btn.active{
  background:rgba(110,168,255,.16);color:var(--text);border-color:rgba(110,168,255,.22);
}
html[data-theme="light"] #w-tools .tools-page-head .tools-tab-btn.active{
  background:#fff;color:#141218;border-color:#D8DADC;
}
#w-tools .tools-kpi{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px;width:100%;
}
@media(max-width:900px){#w-tools .tools-kpi{grid-template-columns:1fr 1fr;}}
#w-tools .tools-kpi .tk-stat{
  appearance:none;-webkit-appearance:none;border:1px solid var(--border);margin:0;font:inherit;text-align:left;cursor:pointer;
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;
  background:var(--card);box-sizing:border-box;color:inherit;
  transition:border-color .15s,transform .15s;
}
@media(hover:hover) and (pointer:fine){
  #w-tools .tools-kpi .tk-stat:hover{transform:translateY(-2px);border-color:rgba(110,168,255,.35);}
}
#w-tools .tools-kpi .tk-stat .sc-icon{
  width:42px;height:42px;border-radius:12px;margin:0;font-size:16px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
#w-tools .tools-kpi .tk-stat.blue .sc-icon{background:rgba(41,121,255,.16);color:var(--blue);}
#w-tools .tools-kpi .tk-stat.orange .sc-icon{background:rgba(224,130,0,.14);color:var(--orange);}
#w-tools .tools-kpi .tk-stat.green .sc-icon{background:rgba(46,158,90,.12);color:var(--green);}
#w-tools .tools-kpi .tk-stat.tk-stat-total .sc-icon{background:rgba(110,168,255,.14);color:var(--primary,#6ea8ff);}
#w-tools .tools-kpi .tk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#w-tools .tools-kpi .tk-eyebrow{display:none;}
#w-tools .tools-kpi .tk-value{
  font-size:22px;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#w-tools .tools-kpi .tk-label{font-size:12px;color:var(--text2);line-height:1.35;margin:0;}
[data-theme="light"] #w-tools .tools-kpi .tk-stat{box-shadow:0 1px 2px rgba(15,21,37,.04);border-color:#E6E8EB;}

#w-tools .worker-tools-scan-cta{
  display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;
  margin:0 0 16px;padding:14px 16px;border-radius:16px;
  background:linear-gradient(135deg,rgba(110,168,255,.14),rgba(110,168,255,.04));
  border:1px solid rgba(110,168,255,.22);box-sizing:border-box;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
#w-tools .worker-tools-scan-cta-ico{
  width:46px;height:46px;border-radius:14px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.18);color:var(--primary,#6ea8ff);font-size:18px;
}
#w-tools .worker-tools-scan-cta-main{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px;}
#w-tools .worker-tools-scan-cta-main strong{font-size:14px;font-weight:750;color:var(--text);}
#w-tools .worker-tools-scan-cta-main span{font-size:12px;color:var(--text2);line-height:1.4;}
#w-tools .worker-tools-scan-btns{
  display:flex;flex-direction:row;align-items:stretch;gap:8px;
  flex:0 1 auto;min-width:0;box-sizing:border-box;
}
#w-tools .worker-tools-scan-btn{
  min-height:42px;border-radius:12px;padding:0 18px;font-weight:650;font-size:14px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  flex:0 0 auto;white-space:nowrap;line-height:1;
}
#w-tools .worker-tools-scan-cta-split .worker-tools-scan-btn{
  flex:1 1 0;min-width:0;width:auto;
}
#w-tools .worker-tools-scan-btn i{font-size:15px;line-height:1;margin:0;}
#w-tools .worker-tools-scan-btn span{line-height:1;}
@media(max-width:900px){
  #w-tools .worker-tools-scan-btn{display:none;}
}

/* Worker tools — mobile phone layout */
@media(max-width:720px){
  body[data-role="worker"] #w-tools .tools-page-head{
    flex-direction:column;align-items:stretch;gap:6px;margin-bottom:14px;
  }
  body[data-role="worker"] #w-tools .tools-page-head .section-title{margin:0!important;}
  body[data-role="worker"] #w-tools .tools-page-head .tools-admin-tabs{
    width:100%;display:flex;flex-wrap:nowrap;gap:0;padding:3px;margin:0;
    border-radius:14px;overflow:hidden;
  }
  body[data-role="worker"] #w-tools .tools-page-head .tools-tab-btn{
    flex:1 1 0;min-width:0;padding:11px 6px;font-size:12px;font-weight:650;
    gap:5px;border-radius:11px;white-space:nowrap;
  }
  body[data-role="worker"] #w-tools .tools-page-head .tools-tab-btn i{font-size:12px;margin:0;}
  body[data-role="worker"] #w-tools .tools-kpi{
    grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;
  }
  body[data-role="worker"] #w-tools .tools-kpi .tk-stat{
    gap:10px;padding:12px;border-radius:14px;
  }
  body[data-role="worker"] #w-tools .tools-kpi .tk-stat .sc-icon{
    width:36px;height:36px;font-size:14px;border-radius:10px;
  }
  body[data-role="worker"] #w-tools .tools-kpi .tk-value{font-size:20px;}
  body[data-role="worker"] #w-tools .tools-kpi .tk-label{font-size:11px;line-height:1.25;}
  body[data-role="worker"] #w-tools .worker-tools-scan-cta{
    display:none!important;
  }
  body[data-role="worker"] #w-tools .worker-tools-intro{display:none;}
  body[data-role="worker"] #w-tools .worker-tools-layout{
    display:flex;flex-direction:column;gap:12px;margin:0;
  }
  body[data-role="worker"] #w-tools .worker-tools-layout > .dash-col > .dash-panel{
    min-height:0;height:auto;
  }
  body[data-role="worker"] #w-tools .worker-tools-stock-panel{display:none!important;}
  body[data-role="worker"] #w-tools .dash-panel-head{
    padding:12px 14px;gap:8px;
  }
  body[data-role="worker"] #w-tools .dash-panel-title{font-size:14px;}
  body[data-role="worker"] #w-tools .tools-recent-item{
    padding:12px 14px;gap:12px;
  }
  body[data-role="worker"] #w-tools .tools-empty{
    padding:28px 16px;gap:8px;
  }
  body[data-role="worker"] #w-tools .tools-empty span{display:none;}
  body[data-role="worker"] #w-tools .tools-ledger-bar{
    flex-direction:column;align-items:stretch;gap:8px;padding:10px;margin:0 0 12px;
  }
  body[data-role="worker"] #w-tools .tools-ledger-seg{
    width:100%;display:flex;
  }
  body[data-role="worker"] #w-tools .tools-ledger-seg-btn{
    flex:1 1 0;text-align:center;padding:10px 6px;font-size:12px;
  }
  body[data-role="worker"] #w-tools .tools-ledger-controls{
    flex:1 1 auto;flex-wrap:nowrap;width:100%;gap:6px;
  }
  body[data-role="worker"] #w-tools .tools-ledger-field{
    flex:1 1 0;min-width:0;padding:0 10px;
  }
  body[data-role="worker"] #w-tools .tools-ledger-clear{
    margin:0;flex:0 0 40px;width:40px;height:40px;
  }
  body[data-role="worker"] #w-tools .tools-mobile-list{
    border-radius:16px;margin:0;
  }
  body[data-role="worker"] #w-tools .tools-mobile-list .tools-list-head{
    padding:10px 14px;font-size:11px;
  }
  body[data-role="worker"] #w-tools .tools-mobile-list .tool-row{
    padding:12px 14px;gap:12px;
  }
  body[data-role="worker"] #w-tools .tools-mobile-list .tool-row-ico{
    width:40px;height:40px;border-radius:11px;font-size:16px;
  }
  body[data-role="worker"] #w-tools .worker-tools-mine-preview .dash-panel-actions .btn-sm{
    font-size:11px;padding:6px 10px;
  }
}

#w-tools .tools-ledger-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  margin:0 0 14px;padding:10px 12px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #w-tools .tools-ledger-bar{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#w-tools .tools-ledger-seg{
  display:inline-flex;align-items:center;gap:3px;padding:3px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);flex:0 0 auto;
}
[data-theme="light"] #w-tools .tools-ledger-seg{background:#F2F4F6;border-color:#E6E8EB;}
#w-tools .tools-ledger-seg-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:var(--text2);font:inherit;font-size:12px;font-weight:650;line-height:1;
  padding:9px 12px;border-radius:9px;cursor:pointer;white-space:nowrap;
}
#w-tools .tools-ledger-seg-btn.active{
  background:rgba(110,168,255,.16);color:var(--text);
}
[data-theme="light"] #w-tools .tools-ledger-seg-btn.active{background:#fff;color:#141218;box-shadow:0 1px 2px rgba(15,21,37,.06);}
#w-tools .tools-ledger-controls{display:flex;align-items:center;flex:1 1 220px;flex-wrap:wrap;gap:8px;min-width:0;}
#w-tools .tools-ledger-field{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 160px;min-width:0;
  min-height:40px;padding:0 12px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #w-tools .tools-ledger-field{background:#fff;}
#w-tools .tools-ledger-field-ico{color:var(--text2);font-size:12px;flex-shrink:0;}
#w-tools .tools-ledger-field input{
  flex:1;min-width:0;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0;min-height:38px;
}
#w-tools .tools-ledger-clear{
  width:40px;height:40px;border-radius:12px;border:1px solid var(--border);
  background:var(--bg);color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
#w-tools .tools-ledger-clear.is-active{border-color:var(--primary);color:var(--primary);}

#w-tools .tools-empty{
  text-align:center;padding:40px 20px;border-radius:16px;border:1px dashed var(--border);
  background:var(--card);display:flex;flex-direction:column;align-items:center;gap:8px;
}
#w-tools .tools-empty i{font-size:28px;color:var(--text2);opacity:.7;margin-bottom:4px;}
#w-tools .tools-empty strong{font-size:15px;font-weight:700;color:var(--text);}
#w-tools .tools-empty span{font-size:13px;color:var(--text2);line-height:1.45;max-width:360px;}
#w-tools .tools-empty .worker-tools-empty-btn,
#w-tools .tools-empty .btn{
  margin-top:8px;min-height:40px;border-radius:12px;padding:0 16px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;
}

#w-tools .tools-table-card{
  padding:0;overflow:hidden;border-radius:16px;margin:0;background:var(--card);border:1px solid var(--border);width:100%;
}
#w-tools .tools-table-card .data-table{width:100%;border-collapse:collapse;}
#w-tools .tools-table-card .data-table thead th{
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text2);
}
#w-tools .tools-table-card .data-table tbody tr:hover{background:rgba(255,255,255,.03);}
[data-theme="light"] #w-tools .tools-table-card{box-shadow:0 1px 3px rgba(15,21,37,.04);}
[data-theme="light"] #w-tools .tools-table-card .data-table tbody tr:hover{background:rgba(15,21,37,.03);}
#w-tools .tools-list-table td,#w-tools .tools-list-table th{vertical-align:middle;}
#w-tools .wt-tool-count{
  font-size:12px;font-weight:700;color:var(--text2);background:var(--bg);
  border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-variant-numeric:tabular-nums;
}
#w-tools .tools-last-action-panel .tla-panel-row{
  display:flex;align-items:center;gap:14px;padding:4px 0;
}
#w-tools .tools-last-action-panel .tla-ico,
#w-tools .tools-recent-item .tla-ico{
  width:44px;height:44px;border-radius:12px;background:rgba(110,168,255,.15);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;
}
[data-theme="light"] #w-tools .tools-last-action-panel .tla-ico,
[data-theme="light"] #w-tools .tools-recent-item .tla-ico{background:rgba(110,168,255,.12);}
#w-tools .tools-recent-item.is-return .tla-ico{background:rgba(46,158,90,.14);color:var(--green);}
#w-tools .tools-recent-item.is-out .tla-ico{background:rgba(224,130,0,.14);color:var(--orange);}
#w-tools .tools-last-action-panel .tla-main,
#w-tools .tools-recent-item .tla-main{flex:1;min-width:0;}
#w-tools .tools-last-action-panel .tla-kicker,
#w-tools .tools-recent-item .tla-kicker{
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);margin:0 0 4px;
}
#w-tools .tools-last-action-panel .tla-text,
#w-tools .tools-recent-item .tla-text{font-size:14px;font-weight:650;color:var(--text);margin:0 0 3px;line-height:1.35;}
#w-tools .tools-last-action-panel .tla-text em,
#w-tools .tools-recent-item .tla-text em{font-style:normal;color:var(--primary);}
#w-tools .tools-last-action-panel .tla-meta,
#w-tools .tools-recent-item .tla-meta{font-size:12px;color:var(--text2);margin:0;}
#w-tools .tools-recent-body{padding:0!important;}
#w-tools .tools-recent-list{display:flex;flex-direction:column;}
#w-tools .tools-recent-item{
  display:flex;align-items:center;gap:12px;padding:12px 16px;
  border-bottom:1px solid var(--border);
}
#w-tools .tools-recent-item:last-child{border-bottom:none;}
#w-tools .tools-recent-body > .tools-empty{margin:16px;}
#w-tools .worker-tools-mine-preview .tools-mobile-list{margin:0;}
#w-tools .worker-tools-mine-preview .dash-panel-body{padding:0;}
#w-tools .worker-tools-mine-preview .tools-empty{margin:16px;}
#w-tools .worker-tools-mine-preview .tools-desktop-table{
  border:0;border-radius:0;box-shadow:none;
}
#w-tools .worker-tools-mine-preview .tools-empty .btn{margin-top:10px;}
#w-tools .worker-tools-stock-panel{margin-top:16px;}
#w-tools .worker-tools-stock-body{padding:0!important;}
#w-tools .worker-tools-stock-body > .tools-empty{margin:16px;}
#w-tools .worker-tools-stock-body .tools-desktop-table{border:0;border-radius:0;box-shadow:none;}
#w-tools .worker-tools-stock-more{padding:12px 16px 16px;display:flex;justify-content:flex-end;}
#w-tools .worker-tools-stock-more .btn{
  width:auto;min-width:0;justify-content:center;border-radius:12px;min-height:40px;
  display:inline-flex;align-items:center;gap:8px;padding:0 16px;font-weight:600;
}
@media(max-width:600px){
  #w-tools .worker-tools-stock-more .btn{width:100%;}
}
#w-tools .dash-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#w-tools .dash-panel-actions .btn-sm{
  min-height:32px;padding:6px 12px;border-radius:10px;font-size:12px;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2;
}
#w-tools .dash-panel-actions .btn-sm i{font-size:10px;opacity:.75;margin:0;}
#w-tools .worker-tools-intro{
  margin:0 0 12px;font-size:13px;color:var(--text2);line-height:1.45;
}
#w-tools .tools-worker-page,
#w-tools .tools-worker-scroll{min-height:0;}
#w-tools .worker-tools-layout{align-items:stretch;}
#w-tools .worker-tools-layout > .dash-col > .dash-panel{min-height:0;}

[data-theme="light"] .tools-admin-actions-row{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;
}
.tools-admin-actions-btns{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0;}
@media(max-width:520px){
  .tools-admin-actions-row{align-items:stretch;flex-direction:column;gap:8px;}
  .tools-admin-actions-btns{
    display:flex;flex-wrap:nowrap;gap:8px;width:100%;flex:none;
  }
  .tools-admin-actions-btns .btn{
    flex:1 1 0;min-width:0;padding:10px 8px;font-size:11px;line-height:1.25;
    white-space:normal;text-align:center;display:inline-flex;align-items:center;
    justify-content:center;gap:6px;
  }
  .tools-admin-actions-btns .btn i{flex-shrink:0;font-size:13px;}
}
#workerToolsScanBar{
  display:none;
  position:fixed;
  left:0;right:0;
  bottom:var(--worker-nav-total-height);
  z-index:calc(var(--worker-nav-z) - 1);
  padding:6px max(16px, env(safe-area-inset-left, 0px)) 10px max(16px, env(safe-area-inset-right, 0px));
  box-sizing:border-box;
  background:linear-gradient(180deg, transparent 0%, var(--bg) 55%);
  pointer-events:none;
}
[data-theme="light"] #workerToolsScanBar{
  background:linear-gradient(180deg, transparent 0%, var(--bg) 60%);
}
#workerToolsScanBar .tools-scan-fab-row{
  display:flex;flex-direction:row;align-items:stretch;gap:8px;width:100%;
  pointer-events:auto;box-sizing:border-box;
}
#workerToolsScanBar .tools-scan-fab{
  width:100%;min-height:56px;font-size:17px;font-weight:600;border-radius:14px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 4px 20px rgba(110,168,255,.35);
  pointer-events:auto;box-sizing:border-box;margin:0;
}
#workerToolsScanBar.has-nfc-split .tools-scan-fab-half{
  flex:1 1 0;width:auto;min-width:0;max-width:none;
}
#workerToolsScanBar .tools-scan-fab i{font-size:22px;}
#workerToolsScanBar .tools-scan-fab span{line-height:1;}
body[data-role="worker"].worker-w-tools-active #roleWorker .content-area.builder-main,
body[data-role="worker"].worker-w-tools-active .builder-main{
  padding-bottom:calc(var(--worker-nav-total-height) + var(--tools-scan-bar-h) + var(--worker-scroll-extra))!important;
  scroll-padding-bottom:calc(var(--worker-nav-total-height) + var(--tools-scan-bar-h) + 8px);
}
@media(max-width:720px){
  body[data-role="worker"].worker-w-tools-active #w-tools .tools-worker-scroll,
  body[data-role="worker"].worker-w-tools-active #w-tools .tools-worker-page{
    padding-bottom:calc(var(--tools-scan-bar-h) + 12px)!important;
  }
  body[data-role="worker"].worker-w-tools-active #w-tools .tools-mobile-list{
    margin-bottom:8px;
  }
}
#toolScanResultModal .modal{max-width:400px;text-align:center;}
#toolScanResultModal #toolScanResultIcon{font-size:52px;line-height:1;margin-bottom:14px;}
#toolScanResultModal #toolScanResultTitle{font-size:18px;color:var(--text);margin:0 0 10px;}
#toolScanResultModal #toolScanResultText{font-size:14px;color:var(--text2);line-height:1.45;margin:0;}
#admin-tools .admin-diary-filters.tools-history-filters{grid-template-columns:repeat(4,minmax(0,1fr));}
.tools-worker-home-stat-wrap{width:100%;margin-bottom:14px;}
.tools-worker-home-stat-wrap .stat-card{width:100%;box-sizing:border-box;}
@media(max-width:900px){
  #w-tools .tools-page-head .tools-admin-tabs{
    flex:1 1 100%;order:3;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  #w-tools .tools-page-head .tools-admin-tabs::-webkit-scrollbar{display:none;}
  #w-tools .tools-page-head .tools-tab-btn{flex:1 1 0;justify-content:center;min-width:min-content;padding:10px 8px;}
}
@media(max-width:820px){
  #admin-tools .tools-map-split{
    flex-direction:column;
    height:auto;min-height:0;gap:0;
  }
  #admin-tools .tools-map-resizer{display:none;}
  #admin-tools .tools-map-panel-list{
    width:100% !important;max-width:none;min-width:0;
    height:auto;max-height:none;
    display:flex;flex-direction:column;
    min-height:min(72vh, calc(100dvh - 160px));
  }
  #admin-tools .tools-map-panel-list .tools-map-events-scroll,
  #admin-tools .tools-map-panel-list .tools-map-list-empty{
    flex:1 1 auto;min-height:0;max-height:none;
  }
  #admin-tools .tools-map-panel-list .tools-map-toggle.tr-route-map-toggle-list{
    display:none;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;
    margin:0;width:100%;min-height:48px;padding:12px 16px;
    border:0;border-top:1px solid var(--border);border-radius:0;
    background:var(--card);color:var(--text);font:inherit;font-size:14px;font-weight:700;
    cursor:pointer;box-sizing:border-box;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));
  }
  #admin-tools .tools-map-panel-list .tools-map-toggle.tr-route-map-toggle-list.is-visible{
    display:inline-flex;
  }
  #admin-tools .tools-map-panel-list .tools-map-toggle.tr-route-map-toggle-list i{
    font-size:15px;color:var(--primary,#6ea8ff);
  }
  #admin-tools .tools-map-panel-map{
    display:none;
  }
  .tools-map-panel-map.is-fs-open{
    display:flex!important;flex-direction:column;gap:0;
    position:fixed!important;inset:0!important;z-index:520!important;
    width:100%!important;height:100%!important;min-height:100%!important;
    height:100dvh!important;min-height:100dvh!important;
    background:var(--bg)!important;border:none!important;border-radius:0!important;
    padding:0!important;margin:0!important;overflow:hidden!important;box-shadow:none!important;
  }
  .tools-map-panel-map.is-fs-open .tools-map-fs-head{
    display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
    flex:0 0 auto;position:relative;z-index:3;
    padding:12px 16px 10px;
    padding-top:calc(12px + env(safe-area-inset-top,0px));
    border-bottom:1px solid var(--border);background:var(--card);
  }
  .tools-map-panel-map.is-fs-open .tools-map-fs-handle{display:none;}
  .tools-map-panel-map.is-fs-open .tools-map-fs-head-main{min-width:0;flex:1 1 auto;}
  .tools-map-panel-map.is-fs-open .tools-map-fs-title{
    margin:0;font-size:17px;font-weight:750;color:var(--text);letter-spacing:-.02em;line-height:1.2;
  }
  .tools-map-panel-map.is-fs-open .tools-map-fs-status{
    margin:4px 0 0;font-size:12px;color:var(--text2);line-height:1.35;
    display:flex;align-items:center;gap:6px;
  }
  .tools-map-panel-map.is-fs-open .tools-map-fs-status.is-loading i{animation:toolsMapSpin .8s linear infinite;}
  @keyframes toolsMapSpin{to{transform:rotate(360deg);}}
  .tools-map-panel-map.is-fs-open .tools-map-fs-x{
    display:inline-flex!important;flex-shrink:0;
  }
  .tools-map-panel-map.is-fs-open .tools-map-legend{
    flex:0 0 auto;position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:3;
    margin:0!important;padding:10px 16px!important;width:auto!important;max-width:none!important;border-radius:0!important;
    border:none!important;border-bottom:1px solid var(--border)!important;
    background:var(--card)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    box-shadow:none!important;pointer-events:auto!important;font-size:12px;gap:14px;
  }
  .tools-map-panel-map.is-fs-open .admin-tools-map-wrap{
    position:relative!important;inset:auto!important;flex:1 1 auto!important;min-height:0!important;
    margin:0!important;border-radius:0;overflow:hidden;z-index:1;
  }
  .tools-map-panel-map.is-fs-open .admin-tools-map,
  .tools-map-panel-map.is-fs-open .leaflet-container{
    height:100%!important;min-height:0!important;border-radius:0;border:none;
  }
  .tools-map-panel-map.is-fs-open .tools-map-toggle.tr-route-map-toggle-map{
    display:none;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;
    margin:0;width:100%;min-height:48px;padding:12px 16px;
    border:0;border-top:1px solid var(--border);border-radius:0;
    background:var(--card);color:var(--text);font:inherit;font-size:14px;font-weight:700;
    cursor:pointer;box-sizing:border-box;z-index:3;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));
  }
  .tools-map-panel-map.is-fs-open .tools-map-toggle.tr-route-map-toggle-map.is-visible{
    display:inline-flex!important;
  }
  .tools-map-panel-map.is-fs-open .tools-map-toggle.tr-route-map-toggle-map i{
    font-size:15px;color:var(--text2);
  }
  .tools-worker-page .tools-admin-tabs .tools-tab-btn{font-size:11px;padding:9px 5px;}
  .tools-worker-page .tools-admin-tabs .tools-tab-btn i{margin-right:3px;font-size:11px;}
}
@media(min-width:821px){
  #admin-tools .tools-map-toggle,
  .tools-map-fs-head,
  .tools-map-fs-x,
  .tools-map-fs-handle{display:none!important;}
}
.form-check-copy{display:flex;flex:1;flex-direction:column;min-width:0;}
.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;}

/* TOAST */
.toast-container{position:fixed;top:20px;right:20px;z-index:500;display:flex;flex-direction:column;gap:8px;}
.toast{padding:14px 20px;border-radius:10px;color:#fff;font-size:14px;animation:slideIn .3s;display:flex;align-items:center;gap:10px;box-shadow:0 4px 16px rgba(0,0,0,.3);}
.toast.success{background:#1b5e20;border:1px solid var(--green);}
.toast.error{background:#b71c1c;border:1px solid var(--red);}
.toast.info{background:#0d47a1;border:1px solid var(--blue);}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

/* BUILDER */
:root{
  --worker-nav-h: 50px;
  --worker-nav-safe-overlap: 0px;
  --worker-nav-pad-top: 6px;
  --worker-nav-pad-bottom-extra: 4px;
  /* Реальна висота нижньої панелі (як у #workerNav) */
  --worker-nav-total-height: calc(var(--worker-nav-h) + var(--worker-nav-pad-top) + var(--worker-nav-pad-bottom-extra) + env(safe-area-inset-bottom, 0px));
  /* Невеликий запас після останнього запису — лише щоб бар не перекривав контент */
  --worker-scroll-extra: 16px;
  /* Measured bottom chrome (nav ± scan). Shell padding uses this. */
  --ss-bottom-chrome: var(--worker-nav-total-height);
  /* Вище скрола/карток робітника (iOS composites), але нижче модалки (.modal-overlay: 300) */
  --worker-nav-z:298;
  /* iOS can set this to pull icons toward the home indicator */
  --worker-nav-nudge-down: 0px;
}
/* iPhone: slightly shorter bar + drop icons ~20px into the home-indicator inset */
:root[data-ios-ui],
html.ios-app,
html[data-ios-app="1"]{
  --worker-nav-h: 46px;
  --worker-nav-pad-top: 4px;
  --worker-nav-pad-bottom-extra: 2px;
  --worker-nav-nudge-down: 20px;
  --worker-scroll-extra: 36px; /* +20px vs default so last cards clear the nav */
  --worker-nav-total-height: calc(
    var(--worker-nav-h) + var(--worker-nav-pad-top) + var(--worker-nav-pad-bottom-extra)
    + max(0px, calc(env(safe-area-inset-bottom, 0px) - var(--worker-nav-nudge-down)))
  );
}
.bottom-nav{
  display:flex;
  align-items:center;
  justify-content:space-around;
  background:linear-gradient(to bottom,var(--sidebar) 0%,var(--sidebar) 70%,rgba(11,11,36,.95) 100%);
  border-top:1px solid var(--border);
  z-index:9999;
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  height:calc(var(--worker-nav-h) + var(--worker-nav-pad-top) + var(--worker-nav-pad-bottom-extra) + env(safe-area-inset-bottom, 0px));
  padding-top:var(--worker-nav-pad-top);
  padding-bottom:calc(var(--worker-nav-pad-bottom-extra) + env(safe-area-inset-bottom, 0px));
  box-sizing:border-box;
  transform:none;
}
.bottom-nav a{flex:1 1 0;min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;height:var(--worker-nav-h);gap:4px;padding:0 2px;color:var(--text2);font-size:10px;cursor:pointer;transition:color .2s;text-align:center;box-sizing:border-box;}
.bottom-nav a.active{color:var(--primary);}
.bottom-nav a i{font-size:18px;}
:root[data-ios-ui] .bottom-nav a i{transform:none;}
:root[data-ios-ui] .bottom-nav{
  background:linear-gradient(to bottom,var(--sidebar) 0%,var(--sidebar) 70%,rgba(11,11,36,.95) 100%);
  border-top:1px solid var(--border);
  bottom:0;
  height:var(--worker-nav-total-height);
  padding-top:var(--worker-nav-pad-top);
  padding-bottom:calc(
    var(--worker-nav-pad-bottom-extra)
    + max(0px, calc(env(safe-area-inset-bottom, 0px) - var(--worker-nav-nudge-down)))
  );
  overflow:visible;
  z-index:9999;
  transform:none;
  align-items:center;
}
[data-theme="light"]:root[data-ios-ui] .bottom-nav{
  background:linear-gradient(to bottom,var(--card) 0%,var(--card) 70%,rgba(255,255,255,.96) 100%);
  border-color:var(--border);
  box-shadow:0 -2px 8px rgba(0,0,0,.08);
}
:root[data-ios-ui] .bottom-nav a{
  justify-content:center;
  height:var(--worker-nav-h);
  padding:0 2px;
  gap:3px;
  transform:none;
}

/* Worker nav: mount only when role=worker (JS); detached for admin avoids iOS phantom bottom band */
#workerNav{display:none;pointer-events:none;}
body[data-role="worker"] #workerNav{
  display:flex!important;
  position:fixed!important;left:0!important;right:0!important;bottom:0!important;
  will-change:transform;pointer-events:none;
  visibility:visible!important;opacity:1!important;
}
/* QR/NFC scan open — hide bottom nav (must beat display:flex above) */
body[data-role="worker"].tool-scan-active #workerNav,
:root[data-ios-ui] body[data-role="worker"].tool-scan-active #workerNav,
html[data-ios-app="1"] body[data-role="worker"].tool-scan-active #workerNav,
html.ios-app body[data-role="worker"].tool-scan-active #workerNav,
html[data-pwa-standalone] body[data-role="worker"].tool-scan-active #workerNav,
body.tool-scan-active #workerToolsScanBar{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  transform:translate3d(0,110%,0)!important;
}
body[data-role="admin"] #workerNav{display:none!important;}
/* Opaque strip: gradient/.95 + iOS height:0 made scroll content show through over the “background” */
body[data-role="worker"] #workerNav{
  align-items:center;
  align-content:center;
  justify-content:space-around;
  padding-top:var(--worker-nav-pad-top);
  background:var(--sidebar);
  background-image:none;
  border-top:1px solid var(--border);
  box-shadow:0 -4px 12px rgba(0,0,0,.22);
  isolation:isolate;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform:translate3d(0,0,0)!important;
  overflow:visible;
  box-sizing:border-box;
  flex-wrap:nowrap;
  height:calc(var(--worker-nav-h) + var(--worker-nav-pad-top) + var(--worker-nav-pad-bottom-extra) + env(safe-area-inset-bottom,0px));
  min-height:calc(var(--worker-nav-h) + var(--worker-nav-pad-top) + var(--worker-nav-pad-bottom-extra) + env(safe-area-inset-bottom,0px));
  padding-bottom:calc(var(--worker-nav-pad-bottom-extra) + env(safe-area-inset-bottom,0px));
}
[data-theme="light"] body[data-role="worker"] #workerNav{
  box-shadow:0 -4px 14px rgba(0,0,0,.1);
}
/* iOS .bottom-nav { height:0 } — worker bar needs real height or the panel paints under scrolled layers */
:root[data-ios-ui] body[data-role="worker"] #workerNav{
  height:var(--worker-nav-total-height)!important;
  min-height:var(--worker-nav-total-height)!important;
  padding-top:var(--worker-nav-pad-top);
  padding-bottom:calc(
    var(--worker-nav-pad-bottom-extra)
    + max(0px, calc(env(safe-area-inset-bottom, 0px) - var(--worker-nav-nudge-down)))
  )!important;
  transform:translate3d(0,0,0)!important;
  overflow:visible;
  align-items:center!important;
}
:root[data-ios-ui] body[data-role="worker"] #workerNav a{
  transform:none!important;
  height:var(--worker-nav-h)!important;
  max-height:var(--worker-nav-h);
  align-items:center!important;
  justify-content:center!important;
  padding:0 2px!important;
  gap:2px!important;
}
:root[data-ios-ui] body[data-role="worker"] #workerNav a i{
  transform:none!important;
}
body[data-role="worker"] #workerNav a{
  justify-content:center!important;
  align-items:center!important;
  gap:3px!important;
  transform:none!important;
  height:var(--worker-nav-h)!important;
  padding:0 2px!important;
}
body[data-role="worker"] #workerNav a[data-worker-tab="w-home"],
body[data-role="worker"] #workerNav a[data-worker-tab="w-hours"],
body[data-role="worker"] #workerNav a[data-worker-tab="w-diary"],
body[data-role="worker"] #workerNav a[data-worker-tab="w-notifications"]{
  display:flex!important;
  flex:1 1 0;
  min-width:0;
  visibility:visible!important;
  opacity:1!important;
}
body[data-role="worker"] #workerNav a i{
  font-size:18px;
  line-height:1;
  transform:none!important;
}
#workerNav a{position:relative;z-index:2147483647!important;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;text-decoration:none;}
#workerNav .worker-nav-logout{position:relative;z-index:2147483647;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;}
body[data-role="worker"] #workerNav a{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  cursor:pointer;
}
.sidebar-nav a{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;text-decoration:none;}
#roleAdmin .bottom-nav{display:none!important;}
.nav-badge{position:absolute;top:6px;right:18px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;line-height:1;}
.nav-badge.show{display:flex;animation:navBadgePop .45s cubic-bezier(.34,1.45,.64,1) both;}
/* Admin sidebar attention badges */
#adminSidebar .sidebar-nav a{position:relative;}
#adminSidebar .sidebar-nav > a .nav-badge,
#adminSidebar .sidebar-nav-parent .nav-badge{
  position:static;margin-left:auto;flex-shrink:0;top:auto;right:auto;
  background:var(--orange);color:#fff;box-shadow:none;
}
#adminSidebar.collapsed .sidebar-nav > a .nav-badge,
#adminSidebar.collapsed .sidebar-nav-parent .nav-badge{
  position:absolute;top:2px;right:2px;margin:0;min-width:16px;height:16px;padding:0 4px;
  font-size:9px;line-height:16px;z-index:2;
}
/* Saas date inside account cluster: no divider */
.header-account > .header-date{padding:0 8px;}
.header-account > .header-date::before{display:none;}

/* SaaS platform shell */
#rolePlatform .sidebar-brand{justify-content:flex-start;gap:4px;padding:0 18px;}
#rolePlatform .saas-brand-tag{
  margin-left:4px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;
  color:#6ea8ff;background:rgba(110,168,255,.14);border:1px solid rgba(110,168,255,.28);text-transform:uppercase;flex-shrink:0;
}
#rolePlatform .saas-header-chip{
  display:inline-flex;align-items:center;gap:8px;max-width:none;flex:0 1 auto;
  padding:8px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text2);
  background:color-mix(in srgb, var(--color-surface-bright) 55%, transparent);
  border:1px solid color-mix(in srgb, var(--border) 70%, transparent);
}
#rolePlatform .saas-header-chip i{color:var(--primary);opacity:.9;position:static;transform:none;left:auto;top:auto;}
#rolePlatform .saas-header-chip input{display:none;}
#saas-dashboard .saas-kpi,
#saas-companies .saas-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px;}
@media(max-width:1100px){
  #saas-dashboard .saas-kpi,
  #saas-companies .saas-kpi{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
  #saas-dashboard .saas-kpi,
  #saas-companies .saas-kpi{grid-template-columns:1fr;}
  #rolePlatform .saas-header-chip{display:none;}
}
#saas-dashboard .saas-kpi .stat-card,
#saas-companies .saas-kpi .stat-card{margin:0;}
#saas-dashboard .saas-table-card,
#saas-companies .saas-table-card,
#saas-plans .saas-plan-card{
  background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px 20px;margin-bottom:16px;
}
#saas-plans .saas-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:8px;}
#saas-plans .saas-plan-card{margin:0;padding:20px;display:flex;flex-direction:column;gap:8px;
  transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;}
@media (hover:hover) and (pointer:fine){
  #saas-plans .saas-plan-card:hover{border-color:rgba(110,168,255,.35);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.18);}
}
#saas-plans .saas-plan-card .saas-plan-name{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);}
#saas-plans .saas-plan-card .saas-plan-price{font-size:28px;font-weight:700;color:var(--text);line-height:1.15;}
#saas-plans .saas-plan-card .saas-plan-meta{font-size:13px;color:var(--text2);}
#saas-dashboard .saas-code,
#saas-companies .saas-code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;
  padding:2px 7px;border-radius:6px;background:rgba(110,168,255,.1);color:var(--primary);
}
#saas-companies .saas-actions{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
#saas-companies .saas-actions .btn{min-width:34px;padding:6px 10px;}
#saas-companies .saas-actions .btn-saas-del{color:var(--red);background:rgba(255,148,136,.08);border:1px solid rgba(255,148,136,.2);}
#rolePlatform .section-title{gap:10px;}
#rolePlatform .saas-note{margin-top:14px;color:var(--text2);font-size:13px;line-height:1.45;}
.builder-main{
  flex:1;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  overscroll-behavior-x:none;
  scroll-padding-bottom:calc(var(--worker-nav-total-height) + 8px);
  padding-bottom:calc(var(--worker-nav-total-height) + var(--worker-scroll-extra));
}
body[data-role="worker"] #roleWorker .content-area.builder-main{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
}
:root[data-ios-ui] .builder-main{
  padding-bottom:calc(var(--worker-nav-total-height) + var(--worker-scroll-extra));
}

.worker-home-site-sticky{
  /* Plain block: sticky kept the site card under the fixed header while the form scrolled — bad UX on mobile/DevTools */
  margin-bottom:16px;
  padding-bottom:8px;
  background:var(--bg);
  border-bottom:1px solid var(--border);
}
.worker-home-site-sticky .worker-home-site-icon{
  width:48px;height:48px;border-radius:12px;background:rgba(110,168,255,.15);
  display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--primary);
  flex-shrink:0;
}
.worker-home-site-sticky .worker-home-site-label{font-size:12px;color:var(--text2);margin:0 0 8px;text-align:center;}
.worker-home-site-sticky .worker-home-site-fields-row{display:flex;align-items:center;gap:14px;}
.worker-home-site-sticky .worker-home-site-fields{flex:1;min-width:0;}
[data-theme="light"] .worker-home-site-sticky .worker-home-site-icon{background:#E0F7FA;color:var(--accent);}

/* WORK TOGGLE */
.site-select{width:100%;padding:8px 32px 8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;font-weight:600;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg fill='%236b7f94' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:18px;font-family:inherit;}
/* Примітка в блоці «Moje stavba» — як широкий інпут / селект: темний фон, синя обводка у фокусі */
.worker-home-site-sticky .worker-home-note-field{
  margin-top:10px;
  margin-bottom:0;
  width:100%;
}
.worker-home-site-sticky textarea.worker-hours-note-input{
  width:100%;
  min-height:40px;
  max-height:120px;
  padding:8px 12px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--input-bg, var(--bg));
  color:var(--text);
  font-size:15px;
  font-weight:500;
  line-height:1.45;
  resize:vertical;
  font-family:inherit;
  box-sizing:border-box;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.worker-home-site-sticky textarea.worker-hours-note-input::placeholder{
  color:var(--text2);
  opacity:.9;
}
.worker-home-site-sticky textarea.worker-hours-note-input:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 1px var(--blue);
}
[data-theme="light"] .worker-home-site-sticky textarea.worker-hours-note-input{background:#FFFFFF;}
[data-theme="light"] .worker-home-site-sticky textarea.worker-hours-note-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px rgba(0,163,196,.35);}
.worker-home-site-sticky .worker-home-role-line{
  font-size:13px;
  color:var(--text2);
  margin-top:8px;
  margin-bottom:0;
  line-height:1.35;
  text-align:center;
}
.work-toggle{width:180px;height:180px;border-radius:50%;border:4px solid var(--green);background:rgba(0,200,83,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;margin:24px auto;transition:all .3s;font-size:15px;color:var(--green);gap:8px;}
.work-toggle.off{border-color:var(--red);background:rgba(233,69,96,.08);color:var(--red);}
.work-toggle i{font-size:40px;}

/* WORKER MANUAL TIME */
.manual-time-sheet .diary-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.manual-time-sheet .form-group{margin-bottom:10px;}
.manual-time-sheet .form-group label{font-size:12px;color:var(--text2);margin-bottom:4px;display:block;}
.manual-time-sheet .form-group input{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--input-bg);color:var(--text);font-size:1rem;}
.manual-time-sheet .btn-primary{width:100%;padding:15px 0;font-size:1rem;font-weight:600;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;z-index:2;touch-action:manipulation;}
.manual-time-sheet{margin-bottom:calc(var(--worker-nav-total-height) + 12px);}
#workerManualMessage{min-height:20px;font-size:13px;}
.worker-home-today-hours{
  margin-top:14px;padding:14px 16px;border-radius:12px;
  background:rgba(0,200,83,.08);border:1px solid rgba(0,200,83,.22);
  text-align:center;
}
.worker-home-today-hours .worker-home-today-label{
  font-size:12px;color:var(--text2);margin:0 0 6px;line-height:1.35;
}
.worker-home-today-hours .worker-home-today-value{
  font-size:22px;font-weight:700;color:var(--green);margin:0;line-height:1.2;
  font-variant-numeric:tabular-nums;
}
[data-theme="light"] .worker-home-today-hours{
  background:rgba(0,160,70,.08);border-color:rgba(0,160,70,.25);
}

@media(max-width:600px){
  .manual-time-sheet .diary-form-row{grid-template-columns:1fr;}
  .manual-time-sheet{padding:12px;}
}

/* TIMER */
.timer-display{font-size:52px;font-weight:700;color:var(--primary);text-align:center;margin:16px 0;font-variant-numeric:tabular-nums;}

/* DIARY */
.diary-entry{padding:16px;border-bottom:1px solid var(--border);}
.diary-entry .de-date{font-size:12px;color:var(--text2);margin-bottom:6px;}
.diary-entry .de-text{font-size:14px;color:var(--text);margin-bottom:6px;}
.diary-entry .de-task{font-size:12px;color:var(--primary);}
.diary-entry .de-site{font-size:12px;color:var(--yellow);margin-top:4px;}
.diary-entry .de-photos,.diary-entry-card .de-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.diary-entry .de-photos img,.diary-entry-card .de-photos img{width:80px;height:80px;object-fit:cover;border-radius:8px;cursor:pointer;border:1px solid var(--border);}
.diary-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:600px){.diary-form-row{grid-template-columns:1fr;}}
.photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.photo-preview .photo-thumb{position:relative;width:70px;height:70px;}
.photo-preview .photo-thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px;border:1px solid var(--border);}
.photo-preview .photo-thumb .remove-photo{position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:var(--danger);color:#fff;border:none;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.photo-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--card);border:1px dashed var(--border);border-radius:8px;color:var(--text2);cursor:pointer;font-size:13px;transition:border-color .2s;}
@media (hover:hover) and (pointer:fine){
.photo-upload-btn:hover{border-color:var(--primary);color:var(--primary);}
}
.admin-diary-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;padding:12px;background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:end;}
#admin-hours .admin-diary-filters.admin-hours-filters{grid-template-columns:repeat(6,minmax(0,1fr));}
@media(max-width:900px){
  #admin-hours .admin-diary-filters.admin-hours-filters{grid-template-columns:1fr 1fr;}
}
.admin-diary-filters label{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:10px;}
.admin-diary-filters .filter-group{display:flex;flex-direction:column;min-width:0;overflow:visible;justify-content:flex-end;}
.admin-diary-filters select,.admin-diary-filters input[type="date"]{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;outline:none;width:100%;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;min-height:40px;}
.admin-diary-filters select{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 12px;padding-right:34px;}
.admin-diary-filters select:focus,.admin-diary-filters input[type="date"]:focus{border-color:var(--primary);}
.admin-diary-filters.admin-quad-filters .filter-group{justify-content:flex-start;}
.admin-diary-filters.admin-quad-filters .filter-group.filter-action label{visibility:hidden;}
.date-period-btn{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;text-align:center;transition:border-color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;width:100%;}
.date-period-btn.active{border-color:var(--primary);color:var(--primary);}
.reset-btn{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;text-align:center;transition:border-color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;width:100%;}
.reset-btn.active{border-color:var(--primary);color:var(--primary);}
@media (hover:hover) and (pointer:fine){
.date-period-btn:hover{border-color:var(--primary);color:var(--primary);}
.reset-btn:hover{border-color:var(--primary);color:var(--primary);}
}
/* Worker Pojezdy/Hodiny/Deník: períod + Reset — одинакові кнопки (ширина/висота) */
.admin-diary-filters.worker-date-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;align-items:end;}
.admin-diary-filters.worker-date-strip>.filter-group{min-width:0;}
.admin-diary-filters.worker-date-strip>.filter-group:last-child{display:flex;flex-direction:column;justify-content:flex-end;}
.admin-diary-filters.worker-date-strip>.filter-group:first-child>label{margin-bottom:10px;display:flex;align-items:center;gap:6px;line-height:1.2;}
.admin-diary-filters.worker-date-strip .date-period-btn,
.admin-diary-filters.worker-date-strip .reset-btn{min-height:40px;height:auto;padding:9px 12px;box-sizing:border-box;width:100%;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;line-height:1.25;-webkit-appearance:none;appearance:none;}
.admin-diary-filters.worker-date-strip .date-period-btn i,
.admin-diary-filters.worker-date-strip .reset-btn i{font-size:14px;width:1.125em;text-align:center;flex-shrink:0;opacity:.9;}
.admin-diary-filters.worker-date-strip .date-period-btn>span,
.admin-diary-filters.worker-date-strip .reset-btn>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.date-period-popup{position:absolute;top:100%;left:0;right:auto;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:250;padding:14px;margin-top:4px;display:none;width:340px;max-width:calc(100vw - 24px);}
.date-period-popup.show{display:block;}
.date-period-popup .dp-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;max-width:100%;}
.date-period-popup .dp-preset{
  flex:1 1 calc(33.333% - 6px);min-width:calc(33.333% - 6px);min-height:40px;
  padding:8px 6px;border-radius:10px;font-size:12px;font-weight:500;cursor:pointer;
  border:1px solid var(--border);background:var(--bg);color:var(--text);transition:all .15s;
  display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;
}
.date-period-popup .dp-preset.selected{background:var(--primary);color:#fff;border-color:var(--primary);}
@media (hover:hover) and (pointer:fine){
.date-period-popup .dp-preset:hover{background:var(--primary);color:#fff;border-color:var(--primary);}
}
.date-period-popup .dp-picker-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:4px 0 10px;font-size:12px;color:var(--text2);line-height:1.35;
}
.date-period-popup .dp-picker-head-title{display:flex;align-items:center;gap:6px;min-width:0;}
.date-period-popup .dp-picker-head-title i{color:var(--primary);flex-shrink:0;}
.date-period-popup .dp-back-btn{
  flex-shrink:0;border:1px solid var(--border);background:var(--bg);color:var(--text);
  border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer;
}
.date-period-popup .dp-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.date-period-popup .dp-month-cell,.date-period-popup .dp-week-cell{
  min-height:42px;padding:8px 6px;border-radius:10px;border:1px solid var(--border);
  background:var(--bg);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;
  text-align:center;transition:all .15s;line-height:1.25;
}
.date-period-popup .dp-week-list{display:flex;flex-direction:column;gap:8px;}
@media (hover:hover) and (pointer:fine){
.date-period-popup .dp-month-cell:hover,.date-period-popup .dp-week-cell:hover{background:var(--primary);color:#fff;border-color:var(--primary);}
}
.date-period-popup .dp-dates{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-top:8px;}
.date-period-popup .dp-dates input[type="date"]{width:100%;max-width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12px;outline:none;min-height:40px;box-sizing:border-box;text-align:center;-moz-text-align-last:center;}
.date-period-popup .dp-dates input[type="date"]::-webkit-datetime-edit{text-align:center;padding:0;}
.date-period-popup .dp-dates input[type="date"]::-webkit-datetime-edit-fields-wrapper{display:flex;justify-content:center;width:100%;}
.date-period-popup .dp-dates span{display:none;}
.date-period-popup .dp-popup-actions{margin-top:12px;}
.date-period-popup .dp-popup-actions .btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;font-size:14px;font-weight:600;}
[data-theme="light"] .date-period-popup{background:var(--card);border-color:var(--border);box-shadow:0 8px 32px rgba(0,0,0,.15);}

/* Date period filter — mobile bottom sheet (PC keeps dropdown) */
.date-period-overlay{
  display:none;position:fixed;inset:0;z-index:100040;
  background:rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .18s ease;
}
.date-period-overlay.show{display:block;opacity:1;}
.date-period-popup .dp-fs-bar{display:none;}
.date-period-popup.date-period-arming .dp-presets,
.date-period-popup.date-period-arming .dp-picker-body,
.date-period-popup.date-period-arming .dp-dates,
.date-period-popup.date-period-arming .dp-popup-actions{pointer-events:none;}
@media(max-width:720px){
  .date-period-popup.date-period-fs.show{
    display:flex!important;flex-direction:column;
    position:fixed!important;left:10px!important;right:10px!important;top:auto!important;
    bottom:calc(12px + var(--safe-bottom,0px))!important;
    width:auto!important;max-width:none!important;height:auto!important;max-height:min(78vh, 560px)!important;
    margin:0!important;border-radius:16px!important;border:1px solid var(--border)!important;
    z-index:100050!important;padding:0 0 8px!important;
    background:var(--card)!important;
    box-shadow:0 -18px 50px rgba(0,0,0,.55)!important;
    overflow:auto;-webkit-overflow-scrolling:touch;
    animation:sheetUp .18s ease-out!important;
    box-sizing:border-box;
  }
  .date-period-popup.date-period-fs .dp-fs-bar{
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;
    padding:12px 14px;
    border-bottom:1px solid var(--border);background:var(--card);
    position:sticky;top:0;z-index:2;
  }
  .date-period-popup.date-period-fs .dp-fs-title{
    font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em;
  }
  .date-period-popup.date-period-fs .dp-fs-close{
    width:34px;height:34px;border-radius:10px;border:1px solid var(--border);
    background:var(--bg);color:var(--text2);cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;font-size:15px;
  }
  .date-period-popup.date-period-fs .dp-presets{
    padding:8px 14px 2px;margin:0 0 0!important;gap:6px;
  }
  .date-period-popup.date-period-fs .dp-preset{
    min-height:38px;font-size:12px;font-weight:650;border-radius:10px;padding:7px 6px;
  }
  .date-period-popup.date-period-fs .dp-picker-body{
    padding:0 14px 6px;flex:0 0 auto;margin:0;
  }
  .date-period-popup.date-period-fs .dp-picker-head{
    margin:0 0 6px;font-size:12px;
  }
  .date-period-popup.date-period-fs .dp-back-btn{
    min-height:34px;border-radius:10px;padding:6px 10px;font-size:12px;
  }
  .date-period-popup.date-period-fs .dp-month-grid{gap:6px;margin:0;}
  .date-period-popup.date-period-fs .dp-month-cell,
  .date-period-popup.date-period-fs .dp-week-cell{
    min-height:40px;border-radius:10px;font-size:13px;font-weight:600;
    -webkit-tap-highlight-color:transparent;
  }
  .date-period-popup.date-period-fs .dp-week-list{gap:6px;margin:0;}
  .date-period-popup.date-period-fs .dp-dates{
    padding:0 14px;margin:2px 0 6px;gap:6px;
  }
  .date-period-popup.date-period-fs .dp-dates input[type="date"]{
    min-height:40px;border-radius:10px;font-size:14px;
  }
  .date-period-popup.date-period-fs .dp-popup-actions{
    margin:0;padding:8px 14px 4px;
    border-top:1px solid var(--border);background:var(--card);
    position:sticky;bottom:0;flex-shrink:0;
  }
  .date-period-popup.date-period-fs .dp-popup-actions[style*="display: none"],
  .date-period-popup.date-period-fs .dp-popup-actions[style*="display:none"]{
    display:none!important;padding:0!important;margin:0!important;border:0!important;
  }
  .date-period-popup.date-period-fs .dp-popup-actions .btn{min-height:42px;border-radius:12px;font-size:14px;}
}

.diary-entry-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .2s;}
@media (hover:hover) and (pointer:fine){
.diary-entry-card:hover{border-color:var(--primary);transform:translateY(-1px);}
}
.diary-entry-card .diary-card-header{display:flex;align-items:flex-start;gap:12px;}
.diary-entry-card .diary-card-main{flex:1;min-width:0;}
.diary-entry-card .diary-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.diary-entry-card .diary-delete-btn{width:auto;min-width:40px;padding:8px 10px;}
/* Diary — KPI widgets + compact filter bar */
/* Desktop/notebook: окремі картки (як hours / dashboard). Mobile strip — лише ≤720px. */
#admin-diary .diary-kpi{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px;width:100%;
  border:none;border-radius:0;overflow:visible;background:transparent;
}
@media(max-width:1100px){
  #admin-diary .diary-kpi{grid-template-columns:repeat(3,minmax(0,1fr));}
  #admin-diary .diary-kpi .dk-stat.orange.dk-desktop-only{display:none;}
}
@media(max-width:900px){
  #admin-diary .diary-kpi{grid-template-columns:repeat(2,minmax(0,1fr));}
  #admin-diary .diary-kpi .dk-stat.green.dk-desktop-only,
  #admin-diary .diary-kpi .dk-stat.orange.dk-desktop-only{display:none;}
}
#w-diary .diary-kpi{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px;width:100%;
}
@media(max-width:900px){#w-diary .diary-kpi{grid-template-columns:1fr 1fr;}}
#admin-diary .diary-kpi .dk-stat, #w-diary .diary-kpi .dk-stat{
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
#admin-diary .diary-kpi .dk-stat .sc-icon, #w-diary .diary-kpi .dk-stat .sc-icon{
  width:42px;height:42px;border-radius:12px;margin:0;font-size:16px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
#admin-diary .diary-kpi .dk-stat.blue .sc-icon, #w-diary .diary-kpi .dk-stat.blue .sc-icon{background:rgba(41,121,255,.16);color:var(--blue);}
#admin-diary .diary-kpi .dk-stat.green .sc-icon, #w-diary .diary-kpi .dk-stat.green .sc-icon{background:rgba(0,200,83,.14);color:var(--green);}
#admin-diary .diary-kpi .dk-stat.orange .sc-icon, #w-diary .diary-kpi .dk-stat.orange .sc-icon{background:rgba(255,145,0,.14);color:var(--orange);}
#admin-diary .diary-kpi .dk-stat.yellow .sc-icon, #w-diary .diary-kpi .dk-stat.yellow .sc-icon{background:rgba(255,214,0,.14);color:var(--yellow);}
#admin-diary .diary-kpi .dk-body, #w-diary .diary-kpi .dk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#admin-diary .diary-kpi .dk-value, #w-diary .diary-kpi .dk-value{
  font-size:22px;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#admin-diary .diary-kpi .dk-label, #w-diary .diary-kpi .dk-label{font-size:12px;color:var(--text2);line-height:1.3;}
[data-theme="light"] #admin-diary .diary-kpi .dk-stat{box-shadow:0 1px 3px rgba(15,21,37,.04);}
@media(max-width:900px){
  #admin-diary > .section-title{
    font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.15;margin:0 0 14px;
  }
  #admin-diary > .section-title i{font-size:18px;opacity:.85;}
}
@media(max-width:720px){
  #admin-diary .diary-kpi{
    display:flex;align-items:stretch;gap:0;
    border:1px solid var(--border);border-radius:16px;background:var(--card);
    overflow:hidden;box-sizing:border-box;
  }
  #admin-diary .diary-kpi .dk-stat{
    flex:1 1 50%;min-width:0;gap:10px;padding:12px 12px;
    border:0;border-radius:0;background:transparent;box-shadow:none;
  }
  #admin-diary .diary-kpi .dk-stat.blue{border-right:1px solid var(--border);}
  #admin-diary .diary-kpi .dk-stat .sc-icon{width:36px;height:36px;font-size:14px;border-radius:10px;}
  #admin-diary .diary-kpi .dk-value{font-size:20px;}
  #admin-diary .diary-kpi .dk-label{font-size:11px;}
  #admin-diary .diary-kpi .dk-stat.green.dk-desktop-only,
  #admin-diary .diary-kpi .dk-stat.orange.dk-desktop-only{display:none!important;}
  [data-theme="light"] #admin-diary .diary-kpi .dk-stat{box-shadow:none;background:transparent;}
  #w-diary .diary-kpi{
    display:flex;align-items:stretch;gap:0;
    border:1px solid var(--border);border-radius:16px;background:var(--card);
    overflow:hidden;box-sizing:border-box;
  }
  #w-diary .diary-kpi .dk-stat{
    flex:1 1 50%;min-width:0;gap:10px;padding:12px 12px;
    border:0;border-radius:0;background:transparent;box-shadow:none;
  }
  #w-diary .diary-kpi .dk-stat.blue{border-right:1px solid var(--border);}
  #w-diary .diary-kpi .dk-stat .sc-icon{width:38px;height:38px;font-size:15px;}
  #w-diary .diary-kpi .dk-value{font-size:20px;}
  #w-diary .diary-kpi .dk-label{font-size:11px;}
  #w-diary .diary-kpi .dk-stat.green,
  #w-diary .diary-kpi .dk-stat.orange{display:none!important;}
}

#admin-diary .diary-filter-bar, #w-diary .diary-filter-bar, #w-trips .diary-filter-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  margin:0 0 16px;padding:10px 12px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-diary .diary-filter-bar, [data-theme="light"] #w-diary .diary-filter-bar, [data-theme="light"] #w-trips .diary-filter-bar{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-diary .diary-filter-controls, #w-diary .diary-filter-controls, #w-trips .diary-filter-controls{
  display:flex;align-items:center;flex:1 1 280px;flex-wrap:wrap;gap:8px;min-width:0;
}
#admin-diary .diary-filter-field, #w-diary .diary-filter-field,
#admin-diary .diary-filter-bar .diary-filter-date, #w-diary .diary-filter-bar .diary-filter-date, #w-trips .diary-filter-bar .diary-filter-date{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 150px;min-width:0;
  min-height:42px;padding:0 12px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-diary .diary-filter-field, [data-theme="light"] #w-diary .diary-filter-field,
[data-theme="light"] #admin-diary .diary-filter-bar .diary-filter-date, [data-theme="light"] #w-diary .diary-filter-bar .diary-filter-date,
[data-theme="light"] #w-trips .diary-filter-bar .diary-filter-date{background:#fff;}
#admin-diary .diary-filter-field > i.diary-filter-ico, #w-diary .diary-filter-field > i.diary-filter-ico{
  display:inline-flex;width:16px;justify-content:center;color:var(--text2);font-size:13px;flex-shrink:0;
}
#admin-diary .diary-filter-bar .diary-filter-date > label, #w-diary .diary-filter-bar .diary-filter-date > label, #w-trips .diary-filter-bar .diary-filter-date > label{display:none;}
#admin-diary .diary-filter-field select, #w-diary .diary-filter-field select{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0 18px 0 0;min-height:40px;
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 0 center;background-size:11px 11px;
}
#admin-diary .diary-filter-bar .diary-filter-date, #w-diary .diary-filter-bar .diary-filter-date, #w-trips .diary-filter-bar .diary-filter-date{padding-right:10px;flex:1.2 1 180px;}
#admin-diary .diary-filter-bar .diary-filter-date .date-period-btn, #w-diary .diary-filter-bar .diary-filter-date .date-period-btn, #w-trips .diary-filter-bar .diary-filter-date .date-period-btn{
  flex:1;min-width:0;width:100%;min-height:40px;margin:0;padding:0;border:0;border-radius:0;
  background:transparent;color:var(--text);font-size:13px;font-weight:500;justify-content:flex-start;
  box-shadow:none;
}
#admin-diary .diary-filter-bar .diary-filter-date .date-period-popup, #w-diary .diary-filter-bar .diary-filter-date .date-period-popup, #w-trips .diary-filter-bar .diary-filter-date .date-period-popup{left:0;right:auto;min-width:280px;z-index:40;}
#admin-diary .diary-filter-clear, #w-diary .diary-filter-clear, #w-trips .diary-filter-clear{
  appearance:none;-webkit-appearance:none;flex-shrink:0;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;
  transition:background .15s,color .15s,border-color .15s;
}
#admin-diary .diary-filter-date-reset{
  display:flex;align-items:center;gap:8px;flex:1.2 1 180px;min-width:0;
}
#admin-diary .diary-filter-date-reset .diary-filter-date{
  flex:1 1 auto;min-width:0;margin:0;
}
#admin-diary .diary-filter-date-reset .diary-filter-clear{flex-shrink:0;margin:0;}
#admin-diary .diary-filter-clear:hover, #w-diary .diary-filter-clear:hover, #w-trips .diary-filter-clear:hover{color:var(--text);background:rgba(255,255,255,.04);}
#admin-diary .diary-filter-clear.is-active, #w-diary .diary-filter-clear.is-active, #w-trips .diary-filter-clear.is-active{
  color:var(--orange);border-color:rgba(255,145,0,.35);
  background:rgba(255,145,0,.12);
}
[data-theme="light"] #admin-diary .diary-filter-clear:hover, [data-theme="light"] #w-diary .diary-filter-clear:hover, [data-theme="light"] #w-trips .diary-filter-clear:hover{background:#F2F4F6;color:#141218;}
@media(max-width:720px){
  #admin-diary .diary-filter-controls, #w-trips .diary-filter-controls{flex:1 1 100%;}
  #admin-diary .diary-filter-field{flex:1 1 calc(50% - 4px);}
  #w-trips .diary-filter-bar .diary-filter-date{flex:1 1 calc(50% - 4px);}
  #admin-diary .diary-filter-date-reset{flex:1 1 100%;}
  #admin-diary .diary-filter-date-reset .diary-filter-date{flex:1 1 auto;}
  #w-trips .diary-filter-clear{margin-left:auto;}
  #w-diary .diary-filter-controls{
    display:flex;align-items:center;flex:1 1 100%;flex-wrap:nowrap;gap:6px;min-width:0;
  }
  #w-diary .diary-filter-field,
  #w-diary .diary-filter-bar .diary-filter-date{
    flex:1 1 0;min-width:0;max-width:none;padding:0 8px;gap:6px;
  }
  #w-diary .diary-filter-bar .diary-filter-date{padding-right:6px;}
  #w-diary .diary-filter-field select,
  #w-diary .diary-filter-bar .diary-filter-date .date-period-btn{font-size:12px;}
  #w-diary .diary-filter-clear{
    margin-left:0;flex:0 0 38px;width:38px;height:38px;
  }
}

/* Admin Deník — polished entry cards */
#admin-diary .admin-diary-list, #w-diary .admin-diary-list{display:flex;flex-direction:column;gap:14px;}
#admin-diary .admin-diary-card, #w-diary .admin-diary-card{
  position:relative;background:var(--card);border:1px solid var(--border);border-radius:16px;
  overflow:hidden;transition:border-color .2s,box-shadow .2s;cursor:default;
}

@media (hover:hover) and (pointer:fine){
#admin-diary .admin-diary-card:hover, #w-diary .admin-diary-card:hover{border-color:rgba(110,168,255,.32);box-shadow:0 6px 28px rgba(0,0,0,.2);}
}
[data-theme="light"] #admin-diary .admin-diary-card:hover, [data-theme="light"] #w-diary .admin-diary-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.08);}
#admin-diary .admin-diary-card-head, #w-diary .admin-diary-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 20px 12px 24px;
}
#admin-diary .admin-diary-card-user, #w-diary .admin-diary-card-user{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0;}
#admin-diary .admin-diary-avatar, #w-diary .admin-diary-avatar{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  background:var(--primary);color:#fff;border:1px solid transparent;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;
  overflow:hidden;
}
#admin-diary .admin-diary-avatar.has-photo, #w-diary .admin-diary-avatar.has-photo{
  background:transparent!important;padding:0;border-color:transparent;
}
#admin-diary .admin-diary-avatar.has-photo img, #w-diary .admin-diary-avatar.has-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
}
#admin-diary .admin-diary-card-title, #w-diary .admin-diary-card-title{min-width:0;flex:1;}
#admin-diary .admin-diary-card-title h4, #w-diary .admin-diary-card-title h4{
  margin:0;font-size:16px;font-weight:600;color:var(--text);line-height:1.35;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;
}
#admin-diary .admin-diary-card-title .adc-name, #w-diary .admin-diary-card-title .adc-name{min-width:0;}
#admin-diary .admin-diary-card-title .adc-sep, #w-diary .admin-diary-card-title .adc-sep{color:var(--text2);font-weight:400;font-size:13px;}
#admin-diary .admin-diary-card-title .adc-date, #w-diary .admin-diary-card-title .adc-date{font-weight:400;color:var(--text2);font-size:13px;}
#admin-diary .admin-diary-tags, #w-diary .admin-diary-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
#admin-diary .admin-diary-tag, #w-diary .admin-diary-tag{
  display:inline-flex;align-items:center;gap:5px;max-width:100%;
  padding:4px 10px;border-radius:999px;font-size:11px;font-weight:500;
  background:var(--bg);border:1px solid var(--border);color:var(--text2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#admin-diary .admin-diary-tag i, #w-diary .admin-diary-tag i{font-size:10px;opacity:.95;flex-shrink:0;}
#admin-diary .admin-diary-tag.site, #w-diary .admin-diary-tag.site{color:#E8B84A;border-color:rgba(232,184,74,.35);background:rgba(232,184,74,.1);}
#admin-diary .admin-diary-tag.task, #w-diary .admin-diary-tag.task{color:#5EB8D4;border-color:rgba(94,184,212,.35);background:rgba(94,184,212,.1);}
#admin-diary .admin-diary-tag.photos, #w-diary .admin-diary-tag.photos{color:#6BA3F0;border-color:rgba(107,163,240,.35);background:rgba(107,163,240,.1);}
#admin-diary .admin-diary-card-body, #w-diary .admin-diary-card-body{padding:0 20px 18px;}
#admin-diary .admin-diary-text, #w-diary .admin-diary-text{
  font-size:14px;line-height:1.65;color:var(--text);white-space:pre-wrap;
  background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;
}
#admin-diary .admin-diary-photos, #w-diary .admin-diary-photos{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
#admin-diary .admin-diary-photos img, #w-diary .admin-diary-photos img{
  width:96px;height:96px;object-fit:cover;border-radius:12px;
  border:2px solid var(--border);cursor:pointer;transition:transform .2s,border-color .2s;
}
@media (hover:hover) and (pointer:fine){
#admin-diary .admin-diary-photos img:hover, #w-diary .admin-diary-photos img:hover{transform:scale(1.04);border-color:var(--primary);}
}
#admin-diary .admin-diary-del, #w-diary .admin-diary-del{
  width:36px;height:36px;min-width:36px;padding:0;border-radius:10px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.8;
}
@media (hover:hover) and (pointer:fine){
#admin-diary .admin-diary-del:hover, #w-diary .admin-diary-del:hover{opacity:1;transform:scale(1.05);}
}
#admin-diary .admin-diary-empty, #w-diary .admin-diary-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:56px 24px 66px;background:var(--card);border:1px solid var(--border);border-radius:16px;
}
#admin-diary .admin-diary-empty .add-empty-art, #w-diary .admin-diary-empty .add-empty-art{
  position:relative;width:180px;height:180px;margin-bottom:22px;
  display:flex;align-items:center;justify-content:center;color:var(--blue);
}
#admin-diary .admin-diary-empty .add-empty-glow, #w-diary .admin-diary-empty .add-empty-glow{
  position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 50% 46%, rgba(41,121,255,.20), rgba(41,121,255,.06) 55%, transparent 72%);
}
[data-theme="light"] #admin-diary .admin-diary-empty .add-empty-glow, [data-theme="light"] #w-diary .admin-diary-empty .add-empty-glow{
  background:radial-gradient(circle at 50% 46%, rgba(0,163,196,.14), rgba(0,163,196,.04) 55%, transparent 72%);
}
#admin-diary .admin-diary-empty .add-empty-art svg, #w-diary .admin-diary-empty .add-empty-art svg{position:relative;width:150px;height:150px;}
#admin-diary .admin-diary-empty .add-empty-title, #w-diary .admin-diary-empty .add-empty-title{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--text);}
#admin-diary .admin-diary-empty .add-empty-sub, #w-diary .admin-diary-empty .add-empty-sub{margin:0;max-width:380px;font-size:13px;line-height:1.5;color:var(--text2);}
#admin-diary .admin-diary-empty .add-empty-badge, #w-diary .admin-diary-empty .add-empty-badge{display:none;}
@media(max-width:900px){
  #admin-diary .admin-diary-empty, #w-diary .admin-diary-empty{padding:40px 22px;}
  #admin-diary .admin-diary-empty .add-empty-art, #w-diary .admin-diary-empty .add-empty-art{width:auto;height:auto;margin-bottom:16px;color:var(--blue);}
  #admin-diary .admin-diary-empty .add-empty-art svg, #w-diary .admin-diary-empty .add-empty-art svg,
  #admin-diary .admin-diary-empty .add-empty-glow, #w-diary .admin-diary-empty .add-empty-glow{display:none;}
  #admin-diary .admin-diary-empty .add-empty-badge, #w-diary .admin-diary-empty .add-empty-badge{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:rgba(41,121,255,.12);color:var(--blue);font-size:22px;}
  #admin-diary .admin-diary-empty .add-empty-title, #w-diary .admin-diary-empty .add-empty-title{margin:0;font-size:16px;font-weight:500;color:var(--text2);}
  #admin-diary .admin-diary-empty .add-empty-sub, #w-diary .admin-diary-empty .add-empty-sub{display:none;}
}
[data-theme="light"] #admin-diary .admin-diary-empty .add-empty-badge, [data-theme="light"] #w-diary .admin-diary-empty .add-empty-badge{background:rgba(0,163,196,.10);color:var(--blue);}
.diary-detail-modal .diary-full-text{font-size:15px;color:var(--text);line-height:1.7;margin:16px 0;}
.diary-detail-modal .diary-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;}
.notification-card{border:1px solid var(--border);border-radius:14px;background:var(--card);padding:18px;margin-bottom:12px;position:relative;overflow:hidden;}
.notification-card.unread{border-color:rgba(110,168,255,.35);box-shadow:0 0 0 1px rgba(110,168,255,.08);}
.notification-card.unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);}
.notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.notification-header-main{min-width:0;flex:1;}
.notification-status{flex-shrink:0;padding-top:2px;}
.notification-title{font-size:15px;color:var(--text);font-weight:600;}
.notification-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text2);margin-top:4px;}
.notification-body{font-size:14px;line-height:1.6;color:var(--text);white-space:pre-wrap;}

#w-notifications .worker-notify-head{margin-bottom:4px;}
#w-notifications .worker-notify-head .section-title{margin-bottom:4px;}
#w-notifications .worker-notify-head .dash-greet{margin:0 0 14px;}
@media(max-width:900px){
  #w-notifications .worker-notify-head .dash-greet{display:none;}
  #w-notifications .worker-notify-head .section-title{margin-bottom:12px;}
}#w-notifications .notify-kpi{
  display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 14px;width:100%;
  border-radius:16px;background:var(--card);border:1px solid var(--border);
  overflow:hidden;box-sizing:border-box;
}
#w-notifications .notify-kpi .nk-stat{
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;
  border-radius:0;background:transparent;border:0;box-sizing:border-box;
}
#w-notifications .notify-kpi .nk-stat + .nk-stat{border-left:1px solid var(--border);}
#w-notifications .notify-kpi .nk-stat .sc-icon{
  width:42px;height:42px;border-radius:12px;margin:0;font-size:16px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
#w-notifications .notify-kpi .nk-stat.red .sc-icon{background:rgba(244,67,54,.14);color:var(--red);}
#w-notifications .notify-kpi .nk-stat.blue .sc-icon{background:rgba(41,121,255,.16);color:var(--blue);}
#w-notifications .notify-kpi .nk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#w-notifications .notify-kpi .nk-value{
  font-size:22px;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#w-notifications .notify-kpi .nk-label{font-size:12px;color:var(--text2);line-height:1.3;}

#w-notifications .notify-filter-bar,
#admin-notifications .admin-notify-filter-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  margin:0 0 16px;padding:10px 12px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #w-notifications .notify-filter-bar,
[data-theme="light"] #admin-notifications .admin-notify-filter-bar{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#w-notifications .notify-filter-controls,
#admin-notifications .admin-notify-filter-bar .notify-filter-controls{
  display:flex;align-items:center;flex:1 1 280px;flex-wrap:wrap;gap:8px;min-width:0;
}
#w-notifications .notify-filter-seg{
  display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);flex-shrink:0;
}
[data-theme="light"] #w-notifications .notify-filter-seg{background:#F2F4F6;border-color:#E6E8EB;}
#w-notifications .notify-filter-seg-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--text2);
  font:inherit;font-size:12px;font-weight:600;padding:8px 12px;border-radius:10px;cursor:pointer;
  white-space:nowrap;transition:background .15s,color .15s;
}
#w-notifications .notify-filter-seg-btn:hover{color:var(--text);}
#w-notifications .notify-filter-seg-btn.active{
  background:color-mix(in srgb, var(--blue) 16%, transparent);color:var(--text);
}
[data-theme="light"] #w-notifications .notify-filter-seg-btn.active{background:#fff;color:#141218;box-shadow:0 1px 2px rgba(15,21,37,.06);}
#admin-notifications .admin-notify-filter-bar .notify-filter-field,
#admin-notifications .admin-notify-filter-bar .notify-filter-date,
#w-notifications .notify-filter-bar .notify-filter-date{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 140px;min-width:0;
  min-height:42px;padding:0 12px;border-radius:12px;
  background:var(--input-bg,var(--bg));border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-notifications .admin-notify-filter-bar .notify-filter-field,
[data-theme="light"] #admin-notifications .admin-notify-filter-bar .notify-filter-date,
[data-theme="light"] #w-notifications .notify-filter-bar .notify-filter-date{background:#fff;}
#admin-notifications .admin-notify-filter-bar .notify-filter-field > i.notify-filter-ico{
  display:inline-flex;width:16px;justify-content:center;color:var(--text2);font-size:13px;flex-shrink:0;
}
#admin-notifications .admin-notify-filter-bar .notify-filter-date > label,
#w-notifications .notify-filter-bar .notify-filter-date > label{display:none;}
#admin-notifications .admin-notify-filter-bar .notify-filter-field select{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0 18px 0 0;min-height:40px;
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 0 center;background-size:11px 11px;
}
#admin-notifications .admin-notify-filter-bar .notify-filter-date,
#w-notifications .notify-filter-bar .notify-filter-date{padding-right:10px;flex:1.2 1 160px;}
#admin-notifications .admin-notify-filter-bar .notify-filter-date .date-period-btn,
#w-notifications .notify-filter-bar .notify-filter-date .date-period-btn{
  flex:1;min-width:0;width:100%;justify-content:flex-start;gap:8px;
  border:0;background:transparent;padding:0;min-height:40px;box-shadow:none;margin:0;border-radius:0;
  font-size:13px;font-weight:500;color:var(--text);
}
#admin-notifications .admin-notify-filter-bar .notify-filter-date .date-period-popup,
#w-notifications .notify-filter-bar .notify-filter-date .date-period-popup{left:0;right:auto;min-width:280px;z-index:40;}
#admin-notifications .admin-notify-filter-bar .notify-filter-clear,
#w-notifications .notify-filter-clear{
  appearance:none;-webkit-appearance:none;width:42px;height:42px;border-radius:12px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;font-size:14px;
  transition:background .15s,color .15s,border-color .15s;
}
#w-notifications .notify-filter-clear{background:var(--bg);}
#w-notifications .notify-filter-date-row{
  display:flex;align-items:center;gap:8px;flex:1 1 100%;min-width:0;width:100%;
}
#w-notifications .notify-filter-date-row .notify-filter-date{flex:1 1 auto;min-width:0;}
#w-notifications .notify-filter-date-row .notify-filter-clear{margin-left:0;flex:0 0 42px;}
#admin-notifications .admin-notify-filter-bar .notify-filter-clear:hover,
#w-notifications .notify-filter-clear:hover{color:var(--text);background:rgba(255,255,255,.04);}
#admin-notifications .admin-notify-filter-bar .notify-filter-clear.is-active{
  color:var(--orange);border-color:color-mix(in srgb, var(--orange) 35%, transparent);
  background:color-mix(in srgb, var(--orange) 12%, transparent);
}
#w-notifications .notify-filter-clear.is-active{
  color:var(--blue);border-color:rgba(110,168,255,.4);background:rgba(110,168,255,.1);
}
[data-theme="light"] #admin-notifications .admin-notify-filter-bar .notify-filter-clear:hover,
[data-theme="light"] #w-notifications .notify-filter-clear:hover{background:#F2F4F6;color:#141218;}
#admin-notifications .admin-notify-filter-bar .notify-filter-tail{display:contents;}
@media(max-width:720px){
  #admin-notifications .admin-notify-filter-bar .notify-filter-controls{flex:1 1 100%;}
  #admin-notifications .admin-notify-filter-bar .notify-filter-field,
  #admin-notifications .admin-notify-filter-bar .notify-filter-date{flex:1 1 calc(50% - 4px);}
  #admin-notifications .admin-notify-filter-bar .notify-filter-tail{
    display:flex;align-items:center;flex:1 1 100%;gap:6px;min-width:0;flex-wrap:nowrap;
  }
  #admin-notifications .admin-notify-filter-bar .notify-filter-tail .notify-filter-field,
  #admin-notifications .admin-notify-filter-bar .notify-filter-tail .notify-filter-date{
    flex:1 1 0;min-width:0;padding:0 8px;gap:6px;
  }
  #admin-notifications .admin-notify-filter-bar .notify-filter-tail .notify-filter-date{padding-right:6px;}
  #admin-notifications .admin-notify-filter-bar .notify-filter-tail .notify-filter-field select,
  #admin-notifications .admin-notify-filter-bar .notify-filter-tail .notify-filter-date .date-period-btn{font-size:12px;}
  #admin-notifications .admin-notify-filter-bar .notify-filter-tail .notify-filter-clear{
    margin-left:0;flex:0 0 40px;width:40px;height:40px;
  }
}
@media(max-width:560px){
  #w-notifications .notify-filter-controls{flex-direction:column;align-items:stretch;flex:1 1 100%;gap:8px;}
  #w-notifications .notify-filter-seg{width:100%;overflow-x:auto;}
  #w-notifications .notify-filter-seg-btn{flex:1;text-align:center;padding:10px 8px;}
  #w-notifications .notify-filter-date-row{width:100%;}
  #w-notifications .notify-filter-date-row .notify-filter-clear{flex:0 0 40px;width:40px;height:40px;}
}

#w-notifications .worker-notify-list{display:flex;flex-direction:column;gap:12px;}
#w-notifications .worker-notify-card{
  position:relative;overflow:hidden;padding:16px 18px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
#w-notifications .worker-notify-card.unread{
  border-color:rgba(110,168,255,.32);
  box-shadow:0 0 0 1px rgba(110,168,255,.06);
}
#w-notifications .worker-notify-card.unread:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red);
}
@media (hover:hover) and (pointer:fine){
  #w-notifications .worker-notify-card:hover{border-color:rgba(110,168,255,.35);transform:translateY(-1px);}
}
#w-notifications .worker-notify-card-head{display:flex;align-items:flex-start;gap:12px;}
#w-notifications .worker-notify-avatar{
  width:40px;height:40px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:15px;
  background:rgba(110,168,255,.12);color:var(--blue);border:1px solid rgba(110,168,255,.2);
}
#w-notifications .worker-notify-avatar.unread{
  background:rgba(244,67,54,.12);color:var(--red);border-color:rgba(244,67,54,.25);
}
#w-notifications .worker-notify-card-main{flex:1;min-width:0;}
#w-notifications .worker-notify-card-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
}
#w-notifications .worker-notify-title{
  margin:0;font-size:15px;font-weight:650;color:var(--text);line-height:1.35;min-width:0;
}
#w-notifications .worker-notify-meta{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;
  font-size:12px;color:var(--text2);
}
#w-notifications .worker-notify-meta i{opacity:.85;margin-right:4px;}
#w-notifications .worker-notify-body{
  margin-top:12px;padding:12px 14px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);
  font-size:14px;line-height:1.6;color:var(--text);white-space:pre-wrap;
}
[data-theme="light"] #w-notifications .worker-notify-body{background:#F7F9FB;}
#w-notifications .worker-notify-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
#w-notifications .worker-notify-photos-toggle{margin-top:10px;}
#w-notifications .worker-notify-photos.is-collapsed{display:none;}
#w-notifications .worker-notify-photos{margin-top:10px;}
#w-notifications .worker-notify-show-more{
  width:100%;justify-content:center;gap:8px;border-radius:12px;min-height:40px;margin-top:4px;
}
#w-notifications .worker-notify-empty{
  text-align:center;padding:48px 22px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);
}
#w-notifications .worker-notify-empty .add-empty-title{margin:0 0 8px;font-size:16px;font-weight:650;color:var(--text);}
#w-notifications .worker-notify-empty .add-empty-sub{margin:0;font-size:13px;color:var(--text2);line-height:1.5;}
#w-notifications .stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
#w-notifications .stat-card{padding:16px;}
#admin-notifications .admin-notify-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
#admin-notifications .admin-notify-head .section-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;}
#admin-notifications .admin-notify-head .section-title i{font-size:18px;opacity:.85;}
#admin-notifications .an-ui-toggle{
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;min-height:38px;
  border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);
  font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s;
}
#admin-notifications .an-ui-toggle i{font-size:14px;opacity:.85;}
@media (hover:hover) and (pointer:fine){
#admin-notifications .an-ui-toggle:hover{border-color:var(--blue);color:var(--blue);}
}
[data-theme="light"] #admin-notifications .an-ui-toggle{background:#fff;box-shadow:0 1px 2px rgba(15,21,37,.04);}
#admin-notifications[data-notify-ui="classic"] .admin-notify-stats-classic-row{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;margin-bottom:16px;width:100%;
}
#admin-notifications[data-notify-ui="classic"] .admin-notify-classic-filters{
  grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px 18px;margin-bottom:16px;border-radius:16px;align-items:end;
}
#admin-notifications[data-notify-ui="classic"] .admin-notify-classic-filters .admin-notify-reset-full{
  grid-column:3 / 5;min-width:0;
}
#admin-notifications[data-notify-ui="classic"] .admin-notify-classic-filters .admin-notify-reset-full .reset-btn{
  width:100%;min-height:40px;justify-content:center;
}
#admin-notifications[data-notify-ui="classic"] .admin-notify-table-head{display:flex;}
#admin-notifications .admin-notify-top{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;align-items:stretch;width:100%;
}
#admin-notifications .admin-notify-stats{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin:0;width:100%;min-width:0;
}
#admin-notifications .admin-notify-stats .an-stat{
  min-width:0;max-width:none;width:100%;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:
    "icon eyebrow"
    "icon value"
    "icon label";
  column-gap:11px;row-gap:3px;align-items:center;
  padding:14px 15px;border-radius:14px;
  background:var(--card);border:1px solid var(--border);
  transition:transform .18s,box-shadow .18s;box-sizing:border-box;
}
@media (hover:hover) and (pointer:fine){
#admin-notifications .admin-notify-stats .an-stat:hover{transform:translateY(-2px);}
}
#admin-notifications .admin-notify-stats .an-stat-top{display:contents;}
#admin-notifications .admin-notify-stats .an-stat .sc-icon{
  grid-area:icon;width:40px;height:40px;border-radius:11px;margin:0;font-size:15px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:rgba(110,168,255,.12);color:#7EB6FF;align-self:center;
}
#admin-notifications .admin-notify-stats .an-stat.blue .sc-icon{background:rgba(110,168,255,.12);color:#7EB6FF;}
#admin-notifications .admin-notify-stats .an-stat.red .sc-icon{background:rgba(94,184,212,.12);color:#5EB8D4;}
#admin-notifications .admin-notify-stats .an-stat.green .sc-icon{background:rgba(61,191,106,.12);color:#5CC27A;}
#admin-notifications .admin-notify-stats .an-stat.orange .sc-icon{background:rgba(232,184,74,.14);color:#E8B84A;}
#admin-notifications .an-title-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:8px;margin-right:10px;vertical-align:middle;font-size:11px;
  background:rgba(110,168,255,.12);color:#7EB6FF;
}
#admin-notifications .admin-notify-stats .an-stat .sc-eyebrow{
  grid-area:eyebrow;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);line-height:1.2;text-align:left;
}
#admin-notifications .admin-notify-stats .an-stat .sc-value{
  grid-area:value;font-size:22px;font-weight:700;line-height:1.15;color:var(--text);margin:0;letter-spacing:-.02em;
}
#admin-notifications .admin-notify-stats .an-stat .sc-label{
  grid-area:label;font-size:12px;color:var(--text2);line-height:1.3;margin:0;
}
#admin-notifications .admin-notify-stats .an-stat.an-stat-dark{
  background:#1D2433;border-color:#1D2433;color:#fff;
}
#admin-notifications .admin-notify-stats .an-stat.an-stat-dark .sc-icon{background:rgba(255,255,255,.12);color:#fff;}
#admin-notifications .admin-notify-stats .an-stat.an-stat-dark .sc-eyebrow,
#admin-notifications .admin-notify-stats .an-stat.an-stat-dark .sc-label{color:rgba(255,255,255,.62);}
#admin-notifications .admin-notify-stats .an-stat.an-stat-dark .sc-value{color:#fff;}
#admin-notifications .admin-notify-stats .an-stat.an-stat-action{
  cursor:pointer;text-align:left;font:inherit;appearance:none;-webkit-appearance:none;
}
#admin-notifications .admin-notify-stats .an-stat.an-stat-action .an-stat-action-title{font-size:18px;}
@media (hover:hover) and (pointer:fine){
#admin-notifications .admin-notify-stats .an-stat.an-stat-action:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,21,37,.18);}
}
html:not([data-theme="light"]) #admin-notifications .admin-notify-stats .an-stat.an-stat-dark{
  background:#16162e;border-color:#2a2a4a;
}
#admin-notifications .admin-notify-side-filters{
  min-width:0;display:flex;flex-direction:column;gap:8px;justify-content:flex-start;
  padding:14px 16px;border-radius:16px;background:var(--card);border:1px solid var(--border);
  box-sizing:border-box;
}
#admin-notifications .admin-notify-filters-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end;
}
#admin-notifications .admin-notify-filters-grid .filter-group{
  display:flex;flex-direction:column;min-width:0;justify-content:flex-start;
}
#admin-notifications .admin-notify-filters-grid label{
  display:flex;align-items:center;gap:6px;margin-bottom:6px;
  font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text2);
}
#admin-notifications .admin-notify-filters-grid select,
#admin-notifications .admin-notify-filters-grid .date-period-btn{
  background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;
  padding:8px 12px;font-size:13px;outline:none;width:100%;min-height:40px;box-sizing:border-box;
}
#admin-notifications .admin-notify-filters-grid select{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:12px 12px;padding-right:34px;
}
#admin-notifications .admin-notify-filters-grid .filter-group.filter-action{
  align-self:end;
}
#admin-notifications .admin-notify-filters-grid .filter-group.filter-action label{
  visibility:hidden;min-height:1em;
}
#admin-notifications .admin-notify-filters-grid .filter-group.filter-action .reset-btn{
  min-height:40px;width:100%;justify-content:center;
}
[data-theme="light"] #admin-notifications .admin-notify-stats .an-stat{
  box-shadow:0 1px 2px rgba(15,21,37,.04);border-color:#E6E8EB;
}
[data-theme="light"] #admin-notifications .admin-notify-side-filters{
  box-shadow:0 1px 3px rgba(15,21,37,.04);border-color:#E6E8EB;
}
[data-theme="light"] #admin-notifications .admin-notify-filters-grid select,
[data-theme="light"] #admin-notifications .admin-notify-filters-grid .date-period-btn{
  background:#fff;
}
#admin-notifications .admin-notify-table-card{padding:0;overflow:hidden;border-radius:16px;margin-bottom:0;}
#admin-notifications .admin-notify-table-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 20px 14px;border-bottom:1px solid var(--border);
}
#admin-notifications .admin-notify-table-head h4{margin:0;font-size:15px;font-weight:700;color:var(--text);}
#admin-notifications .admin-notify-table-head p{margin:4px 0 0;font-size:12px;color:var(--text2);}
#admin-notifications .admin-notify-table-wrap{overflow-x:auto;}
#admin-notifications .admin-notify-table{width:100%;}
#admin-notifications .admin-notify-table th{white-space:nowrap;font-size:11px;font-weight:600;letter-spacing:.04em;padding-top:14px;padding-bottom:12px;}
#admin-notifications .admin-notify-table th:first-child,#admin-notifications .admin-notify-table td:first-child{padding-left:20px;}
#admin-notifications .admin-notify-table th:last-child,#admin-notifications .admin-notify-table td:last-child{padding-right:20px;}
#admin-notifications .admin-notify-table td{vertical-align:middle;padding-top:14px;padding-bottom:14px;}
#admin-notifications .admin-notify-table tbody tr:last-child td{border-bottom:none;}
#admin-notifications .an-col-title{font-weight:600;color:var(--text);}
#admin-notifications td.an-col-title{max-width:280px;}
#admin-notifications .admin-notification-item{cursor:pointer;}
#admin-notifications .admin-notification-item:hover td{background:rgba(255,255,255,.03);}
#admin-notifications .admin-notification-item:focus{outline:none;}
#admin-notifications .admin-notification-item:focus-visible td{background:rgba(110,168,255,.08);}
[data-theme="light"] #admin-notifications .admin-notification-item:hover td{background:rgba(15,21,37,.03);}
#admin-notifications .admin-notify-table-head p{margin:4px 0 0;font-size:12px;color:var(--text2);}
#admin-notifications .admin-notify-table-head .admin-notify-list-hint{
  margin:6px 0 0;font-size:12px;color:var(--text2);opacity:.9;
}
#admin-notifications .an-title-text{vertical-align:middle;}
#admin-notifications .an-col-to,#admin-notifications .an-col-sent{color:var(--text2);}
#admin-notifications .an-col-sent{white-space:nowrap;}
#admin-notifications .an-col-act,
#admin-notifications th.an-col-act,
#admin-notifications .an-act-btn,
#admin-notifications .an-act-label,
#admin-notifications tr.admin-notification-detail{display:none!important;}
#admin-notifications .admin-notify-empty-row td{padding:0;color:var(--text2);text-align:center;border:none!important;}
#admin-notifications .admin-notify-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  margin:0;padding:36px 20px;min-height:160px;box-sizing:border-box;
  border-radius:16px;border:1px solid var(--border);background:var(--card);
}
#admin-notifications .admin-notify-empty i{font-size:28px;opacity:.45;margin:0;color:var(--text2);}
#admin-notifications .admin-notify-empty strong{display:block;font-size:15px;font-weight:650;color:var(--text);line-height:1.35;}
#admin-notifications .admin-notify-empty span{font-size:13px;color:var(--text2);line-height:1.45;max-width:280px;}
[data-theme="light"] #admin-notifications .admin-notify-empty{
  background:#fff;border-color:#E6E8EB;box-shadow:0 1px 3px rgba(15,21,37,.04);
}
[data-theme="light"] #admin-notifications .admin-notify-stats .an-stat{
  box-shadow:0 1px 2px rgba(15,21,37,.04);border-color:#E6E8EB;
}
[data-theme="light"] #admin-notifications .admin-notify-stats .an-stat.an-stat-dark{
  box-shadow:0 6px 18px rgba(15,21,37,.12);border-color:#1D2433;
}
[data-theme="light"] #admin-notifications .admin-notify-table-card,
[data-theme="light"] #admin-notifications .admin-diary-filters.admin-quad-filters{
  box-shadow:0 1px 3px rgba(15,21,37,.04);border-color:#E6E8EB;
}
[data-theme="light"] #admin-notifications tr.admin-notification-detail td{background:#F3FAFC;}
[data-theme="light"] #admin-notifications .an-act-btn{border-color:#D8DADC;}
[data-theme="light"] #admin-notifications .an-title-icon{background:rgba(0,163,196,.1);color:#0B8FAD;}
[data-theme="light"] #admin-notifications .admin-notify-stats .an-stat.blue .sc-icon{background:rgba(0,163,196,.1);color:#0B8FAD;}
[data-theme="light"] #admin-notifications .admin-notify-stats .an-stat.red .sc-icon{background:rgba(0,163,196,.1);color:#0B8FAD;}
[data-theme="light"] #admin-notifications .admin-notify-stats .an-stat.green .sc-icon{background:rgba(46,158,90,.1);color:#2E9E5A;}
#adminNotifyDetailModal.modal-overlay{
  padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
  align-items:center;
  z-index:320;
}
#adminNotifyDetailModal .modal{
  width:min(680px,calc(100vw - 28px));
  max-width:680px;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  max-height:min(92vh,calc(100dvh - 24px));
  overflow:hidden;
}
#adminNotifyDetailModal .modal-header{padding:18px 24px 16px;}
#adminNotifyDetailModal .modal-header h3{font-size:19px;font-weight:700;}
#adminNotifyDetailModal .modal-head-ico{width:38px;height:38px;font-size:15px;}
#adminNotifyDetailModal .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:18px 24px 16px;
}
#adminNotifyDetailModal .modal-footer{padding:14px 24px 18px;}
#adminNotifyDetailModal .modal-footer .btn{font-size:15px;padding:11px 22px;}
#adminNotifyDetailModal .trip-detail-rows{gap:18px;}
#adminNotifyDetailModal .trip-detail-row{
  grid-template-columns:minmax(140px,32%) 1fr;
  gap:16px;
}
#adminNotifyDetailModal .trip-detail-label{
  font-size:13px;
  letter-spacing:.05em;
}
#adminNotifyDetailModal .trip-detail-val{
  font-size:16px;
  line-height:1.55;
}
#adminNotifyDetailModal .trip-detail-val .badge{font-size:13px;padding:5px 12px;}
#adminNotifyDetailModal #ndDetailMessage.notification-body{
  white-space:pre-wrap;
  word-break:break-word;
  line-height:1.55;
  max-width:100%;
  font-size:16px;
}
@media(max-width:560px){
  #adminNotifyDetailModal .trip-detail-row{grid-template-columns:1fr;gap:5px;}
  #adminNotifyDetailModal .trip-detail-label{font-size:12px;}
  #adminNotifyDetailModal .trip-detail-val,
  #adminNotifyDetailModal #ndDetailMessage.notification-body{font-size:15px;}
}
#toolDetailModal.modal-overlay{
  padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
  align-items:center;
  z-index:320;
}
#toolDetailModal .modal{
  width:min(640px,calc(100vw - 28px));
  max-width:640px;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  max-height:min(92vh,calc(100dvh - 24px));
  overflow:hidden;
}
#toolDetailModal .modal-header{padding:18px 24px 16px;}
#toolDetailModal .modal-header h3{font-size:19px;font-weight:700;}
#toolDetailModal .modal-head-ico{width:38px;height:38px;font-size:15px;}
#toolDetailModal .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:8px 24px 14px;
}
#toolDetailModal .modal-footer.td-detail-footer{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px 16px 14px;
  align-items:stretch;
}
#toolDetailModal .modal-footer.td-detail-footer .td-footer-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
}
#toolDetailModal .modal-footer.td-detail-footer .btn{
  width:100%;margin:0;min-width:0;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  font-size:13px;font-weight:600;padding:10px 8px;line-height:1.25;
  box-sizing:border-box;text-align:center;white-space:normal;
}
#toolDetailModal .modal-footer.td-detail-footer .btn i{font-size:12px;opacity:.9;flex-shrink:0;}
#toolDetailModal .modal-footer.td-detail-footer .btn span{
  min-width:0;overflow-wrap:anywhere;word-break:break-word;
}
#toolDetailModal .modal-footer.td-detail-footer .td-btn-close{width:100%;}
#toolDetailModal .modal-footer.td-detail-footer .td-btn-return{
  grid-column:1 / -1;
}
@media(min-width:561px){
  #toolDetailModal .modal-footer.td-detail-footer .td-footer-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #toolDetailModal .modal-footer.td-detail-footer.td-is-out .td-btn-return{
    grid-column:1 / -1;
  }
}
#toolDetailModal .trip-detail-rows.td-detail-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;
  background:var(--border);
}
[data-theme="light"] #toolDetailModal .trip-detail-rows.td-detail-grid{background:#E6E8EB;}
#toolDetailModal .td-detail-grid .trip-detail-row{
  display:flex;flex-direction:column;gap:3px;align-items:flex-start;
  margin:0;padding:10px 12px;min-width:0;
  background:var(--card);
  grid-template-columns:unset;
}
[data-theme="light"] #toolDetailModal .td-detail-grid .trip-detail-row{background:#fff;}
#toolDetailModal .td-detail-grid .trip-detail-row.td-full{
  grid-column:1 / -1;
  flex-direction:row;align-items:center;justify-content:space-between;gap:10px 14px;
}
#toolDetailModal .td-detail-grid .trip-detail-row.td-full .trip-detail-label{flex:0 0 auto;max-width:42%;}
#toolDetailModal .td-detail-grid .trip-detail-row.td-full .trip-detail-val{flex:1;min-width:0;text-align:right;}
#toolDetailModal .td-detail-grid .trip-detail-row.td-qr-img{
  flex-direction:column;align-items:flex-start;
}
#toolDetailModal .td-detail-grid .trip-detail-row.td-qr-img .trip-detail-val{text-align:left;width:100%;}
#toolDetailModal .td-detail-grid .trip-detail-label{
  font-size:10px;font-weight:700;letter-spacing:.05em;padding:0;line-height:1.2;color:var(--text2);
}
#toolDetailModal .td-detail-grid .trip-detail-val{
  font-size:13px;font-weight:650;color:var(--text);line-height:1.35;word-break:break-word;
}
#toolDetailModal .td-detail-grid .trip-detail-val .badge,
#toolDetailModal .td-detail-grid .trip-detail-val .tool-status-free,
#toolDetailModal .td-detail-grid .trip-detail-val .tool-status-out{
  font-size:12px;padding:3px 8px;
}
#toolDetailModal .trip-detail-val code{
  font-size:12px;font-weight:650;padding:3px 8px;border-radius:8px;
  background:rgba(255,255,255,.06);border:1px solid var(--border);
}
[data-theme="light"] #toolDetailModal .trip-detail-val code{background:#F3F4F6;border-color:#E5E7EB;}
#toolDetailModal .td-qr-wrap{
  margin-top:2px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;
}
#toolDetailModal .td-qr-wrap img{
  width:min(148px,46vw);height:auto;border-radius:10px;background:#fff;padding:8px;
  border:1px solid var(--border);
}
@media(max-width:560px){
  #toolDetailModal .modal-header{padding:14px 16px 12px;}
  #toolDetailModal .modal-header h3{font-size:17px;}
  #toolDetailModal .modal-body{padding:6px 12px 10px;}
  #toolDetailModal .td-detail-grid .trip-detail-row{padding:9px 10px;}
  #toolDetailModal .td-detail-grid .trip-detail-row.td-full{
    flex-direction:column;align-items:flex-start;gap:3px;
  }
  #toolDetailModal .td-detail-grid .trip-detail-row.td-full .trip-detail-label{max-width:none;}
  #toolDetailModal .td-detail-grid .trip-detail-row.td-full .trip-detail-val{text-align:left;}
  #toolDetailModal .modal-footer.td-detail-footer{
    padding:10px 12px 12px;gap:8px;
  }
  #toolDetailModal .modal-footer.td-detail-footer .td-footer-actions{
    grid-template-columns:1fr 1fr;
  }
  #toolDetailModal .modal-footer.td-detail-footer .btn{padding:11px 8px;font-size:12px;}
}
#admin-tools .tools-list-table tbody tr.tools-list-row-clickable{cursor:pointer;}
#admin-tools .tools-list-table tbody tr.tools-list-row-clickable:hover td{background:rgba(255,255,255,.03);}
[data-theme="light"] #admin-tools .tools-list-table tbody tr.tools-list-row-clickable:hover td{background:#F7F9FB;}
#adminNotifyModal.modal-overlay{
  padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
  align-items:center;
}
#adminNotifyModal .modal{
  width:min(720px,calc(100vw - 32px));
  max-width:720px;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  max-height:min(92vh,calc(100dvh - 24px));
  overflow:hidden;
}
#adminNotifyModal .modal-header{flex:0 0 auto;padding:16px 22px 14px;}
#adminNotifyModal .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:16px 22px 14px;
}
#adminNotifyModal .modal-footer{
  flex:0 0 auto;
  padding:14px 22px max(16px,env(safe-area-inset-bottom,0px));
  gap:10px;
  background:var(--card);
}
#adminNotifyModal .form-group{margin-bottom:12px;}
#adminNotifyModal .form-group label{font-size:12px;font-weight:600;color:var(--text2);margin-bottom:5px;letter-spacing:.01em;}
#adminNotifyModal .form-group input,
#adminNotifyModal .form-group select,
#adminNotifyModal .form-group textarea{
  border-radius:10px;font-size:14px;padding:10px 12px;
}
#adminNotifyModal .form-group textarea{min-height:140px;max-height:280px;resize:vertical;line-height:1.45;}
#adminNotifyModal .an-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:640px){#adminNotifyModal .an-modal-row{grid-template-columns:1fr;}}
#adminNotifyModal .an-attach-zone{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:18px 12px;margin-top:2px;border:1.5px dashed var(--border);border-radius:12px;
  background:rgba(255,255,255,.02);cursor:pointer;transition:border-color .15s,background .15s;text-align:center;
}
#adminNotifyModal .an-attach-zone:hover,
#adminNotifyModal .an-attach-zone.dragover{border-color:var(--primary);background:rgba(110,168,255,.06);}
#adminNotifyModal .an-attach-zone i{font-size:16px;color:var(--primary);opacity:.9;}
#adminNotifyModal .an-attach-zone strong{font-size:13px;font-weight:600;color:var(--text);}
#adminNotifyModal .an-attach-zone span{font-size:11px;color:var(--text2);}
#adminNotifyModal .an-attach-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
#adminNotifyModal .an-attach-preview .photo-thumb{position:relative;width:56px;height:56px;}
#adminNotifyModal .an-attach-preview .photo-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid var(--border);}
#adminNotifyModal .an-attach-preview .photo-thumb .an-file-chip{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  border-radius:8px;border:1px solid var(--border);background:var(--bg);padding:6px;text-align:center;
}
#adminNotifyModal .an-attach-preview .photo-thumb .an-file-chip i{font-size:16px;color:var(--red);}
#adminNotifyModal .an-attach-preview .photo-thumb .an-file-chip em{
  font-style:normal;font-size:9px;line-height:1.2;color:var(--text2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#adminNotifyModal .an-attach-preview .remove-photo{
  position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:var(--danger);color:#fff;
  border:none;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
#adminNotifyModal .modal-footer .btn{border-radius:10px;padding:10px 16px;font-weight:600;}
#adminNotifyModal .modal-footer .btn-brand{min-width:120px;}
.an-attach-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.an-attach-list .an-attach-img{display:block;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--border);cursor:pointer;}
.an-attach-list .an-attach-img img{width:100%;height:100%;object-fit:cover;}
.an-attach-list .an-attach-file{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;
  border:1px solid var(--border);background:var(--bg);color:var(--text);text-decoration:none;font-size:13px;font-weight:500;
}
.an-attach-list .an-attach-file i{color:var(--red);}
#admin-make,
#admin-settings #settingsMakeMount{padding-bottom:8px;}
#admin-make .make-simple,
#admin-settings #settingsMakeMount .make-simple{
  max-width:none;width:100%;
}
#admin-make .make-simple-card,
#admin-settings #settingsMakeMount .make-simple-card{
  border-radius:16px;border:1px solid var(--border);background:var(--card);
  padding:22px 24px;margin:0;width:100%;box-sizing:border-box;
}
#admin-make .make-simple-grid,
#admin-settings #settingsMakeMount .make-simple-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;
}
@media(max-width:900px){
  #admin-make .make-simple-grid,
  #admin-settings #settingsMakeMount .make-simple-grid{grid-template-columns:1fr;gap:20px;}
}
#admin-make .make-simple-col,
#admin-settings #settingsMakeMount .make-simple-col{min-width:0;}
#admin-make .make-simple-col-left,
#admin-settings #settingsMakeMount .make-simple-col-left{
  display:flex;flex-direction:column;height:100%;
}
#admin-make .make-simple-col-right,
#admin-settings #settingsMakeMount .make-simple-col-right{
  display:flex;flex-direction:column;height:100%;
  padding-left:28px;border-left:1px solid var(--border);
}
@media(max-width:900px){
  #admin-make .make-simple-col-right,
  #admin-settings #settingsMakeMount .make-simple-col-right{
    padding-left:0;border-left:none;padding-top:4px;border-top:1px solid var(--border);
  }
}
#admin-make .make-simple-col-right .make-events-simple,
#admin-settings #settingsMakeMount .make-simple-col-right .make-events-simple{
  flex:1;margin-bottom:0;
}
#admin-make .make-simple-col-left .make-simple-actions,
#admin-settings #settingsMakeMount .make-simple-col-left .make-simple-actions{
  margin-top:auto;padding-top:18px;justify-content:flex-end;
}
#admin-make .make-simple-col-left .form-group input,
#admin-settings #settingsMakeMount .make-simple-col-left .form-group input{
  font-size:15px;padding:13px 14px;min-height:48px;border-radius:12px;box-sizing:border-box;
}
#admin-make .make-webhook-target,
#admin-settings #settingsMakeMount .make-webhook-target{
  margin:0 0 16px;padding:12px 14px;border-radius:12px;
  background:rgba(110,168,255,.07);border:1px solid rgba(110,168,255,.22);
}
#admin-make .make-webhook-target-label,
#admin-settings #settingsMakeMount .make-webhook-target-label{
  display:block;font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;
  letter-spacing:.04em;margin-bottom:6px;
}
#admin-make .make-webhook-target a,
#admin-settings #settingsMakeMount .make-webhook-target a{
  display:block;font-size:13px;font-weight:600;color:var(--blue,#6ea8ff);line-height:1.4;
  word-break:break-all;text-decoration:none;
}
#admin-make .make-webhook-target a:hover,
#admin-settings #settingsMakeMount .make-webhook-target a:hover{text-decoration:underline;}
#admin-make .make-webhook-target.is-empty a,
#admin-settings #settingsMakeMount .make-webhook-target.is-empty a{
  color:var(--text2);font-weight:500;pointer-events:none;text-decoration:none;
}
[data-theme="light"] #admin-make .make-simple-card,
[data-theme="light"] #admin-settings #settingsMakeMount .make-simple-card{
  background:#fff;border-color:#e8eaed;box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#admin-make .make-simple-head,
#admin-settings #settingsMakeMount .make-simple-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap;
}
#admin-make .make-simple-head h3,
#admin-settings #settingsMakeMount .make-simple-head h3{
  margin:0;font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.02em;
  display:flex;align-items:center;gap:10px;
}
#admin-make .make-simple-head h3 i,
#admin-settings #settingsMakeMount .make-simple-head h3 i{color:var(--blue,#6ea8ff);opacity:.9;}
#admin-make .make-simple-status,
#admin-settings #settingsMakeMount .make-simple-status{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;
  padding:5px 10px;border-radius:999px;background:rgba(148,163,184,.15);color:var(--text2);
}
#admin-make .make-simple-status.is-on,
#admin-settings #settingsMakeMount .make-simple-status.is-on{
  background:rgba(34,197,94,.14);color:#4ade80;
}
[data-theme="light"] #admin-make .make-simple-status.is-on,
[data-theme="light"] #admin-settings #settingsMakeMount .make-simple-status.is-on{
  background:rgba(22,163,74,.12);color:#15803d;
}
#admin-make .make-simple-hint,
#admin-settings #settingsMakeMount .make-simple-hint{
  margin:0 0 18px;font-size:13px;color:var(--text2);line-height:1.45;
}
#admin-make .make-simple-hint a,
#admin-settings #settingsMakeMount .make-simple-hint a{
  color:var(--blue,#6ea8ff);font-weight:600;text-decoration:none;
}
#admin-make .make-simple-hint a:hover,
#admin-settings #settingsMakeMount .make-simple-hint a:hover{text-decoration:underline;}
#admin-make .make-toggle-row,
#admin-settings #settingsMakeMount .make-toggle-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--border);
  margin-bottom:16px;cursor:pointer;
}
[data-theme="light"] #admin-make .make-toggle-row,
[data-theme="light"] #admin-settings #settingsMakeMount .make-toggle-row{
  background:#f7f9fb;border-color:#e5e7eb;
}
#admin-make .make-toggle-row.is-on,
#admin-settings #settingsMakeMount .make-toggle-row.is-on{
  border-color:rgba(110,168,255,.4);background:rgba(110,168,255,.08);
}
#admin-make .make-toggle-label,
#admin-settings #settingsMakeMount .make-toggle-label{flex:1;min-width:0;}
#admin-make .make-toggle-label strong,
#admin-settings #settingsMakeMount .make-toggle-label strong{
  display:block;font-size:14px;font-weight:650;color:var(--text);line-height:1.3;
}
#admin-make .make-toggle-label small,
#admin-settings #settingsMakeMount .make-toggle-label small{
  display:block;font-size:12px;color:var(--text2);margin-top:3px;line-height:1.35;
}
#admin-make .make-switch,
#admin-settings #settingsMakeMount .make-switch{position:relative;width:46px;height:28px;flex-shrink:0;}
#admin-make .make-switch input,
#admin-settings #settingsMakeMount .make-switch input{opacity:0;width:0;height:0;position:absolute;}
#admin-make .make-switch-slider,
#admin-settings #settingsMakeMount .make-switch-slider{
  position:absolute;inset:0;border-radius:999px;background:rgba(148,163,184,.35);cursor:pointer;transition:background .15s;
}
#admin-make .make-switch-slider::before,
#admin-settings #settingsMakeMount .make-switch-slider::before{
  content:'';position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;
  transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.22);
}
#admin-make .make-switch input:checked + .make-switch-slider,
#admin-settings #settingsMakeMount .make-switch input:checked + .make-switch-slider{background:var(--blue,#6ea8ff);}
#admin-make .make-switch input:checked + .make-switch-slider::before,
#admin-settings #settingsMakeMount .make-switch input:checked + .make-switch-slider::before{transform:translateX(18px);}
#admin-make .make-switch input:disabled + .make-switch-slider,
#admin-settings #settingsMakeMount .make-switch input:disabled + .make-switch-slider{opacity:.55;cursor:not-allowed;}
#admin-make .make-simple-card .form-group,
#admin-settings #settingsMakeMount .make-simple-card .form-group{margin-bottom:14px;}
#admin-make .make-field-hint,
#admin-settings #settingsMakeMount .make-field-hint{font-size:11px;color:var(--text2);margin-top:5px;}
#admin-make .make-env-note,
#admin-settings #settingsMakeMount .make-env-note{
  margin:0 0 14px;padding:12px 14px;font-size:13px;line-height:1.45;border-radius:12px;
  background:rgba(255,193,7,.08);border:1px solid rgba(255,193,7,.25);
  display:flex;align-items:flex-start;gap:10px;color:var(--text2);
}
#admin-make .make-env-note i,
#admin-settings #settingsMakeMount .make-env-note i{color:var(--orange);margin-top:2px;flex-shrink:0;}
#admin-make .make-events-simple,
#admin-settings #settingsMakeMount .make-events-simple{
  display:flex;flex-direction:column;gap:10px;margin:0 0 16px;flex:1;
}
#admin-make .make-ev-group,
#admin-settings #settingsMakeMount .make-ev-group{
  border:1px solid var(--border);border-radius:14px;overflow:hidden;
  background:rgba(255,255,255,.025);
  border-left:3px solid var(--make-ev-accent, var(--blue,#6ea8ff));
}
[data-theme="light"] #admin-make .make-ev-group,
[data-theme="light"] #admin-settings #settingsMakeMount .make-ev-group{
  background:#fbfcfe;border-color:#e8eaed;
}
#admin-make .make-ev-group[data-group="hours"],
#admin-settings #settingsMakeMount .make-ev-group[data-group="hours"]{--make-ev-accent:#6ea8ff;}
#admin-make .make-ev-group[data-group="trips"],
#admin-settings #settingsMakeMount .make-ev-group[data-group="trips"]{--make-ev-accent:#34d399;}
#admin-make .make-ev-group[data-group="tools"],
#admin-settings #settingsMakeMount .make-ev-group[data-group="tools"]{--make-ev-accent:#fbbf24;}
#admin-make .make-ev-group[data-group="instruments"],
#admin-settings #settingsMakeMount .make-ev-group[data-group="instruments"]{--make-ev-accent:#a78bfa;}
#admin-make .make-ev-group-head,
#admin-settings #settingsMakeMount .make-ev-group-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px 10px 12px;border-bottom:1px solid rgba(148,163,184,.12);
  background:rgba(255,255,255,.02);cursor:pointer;user-select:none;
  transition:background .12s;
}
#admin-make .make-ev-group-head:hover,
#admin-settings #settingsMakeMount .make-ev-group-head:hover{
  background:rgba(110,168,255,.06);
}
[data-theme="light"] #admin-make .make-ev-group-head,
[data-theme="light"] #admin-settings #settingsMakeMount .make-ev-group-head{
  background:#fff;border-bottom-color:#eef0f3;
}
#admin-make .make-ev-group-title,
#admin-settings #settingsMakeMount .make-ev-group-title{
  display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--text);margin:0;
}
#admin-make .make-ev-group-title i,
#admin-settings #settingsMakeMount .make-ev-group-title i{
  width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-size:11px;background:color-mix(in srgb, var(--make-ev-accent, #6ea8ff) 18%, transparent);
  color:var(--make-ev-accent, var(--blue,#6ea8ff));
}
#admin-make .make-ev-group-count,
#admin-settings #settingsMakeMount .make-ev-group-count{
  font-size:11px;font-weight:700;color:var(--text2);padding:3px 8px;border-radius:999px;
  background:rgba(148,163,184,.12);font-variant-numeric:tabular-nums;
}
#admin-make .make-ev-group.is-full .make-ev-group-count,
#admin-settings #settingsMakeMount .make-ev-group.is-full .make-ev-group-count{
  background:color-mix(in srgb, var(--make-ev-accent, #6ea8ff) 18%, transparent);
  color:var(--make-ev-accent, var(--blue,#6ea8ff));
}
#admin-make .make-ev-group-body,
#admin-settings #settingsMakeMount .make-ev-group-body{
  display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px 12px;
}
#admin-make .make-ev-row,
#admin-settings #settingsMakeMount .make-ev-row{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 9px;cursor:pointer;
  border:1px solid var(--border);border-radius:999px;user-select:none;
  margin:0;font-size:12.5px;color:var(--text2);font-weight:550;
  background:rgba(255,255,255,.02);transition:background .12s,border-color .12s,color .12s;
}
[data-theme="light"] #admin-make .make-ev-row,
[data-theme="light"] #admin-settings #settingsMakeMount .make-ev-row{
  background:#fff;border-color:#e5e7eb;
}
#admin-make .make-ev-row:hover,
#admin-settings #settingsMakeMount .make-ev-row:hover{
  border-color:color-mix(in srgb, var(--make-ev-accent, #6ea8ff) 45%, var(--border));
  color:var(--text);background:color-mix(in srgb, var(--make-ev-accent, #6ea8ff) 8%, transparent);
}
#admin-make .make-ev-row input,
#admin-settings #settingsMakeMount .make-ev-row input{
  appearance:none;width:16px;height:16px;border-radius:5px;flex-shrink:0;margin:0;
  border:1.5px solid rgba(148,163,184,.45);background:transparent;cursor:pointer;
  display:grid;place-content:center;transition:border-color .12s,background .12s;
}
#admin-make .make-ev-row input::before,
#admin-settings #settingsMakeMount .make-ev-row input::before{
  content:"";width:9px;height:9px;transform:scale(0);transition:transform .12s;
  box-shadow:inset 1em 1em #fff;
  clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);
}
#admin-make .make-ev-row input:checked,
#admin-settings #settingsMakeMount .make-ev-row input:checked{
  background:var(--make-ev-accent, var(--blue,#6ea8ff));
  border-color:var(--make-ev-accent, var(--blue,#6ea8ff));
}
#admin-make .make-ev-row input:checked::before,
#admin-settings #settingsMakeMount .make-ev-row input:checked::before{transform:scale(1);}
#admin-make .make-ev-row:has(input:checked),
#admin-settings #settingsMakeMount .make-ev-row:has(input:checked){
  color:var(--text);font-weight:650;
  border-color:color-mix(in srgb, var(--make-ev-accent, #6ea8ff) 55%, transparent);
  background:color-mix(in srgb, var(--make-ev-accent, #6ea8ff) 12%, transparent);
}
#admin-make .make-ev-row input:disabled,
#admin-settings #settingsMakeMount .make-ev-row input:disabled{opacity:.5;cursor:not-allowed;}
#admin-make .make-simple-actions,
#admin-settings #settingsMakeMount .make-simple-actions{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;margin-top:auto;
  padding-top:4px;
}
#admin-make .make-events-head,
#admin-settings #settingsMakeMount .make-events-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px;
}
#admin-make .make-events-head-main,
#admin-settings #settingsMakeMount .make-events-head-main{min-width:0;}
#admin-make .make-events-head label,
#admin-settings #settingsMakeMount .make-events-head label{
  margin:0;font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.02em;display:block;
}
#admin-make .make-events-head small,
#admin-settings #settingsMakeMount .make-events-head small{
  display:block;margin-top:3px;font-size:12px;color:var(--text2);line-height:1.35;
}
#admin-make .make-events-all,
#admin-settings #settingsMakeMount .make-events-all{
  appearance:none;border:1px solid var(--border);background:rgba(255,255,255,.03);
  color:var(--text2);font-size:12px;font-weight:650;cursor:pointer;
  padding:6px 10px;border-radius:8px;white-space:nowrap;transition:border-color .12s,color .12s,background .12s;
}
#admin-make .make-events-all:hover,
#admin-settings #settingsMakeMount .make-events-all:hover{
  color:var(--blue,#6ea8ff);border-color:rgba(110,168,255,.45);background:rgba(110,168,255,.08);
}

#admin-make .make-test-result,
#admin-settings #settingsMakeMount .make-test-result{
  margin-top:14px;padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.45;
  display:flex;align-items:flex-start;gap:10px;
}
#admin-make .make-test-result.ok,
#admin-settings #settingsMakeMount .make-test-result.ok{
  background:rgba(0,200,83,.1);color:var(--green);border:1px solid rgba(0,200,83,.22);
}
#admin-make .make-test-result.err,
#admin-settings #settingsMakeMount .make-test-result.err{
  background:rgba(110,168,255,.08);color:var(--red);border:1px solid rgba(110,168,255,.2);
}

.worker-stakes-page{max-width:1080px;}
.worker-stakes-head{margin:0 0 16px;}
.worker-stakes-head .section-title{margin:0;font-size:22px;font-weight:750;letter-spacing:-.02em;}
.worker-stakes-head .section-title i{font-size:18px;opacity:.85;margin-right:2px;}
.worker-stakes-intro{margin:8px 0 0;font-size:13px;color:var(--text2);line-height:1.45;}
.worker-stakes-kpi{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px;
}
@media(max-width:420px){.worker-stakes-kpi{grid-template-columns:1fr;}}
.worker-stakes-kpi .ws-kpi{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;
  background:var(--card);border:1px solid var(--border);min-width:0;
}
.worker-stakes-kpi .ws-kpi-ico{
  width:38px;height:38px;border-radius:11px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:14px;
  background:rgba(110,168,255,.14);color:var(--primary,#6ea8ff);
}
.worker-stakes-kpi .ws-kpi.is-green .ws-kpi-ico{background:rgba(46,158,90,.12);color:var(--green);}
.worker-stakes-kpi .ws-kpi.is-yellow .ws-kpi-ico{background:rgba(224,130,0,.14);color:var(--orange);}
.worker-stakes-kpi .ws-kpi-val{font-size:20px;font-weight:750;letter-spacing:-.03em;color:var(--text);line-height:1.1;}
.worker-stakes-kpi .ws-kpi-lab{font-size:11px;color:var(--text2);margin-top:2px;}
.worker-stakes-toolbar{margin:0 0 14px;}
.worker-stakes-search{
  display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:12px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
.worker-stakes-search i{color:var(--text2);font-size:13px;flex-shrink:0;}
.worker-stakes-search input{
  flex:1;min-width:0;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:14px;font-weight:500;outline:none;padding:0;min-height:42px;
}
.worker-stakes-layout{display:flex;flex-direction:column;gap:14px;}
@media(max-width:900px){
  .worker-stake-detail-panel{order:-1;}
}
.worker-stakes-list{
  display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;
}
.worker-stake-row{
  appearance:none;width:100%;display:flex;align-items:center;gap:12px;text-align:left;
  padding:12px 14px;border-radius:14px;cursor:pointer;font:inherit;color:inherit;
  background:var(--card);border:1px solid var(--border);
  transition:border-color .15s,background .15s,transform .15s;
}
@media(hover:hover) and (pointer:fine){
  .worker-stake-row:hover{border-color:rgba(110,168,255,.35);transform:translateY(-1px);}
}
.worker-stake-row.is-active{
  border-color:rgba(110,168,255,.45);
  background:linear-gradient(135deg,rgba(110,168,255,.12),rgba(110,168,255,.04));
  box-shadow:inset 3px 0 0 var(--primary,#6ea8ff);
}
.worker-stake-row-ico{
  width:42px;height:42px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(110,168,255,.12);color:var(--primary,#6ea8ff);font-size:16px;
}
.worker-stake-row-main{flex:1;min-width:0;}
.worker-stake-row-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 3px;}
.worker-stake-row-name{font-size:15px;font-weight:700;color:var(--text);line-height:1.25;margin:0;}
.worker-stake-mine-pill{
  font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;
  padding:3px 8px;border-radius:999px;background:rgba(110,168,255,.16);color:var(--primary,#6ea8ff);
}
.worker-stake-row-addr{
  margin:0;font-size:12px;color:var(--text2);line-height:1.4;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.worker-stake-row-addr i{margin-right:4px;opacity:.8;}
.worker-stake-row-side{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.worker-stake-row-chevron{color:var(--text2);font-size:11px;opacity:.7;}
.worker-stake-detail-panel{
  background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px 18px 16px;
  min-height:180px;box-sizing:border-box;
}
.worker-stake-detail-empty{
  height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:8px;color:var(--text2);padding:24px 12px;
}
.worker-stake-detail-empty i{font-size:28px;opacity:.55;}
.worker-stake-detail-empty strong{font-size:15px;font-weight:700;color:var(--text);}
.worker-stake-detail-empty span{font-size:13px;line-height:1.45;max-width:280px;}
.worker-stake-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px;}
.worker-stake-detail-title{margin:0 0 6px;font-size:20px;font-weight:750;letter-spacing:-.02em;color:var(--text);line-height:1.25;}
.worker-stake-detail-addr{margin:0;font-size:13px;color:var(--text2);line-height:1.45;}
.worker-stake-detail-addr i{margin-right:5px;opacity:.8;}
.worker-stake-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;}
.worker-stake-chip{
  display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  font-size:12px;font-weight:600;color:var(--text2);
}
[data-theme="light"] .worker-stake-chip{background:#F5F7F9;}
.worker-stake-chip i{opacity:.85;}
.worker-stake-detail-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.worker-stake-block{
  padding:14px 14px 12px;border-radius:12px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
}
[data-theme="light"] .worker-stake-block{background:#F8FAFC;border-color:#E8EAED;}
.worker-stake-block-lab{
  margin:0 0 8px;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);
  display:flex;align-items:center;gap:7px;
}
.worker-stake-block-lab i{opacity:.8;}
.worker-stake-block-val{margin:0;font-size:14px;line-height:1.55;color:var(--text);word-break:break-word;}
.worker-stake-block-val.is-empty{color:var(--text2);font-style:italic;}
.worker-stake-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.worker-stake-detail-actions .btn{
  min-height:40px;border-radius:12px;padding:0 14px;font-weight:650;
  display:inline-flex;align-items:center;gap:8px;
}
#w-stakes .worker-stakes-empty{
  text-align:center;padding:48px 20px;border-radius:16px;border:1px dashed var(--border);
  background:var(--card);color:var(--text2);
}
#w-stakes .worker-stakes-empty i{font-size:36px;opacity:.45;margin-bottom:12px;display:block;}
#w-stakes .worker-stakes-empty p{margin:0;font-size:15px;font-weight:600;color:var(--text);}
#w-stakes .worker-stakes-empty span{display:block;margin-top:6px;font-size:13px;line-height:1.45;}
.notification-send-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.notification-send-actions{display:flex;justify-content:center;margin-top:6px;}

/* TWO COL */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:800px){.two-col{grid-template-columns:1fr;}}

/* SITE WORKERS */
.site-worker-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg);border:1px solid var(--border);border-radius:20px;font-size:12px;color:var(--text);margin:3px;}

/* MOBILE CARDS (workers & hours) */
.mobile-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:all .2s;}
@media (hover:hover) and (pointer:fine){
.mobile-card:hover{border-color:rgba(110,168,255,.3);}
}
.mobile-card .mc-header{display:flex;align-items:center;gap:10px;}
.mobile-card .mc-num{width:26px;height:26px;border-radius:50%;background:rgba(110,168,255,.12);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.mobile-card .mc-main{flex:1;min-width:0;}
.mobile-card .mc-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mobile-card .mc-sub{font-size:11px;color:var(--text2);margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.mobile-card .mc-right{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.mobile-card .mc-chevron{color:var(--text2);font-size:10px;transition:transform .2s;}
.mobile-card.open .mc-chevron{transform:rotate(180deg);}
.mobile-card .mc-detail{display:none;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);}
.mobile-card.open .mc-detail{display:block;}
.mc-detail-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12px;color:var(--text);}
.mc-detail-row i{width:16px;text-align:center;color:var(--text2);font-size:12px;}
.mc-detail-row .mc-label{color:var(--text2);min-width:60px;}
.mc-detail-actions{display:flex;gap:8px;margin-top:10px;}
.worker-hours-list{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.worker-hours-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;}
.worker-hours-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.worker-hours-item-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;}
.worker-hours-item-meta{font-size:12px;color:var(--text2);display:flex;flex-wrap:wrap;gap:10px;}
.worker-hours-item-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;}
.worker-hours-stats.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.worker-hours-stats .stat-card{padding:16px 14px;margin:0;}
.worker-hours-stats .stat-card .sc-icon{width:36px;height:36px;font-size:16px;margin-bottom:10px;}
.worker-hours-stats .stat-card .sc-value{font-size:24px;}
.worker-hours-stats .stat-card .sc-label{font-size:12px;line-height:1.35;}
.worker-hours-page{max-width:960px;margin:0 auto;}
.worker-hours-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.worker-hours-head .section-title{margin:0;}
.worker-hours-head-note{font-size:13px;color:var(--text2);line-height:1.4;max-width:360px;}
.worker-hours-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.worker-hours-kpi{
  padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--card);
  display:flex;align-items:center;gap:12px;
}
.worker-hours-kpi .ico{
  width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;
}
.worker-hours-kpi.is-week .ico{background:rgba(110,168,255,.16);color:var(--blue,#6ea8ff);}
.worker-hours-kpi.is-ok .ico{background:rgba(103,223,173,.14);color:var(--green,#67dfad);}
.worker-hours-kpi.is-wait .ico{background:rgba(224,130,0,.14);color:var(--orange,#e08200);}
.worker-hours-kpi .val{font-size:22px;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1;}
.worker-hours-kpi .lbl{font-size:11px;color:var(--text2);margin-top:3px;line-height:1.3;}
.worker-hours-toolbar{
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;
  padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--card);
}
.worker-hours-toolbar .admin-diary-filters,
.worker-hours-toolbar .worker-date-strip{margin:0;padding:0;border:0;background:transparent;box-shadow:none;display:contents;}
.worker-hours-list{display:flex;flex-direction:column;gap:10px;}
.worker-hours-row{
  display:grid;grid-template-columns:88px 1fr auto;gap:12px 16px;align-items:center;
  padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--card);
}
.worker-hours-row-date{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);}
.worker-hours-row-site{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px;}
.worker-hours-row-meta{font-size:12px;color:var(--text2);display:flex;flex-wrap:wrap;gap:8px 12px;}
.worker-hours-row-meta i{opacity:.75;margin-right:4px;}
.worker-hours-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.worker-hours-row-side .badge{font-size:11px;}
.worker-hours-row-hours{font-size:18px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.worker-hours-empty-card{
  padding:36px 20px;text-align:center;color:var(--text2);border:1px dashed var(--border);border-radius:14px;background:rgba(255,255,255,.02);
}
.worker-hours-empty-card i{font-size:28px;margin-bottom:10px;opacity:.55;display:block;}
@media(max-width:640px){
  .worker-hours-kpis{grid-template-columns:1fr;}
  .worker-hours-row{grid-template-columns:1fr;gap:10px;}
  .worker-hours-row-side{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;width:100%;}
}
/* Prefer card list over old table on worker hours */
#w-hours .worker-hours-table-card{display:none;}
/* Never show diary under other tabs (display:grid must not beat .tab-content) */
#w-diary.tab-content:not(.active){display:none!important;}
@media(min-width:901px){
  body[data-role="worker"] #w-hours{max-width:960px;}
  body[data-role="worker"] #w-hours .worker-hours-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}
  body[data-role="worker"] #w-hours .worker-hours-row:hover{border-color:rgba(110,168,255,.35);}
}

/* RESPONSIVE - TABLET */
@media(max-width:900px){
  .content-area{padding:16px;}
  body[data-role="admin"] #roleAdmin .content-area{
    padding-bottom:calc(var(--admin-mobile-pad-bottom) + var(--admin-mobile-scroll-extra))!important;
    scroll-padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 120px);
  }
  /* .content-area shorthand вище затирає padding-bottom з .builder-main — відновлюємо запас над нижнім баром */
  body[data-role="worker"] #roleWorker .content-area.builder-main{
    padding-bottom:calc(var(--worker-nav-total-height) + var(--worker-scroll-extra))!important;
  }
  body[data-role="worker"].worker-w-tools-active #roleWorker .content-area.builder-main{
    padding-bottom:calc(var(--worker-nav-total-height) + var(--tools-scan-bar-h) + var(--worker-scroll-extra))!important;
    scroll-padding-bottom:calc(var(--worker-nav-total-height) + var(--tools-scan-bar-h) + 8px);
  }
  .stats-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
  #admin-dashboard .admin-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  #admin-dashboard .admin-dashboard-stats .stat-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon value" "label label";align-items:center;column-gap:12px;row-gap:8px;padding:16px;}
  #admin-dashboard .admin-dashboard-stats .stat-card .sc-icon{grid-area:icon;margin-bottom:0;}
  #admin-dashboard .admin-dashboard-stats .stat-card .sc-value{grid-area:value;font-size:26px;margin-bottom:0;justify-self:start;}
  #admin-dashboard .admin-dashboard-stats .stat-card .sc-label{grid-area:label;font-size:13px;}
  #admin-dashboard .admin-dash-site-icon{width:48px;height:48px;border-radius:12px;font-size:20px;}
  #admin-notifications[data-notify-ui="classic"] .admin-notify-stats-classic-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  #admin-notifications[data-notify-ui="classic"] .admin-notify-classic-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end;}
  #admin-notifications[data-notify-ui="classic"] .admin-notify-classic-filters .admin-notify-reset-full{grid-column:1 / -1;}
  #admin-notifications[data-notify-ui="classic"] .admin-notify-classic-filters .admin-notify-reset-full .reset-btn{min-height:38px;}
  #admin-notifications .an-ui-toggle span{display:none;}
  #admin-notifications .an-ui-toggle{min-width:42px;justify-content:center;padding:8px 10px;}
  #admin-notifications .admin-notify-top{grid-template-columns:1fr;gap:12px;}
  #admin-notifications .admin-notify-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  #admin-notifications .admin-notify-stats .an-stat{
    padding:13px 13px;border-radius:13px;column-gap:10px;row-gap:2px;
  }
  #admin-notifications .admin-notify-stats .an-stat .sc-icon{width:36px;height:36px;font-size:14px;border-radius:10px;}
  #admin-notifications .admin-notify-stats .an-stat .sc-value{font-size:20px;}
  #admin-notifications .admin-notify-stats .an-stat .sc-label{font-size:11px;line-height:1.3;}
  #admin-notifications .admin-notify-stats .an-stat .sc-eyebrow{font-size:10px;}
  #admin-notifications .admin-notify-stats .an-stat.an-stat-action .an-stat-action-title{font-size:16px;}
  #admin-notifications .admin-notify-side-filters{padding:12px;gap:8px;justify-content:flex-start;}
  #admin-notifications .admin-notify-filters-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end;}
  #admin-notifications .admin-notify-filters-grid label{margin-bottom:4px;}
  #admin-notifications .admin-notify-filters-grid select,
  #admin-notifications .admin-notify-filters-grid .date-period-btn{min-height:38px;padding:7px 10px;}
  #admin-notifications .admin-notify-filters-grid .filter-group.filter-action .reset-btn{min-height:38px;padding:7px 10px;font-size:12px;}
  #admin-notifications .admin-notify-table-card{background:transparent;border:none;padding:0;overflow:visible;box-shadow:none;margin-top:8px;}
  #admin-notifications .admin-notify-table-head{padding:16px 4px 14px;border-bottom:none;}
  #admin-notifications .admin-notify-table-head h4{font-size:16px;line-height:1.3;}
  #admin-notifications .admin-notify-table-head p{margin-top:6px;}
  #admin-notifications .admin-notify-table-wrap{overflow-x:visible;}
  #admin-notifications .admin-notify-table,#admin-notifications .admin-notify-table tbody{display:block;width:100%;}
  #admin-notifications .admin-notify-table thead{display:none;}
  #admin-notifications .admin-notify-table tr.admin-notify-empty-row{display:block;width:100%;margin:0;background:transparent;border:none;padding:0;}
  #admin-notifications .admin-notify-table tr.admin-notify-empty-row td{display:block;width:100%;padding:0;border:none;}
  #admin-notifications .admin-notify-empty{padding:40px 18px;min-height:180px;}
  #admin-notifications .admin-notify-table tr.admin-notification-item{display:block;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin-bottom:12px;}
  #admin-notifications .admin-notify-table tr.admin-notification-item td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 0;border:none;white-space:normal;}
  #admin-notifications .admin-notify-table tr.admin-notification-item td.an-col-title,#admin-notifications .admin-notify-table td.an-col-title{justify-content:flex-start;padding-left:0;max-width:none;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--border);font-size:15px;}
  #admin-notifications .admin-notify-table td[data-label]::before{content:attr(data-label);color:var(--text2);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;flex:0 0 auto;}
  #admin-notifications .admin-notify-table td.an-col-to,#admin-notifications .admin-notify-table td.an-col-sent{text-align:right;}
  #admin-notifications .admin-diary-filters.admin-quad-filters{grid-template-columns:repeat(2,minmax(0,1fr));}
  .two-col{grid-template-columns:1fr;}
  .header-search{max-width:200px;}
  .header-right{gap:10px;}
  .lang-btn .lang-name{display:none;}
  .lang-btn{padding:6px 8px;gap:4px;}
  .lang-btn i.fa-chevron-down{display:none;}
  .header-date{font-size:11px;}
  .admin-diary-filters{grid-template-columns:1fr 1fr;gap:8px;}
  .admin-diary-filters select,.admin-diary-filters input[type="date"]{min-width:unset;}
}

/* RESPONSIVE - MOBILE */
@media(max-width:600px){
  #loginScreen{
    align-items:stretch;
    justify-content:stretch;
    padding:0;
  }
  #loginScreen > .login-container{
    width:100%;
    max-width:none;
    padding:12px calc(12px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(12px + var(--safe-left));
  }
  .content-area{padding:12px 8px;}
  body[data-role="worker"] #roleWorker .content-area.builder-main{
    padding-bottom:calc(var(--worker-nav-total-height) + var(--worker-scroll-extra))!important;
  }
  body[data-role="worker"].worker-w-tools-active #roleWorker .content-area.builder-main{
    padding-bottom:calc(var(--worker-nav-total-height) + var(--tools-scan-bar-h) + var(--worker-scroll-extra))!important;
    scroll-padding-bottom:calc(var(--worker-nav-total-height) + var(--tools-scan-bar-h) + 8px);
  }
  .stats-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .tools-worker-home-stat-wrap .stat-card{width:100%;min-width:0;}
  .stat-card{padding:12px 10px;}
  .stat-card .sc-icon{width:32px;height:32px;font-size:14px;margin-bottom:8px;}
  .stat-card .sc-value{font-size:20px;}
  .admin-diary-filters{grid-template-columns:1fr 1fr;}
  .admin-diary-filters .filter-group:last-child{grid-column:1 / -1;}
  .admin-diary-filters.worker-date-strip{grid-template-columns:1fr;align-items:stretch;}
  .admin-diary-filters.worker-date-strip>.filter-group:last-child{grid-column:auto;}
  .admin-diary-filters.admin-quad-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;}
  .admin-diary-filters.admin-quad-filters .filter-group{min-width:0;}
  .admin-diary-filters.admin-quad-filters .filter-group:last-child{grid-column:auto;}
  .admin-diary-filters.admin-quad-filters label{margin-bottom:10px;}
  #admin-notifications .admin-notify-filters-grid{grid-template-columns:1fr 1fr;gap:8px;align-items:end;}
  #admin-notifications .admin-notify-side-filters{gap:8px;padding:12px;}
  #admin-notifications .admin-notify-filters-grid .filter-group.filter-action{align-self:end;}
  #admin-notifications .admin-notify-stats .an-stat{padding:11px 12px;}
  #admin-notifications .admin-notify-stats .an-stat .sc-value{font-size:18px;}
  #admin-notifications .admin-notify-stats .an-stat .sc-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  #admin-notifications .admin-notify-stats .an-stat.an-stat-action .an-stat-action-title{font-size:15px;}
  #admin-hours .admin-hours-table-card, #w-hours .admin-hours-table-card,
  #admin-kilometers .admin-hours-table-card{padding:12px 10px;}
  #admin-hours .admin-hours-table-toolbar, #w-hours .admin-hours-table-toolbar{
    flex-direction:column;
    align-items:stretch;
    padding:12px;
    gap:10px;
    margin-bottom:12px;
  }
  #admin-hours .admin-hours-table-toolbar-title strong, #w-hours .admin-hours-table-toolbar-title strong{font-size:13px;}
  #admin-hours .admin-hours-table-toolbar-title span, #w-hours .admin-hours-table-toolbar-title span{font-size:11px;}
  #admin-hours .admin-hours-table-toolbar .btn-approve-all-hours, #w-hours .admin-hours-table-toolbar .btn-approve-all-hours{
    width:100%;
    white-space:normal;
    line-height:1.3;
  }
  #admin-hours{width:100%;max-width:100%;overflow-x:hidden;}
  #admin-hours .stats-grid{grid-template-columns:1fr 1fr;gap:8px;}
  #admin-hours .stat-card{width:100%;min-width:0;}
  #admin-hours .stat-card:nth-child(5){grid-column:1 / -1;}
  #admin-kilometers .stats-grid{grid-template-columns:1fr 1fr;gap:14px;}
  #admin-kilometers .stat-card{width:100%;min-width:0;padding:18px;}
  #admin-kilometers .stat-card:not(.km-table-card){display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon value" "label label";align-items:center;column-gap:14px;row-gap:8px;}
  #admin-kilometers .stat-card:not(.km-table-card) .sc-icon{grid-area:icon;width:48px;height:48px;border-radius:13px;font-size:20px;margin-bottom:0;}
  #admin-kilometers .stat-card:not(.km-table-card) .sc-value{grid-area:value;font-size:26px;margin-bottom:0;justify-self:start;}
  #admin-kilometers .stat-card:not(.km-table-card) .sc-label{grid-area:label;font-size:11px;}
  #admin-kilometers .km-table-card .sc-icon{width:48px;height:48px;border-radius:13px;font-size:20px;margin-bottom:0;}
  #admin-kilometers .km-table-card .sc-label{font-size:12px;}
  #admin-hours .admin-diary-filters.admin-hours-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;}
  #admin-hours .admin-diary-filters.admin-hours-filters .filter-group{min-width:0;}
  #admin-hours .admin-diary-filters.admin-hours-filters .filter-group:nth-child(3){grid-column:auto;}
  #admin-hours .admin-diary-filters.admin-hours-filters .filter-group:last-child{grid-column:auto;}
  #admin-hours .admin-diary-filters.admin-hours-filters .filter-group.filter-action{align-self:end;}
  #admin-hours .admin-diary-filters.admin-hours-filters label{margin-bottom:10px;}
  #admin-hours .admin-diary-filters.admin-hours-filters .date-period-btn,
  #admin-hours .admin-diary-filters.admin-hours-filters .reset-btn,
  #admin-hours .admin-diary-filters.admin-hours-filters select{min-height:44px;}
  #admin-hours .admin-diary-filters.admin-hours-filters .filter-group.filter-action label{display:block;visibility:hidden;margin-bottom:10px;}
  #admin-hours .admin-hours-table-card, #w-hours .admin-hours-table-card{width:100%;max-width:100%;overflow:hidden;}
  #admin-hours .admin-table-scroll, #w-hours .admin-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;}
  #admin-hours .admin-oneline-hours.data-table, #w-hours .admin-oneline-hours.data-table{min-width:956px;width:956px;table-layout:fixed;}
  #w-hours .worker-oneline-hours.data-table{min-width:0!important;width:100%!important;}
  .diary-entry-card .diary-card-header{align-items:stretch;}
  .diary-entry-card .diary-card-actions{flex-direction:column;}
  .diary-entry-card .diary-delete-btn{width:40px;align-self:flex-end;}
  .stat-card .sc-label{font-size:10px;}
  .section-title{font-size:14px;margin-bottom:12px;}
  .card{padding:12px 10px;border-radius:10px;}
  .card-header{margin-bottom:10px;}
  .card-header h3{font-size:14px;}

  /* Header mobile */
  body[data-role="admin"] #roleAdmin .top-header{height:auto;min-height:48px;padding:calc(8px + var(--safe-top)) calc(10px + var(--safe-right)) 8px calc(10px + var(--safe-left));gap:6px;}
  body[data-role="admin"] #roleAdmin .top-header .header-right{gap:6px;}
  body[data-role="admin"] #roleAdmin .top-header .theme-toggle,
  body[data-role="admin"] #roleAdmin .top-header .icon-btn,
  body[data-role="admin"] #roleAdmin .top-header .header-fs-btn{width:32px;height:32px;font-size:13px;}
  body[data-role="admin"] #roleAdmin .top-header .user-avatar{width:28px;height:28px;font-size:11px;border-radius:9px;}
  body[data-role="admin"] #roleAdmin .top-header .header-logo{max-width:min(100px,30vw);max-height:26px;}
  .top-header{height:auto;min-height:48px;padding:calc(8px + var(--safe-top)) calc(12px + var(--safe-right)) 8px calc(12px + var(--safe-left));gap:8px;}
  .header-search{display:none;}
  .header-right{gap:6px;}
  .header-tools,.header-account{padding:2px;border-radius:12px;}
  .header-meta{padding:2px 4px 2px 2px;min-height:0;}
  .header-date{display:none;}
  .lang-btn .lang-name{display:none;}
  .top-header .lang-btn{padding:0 8px;height:32px;}
  .lang-btn i.fa-chevron-down{display:none;}
  .lang-btn .lang-flag{font-size:18px;}
  .user-avatar{width:30px;height:30px;font-size:11px;border-radius:9px;}
  .account-dropdown{width:248px;right:-6px;}

  /* Modal mobile */
  .modal{width:96%;max-width:none;max-height:90vh;border-radius:12px;}
  #workerAccountJournalModal .modal{max-height:min(90vh,calc(100vh - 28px));}
  #workerAccountJournalModal .modal-body{padding:10px 16px 12px;}
  .modal-header{padding:14px 16px;}
  .modal-header h3{font-size:15px;}
  .modal-body{padding:16px;}
  .modal-footer{padding:12px 16px;}
  .form-group{margin-bottom:12px;}
  .form-group input,.form-group select,.form-group textarea{padding:10px 12px;font-size:15px;border-radius:8px;}

  /* Worker panel mobile */
  .bottom-nav a{font-size:9px;height:var(--worker-nav-h);padding:0 2px 4px;gap:3px;}
  .bottom-nav a i{font-size:17px;}
  :root[data-ios-ui] .bottom-nav a{padding:0 2px;}
  :root[data-ios-ui] .bottom-nav a i{transform:none;}
  .work-toggle{width:130px;height:130px;font-size:12px;margin:16px auto;}
  .work-toggle i{font-size:28px;}
  .timer-display{font-size:36px;margin:10px 0;}

  /* Tables mobile - card view */
  .data-table{font-size:11px;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .data-table th,.data-table td{padding:8px 6px;white-space:nowrap;}
  .data-table th,.data-table td{text-align:center;}

  /* Worker trips table: edge-to-edge + readable columns (overrides cramped block-table) */
  #w-trips .wt-trips-table-hint{display:block;}
  #w-trips .wt-trip-route-preview{display:-webkit-box !important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  #w-trips .wt-trips-table-card{margin-left:-8px;margin-right:-8px;width:calc(100% + 16px);padding-left:12px;padding-right:12px;border-radius:0;border-left:none;border-right:none;box-sizing:border-box;}
  #w-trips .wt-trips-table{display:table !important;width:100%;table-layout:fixed;font-size:13px;border-collapse:separate;border-spacing:0;}
  #w-trips .wt-trips-table th,#w-trips .wt-trips-table td{white-space:normal;word-break:break-word;padding:11px 8px;text-align:center;vertical-align:middle;line-height:1.25;}
  #w-trips .wt-trips-table th{font-size:10px;padding:10px 6px;}
  #w-trips .wt-trips-table th:first-child,#w-trips .wt-trips-table td:first-child{width:36px;text-align:center;padding-left:10px;padding-right:4px;}
  #w-trips .wt-trips-table th:nth-child(2),#w-trips .wt-trips-table td:nth-child(2){width:26%;text-align:left;padding-left:4px;font-weight:500;}
  #w-trips .wt-trips-table th:nth-child(3),#w-trips .wt-trips-table td:nth-child(3){width:16%;font-size:14px;font-weight:700;text-align:center;}
  #w-trips .wt-trips-table th:nth-child(4),#w-trips .wt-trips-table td:nth-child(4){width:auto;min-width:0;text-align:center;}
  #w-trips .wt-trips-table th:nth-child(5),#w-trips .wt-trips-table td:nth-child(5){width:52px;padding-left:4px;padding-right:10px;}
  #w-trips .wt-trips-table td:nth-child(2){font-variant-numeric:tabular-nums;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";}
  #w-trips .wt-trips-table td .btn-sm{padding:8px 10px;min-width:40px;}

  /* Worker items mobile */
  .worker-item{padding:10px 12px;gap:8px;}
  .w-avatar{width:32px;height:32px;font-size:11px;}
  .w-info h4{font-size:12px;}
  .w-info p{font-size:10px;}

  /* Object cards mobile */
  .object-card{padding:12px;gap:10px;}
  .object-card .oc-icon{width:40px;height:40px;font-size:18px;}
  .object-card .oc-info h4{font-size:13px;}

  /* Buttons mobile */
  .btn{padding:8px 14px;font-size:13px;}
  .btn-sm{padding:6px 10px;font-size:11px;}

  /* Toast mobile */
  .toast-container{top:10px;right:10px;left:10px;}
  .toast{font-size:13px;padding:10px 14px;}

  /* Diary mobile */
  .diary-entry-card{padding:12px;}
  .diary-entry .de-photos img,.diary-entry-card .de-photos img{width:60px;height:60px;}
  #admin-diary .admin-diary-card-head, #w-diary .admin-diary-card-head{padding:14px 14px 10px;}
  #admin-diary .admin-diary-card-body, #w-diary .admin-diary-card-body{padding:0 14px 14px;}
  #admin-diary .admin-diary-photos img, #w-diary .admin-diary-photos img{width:72px;height:72px;}
  #admin-diary .admin-diary-avatar, #w-diary .admin-diary-avatar{width:38px;height:38px;font-size:12px;border-radius:50%;}
  .photo-preview .photo-thumb{width:56px;height:56px;}

  /* Site cards mobile */
  .site-worker-chip{font-size:10px;padding:3px 7px;}

  /* Login mobile — vertical stack */
  .login-container{max-width:none;padding:4px 16px calc(14px + var(--safe-bottom));margin-top:0;}
  .login-stage{gap:16px;max-width:100%;}
  .login-hero{padding:0;}
  .login-logo .brand-app-icon{width:100px;height:100px;}
  .login-logo .brand-wordmark{font-size:19px;}
  .login-card-brand h3{font-size:18px;margin-bottom:6px;}
  .login-card-brand .login-subtitle{font-size:13px;padding:0;}
  .login-card-kicker{font-size:19px;}
  .login-card{padding:20px 16px 16px;border-radius:18px;width:100%;}
  .login-btn{padding:13px;font-size:15px;}
  .login-form-group{margin-bottom:13px;}
  .login-form-group input{font-size:16px;padding:12px 14px;}
  .login-form-group .input-icon input{padding-left:40px;}
}

/* RESPONSIVE - SMALL MOBILE */
@media(max-width:380px){
  .stats-grid{grid-template-columns:1fr;gap:8px;}
  /* Nástroje: statistické karty zůstávají ve 2 sloupcích (stejně jako Kilometry) i na úzkých telefonech. */
  #admin-tools .stats-grid{grid-template-columns:1fr 1fr;gap:8px;}
  #admin-tools .stat-card{width:100%;min-width:0;}
  .stat-card{display:flex;align-items:center;gap:12px;padding:12px;}
  .stat-card .sc-icon{margin-bottom:0;flex-shrink:0;}
  .stat-card .sc-value{font-size:18px;margin-bottom:0;}
  .stat-card .sc-label{font-size:10px;}
  #admin-dashboard .admin-dashboard-stats .stat-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon value" "label label";align-items:center;column-gap:12px;row-gap:8px;padding:16px;}
  #admin-dashboard .admin-dashboard-stats .stat-card .sc-icon{grid-area:icon;margin-bottom:0;}
  #admin-dashboard .admin-dashboard-stats .stat-card .sc-value{grid-area:value;font-size:26px;margin-bottom:0;justify-self:start;}
  #admin-dashboard .admin-dashboard-stats .stat-card .sc-label{grid-area:label;font-size:13px;}
  #admin-notifications .admin-notify-stats .an-stat{padding:11px 12px;}
  #admin-notifications .admin-notify-stats .an-stat .sc-icon{width:34px;height:34px;font-size:13px;}
  #admin-notifications .admin-notify-stats .an-stat .sc-value{font-size:18px;}
  #admin-notifications .admin-notify-stats .an-stat .sc-label{font-size:11px;}
  #admin-notifications .admin-notify-stats .an-stat .sc-eyebrow{font-size:10px;}
  .work-toggle{width:110px;height:110px;font-size:11px;}
  .work-toggle i{font-size:24px;}
  .timer-display{font-size:30px;}
  .bottom-nav a{font-size:8px;height:var(--worker-nav-h);padding:0 2px 4px;gap:2px;}
  .bottom-nav a i{font-size:15px;}
  :root[data-ios-ui] .bottom-nav a{padding:0 2px 4px;}
  :root[data-ios-ui] .bottom-nav a i{transform:translateY(3px);}
}

/* LANGUAGE SWITCHER */
.lang-switcher{position:relative;display:flex;align-items:center;}
.lang-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--input-bg);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);border-radius:999px;color:var(--text);font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap;}
@media (hover:hover) and (pointer:fine){
.lang-btn:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:color-mix(in srgb, var(--primary) 10%, var(--input-bg));}
}
.lang-btn .lang-flag{font-size:15px;line-height:1;}
.lang-btn .lang-name{font-weight:600;}
.lang-btn i.fa-chevron-down{font-size:10px;color:var(--text2);transition:transform .2s;}
.lang-switcher.open .lang-btn i.fa-chevron-down{transform:rotate(180deg);}
.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.35);z-index:300;display:none;overflow:hidden;min-width:180px;padding:6px;}
.lang-switcher.open .lang-dropdown{display:block;}
.lang-option{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:background .15s;font-size:13px;color:var(--text);border-radius:10px;}
.lang-option.active{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary);font-weight:650;}
@media (hover:hover) and (pointer:fine){
.lang-option:hover{background:color-mix(in srgb, var(--primary) 8%, transparent);}
}
.lang-option .lang-flag{font-size:16px;}

/* iOS/Android safe-area: prevent overlap with notch/home indicator */
.toast-container{top:calc(20px + var(--safe-top));right:calc(20px + var(--safe-right));}
.login-top-controls{position:fixed;top:calc(16px + var(--safe-top));right:calc(16px + var(--safe-right));z-index:10000;display:flex;align-items:center;gap:8px;padding:0;}

/* Worker redesign is now global via theme tokens */

/* =====================================================================
   WORKER MOBILE REDESIGN (scoped to body[data-role="worker"])
   Visual-only; matches New Desing/workermobile screenshots.
   ===================================================================== */

/* Light theme: brand blue accent */
html[data-theme="light"] body[data-role="worker"]{
  --accent:#2f80ed;
  --primary:#2f80ed;
  --blue:#2f80ed;
}
html[data-theme="light"] body[data-role="worker"] .stat-card.blue .sc-icon{background:#E8F0FE;color:#1565C0;}

/* Softer, rounder cards */
body[data-role="worker"] .card,
body[data-role="worker"] .stat-card,
body[data-role="worker"] .notification-card{border-radius:16px;}
html[data-theme="light"] body[data-role="worker"] .card,
html[data-theme="light"] body[data-role="worker"] .stat-card,
html[data-theme="light"] body[data-role="worker"] .notification-card{box-shadow:0 1px 3px rgba(15,21,37,.05);border-color:#E7E9EC;}

/* --- Header: compact controls on mobile --- */
body[data-role="worker"] #roleWorker .top-header{gap:8px;}
body[data-role="worker"] #roleWorker .header-right{gap:6px;align-items:center;}
body[data-role="worker"] #roleWorker .theme-toggle,
body[data-role="worker"] #roleWorker .icon-btn,
body[data-role="worker"] #roleWorker .lang-btn{
  width:34px;height:34px;min-width:34px;border-radius:10px;padding:0;
  display:flex;align-items:center;justify-content:center;font-size:14px;
}
body[data-role="worker"] #roleWorker .lang-switcher{display:flex;}
body[data-role="worker"] #roleWorker .lang-btn .lang-name,
body[data-role="worker"] #roleWorker .lang-btn i.fa-chevron-down{display:none;}
body[data-role="worker"] #roleWorker .lang-btn .lang-flag{font-size:16px;}
body[data-role="worker"] #roleWorker .user-avatar{
  width:32px;height:32px;font-size:12px;font-weight:700;border-radius:9px;
  box-shadow:0 1px 4px rgba(47,128,237,.22);
}
body[data-role="worker"] #roleWorker .header-account,
body[data-role="worker"] #roleWorker .header-meta{
  padding:2px;border-radius:11px;min-height:0;gap:1px;
}
body[data-role="worker"] #roleWorker .header-brand .brand-wordmark{font-size:15px;}
body[data-role="worker"] #roleWorker .header-brand .company-logo{max-height:26px;max-width:120px;}
html[data-theme="light"] body[data-role="worker"] #roleWorker .theme-toggle,
html[data-theme="light"] body[data-role="worker"] #roleWorker .icon-btn,
html[data-theme="light"] body[data-role="worker"] #roleWorker .lang-btn{
  background:#fff;border-color:#E2E5E9;color:#6b6c73;
}

@media(max-width:720px){
  body[data-role="worker"] #roleWorker .top-header{
    height:48px;min-height:48px;padding:0 12px;gap:6px;
  }
  body[data-role="worker"] #roleWorker .content-area.builder-main,
  :root[data-ios-ui][data-ios-standalone] body[data-role="worker"] #roleWorker .content-area.builder-main,
  html[data-pwa-standalone] body[data-role="worker"] #roleWorker .content-area.builder-main{
    margin-top:calc(48px + var(--safe-top));
  }
}

/* iPhone / iPad only: header must clear status bar / Dynamic Island (safe-area).
   Worker mobile rule above sets padding:0 — that breaks translucent iOS chrome.
   --ios-header-lift: nudge header content up slightly (still below status icons). */
@media (max-width:900px){
  :root[data-ios-ui]{
    --ios-header-lift: 10px;
  }
  :root[data-ios-ui] body[data-role="worker"] #roleWorker .top-header{
    height:auto!important;
    min-height:48px!important;
    max-height:none!important;
    padding:max(4px, calc(8px + env(safe-area-inset-top, 0px) - var(--ios-header-lift))) calc(12px + env(safe-area-inset-right, 0px)) 8px calc(12px + env(safe-area-inset-left, 0px))!important;
    box-sizing:border-box;
    align-items:center;
  }
  :root[data-ios-ui] body[data-role="worker"] #roleWorker .content-area.builder-main{
    /* row ~48px + vertical padding 16px + notch inset − lift */
    margin-top:max(48px, calc(64px + env(safe-area-inset-top, 0px) - var(--ios-header-lift)))!important;
  }
  :root[data-ios-ui] body[data-role="admin"] #roleAdmin .top-header{
    height:auto!important;
    min-height:48px!important;
    padding:max(4px, calc(8px + env(safe-area-inset-top, 0px) - var(--ios-header-lift))) calc(10px + env(safe-area-inset-right, 0px)) 8px calc(10px + env(safe-area-inset-left, 0px))!important;
    box-sizing:border-box;
  }
  :root[data-ios-ui] body[data-role="admin"] #roleAdmin .main-area{
    padding-top:max(48px, calc(64px + env(safe-area-inset-top, 0px) - var(--ios-header-lift)))!important;
  }
}

/* Hide scrollbars on all worker tabs (scroll still works) */
body[data-role="worker"] #roleWorker .content-area.builder-main,
body[data-role="worker"] #roleWorker .content-area.builder-main *{
  scrollbar-width:none;-ms-overflow-style:none;
}
body[data-role="worker"] #roleWorker .content-area.builder-main::-webkit-scrollbar,
body[data-role="worker"] #roleWorker .content-area.builder-main *::-webkit-scrollbar{
  display:none;width:0;height:0;
}

/* --- Mobile: larger page titles, more space under header, hide tab descriptions --- */
@media(max-width:720px){
  body[data-role="worker"] #roleWorker .content-area.builder-main{
    padding-top:14px!important;
  }
  body[data-role="worker"] #roleWorker .section-title,
  body[data-role="worker"] #w-home .dash-head .section-title,
  body[data-role="worker"] #w-hours > .section-title,
  body[data-role="worker"] #w-diary .worker-diary-head .section-title,
  body[data-role="worker"] #w-trips .worker-trips-head .section-title,
  body[data-role="worker"] #w-notifications .worker-notify-head .section-title,
  body[data-role="worker"] #w-tools .tools-page-head .section-title,
  body[data-role="worker"] #w-stakes .worker-stakes-head .section-title{
    font-size:22px!important;font-weight:750;letter-spacing:-.02em;line-height:1.15;
    margin:0 0 16px!important;
  }
  body[data-role="worker"] #w-tools .tools-page-head .section-title{
    margin:0!important;
  }
  body[data-role="worker"] #roleWorker .section-title i,
  body[data-role="worker"] #w-tools .tools-page-head .section-title i,
  body[data-role="worker"] #w-stakes .worker-stakes-head .section-title i{
    font-size:18px;opacity:.85;
  }
  body[data-role="worker"] #roleWorker .dash-greet,
  body[data-role="worker"] #w-home .dash-greet,
  body[data-role="worker"] #w-diary .worker-diary-head .dash-greet,
  body[data-role="worker"] #w-trips .worker-trips-head .dash-greet,
  body[data-role="worker"] #w-notifications .worker-notify-head .dash-greet,
  body[data-role="worker"] #w-stakes .worker-stakes-intro,
  body[data-role="worker"] #w-hours .worker-hours-head-note{
    display:none!important;
  }
  /* Home: show page title; hide KPIs / extra panels on phone */
  body[data-role="worker"] #w-home .dash-head{
    display:block!important;margin:0 0 12px;
  }
  body[data-role="worker"] #w-home .dash-head .section-title{
    margin:0!important;
  }
  body[data-role="worker"] #w-home .dash-kpi,
  body[data-role="worker"] #w-home .dash-week-strip,
  body[data-role="worker"] #w-home .worker-hour-reminder,
  body[data-role="worker"] #w-home .dash-layout > .dash-col:last-child{
    display:none!important;
  }
  body[data-role="worker"] #w-home .dash-layout{
    grid-template-columns:1fr;margin-top:0;gap:14px;
  }
  body[data-role="worker"] #w-home .worker-home-main-col{
    display:flex;flex-direction:column;gap:14px;
  }
  body[data-role="worker"] #w-home .worker-home-site-card,
  body[data-role="worker"] #w-home .worker-home-hours-card,
  body[data-role="worker"] #w-home .worker-home-timer-card{
    margin:0;
    border:1px solid color-mix(in srgb, var(--primary) 42%, var(--border))!important;
    border-radius:16px;overflow:hidden;
    background:var(--card);
  }
  body[data-role="worker"] #w-home .worker-home-site-body{
    display:flex;flex-direction:column;gap:0;padding:14px 14px 12px;
  }
  body[data-role="worker"] #w-home .worker-home-site-fields-row{
    display:flex;align-items:center;gap:12px;
  }
  body[data-role="worker"] #w-home .worker-home-site-icon{
    width:52px;height:52px;border-radius:14px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    background:color-mix(in srgb, var(--primary) 16%, transparent);
    border:1px solid color-mix(in srgb, var(--primary) 55%, transparent);
    color:var(--primary);font-size:22px;box-sizing:border-box;
  }
  body[data-role="worker"] #w-home .worker-home-site-fields{
    flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;
  }
  body[data-role="worker"] #w-home .worker-home-site-field .worker-log-label,
  body[data-role="worker"] #w-home .worker-home-note-field .worker-log-label{
    margin:0 0 5px;font-size:12px;font-weight:600;color:var(--text2);
    display:block;
  }
  body[data-role="worker"] #w-home .worker-home-site-card .site-select-trigger.worker-log-control,
  body[data-role="worker"] #w-home .worker-home-site-card .worker-hours-note-input.worker-log-control{
    width:100%;min-height:40px;height:40px;box-sizing:border-box;
    border:1px solid var(--border)!important;border-radius:10px!important;
    background:var(--bg)!important;color:var(--text)!important;
    padding:8px 12px!important;font-size:14px;font-weight:650;
    font-family:inherit;text-align:left!important;
  }
  body[data-role="worker"] #w-home .worker-home-site-card .worker-hours-note-input.worker-log-control{
    min-height:40px;height:40px;max-height:40px;resize:none;overflow:hidden;
    font-weight:500;line-height:1.35;padding-top:9px!important;padding-bottom:9px!important;
  }
  body[data-role="worker"] #w-home .worker-home-role-line{
    display:flex!important;align-items:center;justify-content:center;gap:8px;
    margin:12px 0 0;padding:12px 0 2px;border-top:1px solid var(--border);
    color:var(--primary);font-weight:600;font-size:14px;
  }
  body[data-role="worker"] #w-home .worker-home-role-line i{opacity:.95;font-size:13px;}
  body[data-role="worker"] #w-home .worker-home-hours-card .dash-panel-head{
    padding:14px 16px 0;border:0;background:transparent;
  }
  body[data-role="worker"] #w-home .worker-home-hours-card .dash-panel-title{
    font-size:16px;font-weight:700;gap:10px;
  }
  body[data-role="worker"] #w-home .worker-home-hours-card .dash-panel-title i{
    width:34px;height:34px;border-radius:10px;
    display:inline-flex;align-items:center;justify-content:center;
    background:color-mix(in srgb, var(--primary) 16%, transparent);
    border:1px solid color-mix(in srgb, var(--primary) 55%, transparent);
    color:var(--primary);font-size:14px;box-sizing:border-box;
  }
  body[data-role="worker"] #w-home .worker-home-log{
    padding:12px 16px 16px;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid{
    display:flex;flex-direction:column;gap:14px;margin:0 0 14px;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .worker-log-field{
    position:static;margin:0;gap:6px;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .worker-log-label{
    position:static;left:auto;top:auto;pointer-events:auto;
    margin:0;font-size:12px;font-weight:650;color:var(--text2);
    display:inline-flex;align-items:center;gap:7px;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .worker-log-label i{
    display:inline;font-size:11px;opacity:.85;color:var(--text2);
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .worker-log-control,
  body[data-role="worker"] #w-home .worker-log-timegrid .ios-time-display-input.worker-log-control{
    min-height:44px!important;padding:11px 14px!important;
    border-radius:12px!important;font-size:15px!important;font-weight:600!important;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .wm-date-box.ss-date-cal-wrap.worker-log-control{
    min-height:44px!important;height:44px!important;padding:0!important;
    display:flex;align-items:center;box-sizing:border-box;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .worker-log-field::before,
  body[data-role="worker"] #w-home .worker-log-field-date::after,
  body[data-role="worker"] #w-home .worker-log-field-start::after,
  body[data-role="worker"] #w-home .worker-log-field-end::after{
    content:none!important;display:none!important;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .ss-date-cal-btn{
    width:100%;min-height:44px!important;height:44px!important;
    padding:0 44px 0 14px!important;box-sizing:border-box;
    display:flex!important;align-items:center!important;justify-content:center!important;
    background-image:none!important;border:0!important;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .ss-date-cal-btn .wm-date-display{
    font-size:15px;font-weight:600;text-align:center;flex:1;min-width:0;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .ss-date-cal-btn > i{
    display:inline-flex!important;position:absolute;right:14px;top:50%;transform:translateY(-50%);
    color:var(--primary);font-size:14px;pointer-events:none;margin:0;
  }
  body[data-role="worker"] #w-home .worker-log-timegrid .ios-time-display-input{
    background-image:none;text-align:center!important;
  }
  body[data-role="worker"] #w-home .worker-log-submit{
    width:100%;min-height:50px;border-radius:14px;font-size:16px;font-weight:700;
    justify-content:center;gap:10px;margin-top:2px;
  }
}

/* --- Bottom nav: a touch larger icons/labels --- */
body[data-role="worker"] #workerNav a i,
body[data-role="worker"] .bottom-nav a i{font-size:19px;}

/* --- Home: "Moje stavba" card --- */
body[data-role="worker"] .worker-home-site-sticky{background:transparent;border-bottom:none;padding-bottom:0;margin-bottom:16px;}
body[data-role="worker"] .worker-home-site-card,
body[data-role="worker"] .worker-home-hours-card,
body[data-role="worker"] .worker-home-timer-card{background:var(--card);}
html:not([data-theme="light"]) body[data-role="worker"] .worker-home-site-card,
html:not([data-theme="light"]) body[data-role="worker"] .worker-home-hours-card,
html:not([data-theme="light"]) body[data-role="worker"] .worker-home-timer-card{
  border-color:color-mix(in srgb, var(--primary) 38%, var(--border));
  box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 8%, transparent);
}
body[data-role="worker"] .worker-home-site-fields-row{
  display:flex;align-items:center;gap:14px;
}
body[data-role="worker"] .worker-home-site-icon{
  width:54px;height:54px;border-radius:15px;font-size:22px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--primary) 16%, transparent);color:var(--primary);
  border:1px solid color-mix(in srgb, var(--primary) 55%, transparent);box-sizing:border-box;
}
html[data-theme="light"] body[data-role="worker"] .worker-home-site-icon{background:#FDE7EC;color:var(--primary);}
body[data-role="worker"] .worker-home-site-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;}
body[data-role="worker"] .worker-home-site-label{text-align:left;font-size:12px;color:var(--text2);margin:0 0 6px;}
body[data-role="worker"] .worker-home-note-label{display:block;font-size:12px;color:var(--text2);margin:12px 0 6px;}
body[data-role="worker"] .worker-home-role-line{
  margin-top:12px;padding-top:12px;border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;gap:8px;
  text-align:center;color:var(--primary);font-weight:600;font-size:14px;
}
body[data-role="worker"] .worker-home-role-line i{margin:0;opacity:.95;}
body[data-role="worker"] .site-select{border-radius:12px;padding:12px 36px 12px 14px;}
html[data-theme="light"] body[data-role="worker"] .site-select{background-color:#fff;}

/* --- Custom "Moje stavba" picker (trigger + modal) --- */
.wsite-picker-overlay,
body[data-role="worker"] .wsite-picker-overlay{
  position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;
  padding:24px;background:rgba(3,6,16,.62);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .18s ease;
}
.wsite-picker-overlay.show,
body[data-role="worker"] .wsite-picker-overlay.show{display:flex;opacity:1;}
.wsite-picker,
body[data-role="worker"] .wsite-picker{
  width:100%;max-width:380px;max-height:74vh;display:flex;flex-direction:column;
  background:var(--card);border:1px solid var(--border);border-radius:20px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  transform:translateY(10px) scale(.98);transition:transform .18s ease;
}
html:not([data-theme="light"]) .wsite-picker,
html:not([data-theme="light"]) body[data-role="worker"] .wsite-picker{border-color:rgba(110,168,255,.35);box-shadow:0 0 0 1px rgba(110,168,255,.15),0 24px 60px rgba(0,0,0,.6);}
.wsite-picker-overlay.show .wsite-picker,
body[data-role="worker"] .wsite-picker-overlay.show .wsite-picker{transform:none;}
.wsite-picker-head,
body[data-role="worker"] .wsite-picker-head{
  display:flex;align-items:center;justify-content:center;position:relative;
  padding:16px 48px;font-size:16px;font-weight:700;color:var(--text);
  border-bottom:1px solid var(--border);
}
.wsite-picker-close,
body[data-role="worker"] .wsite-picker-close{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border-radius:10px;border:none;background:transparent;
  color:var(--text2);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.wsite-picker-list,
body[data-role="worker"] .wsite-picker-list{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px;display:flex;flex-direction:column;gap:2px;}
.wsite-item,
body[data-role="worker"] .wsite-item{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  padding:12px;border:1px solid transparent;border-radius:12px;background:transparent;
  color:var(--text);font-size:15px;font-family:inherit;cursor:pointer;
}
.wsite-item .wsite-mark,
body[data-role="worker"] .wsite-item .wsite-mark{width:26px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.wsite-item .wsite-ico,
body[data-role="worker"] .wsite-item .wsite-ico{color:var(--text2);}
.wsite-item .wsite-name,
body[data-role="worker"] .wsite-item .wsite-name{min-width:0;line-height:1.3;}
.wsite-item.selected,
body[data-role="worker"] .wsite-item.selected{color:var(--primary);font-weight:700;background:rgba(110,168,255,.1);border-color:rgba(110,168,255,.42);}
.wsite-item.selected .wsite-check,
body[data-role="worker"] .wsite-item.selected .wsite-check{color:var(--primary);}
@media(hover:hover) and (pointer:fine){
  .wsite-item:hover,
  body[data-role="worker"] .wsite-item:hover{background:rgba(128,128,128,.10);}
}

body[data-role="worker"] .site-select-trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border:1px solid var(--border);border-radius:12px;
  background:var(--bg);color:var(--text);font-size:15px;font-weight:600;
  font-family:inherit;cursor:pointer;text-align:left;
}
html[data-theme="light"] body[data-role="worker"] .site-select-trigger{background:#fff;}
body[data-role="worker"] .site-select-trigger.placeholder{color:var(--text2);font-weight:500;}
body[data-role="worker"] .site-select-trigger .site-select-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body[data-role="worker"] .site-select-trigger i{color:var(--text2);font-size:13px;flex-shrink:0;}
/* --- Home: manual hours ("Ruční zápis hodin") --- */
body[data-role="worker"] .manual-time-title{
  display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;
  color:var(--text);margin-bottom:4px;
}
body[data-role="worker"] .manual-time-title-ico{
  width:32px;height:32px;border-radius:10px;background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;
}
body[data-role="worker"] .manual-time-hint{font-size:13px;color:var(--text2);margin:0 0 16px;line-height:1.4;}
body[data-role="worker"] .manual-time-sheet .wm-row{
  display:flex;align-items:center;gap:12px;padding:10px 12px;
  border:1px solid var(--border);border-radius:14px;background:var(--bg);margin-bottom:10px;
}
html[data-theme="light"] body[data-role="worker"] .manual-time-sheet .wm-row{background:#fff;border-color:#E7E9EC;}
body[data-role="worker"] .manual-time-sheet .wm-ico{
  width:44px;height:44px;border-radius:12px;background:rgba(110,168,255,.15);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;
}
html[data-theme="light"] body[data-role="worker"] .manual-time-sheet .wm-ico{background:#FDE7EC;}
body[data-role="worker"] .manual-time-sheet .wm-field{flex:1;min-width:0;text-align:left;}
body[data-role="worker"] .manual-time-sheet .wm-field label{display:block;font-size:12px;color:var(--text2);margin:0 0 2px;text-align:left;}
body[data-role="worker"] .manual-time-sheet .wm-field label i{display:none;}
body[data-role="worker"] .manual-time-sheet .wm-row input{
  width:100%;border:none!important;background:transparent!important;padding:0!important;
  font-size:17px;font-weight:700;color:var(--text);border-radius:0!important;min-height:0;
  text-align:left!important;
}
body[data-role="worker"] .manual-time-sheet .wm-row input:focus{outline:none;box-shadow:none!important;}
body[data-role="worker"] .manual-time-sheet .wm-trail{color:var(--primary);font-size:18px;flex-shrink:0;}
/* Date field: hide native (locale) text, overlay a dd.mm.yyyy display; whole field opens picker */
body[data-role="worker"] .manual-time-sheet .wm-date-box{position:relative;width:100%;}
body[data-role="worker"] .manual-time-sheet .wm-date-box input[type=date]{color:transparent!important;}
body[data-role="worker"] .manual-time-sheet .wm-date-box input[type=date]::-webkit-datetime-edit{color:transparent!important;}
body[data-role="worker"] .manual-time-sheet .wm-date-box input[type=date]::-webkit-calendar-picker-indicator{
  position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;
}
body[data-role="worker"] .manual-time-sheet .wm-date-display{
  position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);
  text-align:left;font-size:17px;font-weight:700;color:var(--text);pointer-events:none;
}

/* --- Tools: last-action (mobile fallback) --- */
body[data-role="worker"] #w-tools .tools-last-action{display:flex;align-items:center;gap:14px;}
body[data-role="worker"] #w-tools .tools-last-action .tla-ico{
  width:46px;height:46px;border-radius:13px;background:rgba(110,168,255,.15);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;
}
html[data-theme="light"] body[data-role="worker"] #w-tools .tools-last-action .tla-ico{background:#FDE7EC;}
body[data-role="worker"] #w-tools .tools-last-action .tla-main{flex:1;min-width:0;}
body[data-role="worker"] #w-tools .tools-last-action .tla-title{font-size:13px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;margin:0 0 3px;}
body[data-role="worker"] #w-tools .tools-last-action .tla-chevron{color:var(--text2);font-size:14px;flex-shrink:0;}

/* --- Diary: full-width dashed photo upload --- */
body[data-role="worker"] #w-diary .photo-upload-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:100%;padding:22px 16px;border-radius:14px;border:2px dashed var(--border);
  font-size:14px;color:var(--text2);
}
body[data-role="worker"] #w-diary .photo-upload-btn i{font-size:22px;color:var(--primary);}
body[data-role="worker"] #w-diary .photo-upload-hint{display:block;font-size:11px;color:var(--text2);margin-top:2px;}
body[data-role="worker"] #w-diary .card .btn-primary{
  width:100%;padding:15px 0;border-radius:14px;font-size:16px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px;
}
/* Diary date display handled by ss-date-cal */
#w-diary .worker-diary-form #diaryTime.ios-time-display-input{
  text-align:center!important;font-size:15px;letter-spacing:normal;cursor:pointer;
}
#w-diary .worker-diary-form .site-select-trigger.worker-log-control{
  position:relative;justify-content:center;text-align:center;
}
#w-diary .worker-diary-form .site-select-trigger.worker-log-control .site-select-trigger-label{
  flex:0 1 auto;
}
#w-diary .worker-diary-form .site-select-trigger.worker-log-control i{
  position:absolute;right:14px;
}
#w-diary .worker-diary-form .ss-date-cal-btn{
  justify-content:center!important;padding:11px 44px!important;text-align:center;
}
#w-diary .worker-diary-form .ss-date-cal-btn .wm-date-display{
  flex:0 1 auto;text-align:center!important;
}

/* Worker home — form inside dash panel + mobile stack */
#w-hours .dash-kpi.worker-hours-dash-kpi,
#w-home .dash-kpi{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1100px){
  #w-home .dash-kpi,
  #w-hours .dash-kpi.worker-hours-dash-kpi{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:560px){
  #w-home .dash-kpi,
  #w-hours .dash-kpi.worker-hours-dash-kpi{grid-template-columns:1fr;}
}
#w-home .dash-kpi .dk-stat,
#w-hours .dash-kpi .dk-stat{cursor:default;}
@media (hover:hover) and (pointer:fine){
  #w-home .dash-kpi .dk-stat:hover,
  #w-hours .dash-kpi .dk-stat:hover{transform:none;border-color:var(--border);}
}
#w-home .dash-week-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:900px){#w-home .dash-week-strip{grid-template-columns:1fr;}}
#w-hours .worker-hours-toolbar-inline{
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;
}
#w-hours .worker-hours-toolbar-inline .filter-group{margin:0;}
#w-hours .worker-hours-toolbar-inline label{display:none;}
#w-hours .worker-hours-row{
  display:grid;grid-template-columns:88px 1fr auto;gap:12px 16px;align-items:center;
  padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--input-bg);
  margin-bottom:8px;
}
#w-hours .worker-hours-list{display:flex;flex-direction:column;gap:0;}
#w-hours .worker-hours-row:last-child{margin-bottom:0;}
#w-hours .worker-hours-row-date{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;}
#w-hours .worker-hours-row-site{font-size:13px;font-weight:600;margin-bottom:4px;}
#w-hours .worker-hours-row-meta{font-size:12px;color:var(--text2);display:flex;flex-wrap:wrap;gap:8px 12px;}
#w-hours .worker-hours-row-meta i{opacity:.75;margin-right:4px;}
#w-hours .worker-hours-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
#w-hours .worker-hours-row-hours{font-size:18px;font-weight:750;font-variant-numeric:tabular-nums;}
@media(max-width:640px){
  #w-hours .worker-hours-row{grid-template-columns:1fr;}
  #w-hours .worker-hours-row-side{flex-direction:row;align-items:center;justify-content:space-between;width:100%;}
}
#w-home .dash-act.act-notify .act-ico{background:color-mix(in srgb, var(--orange) 14%, transparent);color:var(--orange);}
#w-home .dash-act.act-tools .act-ico{background:rgba(148,163,184,.16);color:var(--text2);}
#w-home .dash-act.act-hours .act-ico{background:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-primary);}
#w-home .worker-home-site-sticky{margin:0 0 14px;padding:0;border:0;background:transparent;}
#w-home .worker-home-log .manual-time-title,
#w-home .worker-home-log .manual-time-hint{display:none!important;}
#w-home .worker-home-site-card .worker-home-role-line{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:12px;padding-top:12px;border-top:1px solid var(--border);
  color:var(--primary);font-weight:600;font-size:14px;
}
#w-home .worker-home-site-card{margin-bottom:14px;}
#w-home .worker-home-hours-card{margin-bottom:0;}
#w-home .worker-home-site-body{
  display:flex;flex-direction:column;gap:0;padding:14px;
}
#w-home .worker-home-site-fields-row{
  display:flex;align-items:center;gap:14px;
}
#w-home .worker-home-site-icon{
  width:54px;height:54px;border-radius:15px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--primary) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--primary) 55%, transparent);
  color:var(--primary);font-size:22px;box-sizing:border-box;
}
#w-home .worker-home-hours-card .dash-panel-title i{
  width:34px;height:34px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--primary) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--primary) 55%, transparent);
  color:var(--primary);font-size:14px;box-sizing:border-box;
}
#w-home .worker-home-site-fields{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;
}
#w-home .worker-home-site-body .worker-log-field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;}
#w-home .worker-home-site-body .worker-log-label{
  margin:0;font-size:12px;font-weight:600;color:var(--text2);
  display:block;
}
@media(min-width:721px){
  #w-home .worker-home-main-col{display:flex;flex-direction:column;gap:14px;}
  #w-home .worker-home-site-card{margin:0;}
}
#w-home .worker-home-timer-card{
  margin:0 0 14px;
  border:1px solid color-mix(in srgb, var(--primary) 42%, var(--border));
  border-radius:16px;
  box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 8%, transparent);
  background:var(--card);
  overflow:hidden;
}
html[data-theme="light"] #w-home .worker-home-timer-card{
  border-color:color-mix(in srgb, var(--primary) 28%, var(--border));
  box-shadow:0 1px 3px rgba(15,21,37,.04);
}
#w-home .worker-home-timer-card.is-running{
  border-color:color-mix(in srgb, var(--green) 42%, var(--border));
  box-shadow:0 0 0 1px color-mix(in srgb, var(--green) 10%, transparent);
}
#w-home .worker-home-timer-card .dash-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
#w-home .worker-home-timer-card .dash-panel-title i{
  width:34px;height:34px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--primary) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--primary) 55%, transparent);
  color:var(--primary);font-size:14px;box-sizing:border-box;
}
#w-home .worker-home-timer.is-running .dash-panel-title i{
  background:color-mix(in srgb, var(--green) 16%, transparent);
  border-color:color-mix(in srgb, var(--green) 50%, transparent);
  color:var(--green);
}
#w-home .worker-home-timer-badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 10px;border-radius:999px;flex-shrink:0;
  font-size:12px;font-weight:700;line-height:1;
  color:var(--text2);background:var(--input-bg);border:1px solid var(--border);
}
#w-home .worker-home-timer-badge-dot{
  width:7px;height:7px;border-radius:50%;background:var(--text2);flex-shrink:0;
}
#w-home .worker-home-timer.is-running .worker-home-timer-badge{
  color:var(--green);
  background:color-mix(in srgb, var(--green) 12%, transparent);
  border-color:color-mix(in srgb, var(--green) 35%, transparent);
}
#w-home .worker-home-timer.is-running .worker-home-timer-badge-dot{
  background:var(--green);
  box-shadow:0 0 0 0 color-mix(in srgb, var(--green) 45%, transparent);
  animation:workerTimerPulse 1.8s ease-out infinite;
}
@keyframes workerTimerPulse{
  0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--green) 45%, transparent);}
  70%{box-shadow:0 0 0 8px transparent;}
  100%{box-shadow:0 0 0 0 transparent;}
}
#w-home .worker-home-timer-body{
  display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:8px 4px 4px;text-align:center;
}
#w-home .worker-home-timer .timer-display{
  margin:0;padding:4px 0 2px;
  font-size:clamp(40px,11vw,52px);font-weight:750;line-height:1;
  font-variant-numeric:tabular-nums;letter-spacing:.03em;
  color:var(--primary);
}
#w-home .worker-home-timer.is-running .timer-display{color:var(--green);}
#w-home .worker-home-timer-hint{
  margin:0;font-size:13px;line-height:1.45;color:var(--text2);font-weight:500;
  max-width:30em;
}
#w-home .worker-home-timer-site{
  margin:-4px 0 0;font-size:13px;line-height:1.35;color:var(--text);font-weight:600;
  max-width:30em;
}
#w-home .worker-home-timer-site em{
  font-style:normal;font-weight:500;color:var(--text2);
}
#w-home .worker-home-timer-cta{
  width:100%;min-height:48px;margin-top:2px;border-radius:12px;
  justify-content:center;font-weight:700;font-size:15px;gap:10px;
}
#w-home .worker-home-timer.is-running .worker-home-timer-cta.btn-secondary{
  background:color-mix(in srgb, var(--red) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--red) 40%, var(--border));
  color:var(--red);
}
#w-home .dash-panel-activity .dash-activity-list{max-height:none;overflow:visible;padding-right:0;}
#w-home .dash-layout{
  align-items:stretch;
}
#w-home .dash-col{
  display:flex;flex-direction:column;min-height:0;
}
#w-home .dash-col > .dash-panel{
  flex:1 1 auto;display:flex;flex-direction:column;min-height:0;
}
#w-home .dash-panel.dash-panel-activity{
  min-height:0!important;
}
#w-home .dash-panel-activity .dash-panel-body{
  flex:1;display:flex;flex-direction:column;gap:10px;min-height:0;
}
#w-home .dash-panel-activity .dash-activity-list{
  flex:1;min-height:0;
}
#w-home .worker-home-activity-more{
  width:100%;margin-top:auto;justify-content:center;gap:8px;border-radius:12px;min-height:40px;flex-shrink:0;
}
#w-home .worker-hour-reminder{
  margin:0 0 12px;padding:12px 14px;display:flex;gap:10px;align-items:center;
  border-radius:14px;border:1px solid color-mix(in srgb, var(--orange) 32%, var(--border));
  background:color-mix(in srgb, var(--orange) 7%, transparent);
}

/* Clean hours entry form (admin-like fields, no nested cards / double icons) */
#w-home .worker-log-form{display:flex;flex-direction:column;gap:14px;}
#w-home .worker-log-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;}
#w-home .worker-log-label{
  margin:0;font-size:12px;font-weight:650;color:var(--text2);
  display:inline-flex;align-items:center;gap:7px;
}
#w-home .worker-log-label i{font-size:11px;opacity:.85;color:var(--text2);}
#w-home .worker-log-control,
#w-home .worker-log-form .site-select-trigger.worker-log-control,
#w-home .worker-log-form .worker-hours-note-input.worker-log-control,
#w-home .worker-log-form .ios-time-display-input.worker-log-control,
#w-home .worker-home-site-card .site-select-trigger.worker-log-control,
#w-home .worker-home-site-card .worker-hours-note-input.worker-log-control{
  width:100%;min-height:44px;box-sizing:border-box;
  border:1px solid var(--border)!important;border-radius:12px!important;
  background:var(--bg)!important;color:var(--text)!important;
  padding:11px 14px!important;font-size:15px;font-weight:600;
  font-family:inherit;text-align:left!important;
}
html[data-theme="light"] #w-home .worker-log-control,
html[data-theme="light"] #w-home .worker-log-form .site-select-trigger.worker-log-control,
html[data-theme="light"] #w-home .worker-log-form .worker-hours-note-input.worker-log-control,
html[data-theme="light"] #w-home .worker-log-form .ios-time-display-input.worker-log-control,
html[data-theme="light"] #w-home .worker-home-site-card .site-select-trigger.worker-log-control,
html[data-theme="light"] #w-home .worker-home-site-card .worker-hours-note-input.worker-log-control{background:#fff!important;}
#w-home .worker-log-control:focus,
#w-home .worker-log-form .site-select-trigger.worker-log-control:focus,
#w-home .worker-log-form .worker-hours-note-input.worker-log-control:focus,
#w-home .worker-log-form .ios-time-display-input.worker-log-control:focus,
#w-home .worker-home-site-card .site-select-trigger.worker-log-control:focus,
#w-home .worker-home-site-card .worker-hours-note-input.worker-log-control:focus{
  outline:none;border-color:color-mix(in srgb, var(--primary) 45%, var(--border))!important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);
}
#w-home .worker-log-form .site-select-trigger.worker-log-control i,
#w-home .worker-home-site-card .site-select-trigger.worker-log-control i{color:var(--text2);font-size:12px;}
#w-home .worker-log-form .worker-hours-note-input.worker-log-control{
  min-height:72px;resize:vertical;font-weight:500;line-height:1.45;
}
#w-home .worker-home-site-card .worker-hours-note-input.worker-log-control{
  min-height:40px;height:40px;max-height:88px;resize:none;overflow:hidden;
  font-weight:500;line-height:1.35;padding-top:9px!important;padding-bottom:9px!important;
}
#w-home .worker-log-timegrid{
  display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;
}
@media(max-width:720px){
  #w-home .worker-log-timegrid{grid-template-columns:1fr;}
}
#w-home .worker-log-submit{
  width:100%;justify-content:center;margin-top:2px;padding:13px 18px;border-radius:12px;font-weight:700;font-size:15px;
}
#w-home .worker-log-msg{margin:0;min-height:0;color:var(--green);font-weight:600;font-size:13px;}

/* Worker diary form — same field language as hours log */
#w-diary .worker-diary-form{display:flex;flex-direction:column;gap:14px;}
#w-diary .worker-diary-form .worker-log-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;}
#w-diary .worker-diary-form .worker-log-label{
  margin:0;font-size:12px;font-weight:650;color:var(--text2);
  display:inline-flex;align-items:center;gap:7px;
}
#w-diary .worker-diary-form .worker-log-label i{font-size:11px;opacity:.85;color:var(--text2);}
#w-diary .worker-diary-form .worker-log-control{
  width:100%;min-height:44px;box-sizing:border-box;
  border:1px solid var(--border)!important;border-radius:12px!important;
  background:var(--bg)!important;color:var(--text)!important;
  padding:11px 14px!important;font-size:15px;font-weight:600;
  font-family:inherit;text-align:left!important;
}
html[data-theme="light"] #w-diary .worker-diary-form .worker-log-control{background:#fff!important;}
#w-diary .worker-diary-form .worker-log-control:focus{
  outline:none;border-color:color-mix(in srgb, var(--primary) 45%, var(--border))!important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);
}
#w-diary .worker-diary-form select.worker-log-control{
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:11px 11px;padding-right:36px!important;
}
#w-diary .worker-diary-form .worker-diary-textarea{
  min-height:110px;resize:vertical;font-weight:500;line-height:1.45;
}
#w-diary .worker-diary-timegrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:720px){#w-diary .worker-diary-timegrid{grid-template-columns:1fr;}}
#w-diary .worker-diary-form .worker-log-submit{
  width:100%;justify-content:center;margin-top:2px;padding:13px 18px;border-radius:12px;font-weight:700;font-size:15px;
}
#w-diary .worker-diary-photo-btn{
  width:100%;justify-content:center;box-sizing:border-box;min-height:52px;border-radius:12px;
  flex-direction:column;gap:2px;padding:12px 14px;
}
#w-diary .worker-diary-count{
  font-size:12px;font-weight:700;color:var(--text2);background:var(--bg);
  border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-variant-numeric:tabular-nums;
}
#w-diary .worker-diary-list-body{padding-top:12px;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;}
#w-diary .worker-diary-list-panel{height:100%;}
#w-diary .worker-diary-list-panel .admin-diary-list{gap:12px;flex:1;}
#w-diary .worker-diary-show-more{
  width:100%;justify-content:center;gap:8px;border-radius:12px;min-height:40px;flex-shrink:0;margin-top:2px;
}
#admin-diary .worker-diary-photos-toggle,
#w-diary .worker-diary-photos-toggle,
#w-notifications .worker-notify-photos-toggle{
  display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;
  border-radius:10px;min-height:36px;font-size:12px;font-weight:600;
  border:1px solid var(--border);background:var(--bg);color:var(--text2);cursor:pointer;
}
#admin-diary .worker-diary-photos-toggle:hover,
#w-diary .worker-diary-photos-toggle:hover,
#w-notifications .worker-notify-photos-toggle:hover{color:var(--text);border-color:rgba(110,168,255,.35);}
#admin-diary .worker-diary-photos-toggle.is-open,
#w-diary .worker-diary-photos-toggle.is-open,
#w-notifications .worker-notify-photos-toggle.is-open{color:var(--text);border-color:rgba(110,168,255,.4);}
#admin-diary .worker-diary-photos-toggle i,
#w-diary .worker-diary-photos-toggle i,
#w-notifications .worker-notify-photos-toggle i{font-size:12px;opacity:.9;}
#admin-diary .admin-diary-photos.is-collapsed,
#w-diary .admin-diary-photos.is-collapsed{display:none;}
#admin-diary .admin-diary-photos,
#w-diary .admin-diary-photos{margin-top:10px;}
#w-diary .worker-diary-filter-inline{
  margin:0;padding:8px;border-radius:12px;flex-shrink:0;
}
#w-diary .worker-diary-filter-inline .diary-filter-controls{
  display:flex;align-items:center;flex-wrap:nowrap;gap:6px;flex:1 1 auto;min-width:0;
}
#w-diary .worker-diary-filter-inline .diary-filter-field,
#w-diary .worker-diary-filter-inline .diary-filter-date{
  min-height:38px;flex:1 1 0;min-width:0;padding:0 8px;gap:6px;background:var(--bg);
}
#w-diary .worker-diary-filter-inline .diary-filter-date{padding-right:6px;}
#w-diary .worker-diary-filter-inline .diary-filter-field select,
#w-diary .worker-diary-filter-inline .diary-filter-date .date-period-btn{font-size:12px;}
#w-diary .worker-diary-filter-inline .diary-filter-clear{
  width:38px;height:38px;border-radius:10px;flex:0 0 38px;margin:0;
}
#w-diary .worker-diary-layout{
  align-items:stretch;
}
#w-diary .worker-diary-layout > .dash-col{
  display:flex;flex-direction:column;min-height:0;
}
#w-diary .worker-diary-layout > .dash-col > .dash-panel{
  flex:1;min-height:100%;
}
#w-diary .worker-diary-empty{padding:36px 18px;border:none;background:transparent;}
#w-diary .worker-diary-empty .hours-empty-ico{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;background:var(--color-surface-container-low,rgba(255,255,255,.04));
  color:var(--text2);font-size:20px;border:1px solid var(--border);
}
#w-diary .worker-diary-empty .add-empty-sub{display:block!important;max-width:320px;margin:0 auto;}
#w-diary .admin-diary-avatar{
  background:rgba(41,121,255,.16)!important;color:var(--blue)!important;font-size:14px;
}
#w-diary .admin-diary-card-title h4{font-size:14px;}
#w-diary .diary-kpi{margin-bottom:14px;}
#w-diary .worker-diary-head .dash-greet{margin:4px 0 0;font-size:13px;color:var(--text2);line-height:1.4;}

/* Worker trips — diary-like form + history */
#w-trips .worker-trips-head .dash-greet{margin:4px 0 0;font-size:13px;color:var(--text2);line-height:1.4;}
@media(max-width:900px){
  #w-trips .worker-trips-head .dash-greet{display:none;}
}#w-trips .trips-kpi{
  display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 14px;width:100%;
  border-radius:16px;background:var(--card);border:1px solid var(--border);
  overflow:hidden;box-sizing:border-box;
}
#w-trips .trips-kpi .tk-stat{
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;
  border-radius:0;background:transparent;border:0;box-sizing:border-box;
}
#w-trips .trips-kpi .tk-stat + .tk-stat{border-left:1px solid var(--border);}
#w-trips .trips-kpi .tk-stat .sc-icon{
  width:42px;height:42px;border-radius:12px;margin:0;font-size:16px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
#w-trips .trips-kpi .tk-stat.green .sc-icon{background:rgba(0,200,83,.14);color:var(--green);}
#w-trips .trips-kpi .tk-stat.yellow .sc-icon{background:rgba(255,214,0,.14);color:var(--yellow);}
#w-trips .trips-kpi .tk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#w-trips .trips-kpi .tk-value{
  font-size:22px;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#w-trips .trips-kpi .tk-label{font-size:12px;color:var(--text2);line-height:1.3;}
#w-trips .worker-trips-form{display:flex;flex-direction:column;gap:14px;}
#w-trips .worker-trips-form .worker-log-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;}
#w-trips .worker-trips-form .worker-log-label{
  margin:0;font-size:12px;font-weight:650;color:var(--text2);
  display:inline-flex;align-items:center;gap:7px;
}
#w-trips .worker-trips-form .worker-log-label i{font-size:11px;opacity:.85;color:var(--text2);}
#w-trips .worker-trips-form .worker-log-control{
  width:100%;min-height:44px;box-sizing:border-box;
  border:1px solid var(--border)!important;border-radius:12px!important;
  background:var(--bg)!important;color:var(--text)!important;
  padding:11px 14px!important;font-size:15px;font-weight:600;
  font-family:inherit;text-align:left!important;
}
html[data-theme="light"] #w-trips .worker-trips-form .worker-log-control{background:#fff!important;}
#w-trips .worker-trips-form .worker-log-control:focus-within{
  outline:none;border-color:color-mix(in srgb, var(--primary) 45%, var(--border))!important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);
}
#w-trips .worker-trips-form .trip-address-field.worker-log-control{padding:0!important;display:flex;align-items:center;}
#w-trips .worker-trips-form .trip-address-field input{
  width:100%;min-height:44px;border:0!important;background:transparent!important;
  color:var(--text)!important;padding:11px 48px 11px 14px!important;box-sizing:border-box;
  font-size:15px;font-weight:600;font-family:inherit;outline:none;
}
#w-trips .worker-trips-routegrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:720px){#w-trips .worker-trips-routegrid{grid-template-columns:1fr;}}
#w-trips .worker-trips-pc-form.dash-col > .dash-panel,
#w-trips .worker-trips-pc-form .dash-panel-body,
#w-diary .worker-diary-pc-form.dash-col > .dash-panel,
#w-diary .worker-diary-pc-form .dash-panel-body,
#w-home .dash-layout > .dash-col:first-child > .dash-panel,
#w-home .dash-layout > .dash-col:first-child .dash-panel-body{overflow:visible;}
#w-trips .worker-trips-form .wm-date-box.ss-date-cal-wrap,
#w-diary .worker-diary-form .wm-date-box.ss-date-cal-wrap,
#w-home .worker-log-form .wm-date-box.ss-date-cal-wrap{
  position:relative;padding:0!important;display:flex;align-items:center;min-height:44px;z-index:2;
}
#w-trips .worker-trips-form .wm-date-box.ss-date-cal-wrap.is-open,
#w-diary .worker-diary-form .wm-date-box.ss-date-cal-wrap.is-open,
#w-home .worker-log-form .wm-date-box.ss-date-cal-wrap.is-open{
  z-index:40;border-color:color-mix(in srgb, var(--primary) 45%, var(--border))!important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);
}
#w-trips .worker-trips-form .ss-date-cal-btn,
#w-diary .worker-diary-form .ss-date-cal-btn,
#w-home .worker-log-form .ss-date-cal-btn{
  width:100%;min-height:44px;border:0!important;background:transparent!important;
  color:var(--text)!important;padding:11px 44px 11px 14px!important;box-sizing:border-box;
  font:inherit;font-size:15px;font-weight:600;text-align:left;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
#w-trips .worker-trips-form .ss-date-cal-btn .wm-date-display,
#w-diary .worker-diary-form .ss-date-cal-btn .wm-date-display,
#w-home .worker-log-form .ss-date-cal-btn .wm-date-display{
  position:static;transform:none;pointer-events:none;flex:1;min-width:0;
  font-size:15px;font-weight:600;color:var(--text);text-align:left;
}
#w-trips .worker-trips-form .ss-date-cal-btn > i,
#w-diary .worker-diary-form .ss-date-cal-btn > i,
#w-home .worker-log-form .ss-date-cal-btn > i{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  color:var(--primary,#6ea8ff);font-size:14px;pointer-events:none;
}
#w-trips .worker-trips-form .ss-date-cal-popup,
#w-diary .worker-diary-form .ss-date-cal-popup,
#w-home .worker-log-form .ss-date-cal-popup{
  left:0;right:auto;top:calc(100% + 6px);z-index:50;width:280px;max-width:calc(100vw - 32px);
  padding:10px;border-radius:14px;
  box-shadow:0 12px 32px rgba(0,0,0,.5),0 0 0 1px rgba(110,168,255,.08);
  animation:ssDateCalIn .16s ease-out;
}
[data-theme="light"] #w-trips .worker-trips-form .ss-date-cal-popup,
[data-theme="light"] #w-diary .worker-diary-form .ss-date-cal-popup,
[data-theme="light"] #w-home .worker-log-form .ss-date-cal-popup{
  box-shadow:0 12px 28px rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.04);
}
@keyframes ssDateCalIn{
  from{opacity:0;transform:translateY(-4px);}
  to{opacity:1;transform:translateY(0);}
}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-head,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-head,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-head{margin-bottom:8px;}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-head-title,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-head-title,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-head-title{
  font-size:13px;font-weight:750;text-transform:capitalize;
}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-nav,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-nav,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-nav{
  width:28px;height:28px;border-radius:8px;background:var(--bg);font-size:11px;
}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-weekdays,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-weekdays,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-weekdays{margin-bottom:2px;gap:2px;}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-weekdays span,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-weekdays span,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-weekdays span{font-size:10px;padding:3px 0;}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-grid,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-grid,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-grid{gap:2px;}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-day,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-day,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-day{
  min-height:30px;border-radius:8px;font-size:12px;font-weight:650;
  transition:background .12s ease,color .12s ease;
  -webkit-tap-highlight-color:transparent;
}
@media (hover:hover) and (pointer:fine){
  #w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-day:hover:not(:disabled),
  #w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-day:hover:not(:disabled),
  #w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-day:hover:not(:disabled){
    background:rgba(110,168,255,.14);
  }
}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-day.is-selected,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-day.is-selected,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-day.is-selected{
  box-shadow:0 2px 8px rgba(110,168,255,.3);
}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-day.is-today:not(.is-selected)::after,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-day.is-today:not(.is-selected)::after,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-day.is-today:not(.is-selected)::after{
  bottom:3px;width:3px;height:3px;
}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-day:disabled,
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-day.is-disabled,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-day:disabled,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-day.is-disabled,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-day:disabled,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-day.is-disabled{
  opacity:.28;cursor:not-allowed;pointer-events:none;
}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-quick,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-quick,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-quick{margin-top:8px;}
#w-trips .worker-trips-form .ss-date-cal-popup .tr-mini-cal-chip,
#w-diary .worker-diary-form .ss-date-cal-popup .tr-mini-cal-chip,
#w-home .worker-log-form .ss-date-cal-popup .tr-mini-cal-chip{
  min-height:28px;border-radius:8px;font-size:11px;padding:0 8px;
}

/* Diary: center date / time / site values in fields */
#w-diary .worker-diary-form .ss-date-cal-btn{
  justify-content:center!important;padding:11px 44px!important;text-align:center;
}
#w-diary .worker-diary-form .ss-date-cal-btn .wm-date-display{
  flex:0 1 auto!important;text-align:center!important;
}
#w-diary .worker-diary-form #diaryTime.ios-time-display-input{
  text-align:center!important;
}
#w-diary .worker-diary-form .site-select-trigger.worker-log-control{
  position:relative;justify-content:center;text-align:center;
}
#w-diary .worker-diary-form .site-select-trigger.worker-log-control .site-select-trigger-label{
  flex:0 1 auto;
}
#w-diary .worker-diary-form .site-select-trigger.worker-log-control i{
  position:absolute;right:14px;
}

/* Trips: center date value in field */
#w-trips .worker-trips-form .ss-date-cal-btn{
  justify-content:center!important;padding:11px 44px!important;text-align:center;
}
#w-trips .worker-trips-form .ss-date-cal-btn .wm-date-display{
  flex:0 1 auto!important;text-align:center!important;
}

/* Mobile: date calendar as bottom sheet (PC keeps popup) */
.ss-date-cal-overlay{
  display:none;position:fixed;inset:0;z-index:100040;
  background:rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .18s ease;
}
.ss-date-cal-overlay.show{display:block;opacity:1;}
.ss-date-cal-popup.ss-date-cal-fs .ss-date-cal-fs-bar{display:none;}
.ss-date-cal-popup.ss-date-cal-arming .tr-mini-cal-grid,
.ss-date-cal-popup.ss-date-cal-arming .tr-mini-cal-quick{pointer-events:none;}
@media(max-width:720px){
  .ss-date-cal-popup.ss-date-cal-fs.show{
    display:flex!important;flex-direction:column;
    position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;
    width:100%!important;max-width:none!important;height:auto!important;max-height:min(85vh, 640px)!important;
    margin:0!important;border-radius:16px 16px 0 0!important;border:1px solid var(--border)!important;border-bottom:none!important;
    z-index:100050!important;padding:0!important;
    background:var(--card)!important;
    box-shadow:0 -18px 50px rgba(0,0,0,.55)!important;
    animation:sheetUp .18s ease-out!important;
    box-sizing:border-box;overflow:hidden;
  }
  .ss-date-cal-popup.ss-date-cal-fs .ss-date-cal-fs-bar{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    flex-shrink:0;padding:14px 16px;
    border-bottom:1px solid var(--border);
  }
  .ss-date-cal-popup.ss-date-cal-fs .ss-date-cal-fs-title{
    font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em;
  }
  .ss-date-cal-popup.ss-date-cal-fs .ss-date-cal-close{
    width:36px;height:36px;border-radius:10px;border:1px solid var(--border);
    background:var(--bg);color:var(--text2);cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;font-size:15px;
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-head{
    flex-shrink:0;margin:0;padding:14px 16px 8px;gap:12px;
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-head-title{
    font-size:16px!important;font-weight:750;text-transform:capitalize;
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-nav{
    width:40px!important;height:40px!important;border-radius:12px!important;
    background:var(--bg)!important;font-size:14px!important;
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-weekdays{
    flex-shrink:0;padding:0 12px;margin:0 0 6px;gap:4px;
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-weekdays span{
    font-size:12px!important;padding:8px 0!important;font-weight:700;
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-grid{
    flex:0 0 auto;align-content:start;padding:0 12px;gap:6px;min-height:0;
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-day{
    min-height:42px!important;border-radius:12px!important;font-size:15px!important;font-weight:650;
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-day.is-selected{
    box-shadow:0 4px 14px rgba(110,168,255,.35);
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-quick{
    flex-shrink:0;margin:0;padding:12px 16px calc(14px + var(--safe-bottom,0px));
    border-top:1px solid var(--border);
  }
  .ss-date-cal-popup.ss-date-cal-fs .tr-mini-cal-chip{
    width:100%;min-height:44px!important;border-radius:12px!important;
    font-size:15px!important;font-weight:700;padding:0 14px!important;
    background:color-mix(in srgb, var(--primary) 14%, transparent);
    border-color:color-mix(in srgb, var(--primary) 40%, var(--border))!important;
    color:var(--primary)!important;
  }
}

#w-trips .worker-trips-form .worker-log-submit{
  width:100%;justify-content:center;margin-top:2px;padding:13px 18px;border-radius:12px;font-weight:700;font-size:15px;
}
#w-trips .worker-trips-form .worker-log-msg{margin:0;min-height:18px;font-size:13px;font-weight:600;}
#w-trips .worker-trips-count{
  font-size:12px;font-weight:700;color:var(--text2);background:var(--bg);
  border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-variant-numeric:tabular-nums;
}
#w-trips .worker-trips-list-body{padding-top:12px;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;}
#w-trips .worker-trips-list-panel{height:100%;}
#w-trips .worker-trips-filter-inline{
  margin:0;padding:8px;border-radius:12px;flex-shrink:0;
  flex-wrap:nowrap;gap:8px;align-items:center;
}
#w-trips .worker-trips-filter-inline .diary-filter-controls{
  display:flex;align-items:center;flex:1 1 auto;flex-wrap:nowrap;gap:8px;min-width:0;
}
#w-trips .worker-trips-filter-inline .diary-filter-date{
  min-height:38px;flex:1 1 auto;min-width:0;background:var(--bg);
}
#w-trips .worker-trips-filter-inline .diary-filter-clear{
  width:38px;height:38px;border-radius:10px;margin-left:0;flex:0 0 38px;
}
#w-trips .worker-trips-layout{align-items:stretch;}
#w-trips .worker-trips-layout > .dash-col{display:flex;flex-direction:column;min-height:0;}
#w-trips .worker-trips-layout > .dash-col > .dash-panel{flex:1;min-height:100%;}
#w-trips .wt-trips-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg);}
#w-trips .wt-trips-table{margin:0;width:100%;}
#w-trips .wt-trip-route-preview{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:11px;color:var(--text2);margin-top:4px;line-height:1.3;
}
#w-trips .worker-trips-show-more{
  width:100%;justify-content:center;gap:8px;border-radius:12px;min-height:40px;flex-shrink:0;margin-top:2px;
}
#w-trips .worker-trips-empty{
  text-align:center;padding:40px 18px;border-radius:14px;border:1px dashed var(--border);
}
#w-trips .worker-trips-empty .add-empty-title{margin:0 0 8px;font-size:16px;font-weight:650;color:var(--text);}
#w-trips .worker-trips-empty .add-empty-sub{margin:0;font-size:13px;color:var(--text2);line-height:1.5;}
#w-trips .worker-trips-empty .hours-empty-ico{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;background:var(--color-surface-container-low,rgba(255,255,255,.04));
  color:var(--text2);font-size:20px;border:1px solid var(--border);
}

/* Legacy home wrappers unused after dash rewrite */
.worker-home-pc-hero,
.worker-home-pc-kpis,
.worker-home-tips,
.worker-home-today-panel{display:none!important;}

/* Worker nav extras: PC-only by default (shown in desktop media query) */
#workerNav .worker-nav-brand,
#workerNav .worker-nav-logout,
#workerNav .worker-nav-stakes,
#workerNav .worker-nav-profile{display:none;}
#workerNav .worker-nav-links{display:contents;}

/* =====================================================================
   WORKER WEB (DESKTOP) REDESIGN  —  scoped to body[data-role="worker"]
   Left rail + informative multi-column layouts for PC.
   ===================================================================== */
@media (min-width:901px){
  body[data-role="worker"]{
    --worker-desk-rail:232px;
    --worker-desk-content:1080px;
    --worker-desk-form:640px;
  }
  body[data-role="worker"]::before{display:none!important;}

  /* --- Left navigation rail --- */
  body[data-role="worker"] #workerNav,
  :root[data-ios-ui] body[data-role="worker"] #workerNav,
  html[data-pwa-standalone] body[data-role="worker"] #workerNav{
    top:0!important;bottom:0!important;left:0!important;right:auto!important;
    width:var(--worker-desk-rail)!important;
    height:100dvh!important;min-height:100dvh!important;
    flex-direction:column!important;align-items:stretch!important;align-content:stretch!important;
    padding:0!important;
    border-top:none!important;
    border-right:1px solid var(--border);
    box-shadow:4px 0 24px rgba(0,0,0,.18);
    background:var(--sidebar)!important;
    z-index:40!important;
    overflow:hidden;
    /* Cancel mobile bottom-nav nudge so brand border aligns with .top-header */
    transform:none!important;
    will-change:auto;
  }
  /* Keep rail hidden while QR scan modal is open on desktop too */
  body[data-role="worker"].tool-scan-active #workerNav,
  :root[data-ios-ui] body[data-role="worker"].tool-scan-active #workerNav,
  html[data-pwa-standalone] body[data-role="worker"].tool-scan-active #workerNav{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  [data-theme="light"] body[data-role="worker"] #workerNav{
    box-shadow:4px 0 20px rgba(15,23,42,.06);
  }
  body[data-role="worker"] #workerNav .worker-nav-brand{
    display:flex;align-items:center;justify-content:center;
    height:64px;min-height:64px;max-height:64px;flex-shrink:0;padding:0 16px;
    box-sizing:border-box;
    border-bottom:1px solid var(--border);
  }
  body[data-role="worker"] #workerNav .worker-nav-brand-inner{
    display:inline-flex;align-items:center;gap:10px;min-width:0;
  }
  body[data-role="worker"] #workerNav .worker-nav-brand .brand-wordmark{
    font-size:17px;font-weight:750;letter-spacing:-.02em;color:var(--text);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  body[data-role="worker"] #workerNav .worker-nav-brand .company-logo{
    width:28px;height:28px;border-radius:8px;object-fit:contain;display:none;
  }
  body[data-role="worker"] #workerNav .worker-nav-brand-inner.has-logo .company-logo{display:block;}
  body[data-role="worker"] #workerNav .worker-nav-brand-inner.has-logo .brand-wordmark{display:none;}
  body[data-role="worker"] #workerNav .worker-nav-links{
    display:flex!important;flex-direction:column;gap:2px;
    flex:1;min-height:0;overflow-y:auto;padding:12px 10px 16px;
  }
  body[data-role="worker"] #workerNav a,
  body[data-role="worker"] #workerNav a[data-worker-tab="w-home"],
  body[data-role="worker"] #workerNav a[data-worker-tab="w-hours"],
  body[data-role="worker"] #workerNav a[data-worker-tab="w-diary"],
  body[data-role="worker"] #workerNav a[data-worker-tab="w-notifications"]{
    flex:0 0 auto!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;
    justify-content:flex-start!important;gap:12px!important;
    height:auto!important;min-height:44px;padding:11px 14px!important;
    margin:0;border-radius:10px;color:var(--text2);
    font-size:14px;font-weight:550;text-align:left;
  }
  body[data-role="worker"] #workerNav a i{
    width:20px;font-size:15px!important;text-align:center;flex-shrink:0;opacity:.9;
  }
  body[data-role="worker"] #workerNav a span{font-size:14px;line-height:1.2;}
  body[data-role="worker"] #workerNav a:hover{
    background:rgba(110,168,255,.10);color:#fff;
  }
  [data-theme="light"] body[data-role="worker"] #workerNav a:hover{
    background:#F2F4F6;color:#141218;
  }
  body[data-role="worker"] #workerNav a.active{
    background:rgba(110,168,255,.16);color:#fff;font-weight:650;
  }
  [data-theme="light"] body[data-role="worker"] #workerNav a.active{
    background:#EEF1F4;color:#141218;
  }
  body[data-role="worker"] #workerNav .nav-badge{
    position:static;margin-left:auto;top:auto;right:auto;
    background:var(--orange,#e08200);
  }
  body[data-role="worker"] #workerNav .worker-nav-stakes,
  body[data-role="worker"] #workerNav .worker-nav-profile{display:flex!important;}
  body[data-role="worker"] #workerNav .worker-nav-logout{
    display:flex!important;align-items:center;justify-content:center;gap:10px;
    margin:10px 12px 16px;padding:12px 14px;border-radius:10px;cursor:pointer;
    border:1px solid rgba(110,168,255,.28);background:rgba(110,168,255,.08);
    color:var(--blue,#6ea8ff);font:inherit;font-size:14px;font-weight:650;
    pointer-events:auto;
  }
  body[data-role="worker"] #workerNav .worker-nav-logout:hover{
    background:var(--blue,#6ea8ff);color:#09111a;border-color:transparent;
  }
  [data-theme="light"] body[data-role="worker"] #workerNav .worker-nav-logout{
    background:#fff;border-color:#2f80ed;color:#2f80ed;
  }
  [data-theme="light"] body[data-role="worker"] #workerNav .worker-nav-logout:hover{
    background:#2f80ed;color:#fff;
  }

  /* --- Main shell offset --- */
  body[data-role="worker"] #roleWorker{
    margin-left:var(--worker-desk-rail);
    height:100dvh!important;max-height:100dvh!important;min-height:0!important;
    display:flex;flex-direction:column;overflow:hidden!important;
  }
  body[data-role="worker"] #roleWorker .top-header{
    position:relative;top:auto;z-index:20;margin-left:0!important;flex-shrink:0;
    height:64px;min-height:64px;max-height:64px;padding:0 28px;box-sizing:border-box;
    border-bottom:1px solid var(--border);backdrop-filter:blur(10px);
    background:color-mix(in srgb, var(--bg) 88%, transparent);
  }
  [data-theme="light"] body[data-role="worker"] #roleWorker .top-header{
    background:rgba(247,249,251,.92);
  }
  body[data-role="worker"] #roleWorker .header-brand .brand-wordmark{display:none;}
  body[data-role="worker"] #roleWorker .content-area.builder-main{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    padding:28px 32px 48px;
    padding-bottom:48px!important;
    scroll-padding-bottom:24px;
    --worker-scroll-extra:0px;
  }
  body[data-role="worker"] #roleWorker .content-area.builder-main > .tab-content{
    max-width:var(--worker-desk-content);margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box;
  }

  /* --- Header: show full language name --- */
  body[data-role="worker"] #roleWorker .lang-btn{
    width:auto;min-width:0;padding:0 14px;gap:8px;
  }
  body[data-role="worker"] #roleWorker .lang-btn .lang-name{display:inline;font-size:14px;font-weight:600;}
  body[data-role="worker"] #roleWorker .lang-btn i.fa-chevron-down{display:inline;font-size:11px;opacity:.7;}

  /* --- Page titles --- */
  body[data-role="worker"] .section-title{
    font-size:22px;font-weight:750;letter-spacing:-.02em;margin:0 0 18px;
  }

  /* --- Home: equal columns — activity matches hours form height --- */
  body[data-role="worker"] #w-home{max-width:var(--worker-desk-content);}
  body[data-role="worker"] #w-home .dash-layout{align-items:stretch;}
  body[data-role="worker"] #w-home .dash-col{display:flex;flex-direction:column;min-height:0;}
  body[data-role="worker"] #w-home .dash-col > .dash-panel{
    flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;min-height:0;
  }
  body[data-role="worker"] #w-home .dash-panel-activity{position:static;align-self:stretch;min-height:0!important;}
  body[data-role="worker"] #w-home .dash-panel-activity .dash-panel-body{
    flex:1;display:flex;flex-direction:column;min-height:0;
  }
  body[data-role="worker"] #w-home .dash-panel-activity .dash-activity-list{
    flex:1;min-height:0;overflow:visible;
  }
  body[data-role="worker"] #w-home .worker-home-today-hours{display:none;}
  body[data-role="worker"] #w-home .worker-log-timegrid{grid-template-columns:1.15fr 1fr 1fr;gap:12px;}

  /* --- Hours / Notifications KPIs --- */
  body[data-role="worker"] #w-notifications .stats-grid{
    grid-template-columns:repeat(2,minmax(0,280px))!important;gap:14px;margin-bottom:18px!important;
    justify-content:start;
  }
  body[data-role="worker"] #w-notifications .stat-card{
    display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
    grid-template-areas:"i v" "i l";column-gap:16px;row-gap:2px;align-items:center;
    padding:18px 20px!important;
    transition:border-color .15s,transform .15s,box-shadow .15s;
  }
  body[data-role="worker"] #w-notifications .stat-card:hover{
    border-color:rgba(110,168,255,.35);transform:translateY(-1px);
  }
  body[data-role="worker"] #w-notifications .stat-card .sc-icon{
    grid-area:i;width:48px;height:48px;font-size:20px;margin:0!important;align-self:center;
  }
  body[data-role="worker"] #w-notifications .stat-card .sc-value{
    grid-area:v;align-self:end;margin:0!important;font-size:26px;
  }
  body[data-role="worker"] #w-notifications .stat-card .sc-label{
    grid-area:l;align-self:start;font-size:12px;
  }

  /* --- Tools PC layout --- */
  body[data-role="worker"] #w-tools.active{
    display:flex;flex-direction:column;min-height:calc(100dvh - 120px);
  }
  body[data-role="worker"] #w-tools .tools-worker-page,
  body[data-role="worker"] #w-tools .tools-worker-scroll{
    flex:1;display:flex;flex-direction:column;min-height:0;
  }
  body[data-role="worker"] #w-tools .worker-tools-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;margin-bottom:0;flex:1;
  }
  body[data-role="worker"] #w-tools .worker-tools-layout > .dash-col > .dash-panel{
    min-height:320px;height:100%;
  }
  body[data-role="worker"] #w-tools .worker-tools-stock-panel{margin-top:16px;}
  body[data-role="worker"] #workerToolsScanBar{display:none!important;}
  body[data-role="worker"].worker-w-tools-active #roleWorker .content-area.builder-main,
  body[data-role="worker"].worker-w-tools-active .builder-main{
    padding-bottom:32px!important;
    scroll-padding-bottom:24px;
  }
  body[data-role="worker"] #w-tools .worker-tools-scan-btn{display:inline-flex;}

  /* --- Hours list --- */
  body[data-role="worker"] #w-hours{max-width:960px;}
  body[data-role="worker"] #w-hours .worker-date-strip{
    display:contents;
  }

  /* --- Diary: form + history side by side (only when tab is active) --- */
  body[data-role="worker"] #w-diary.worker-diary-pc.active{
    display:flex;flex-direction:column;gap:16px;align-items:stretch;
  }
  body[data-role="worker"] #w-diary.worker-diary-pc:not(.active){
    display:none!important;
  }
  body[data-role="worker"] #w-diary .worker-diary-layout{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:20px;align-items:stretch;width:100%;
  }
  body[data-role="worker"] #w-diary .worker-diary-layout > .worker-diary-pc-form,
  body[data-role="worker"] #w-diary .worker-diary-layout > .worker-diary-pc-history{min-width:0;}

  /* --- Trips: form + history side by side --- */
  body[data-role="worker"] #w-trips.worker-trips-pc.active{
    display:flex;flex-direction:column;gap:16px;align-items:stretch;
  }
  body[data-role="worker"] #w-trips.worker-trips-pc:not(.active){
    display:none!important;
  }
  body[data-role="worker"] #w-trips .worker-trips-layout{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;align-items:stretch;width:100%;
  }
  body[data-role="worker"] #w-trips .worker-trips-layout > .worker-trips-pc-form,
  body[data-role="worker"] #w-trips .worker-trips-layout > .worker-trips-pc-history{min-width:0;}
  body[data-role="worker"] #w-trips .wt-trips-table-hint{display:none;}
  body[data-role="worker"] #w-trips .wt-trips-table{display:table!important;width:100%;table-layout:fixed;font-size:13px;}
  body[data-role="worker"] #w-trips .wt-trips-table th,
  body[data-role="worker"] #w-trips .wt-trips-table td{
    white-space:normal;word-break:break-word;padding:12px 10px;vertical-align:middle;line-height:1.3;
  }
  body[data-role="worker"] #w-trips .wt-trips-table th{font-size:11px;color:var(--text2);text-align:left;}
  body[data-role="worker"] #w-trips .wt-trips-table th:first-child,
  body[data-role="worker"] #w-trips .wt-trips-table td:first-child{width:36px;text-align:center;}
  body[data-role="worker"] #w-trips .wt-trips-table th:nth-child(3),
  body[data-role="worker"] #w-trips .wt-trips-table td:nth-child(3){width:70px;text-align:center;font-weight:700;}
  body[data-role="worker"] #w-trips .wt-trips-table th:nth-child(4),
  body[data-role="worker"] #w-trips .wt-trips-table td:nth-child(4){width:110px;text-align:center;}
  body[data-role="worker"] #w-trips .wt-trips-table th:nth-child(5),
  body[data-role="worker"] #w-trips .wt-trips-table td:nth-child(5){width:56px;text-align:center;}
  body[data-role="worker"] #w-trips .wt-trip-route-preview{display:-webkit-box!important;}
  body[data-role="worker"] #w-diary .photo-upload-btn{
    flex-direction:row;padding:16px;gap:8px;color:var(--primary);font-weight:600;
  }
  body[data-role="worker"] #w-diary .photo-upload-btn > i{display:inline-flex;}
  body[data-role="worker"] #w-diary .photo-upload-hint{display:block;}
  body[data-role="worker"] #w-diary .card .btn-primary{
    width:auto;display:inline-flex;padding:11px 22px;font-size:14px;margin-top:8px;
  }
  body[data-role="worker"] #w-diary .diary-form-row{
    display:grid;grid-template-columns:1fr 1fr;gap:12px;
  }
  body[data-role="worker"] #w-diary .diary-entry{
    padding:14px 0;border-bottom:1px solid var(--border);
  }
  body[data-role="worker"] #w-diary .diary-entry:last-child{border-bottom:0;}

  /* --- Notifications list --- */
  body[data-role="worker"] #w-notifications .worker-notify-card{
    transition:border-color .15s,transform .15s,box-shadow .15s;
  }
  body[data-role="worker"] #w-notifications .notify-kpi{
    grid-template-columns:1fr 1fr;
  }

  /* --- Stakes directory: list + detail --- */
  body[data-role="worker"] #w-stakes .worker-stakes-layout{
    display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.15fr);gap:16px;align-items:start;
  }
  body[data-role="worker"] #w-stakes .worker-stakes-list{max-height:min(70vh,640px);overflow:auto;padding-right:2px;}
  body[data-role="worker"] #w-stakes .worker-stake-detail-panel{position:sticky;top:8px;min-height:320px;}
  body[data-role="worker"] #w-stakes .worker-stake-row-chevron{display:none;}
  body[data-role="worker"] #w-stakes .worker-stake-detail-grid{grid-template-columns:1fr 1fr;}
  @media (max-width:1100px){
    body[data-role="worker"] #w-stakes .worker-stakes-layout{grid-template-columns:1fr;}
    body[data-role="worker"] #w-stakes .worker-stakes-list{max-height:none;}
    body[data-role="worker"] #w-stakes .worker-stake-detail-panel{position:static;min-height:0;}
    body[data-role="worker"] #w-stakes .worker-stake-row-chevron{display:inline-block;}
    body[data-role="worker"] #w-stakes .worker-stake-detail-grid{grid-template-columns:1fr;}
  }

  /* --- Tools (legacy scan bar hidden on desk; see tools PC layout above) --- */
  body[data-role="worker"] #w-tools .tools-last-action{cursor:default;}

  /* --- Center bottom-sheets on desktop --- */
  body[data-role="worker"] .ios-sheet-overlay{align-items:center;padding:24px;}

  @media (max-width:1100px){
    body[data-role="worker"] #w-diary .worker-diary-layout{grid-template-columns:1fr;}
    body[data-role="worker"] #w-tools .worker-tools-layout{grid-template-columns:1fr;}
  }
}
/* Stavby: KPI / filter / cards */
#admin-sites .sites-kpi{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px;width:100%;
}
@media(max-width:900px){#admin-sites .sites-kpi{grid-template-columns:1fr 1fr;}}
#admin-sites .sites-kpi .sk-stat{
  min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
#admin-sites .sites-kpi .sk-stat .sc-icon{
  width:42px;height:42px;border-radius:12px;margin:0;font-size:16px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
#admin-sites .sites-kpi .sk-stat.blue .sc-icon{background:rgba(41,121,255,.16);color:var(--blue);}
#admin-sites .sites-kpi .sk-stat.green .sc-icon{background:rgba(0,200,83,.14);color:var(--green);}
#admin-sites .sites-kpi .sk-stat.yellow .sc-icon{background:rgba(255,214,0,.14);color:var(--yellow);}
#admin-sites .sites-kpi .sk-stat.orange .sc-icon{background:rgba(255,145,0,.14);color:var(--orange);}
#admin-sites .sites-kpi .sk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#admin-sites .sites-kpi .sk-value{
  font-size:22px;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#admin-sites .sites-kpi .sk-label{font-size:12px;color:var(--text2);line-height:1.3;}

#admin-sites .sites-filter-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;
  margin:0 0 16px;padding:10px 12px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-sites .sites-filter-bar{box-shadow:0 1px 3px rgba(15,21,37,.04);}
#admin-sites .sites-filter-controls{
  display:flex;align-items:center;flex:1 1 280px;flex-wrap:wrap;gap:8px;min-width:0;
}
#admin-sites .sites-filter-seg{
  display:inline-flex;align-items:center;padding:3px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);flex-shrink:0;
}
[data-theme="light"] #admin-sites .sites-filter-seg{background:#F2F4F6;border-color:#E6E8EB;}
#admin-sites .sites-filter-seg-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;
  color:var(--text2);font:inherit;font-size:12px;font-weight:600;line-height:1;
  padding:9px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s,box-shadow .15s;
}
#admin-sites .sites-filter-seg-btn:hover{color:var(--text);}
#admin-sites .sites-filter-seg-btn.active{
  background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);
}
[data-theme="light"] #admin-sites .sites-filter-seg-btn.active{background:#fff;color:#141218;}
#admin-sites .sites-filter-search{
  position:relative;display:flex;align-items:center;gap:8px;flex:1 1 180px;min-width:0;
  min-height:42px;padding:0 12px;border-radius:12px;
  background:var(--bg);border:1px solid var(--border);box-sizing:border-box;
}
[data-theme="light"] #admin-sites .sites-filter-search{background:#fff;}
#admin-sites .sites-filter-search > i{
  display:inline-flex;width:16px;justify-content:center;color:var(--text2);font-size:13px;flex-shrink:0;
}
#admin-sites .sites-filter-search input{
  flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--text);
  font:inherit;font-size:13px;font-weight:500;outline:none;padding:0;min-height:40px;
}
#admin-sites .sites-filter-clear{
  appearance:none;-webkit-appearance:none;flex-shrink:0;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;
  transition:background .15s,color .15s,border-color .15s;
}
#admin-sites .sites-filter-clear:hover{color:var(--text);background:rgba(255,255,255,.04);}
#admin-sites .sites-filter-clear.is-active{
  color:var(--orange);border-color:rgba(255,145,0,.35);
  background:rgba(255,145,0,.12);
}
[data-theme="light"] #admin-sites .sites-filter-clear:hover{background:#F2F4F6;color:#141218;}
@media(max-width:720px){
  #admin-sites .sites-filter-bar{
    display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;padding:10px;
  }
  #admin-sites .sites-filter-controls{display:contents;}
  #admin-sites .sites-filter-seg{
    grid-column:1 / -1;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  }
  #admin-sites .sites-filter-seg-btn{flex:1;text-align:center;padding:10px 8px;}
  #admin-sites .sites-filter-search{grid-column:1;min-width:0;flex:none;}
  #admin-sites .sites-filter-clear{grid-column:2;margin:0;}
}

/* Mobile sites: 2 KPIs (like workers), larger title, search+reset one row */
@media(max-width:900px){
  #admin-sites .sites-head{
    flex-wrap:nowrap;align-items:center;gap:12px;margin:0 0 16px;
  }
  #admin-sites .sites-head .section-title{
    font-size:22px;font-weight:750;letter-spacing:-.02em;margin:0;line-height:1.15;
  }
  #admin-sites .sites-head .section-title i{font-size:18px;opacity:.85;}
  #admin-sites .sites-head .sites-add-btn{flex-shrink:0;}
  #admin-sites .sites-kpi{
    grid-template-columns:1fr 1fr;gap:0;margin:0 0 14px;
    border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--card);
  }
  #admin-sites .sites-kpi .sk-mobile-hide{display:none!important;}
  #admin-sites .sites-kpi .sk-stat{
    border:none;border-radius:0;background:transparent;padding:14px 12px;gap:10px;
  }
  #admin-sites .sites-kpi .sk-stat.blue{border-right:1px solid var(--border);}
  #admin-sites .sites-kpi .sk-stat .sc-icon{width:36px;height:36px;font-size:14px;border-radius:10px;}
  #admin-sites .sites-kpi .sk-value{font-size:20px;}
  #admin-sites .sites-kpi .sk-label{font-size:11px;}
}

#admin-sites .sites-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;flex-wrap:wrap;
}
#admin-sites .sites-head .section-title{margin:0;}
#admin-sites .sites-head .sites-add-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:36px;padding:9px 16px;border-radius:10px;font-size:13px;font-weight:600;
  letter-spacing:-.01em;line-height:1.2;
}
#admin-sites .sites-head .sites-add-btn i{font-size:12px;}
html:not([data-theme="light"]) #admin-sites .sites-head .sites-add-btn{
  background:#2f80ed;color:#fff;border-color:transparent;
}
[data-theme="light"] #admin-sites .sites-head .sites-add-btn{
  background:#2f6bff;color:#fff;border-color:transparent;
}
@media(max-width:900px){
  body[data-role="admin"] #admin-sites .sites-head .sites-add-btn{
    background:#2f80ed!important;color:#fff!important;
  }
  [data-theme="light"] body[data-role="admin"] #admin-sites .sites-head .sites-add-btn{
    background:#2f6bff!important;color:#fff!important;
  }
}
#admin-sites .sites-list{display:flex;flex-direction:column;gap:12px;}
#admin-sites .admin-site-card{
  margin:0;padding:0;overflow:hidden;border-radius:16px;position:relative;
  background:var(--card);border:1px solid var(--border);
  transition:border-color .15s,box-shadow .15s;
}
#admin-sites .admin-site-card:hover{border-color:rgba(110,168,255,.32);box-shadow:0 6px 28px rgba(0,0,0,.2);}
[data-theme="light"] #admin-sites .admin-site-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.08);}
#admin-sites .admin-site-card .asc-row{display:flex;align-items:center;gap:10px;padding:16px 20px;flex-wrap:wrap;}
#admin-sites .admin-site-card .asc-head{display:flex;align-items:center;gap:14px;flex:1;min-width:200px;cursor:pointer;}
#admin-sites .admin-site-card .admin-site-ico{
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:20px;flex-shrink:0;
}
#admin-sites .admin-site-card .asc-titles{min-width:0;}
#admin-sites .admin-site-card .asc-titles h4{color:var(--text);font-size:16px;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#admin-sites .admin-site-card .asc-titles p{font-size:12px;color:var(--text2);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#admin-sites .admin-site-card .asc-titles p i{margin-right:4px;}
#admin-sites .admin-site-card .asc-lunch{background:rgba(41,121,255,.12);color:#8cb4ff;white-space:nowrap;}
[data-theme="light"] #admin-sites .admin-site-card .asc-lunch{background:#E3F2FD;color:#1565C0;}
#admin-sites .admin-site-card .asc-hours{
  background:rgba(0,200,83,.14);color:var(--green);white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;font-weight:650;
}
[data-theme="light"] #admin-sites .admin-site-card .asc-hours{background:#E8F5E9;color:#2E7D32;}
#admin-sites .admin-site-card .asc-hours i{font-size:11px;opacity:.9;}
#admin-sites .admin-site-card .asc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#admin-sites .admin-site-card .asc-actions{display:flex;align-items:center;gap:8px;}
#admin-sites .admin-site-card .asc-actions .btn-sm{
  width:36px;height:36px;min-width:36px;padding:0;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
}
#admin-sites .admin-site-card .admin-dash-site-workers{padding:18px 20px 20px;}
#admin-sites .sites-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:48px 24px;background:var(--card);border:1px solid var(--border);border-radius:16px;gap:10px;
}
#admin-sites .sites-empty .sites-empty-ico{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--bg);color:var(--text2);font-size:20px;border:1px solid var(--border);
}
#admin-sites .sites-empty .sites-empty-title{margin:0;font-size:16px;font-weight:700;color:var(--text);}
#admin-sites .sites-empty .sites-empty-sub{margin:0;font-size:13px;color:var(--text2);line-height:1.45;max-width:360px;}
@media(max-width:600px){
  #admin-sites .admin-site-card .asc-row{flex-direction:column;align-items:stretch;gap:12px;padding:16px;}
  #admin-sites .admin-site-card .asc-head{width:100%;min-width:0;align-items:flex-start;}
  #admin-sites .admin-site-card .asc-titles h4{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;}
  #admin-sites .admin-site-card .asc-titles p{white-space:normal;overflow:visible;text-overflow:clip;}
  #admin-sites .admin-site-card .asc-meta{width:100%;}
  #admin-sites .admin-site-card .asc-actions{width:100%;}
  #admin-sites .admin-site-card .asc-actions .asc-chevron{margin-left:auto;}
}

/* ===== Android / cold-start smoothness ===== */
html.android-app .tab-page:not(.active),
html.android-app .admin-page:not(.active),
html[data-android-app="1"] .tab-page:not(.active),
html[data-android-app="1"] .admin-page:not(.active){
  content-visibility:hidden;
  contain-intrinsic-size:1px 800px;
}
html.android-app .mobile-card,
html.android-app .admin-site-card,
html.android-app .tool-row,
html[data-android-app="1"] .mobile-card{
  content-visibility:auto;
  contain-intrinsic-size:80px;
}
html.android-app *,
html[data-android-app="1"] *{
  -webkit-tap-highlight-color:transparent;
}
html.android-app .bottom-nav,
html[data-android-app="1"] .bottom-nav{
  transform:translateZ(0);
  backface-visibility:hidden;
}
/* Do NOT set transform:translateZ(0) alone on .sidebar — it overrides
   mobile drawer translateX(-100%) / .open and leaves the menu stuck open. */
html.android-app .sidebar,
html[data-android-app="1"] .sidebar{
  backface-visibility:hidden;
}
@media(min-width:901px){
  html.android-app .sidebar,
  html[data-android-app="1"] .sidebar{
    transform:translateZ(0);
  }
}
@media(max-width:900px){
  html.android-app .sidebar,
  html[data-android-app="1"] .sidebar{
    transform:translate3d(-105%,0,0);
  }
  html.android-app .sidebar.open,
  html[data-android-app="1"] .sidebar.open{
    transform:translate3d(0,0,0);
  }
}
/* System nav/status bars sync to this same solid color — no darker gradient seam */
html.android-app .bottom-nav,
html[data-android-app="1"] .bottom-nav,
html.android-app .top-header,
html[data-android-app="1"] .top-header{
  background:var(--sidebar)!important;
  background-image:none!important;
}
html.android-app[data-theme="light"] .bottom-nav,
html[data-android-app="1"][data-theme="light"] .bottom-nav,
html.android-app[data-theme="light"] .top-header,
html[data-android-app="1"][data-theme="light"] .top-header{
  background:var(--card)!important;
}
/* Tight bottom scroll: clear nav only, no huge empty tail */
html.android-app body[data-role="worker"] #roleWorker .content-area.builder-main,
html[data-android-app="1"] body[data-role="worker"] #roleWorker .content-area.builder-main{
  padding-bottom:calc(var(--worker-nav-total-height) + var(--worker-scroll-extra))!important;
  scroll-padding-bottom:calc(var(--worker-nav-total-height) + 8px);
}
html.android-app body[data-role="worker"].worker-w-tools-active #roleWorker .content-area.builder-main,
html[data-android-app="1"] body[data-role="worker"].worker-w-tools-active #roleWorker .content-area.builder-main{
  padding-bottom:calc(var(--worker-nav-total-height) + var(--tools-scan-bar-h) + var(--worker-scroll-extra))!important;
  scroll-padding-bottom:calc(var(--worker-nav-total-height) + var(--tools-scan-bar-h) + 8px);
}
/* Admin has no bottom nav — keep end gap so last cards are reachable */
html.android-app body[data-role="admin"],
html[data-android-app="1"] body[data-role="admin"]{
  --admin-mobile-pad-bottom: calc(env(safe-area-inset-bottom, 0px) + 28px);
  --admin-mobile-scroll-extra: 88px;
  --ss-admin-scroll-end: calc(env(safe-area-inset-bottom, 0px) + 100px);
}
html.android-app body[data-role="admin"] #roleAdmin .content-area,
html[data-android-app="1"] body[data-role="admin"] #roleAdmin .content-area{
  padding-bottom:calc(var(--admin-mobile-pad-bottom) + var(--admin-mobile-scroll-extra))!important;
  scroll-padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 64px);
}
html.android-app body[data-role="admin"] #admin-settings,
html[data-android-app="1"] body[data-role="admin"] #admin-settings,
html.android-app body[data-role="admin"] #admin-dashboard,
html[data-android-app="1"] body[data-role="admin"] #admin-dashboard,
html.android-app body[data-role="admin"] #roleAdmin .tab-content.active,
html[data-android-app="1"] body[data-role="admin"] #roleAdmin .tab-content.active{
  padding-bottom:16px;
}
/* Soft boot reveal — avoid hard cut from snapshot/skeleton */
html.booting .btn,
html.booting .login-btn,
html.boot-restoring .btn,
html.boot-restoring .login-btn,
html.boot-fade-out .btn,
html.boot-fade-out .login-btn{
  transition:none!important;
}
html.android-app.booting #appShell,
html[data-android-app="1"].booting #appShell,
html.android-app.boot-restoring #appShell,
html[data-android-app="1"].boot-restoring #appShell{
  opacity:0.001;
}
html.android-app:not(.booting):not(.boot-restoring) #appShell,
html[data-android-app="1"]:not(.booting):not(.boot-restoring) #appShell{
  opacity:1;
  transition:opacity .14s ease;
}

/* ---- Tab scroll: reserve bottom chrome on shell (not inside scroller) ----
   Fixed nav/FAB overlay the reserved padding; flex scroller height shrinks
   so last records stay fully reachable. Shell is pinned to visible viewport
   (see above) so padding-bottom actually clears the nav. */
@media (max-width:900px){
  body[data-role="worker"] #roleWorker{
    bottom:0!important;
    height:var(--ios-app-vh, 100dvh)!important;
    max-height:var(--ios-app-vh, 100dvh)!important;
    min-height:0!important;
    padding-bottom:var(--ss-bottom-chrome, var(--worker-nav-total-height))!important;
  }
  body[data-role="worker"].worker-w-profile-active #roleWorker{
    padding-bottom:env(safe-area-inset-bottom, 0px)!important;
  }
  /* Chrome already reserved on shell — keep a small end gap in scroller */
  body[data-role="worker"] #roleWorker .content-area.builder-main,
  body[data-role="worker"].worker-w-tools-active #roleWorker .content-area.builder-main,
  body[data-role="worker"].worker-w-profile-active #roleWorker .content-area.builder-main,
  html.android-app body[data-role="worker"] #roleWorker .content-area.builder-main,
  html[data-android-app="1"] body[data-role="worker"] #roleWorker .content-area.builder-main,
  html.android-app body[data-role="worker"].worker-w-tools-active #roleWorker .content-area.builder-main,
  html[data-android-app="1"] body[data-role="worker"].worker-w-tools-active #roleWorker .content-area.builder-main,
  :root[data-ios-ui] body[data-role="worker"] #roleWorker .content-area.builder-main,
  html[data-pwa-standalone] body[data-role="worker"] #roleWorker .content-area.builder-main{
    padding-bottom:8px!important;
    scroll-padding-bottom:8px!important;
  }
  /* iPhone / iOS app: +20px end room so diary/lists fully scroll past the nav */
  :root[data-ios-ui] body[data-role="worker"] #roleWorker .content-area.builder-main,
  html.ios-app body[data-role="worker"] #roleWorker .content-area.builder-main,
  html[data-ios-app="1"] body[data-role="worker"] #roleWorker .content-area.builder-main{
    padding-bottom:28px!important;
    scroll-padding-bottom:28px!important;
  }
  /* Home fits on one screen — no end padding / no rubber-band scroll */
  body[data-role="worker"].worker-w-home-active #roleWorker .content-area.builder-main,
  html.android-app body[data-role="worker"].worker-w-home-active #roleWorker .content-area.builder-main,
  html[data-android-app="1"] body[data-role="worker"].worker-w-home-active #roleWorker .content-area.builder-main{
    padding-bottom:0!important;
    scroll-padding-bottom:0!important;
  }
  body[data-role="worker"].worker-w-home-active #w-home{
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
  /* Profile (nav hidden): bottom end gap */
  body[data-role="worker"].worker-w-profile-active #roleWorker .content-area.builder-main,
  html.android-app body[data-role="worker"].worker-w-profile-active #roleWorker .content-area.builder-main,
  html[data-android-app="1"] body[data-role="worker"].worker-w-profile-active #roleWorker .content-area.builder-main{
    padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px))!important;
    scroll-padding-bottom:80px!important;
  }
  /* Tools: spacer clears FAB; keep page padding minimal */
  body[data-role="worker"].worker-w-tools-active #w-tools .tools-worker-scroll,
  body[data-role="worker"].worker-w-tools-active #w-tools .tools-worker-page{
    padding-bottom:0!important;
  }
  /* Generic end spacer for tab pages */
  #roleWorker .tab-content .tab-scroll-end{
    height:24px;
    width:100%;
    flex-shrink:0;
    pointer-events:none;
  }
  :root[data-ios-ui] #roleWorker .tab-content .tab-scroll-end,
  html.ios-app #roleWorker .tab-content .tab-scroll-end,
  html[data-ios-app="1"] #roleWorker .tab-content .tab-scroll-end{
    height:44px; /* +20px — last cards clear bottom nav on iPhone */
  }
}
@media (min-width:901px){
  body[data-role="worker"] #roleWorker{
    padding-bottom:0!important;
  }
}

/* ===== QR scan: force-hide worker bottom nav (beats iOS z-index / height rules) ===== */
body.tool-scan-active #workerNav,
body.tool-scan-active #workerNav.bottom-nav,
body[data-role="worker"].tool-scan-active #workerNav,
body[data-role="worker"].tool-scan-active #workerNav.bottom-nav,
:root[data-ios-ui] body[data-role="worker"].tool-scan-active #workerNav,
:root[data-ios-ui] body[data-role="worker"].tool-scan-active #workerNav.bottom-nav,
html[data-ios-ui] body[data-role="worker"].tool-scan-active #workerNav,
html.ios-app body[data-role="worker"].tool-scan-active #workerNav,
html[data-ios-app="1"] body[data-role="worker"].tool-scan-active #workerNav,
html[data-pwa-standalone] body[data-role="worker"].tool-scan-active #workerNav,
#workerNav[hidden]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  transform:translate3d(0,140%,0)!important;
  z-index:0!important;
}
body.tool-scan-active #workerNav a,
body.tool-scan-active #workerNav .worker-nav-logout,
body[data-role="worker"].tool-scan-active #workerNav a{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:0!important;
}
body.tool-scan-active #workerToolsScanBar{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Role editor (Nastavení → Role). List rows reuse .settings-feat-card. */
.roles-list-actions{margin-top:16px;}
.roles-empty{color:var(--text2);padding:24px;text-align:center;}
.roles-card-chevron{color:var(--text2);flex-shrink:0;font-size:13px;}
.roles-editor{max-width:640px;}
.roles-editor-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.roles-editor-head h4{margin:0;font-size:18px;}
.roles-perm-head{font-weight:700;margin:18px 0 10px;font-size:14px;}
.roles-perm-list{display:flex;flex-direction:column;gap:8px;}
.roles-perm-item{
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 12px;
  background:var(--card);
}
.roles-perm-item.is-on{border-color:rgba(110,168,255,.35);}
.roles-perm-row{display:flex;align-items:center;gap:8px;}
.roles-perm-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer;}
.roles-perm-ico{
  width:32px;height:32px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--color-surface-container-high);color:var(--text2);
}
.roles-perm-label{font-weight:600;font-size:14px;}
.roles-perm-hint{margin:8px 0 0 42px;font-size:12px;color:var(--text2);line-height:1.4;}
.roles-editor-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
[data-theme="light"] #admin-settings .settings-feat-copy-top .roles-chip{background:#eceef0;color:#5c6570;}
