:root {
  color-scheme: light;
  --font-size-adjust:0px;
  --bg:#f6f6f6; --sidebar:#fcfcfc; --surface:#fff; --surface-2:#f4f4f4; --surface-3:#ececec;
  --text:#0d0d0d; --muted:#6b6b6b; --faint:#9b9b9b; --line:#E8E8E6; --accent:#247a61; --accent-soft:#e6f4ef;
  --danger:#d23b3b; --danger-soft:#fff0f1; --warning:#a3600b; --warning-soft:#fff7df; --shadow:0 10px 30px rgba(0,0,0,.07);
  --radius:14px; --sidebar-width:260px;
  --button-height:32px; --button-font-size:calc(12px + var(--font-size-adjust)); --button-icon-size:15px; --button-radius:999px;
}
:root[data-font-size="large"] { --font-size-adjust:1.5px; }
:root[data-font-size="larger"] { --font-size-adjust:3px; }

.notification-toast-region {
  position:fixed;
  z-index:120;
  top:72px;
  right:22px;
  width:min(390px,calc(100vw - 28px));
  display:flex;
  flex-direction:column;
  gap:10px;
  pointer-events:none;
}
.notification-toast-shell {
  max-height:180px;
  opacity:0;
  overflow:visible;
  transform:translateY(-10px) scale(.985);
  transition:opacity .2s ease,transform .24s ease,max-height .24s ease,margin .24s ease;
}
.notification-toast-shell.is-visible { opacity:1; transform:none; }
.notification-toast-shell.is-closing { opacity:0; overflow:hidden; transform:translateX(28px) scale(.98); margin-bottom:-10px; }
.notification-toast {
  pointer-events:auto;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 34px;
  gap:11px;
  align-items:start;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 16px 42px rgba(20,28,25,.16);
}
.notification-toast-icon {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--accent);
  background:var(--accent-soft);
}
.notification-toast-icon svg { width:20px; height:20px; }
.notification-toast-content { min-width:0; display:grid; gap:4px; color:inherit; text-decoration:none; }
.notification-toast-content:is(button) { border:0; outline:0; background:transparent; padding:0; font:inherit; text-align:left; cursor:pointer; }
.notification-toast-content strong { font-size:calc(15px + var(--font-size-adjust)); line-height:1.25; }
.notification-toast-content span { color:var(--muted); font-size:calc(13px + var(--font-size-adjust)); line-height:1.4; overflow-wrap:anywhere; }
.notification-toast-content small { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.notification-toast-close {
  width:34px;
  height:34px;
  border:0;
  border-radius:9px;
  display:grid;
  place-items:center;
  color:var(--muted);
  background:transparent;
  cursor:pointer;
}
.notification-toast-close:hover { color:var(--text); background:var(--surface-2); }
.notification-toast-close svg { width:18px; height:18px; }
[data-live-upcoming-services] { transition:opacity .18s ease,transform .18s ease; }
[data-live-upcoming-services].live-refreshing { opacity:.55; }
[data-live-upcoming-services].live-refreshed { opacity:0; transform:translateY(5px); }
[data-live-upcoming-services] .shift-head { border-bottom:0; }
.publisher-upcoming-services .schedule-list { gap:12px; }
.publisher-upcoming-services .shift { padding:13px 17px; background:var(--surface-2); }
.publisher-upcoming-services .shift-head { padding-left:0; padding-top: 0; }
.publisher-upcoming-services .shift-body { border-radius:15px; background:var(--surface); }
[data-theme="dark"] .publisher-upcoming-services .shift { border-color:var(--line); background:#0b0c0e; }
[data-theme="dark"] .publisher-upcoming-services .shift-body { background:var(--bg); }
[data-live-cancellation-services] { transition:opacity .18s ease,transform .18s ease; }
[data-live-cancellation-services].live-refreshing { opacity:.55; }
[data-live-cancellation-services].live-refreshed { opacity:0; transform:translateY(5px); }
@media (max-width:700px) {
  .notification-toast-region { top:64px; right:12px; width:calc(100vw - 24px); }
}
@media (prefers-reduced-motion:reduce) {
  .notification-toast-shell { transition:none; }
}
[data-theme="dark"] { color-scheme:dark; --bg:#101114; --sidebar:#0c0d0f; --surface:#17181b; --surface-2:#1c1d21; --surface-3:#24262b; --text:#b5bac7; --muted:#9a9da6; --faint:#70747e; --line:#22232698; --accent:#69c8a9; --accent-soft:#173a31; --danger:#ff7f86; --danger-soft:#3d2025; --warning:#e8b45d; --warning-soft:#3b301d; --shadow:0 18px 48px rgba(0,0,0,.38); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { min-height:100%; overflow-x:hidden; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; min-height:100%; overflow-x:hidden; background:var(--bg); color:var(--text); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:calc(15px + var(--font-size-adjust)); -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; color:inherit; }
/* Keep our control boxes consistent; retain native checkboxes and specialist pickers. */
:where(button,input:not(:is([type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"])),select,textarea) {
  -webkit-appearance:none;
  appearance:none;
}
:where(input:not(:is([type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"],[type="hidden"])),select,textarea) {
  min-width:0;
  max-width:100%;
  margin:0;
}
input:is([type="date"],[type="time"],[type="month"],[type="week"],[type="datetime-local"]) {
  display:block;
  width:100%;
  min-inline-size:0;
  max-inline-size:100%;
  text-align:left;
}
input::-webkit-date-and-time-value { min-width:0; min-height:1.25em; text-align:inherit; }
input::-webkit-datetime-edit { min-width:0; padding:0; }
input::-webkit-datetime-edit-fields-wrapper { padding:0; }
svg.lucide { display:block; width:18px; height:18px; flex:0 0 auto; }
a { color:inherit; text-decoration:none; }
.app { display:grid; grid-template-columns:var(--sidebar-width) minmax(0,1fr); min-height:100vh; }
.sidebar { position:sticky; top:0; display:flex; height:100vh; min-width:0; flex-direction:column; border-right:1px solid var(--line); background:var(--bg); padding:10px; }
.brand { display:flex; align-items:center; gap:10px; min-height:46px; padding:6px 8px 16px; font-weight:400; letter-spacing:-.02em; }
.brand-mark { display:grid; width:31px; height:31px; flex:0 0 31px; place-items:center; border-radius:0; background:transparent; color:var(--text); font-size:calc(16px + var(--font-size-adjust)); }
.brand-mark svg { width:24px; height:24px; stroke-width:1.5; }
.nav-label { margin:16px 10px 7px; color:var(--faint); font-size:calc(10px + var(--font-size-adjust)); font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.nav { display:grid; gap:3px; }
.nav a { display:flex; min-height:40px; align-items:center; gap:11px; border-radius:11px; padding:8px 10px; color:var(--muted); font-size:calc(14px + var(--font-size-adjust)); }
.nav a:hover { background:var(--surface-2); color:var(--text); }
.nav a.active { background:var(--surface-3); color:var(--text); font-weight:400; }
.nav-icon { display:grid; width:22px; height:22px; place-items:center; color:inherit; font-size:calc(16px + var(--font-size-adjust)); }
.nav-icon svg.lucide { width:19px; height:19px; }
.sidebar-spacer { flex:1; }
.account { display:flex; align-items:center; gap:10px; padding:9px 7px; border-top:1px solid var(--line); margin-top:10px; }
.avatar { display:grid; width:33px; height:33px; flex:0 0 33px; place-items:center; border-radius:50%; background:#adb2b5; color:white; font-size:calc(12px + var(--font-size-adjust)); font-weight:700; }
.account-copy { min-width:0; flex:1; }
.account-name,.account-role { display:block; }
.account-name { overflow:hidden; font-size:calc(13px + var(--font-size-adjust)); font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.account-role { margin-top:2px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.logout { border:0; background:transparent; color:var(--muted); cursor:pointer; padding:6px; }
.main { min-width:0; }
.mobile-bar { display:none; }
.content { width:min(calc(100% - 48px),1320px); max-width:calc(100% - 48px); margin:0 auto; padding:36px 0 80px; }
.page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:26px; }
.page-head-actions { display:flex; flex:0 0 auto; align-items:center; gap:9px; flex-wrap:wrap; }
.eyebrow { margin-bottom:7px; color:var(--accent); font-size:calc(11px + var(--font-size-adjust)); font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:7px; font-size:calc(clamp(28px,4vw,42px) + var(--font-size-adjust)); line-height:1.08; letter-spacing:-.04em; }
h2 { margin-bottom:6px; font-size:calc(20px + var(--font-size-adjust)); letter-spacing:-.025em; font-weight: 400;}
h3 { margin-bottom:5px; font-size:calc(15px + var(--font-size-adjust)); letter-spacing:-.01em; font-weight: 500;}
strong { font-weight: 500; }
.subtitle { max-width:720px; margin:0; color:var(--muted); line-height:1.55; }
.actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.btn,.btn.small { display:inline-flex; min-height:var(--button-height); align-items:center; justify-content:center; gap:8px; border:1px solid var(--line); border-radius:var(--button-radius); background:var(--surface); padding:10px 15px; font-size:var(--button-font-size); font-weight:500; line-height:1.25; text-align:center; white-space:nowrap; cursor:pointer; box-shadow:0 1px 2px rgba(0,0,0,.03); }
.btn svg,.btn [data-lucide] { width:var(--button-icon-size); height:var(--button-icon-size); flex:0 0 auto; }
.btn:hover:not(:disabled) { background:var(--surface-2); }
.btn.primary { border-color:var(--text); background:var(--text); color:var(--bg); }
.btn.primary:hover:not(:disabled) { background:var(--text); opacity:.9; }
.btn.accent { border-color:var(--accent); background:var(--accent); color:white; }
.btn.accent:hover:not(:disabled) { background:var(--accent); opacity:.9; }
[data-theme="dark"] .btn.accent { border-color:#32846c; background:#246b58; color:#f7fffc; box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 2px 8px rgba(0,0,0,.28); }
[data-theme="dark"] .btn.accent:hover:not(:disabled) { border-color:#43977e; background:#2d7d66; color:#fff; opacity:1; }
.btn.danger { border-color:color-mix(in srgb,var(--danger) 45%,var(--line)); background:var(--surface); color:var(--danger); }
.btn.danger:hover:not(:disabled) { border-color:var(--danger); background:var(--danger); color:white; }
.btn.icon-only { width:var(--button-height); padding:5px; }
.btn:disabled { cursor:not-allowed; opacity:.45; }
.icon-button { display:grid; width:var(--button-height); height:var(--button-height); place-items:center; border:0; border-radius:var(--button-radius); background:transparent; padding:0; cursor:pointer; }
.icon-button svg,.icon-button [data-lucide] { width:var(--button-icon-size); height:var(--button-icon-size); flex:0 0 auto; }
.icon-button:hover:not(:disabled) { background:var(--surface-3); }
.grid { display:grid; gap:16px; }
.grid > *,.card,.card-body,.form-grid,.field { min-width:0; }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.card-publishers {border: 1px solid var(--line);}
.card-publishers .list .publisher-row:first-child  {border-radius: 14px 14px 0 0;}
.card-publishers .list .publisher-row:last-child {border-radius: 0 0 14px 14px;}
.card {  border-radius:var(--radius); border: 1px solid var(--line);}
.card-head { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; border-bottom:1px solid var(--line); }
.dashboard-overview .card-head {border-bottom: 0;}
.card-body { padding:16px; }
.metric { padding:18px; }
.metric-value { margin-bottom:8px; font-size:calc(22px + var(--font-size-adjust)); font-weight:400; letter-spacing:-.04em; }
.metric-label { color:var(--muted); font-size:calc(13px + var(--font-size-adjust)); }
.metric-heading-row { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:10px; }
.metric-heading-row .metric-value { min-width:0; margin-bottom:8px; }
.metric-detail-button { flex:0 0 auto; margin-top:-2px; color:var(--muted); }
dialog.monthly-publisher-stats-dialog { width:min(94vw,660px); }
.monthly-publisher-stats-body { max-height:min(68vh,620px); overflow-y:auto; }
.monthly-publisher-stats-list { overflow:hidden; border:1px solid var(--line); border-radius:13px; }
.monthly-publisher-stat-row { display:grid; grid-template-columns:30px 34px minmax(0,1fr) auto; min-height:58px; align-items:center; gap:10px; padding:9px 13px; }
.monthly-publisher-stat-row + .monthly-publisher-stat-row { border-top:1px solid var(--line); }
.monthly-publisher-stat-row:hover { background:var(--surface-2); }
.monthly-availability-stat-button { width:100%; border:0; border-radius:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.monthly-availability-stat-button:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; background:var(--surface-2); }
.monthly-publisher-rank { color:var(--faint); font-size:calc(12px + var(--font-size-adjust)); text-align:center; }
.monthly-publisher-stat-row > strong,.monthly-publisher-stat-name > strong { display:block; overflow:hidden; font-size:calc(14px + var(--font-size-adjust)); text-overflow:ellipsis; white-space:nowrap; }
.monthly-publisher-stat-name { min-width:0; display:grid; gap:3px; }
.monthly-availability-group-heading { padding:10px 13px; border-bottom:1px solid var(--line); background:var(--bg); color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); font-weight:600; }
.monthly-availability-group-heading:not(:first-child) { border-top:1px solid var(--line); }
.monthly-availability-group-heading.is-unassigned,.monthly-availability-unassigned-label { color:var(--warning); }
.monthly-availability-stat-button.is-unassigned { background:var(--warning-soft); }
.monthly-availability-stat-button.is-unassigned:hover { background:color-mix(in srgb,var(--warning-soft) 78%,var(--surface-2)); }
.monthly-availability-unassigned-label { display:flex; align-items:center; gap:4px; font-size:calc(11px + var(--font-size-adjust)); font-weight:400; }
.monthly-availability-unassigned-label svg { flex:0 0 13px; width:13px; height:13px; }
.manual-assignment-exception-hint { display:flex; align-items:flex-start; gap:6px; margin-top:8px; color:var(--warning); font-size:calc(11px + var(--font-size-adjust)); line-height:1.5; }
.manual-assignment-exception-hint svg { flex:0 0 15px; width:15px; height:15px; margin-top:1px; }
.manual-assignment-exception-hint { grid-column:1 / -1; }
.inline-form.manual-assignment-exception-form { display:flex; gap:0; }
.inline-form.manual-assignment-exception-form .custom-select { min-width:0; }
.inline-form.manual-assignment-exception-form .custom-select-trigger { border-radius:9px 0 0 9px; }
.inline-form.manual-assignment-exception-form > .btn { white-space:nowrap; border:1px solid var(--line); border-left:0; border-radius:0 9px 9px 0; }
.schedule-assignment-exception { display:inline-flex; flex-shrink:0; align-items:center; gap:3px; padding:3px 5px; border-radius:6px; background:var(--warning-soft); color:var(--warning); font-size:calc(10px + var(--font-size-adjust)); white-space:nowrap; }
.schedule-assignment-exception svg { width:12px; height:12px; }
.monthly-publisher-service-count { display:flex; min-width:74px; align-items:baseline; justify-content:flex-end; gap:5px; }
.monthly-publisher-service-count b { font-size:calc(17px + var(--font-size-adjust)); }
.monthly-publisher-service-count small { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.schedule-summary-bar { display:grid; grid-template-columns:1.05fr .8fr 1fr 1.3fr; overflow:hidden; }
.schedule-summary-cell,.schedule-summary-rule { min-width:0; min-height:128px; padding:18px 20px; }
.schedule-summary-cell { display:flex; flex-direction:column; justify-content:center; }
.schedule-summary-bar > * + * { border-left:1px solid var(--line); }
.schedule-summary-cell .metric-value,.schedule-status-value { display:flex; min-height:38px; align-items:center; margin-bottom:8px; }
.schedule-status-value { font-size:calc(23px + var(--font-size-adjust)); font-weight:400; letter-spacing:-.03em; }
.schedule-summary-rule { display:grid; align-content:center; gap:12px; }
.schedule-summary-rule > div:first-of-type { display:grid; gap:4px; }
.schedule-summary-rule strong { font-size:calc(14px + var(--font-size-adjust)); }
.schedule-summary-rule span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.schedule-rule-control { display:grid; grid-template-columns:70px minmax(120px,1fr); gap:8px; }
.schedule-rule-control input { width:100%; min-height:40px; border:1px solid var(--line); border-radius:10px; outline:0; background:var(--bg); padding:8px 10px; }
.schedule-rule-control input:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
@media (max-width:1050px) {
  .schedule-summary-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .schedule-summary-bar > * + * { border-left:0; }
  .schedule-summary-bar > *:nth-child(even) { border-left:1px solid var(--line); }
  .schedule-summary-bar > *:nth-child(n+3) { border-top:1px solid var(--line); }
}
@media (max-width:560px) {
  .schedule-summary-bar { grid-template-columns:1fr; }
  .schedule-summary-bar > *:nth-child(n) { border-left:0; }
  .schedule-summary-bar > * + * { border-top:1px solid var(--line); }
}
.dashboard-overview { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin-top:30px; }
.dashboard-panel { overflow:hidden; }
.dashboard-panel .card-head h2 { margin:0; font-size:calc(17px + var(--font-size-adjust)); }
.dashboard-list { display:grid; }
.dashboard-stand-row,.dashboard-request-row { display:grid; min-height:78px; gap:9px; padding:12px 16px; border-bottom:1px solid var(--line); }
.dashboard-stand-row:last-child,.dashboard-request-row:last-child { border-bottom:0; }
.dashboard-stand-list { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; padding:14px; }
.dashboard-stand-list .dashboard-stand-row,.dashboard-stand-list .dashboard-stand-row:last-child {transition: background .16s ease;min-height:108px; align-content:center; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.dashboard-stand-row:hover,.dashboard-request-row:hover { background:var(--surface-2); }
.dashboard-stand-list .dashboard-stand-row:hover {background:var(--surface-2); }
.dashboard-row-main { display:flex; min-width:0; align-items:center; gap:12px; }
.dashboard-percent { margin-left:auto; font-size:calc(13px + var(--font-size-adjust)); }
.dashboard-progress { display:block; height:5px; overflow:hidden; border-radius:999px; background:var(--surface-3); }
.dashboard-progress > span { display:block; width:var(--progress); height:100%; border-radius:inherit; background:var(--accent); }
.dashboard-request-row { transition: background .16s ease;grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:11px; }
.dashboard-request-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:var(--surface-2); color:var(--muted); }
.dashboard-request-icon svg { width:17px; height:17px; }
.dashboard-request-icon.warning { background:var(--warning-soft); color:var(--warning); }
.dashboard-request-icon.ok { background:var(--accent-soft); color:var(--accent); }
.dashboard-request-icon.problem { background:var(--danger-soft); color:var(--danger); }
.dashboard-empty { display:grid; min-height:156px; place-items:center; align-content:center; gap:9px; padding:24px; color:var(--muted); text-align:center; }
.dashboard-empty svg { width:28px; height:28px; color:var(--accent); }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin:30px 0 12px; }
.section-head p { margin:0; color:var(--muted); font-size:calc(13px + var(--font-size-adjust)); display: none;}
.draft-section-head { align-items:center; }
.draft-actions { display:flex; flex:0 0 auto; align-items:center; justify-content:flex-end; gap:8px; }
.draft-actions form { display:flex; }
.schedule-updating { opacity:.62; pointer-events:none; transition:opacity .16s ease; }
.draft-status { min-height:40px; padding:8px 12px; white-space:nowrap; }
.draft-status svg { width:15px; height:15px; }
.action-menu { position:relative; }
.action-menu > summary { list-style:none; }
.action-menu > summary::-webkit-details-marker { display:none; }
.action-menu[open] > summary { background:var(--surface-2); }
.action-menu-popover { position:absolute; z-index:40; top:calc(100% + 8px); right:0; width:270px; overflow:hidden; border:1px solid var(--line); border-radius:13px; background:var(--surface); box-shadow:0 14px 40px rgba(0,0,0,.13); padding:5px; }
.action-menu.opens-upward .action-menu-popover { top:auto; bottom:calc(100% + 8px); }
.action-menu-popover form + form { margin-top:2px; }
.action-menu-row { display:flex; width:100%; min-height:54px; align-items:center; gap:10px; border:0; border-radius:9px; background:transparent; padding:8px 10px; cursor:pointer; text-align:left; }
.action-menu-row:hover { background:var(--surface-2); }
.action-menu-row > span { display:grid; gap:2px; }
.action-menu-row strong { font-size:calc(13px + var(--font-size-adjust)); font-weight:560; }
.action-menu-row small { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.action-menu-row.danger { color:var(--danger); }
.action-menu-row.danger:hover { background:var(--danger-soft); }
.action-menu-row.danger small { color:color-mix(in srgb,var(--danger) 70%,var(--muted)); }
.form-grid { display:grid; gap:12px; }
.settings-layout { display:grid; gap:16px; }
.settings-layout-single { grid-template-columns:minmax(0,680px); }
.danger-zone { position:relative; overflow:hidden; border-color:var(--line); background:var(--surface); }
.danger-zone::before { position:absolute; z-index:1; inset:0 auto 0 0; width:3px; background:color-mix(in srgb,var(--danger) 72%,transparent); content:""; }
.danger-zone > .card-head { min-height:0; padding:14px 17px 12px 19px; }
.danger-zone > .card-head h3 { font-size:calc(14px + var(--font-size-adjust)); font-weight:600; }
.danger-zone > .card-head .list-meta { margin-top:3px; font-size:calc(11px + var(--font-size-adjust)); }
.danger-zone-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:14px 16px 16px 19px; }
.danger-zone-warning,.preserved-data { display:flex; min-width:0; align-items:flex-start; gap:10px; border:1px solid var(--line); border-radius:11px; padding:11px 12px; }
.danger-zone-warning { border-color:color-mix(in srgb,var(--danger) 20%,var(--line)); background:color-mix(in srgb,var(--danger) 6%,var(--surface)); }
.preserved-data { border-color:color-mix(in srgb,var(--accent) 18%,var(--line)); background:color-mix(in srgb,var(--accent) 5%,var(--surface)); }
.danger-zone-warning > span,.preserved-data > span { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:8px; background:var(--surface-2); }
.danger-zone-warning > span { color:var(--danger); }
.preserved-data > span { color:var(--accent); }
.danger-zone-warning svg,.preserved-data svg { width:16px; height:16px; }
.danger-zone-warning > div,.preserved-data > div { display:grid; min-width:0; gap:3px; }
.danger-zone-warning strong,.preserved-data strong { font-size:calc(13px + var(--font-size-adjust)); font-weight:600; }
.danger-zone-warning p,.preserved-data p { margin:0; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); line-height:1.45; }
.danger-zone-form { grid-column:1 / -1; grid-template-columns:minmax(260px,420px) max-content; align-items:center; justify-content:space-between; gap:12px; padding-top:3px; }
.danger-zone-form .field { gap:5px; }
.danger-zone-form .field input { min-height:39px; background:var(--surface-2); }
.danger-zone-form .field-hint { font-size:calc(10px + var(--font-size-adjust)); }
.danger-zone-form .btn { min-width:238px; }
.theme-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.theme-option { display:grid; min-width:0; min-height:82px; grid-template-columns:36px minmax(0,1fr) 20px; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--text); padding:12px; text-align:left; cursor:pointer; transition:border-color .16s ease,background .16s ease,box-shadow .16s ease; }
.theme-option:hover { border-color:color-mix(in srgb,var(--accent) 35%,var(--line)); background:var(--surface-2); }
.theme-option.active { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); background:var(--accent-soft); box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent); }
.theme-option-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:var(--surface-2); color:var(--muted); }
.theme-option.active .theme-option-icon { background:color-mix(in srgb,var(--accent) 15%,var(--surface)); color:var(--accent); }
.theme-option > span:nth-child(2) { display:grid; min-width:0; gap:3px; }
.theme-option small { color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); line-height:1.35; }
.theme-option-check { color:transparent; }
.theme-option.active .theme-option-check { color:var(--accent); }
.font-size-select { width:66px; }
.font-size-select > select:not(.custom-select-native) { width:100%; }
.settings-inline { display:flex; align-items:end; gap:12px; }
.settings-inline .field { width:min(100%,420px); }
.field { display:grid; min-width:0; gap:6px; }
.field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.field-row.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.publisher-credentials-fields { align-items:start; }
.field label,.field-label { color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); font-weight:400; }
.field-hint { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); line-height:1.4; }
.field input,.field select,.field textarea { width:100%; min-height:41px; border:1px solid var(--line); border-radius:10px; outline:0; background:var(--bg); padding:9px 11px; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
.custom-select { position:relative; width:100%; min-width:0; }
.custom-select-native { position:absolute!important; width:1px!important; height:1px!important; min-height:0!important; margin:0!important; border:0!important; padding:0!important; opacity:0!important; pointer-events:none!important; }
.custom-select-trigger { display:grid; width:100%; min-width:0; min-height:41px; grid-template-columns:18px minmax(0,1fr) 16px; align-items:center; gap:9px; border:1px solid var(--line); border-radius:10px; outline:0; background:var(--bg); padding:8px 10px; color:var(--text); font:inherit; cursor:pointer; text-align:left; transition:border-color .16s ease,background .16s ease,box-shadow .16s ease; }
.custom-select-trigger:hover:not(:disabled) { background:var(--surface-2); }
.custom-select-trigger:focus-visible,.custom-select.is-open .custom-select-trigger { border-color:color-mix(in srgb,var(--accent) 58%,var(--line)); background:var(--surface); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.custom-select.is-invalid .custom-select-trigger { border-color:var(--danger); box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 11%,transparent); }
.custom-select-trigger:disabled { cursor:default; opacity:.62; }
.custom-select-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.custom-select-chevron { width:16px; height:16px; color:var(--faint); transition:transform .16s ease; }
.custom-select.is-open .custom-select-chevron { transform:rotate(180deg); }
.custom-select-mark { display:grid; width:18px; height:18px; place-items:center; color:var(--muted); }
.custom-select-mark.is-icon svg { width:16px; height:16px; }
.custom-select-mark.is-color > span { width:9px; height:9px; border-radius:50%; background:var(--option-color); box-shadow:0 0 0 4px color-mix(in srgb,var(--option-color) 15%,transparent); }
.custom-select-mark.is-empty { visibility:hidden; }
.custom-select-menu { position:fixed; z-index:360; inset:auto; display:flex; flex-direction:column; gap:2px; overflow:hidden; max-height:min(340px,calc(100vh - 16px)); margin:0; border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:5px; color:var(--text); box-shadow:0 18px 48px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.5); pointer-events:auto; }
.custom-select-menu[hidden] { display:none; }
.custom-select-search { display:flex; min-height:38px; align-items:center; gap:8px; border:1px solid var(--line); border-radius:9px; background:var(--bg); padding:0 9px; }
.custom-select-search[hidden] { display:none; }
.custom-select-search > svg { width:15px; height:15px; flex:0 0 auto; color:var(--muted); }
.custom-select-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; padding:8px 0; color:var(--text); font:inherit; font-size:calc(12px + var(--font-size-adjust)); }
.custom-select-options { display:grid; min-height:0; max-height:min(272px,calc(100vh - 94px)); gap:2px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:auto; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--muted) 48%,transparent) transparent; }
.custom-select-options::-webkit-scrollbar { width:7px; }
.custom-select-options::-webkit-scrollbar-track { background:transparent; }
.custom-select-options::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:999px; background:color-mix(in srgb,var(--muted) 48%,transparent); background-clip:padding-box; }
.custom-select-option { display:grid; width:100%; min-height:38px; grid-template-columns:18px minmax(0,1fr) 16px; align-items:center; gap:9px; border:0; border-radius:8px; background:transparent; padding:7px 8px; color:var(--text); font:inherit; font-size:calc(12px + var(--font-size-adjust)); cursor:pointer; text-align:left; }
.custom-select-option:hover:not(:disabled),.custom-select-option:focus-visible { outline:0; background:var(--surface-2); }
.custom-select-option.is-selected { background:var(--accent-soft); color:var(--accent); }
.custom-select-option:disabled { cursor:not-allowed; opacity:.4; }
.custom-select-option-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.custom-select-option-check { width:7px; height:12px; justify-self:center; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; opacity:0; transform:rotate(45deg) translate(-1px,1px); }
.custom-select-option.is-selected .custom-select-option-check { opacity:1; }
.custom-select-empty { padding:16px 10px; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); text-align:center; }
.custom-select-empty[hidden] { display:none; }
.custom-select-month { min-width:170px; }
.custom-select-month .custom-select-label { text-align:center; }
.custom-select-compact .custom-select-trigger { grid-template-columns:15px minmax(24px,1fr) 12px; justify-content:center; gap:3px; padding-inline:4px; }
.custom-select-compact .custom-select-mark { width:16px; }
.custom-select-compact .custom-select-mark.is-icon svg { width:15px; height:15px; }
.custom-select-compact .custom-select-label { display:block; font-size:calc(11px + var(--font-size-adjust)); text-align:center; }
.custom-select-compact .custom-select-chevron { width:12px; height:12px; }
[data-theme="dark"] .custom-select-menu { box-shadow:0 20px 54px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.025); }
.inline-form .custom-select { display:flex; min-width:175px; flex:1; }
.inline-form .custom-select-trigger { min-height:var(--button-height); flex:1; border-radius:9px 0 0 9px; padding:5px 8px; font-size:var(--button-font-size); line-height:1.25; }
.template-rule-row .custom-select-trigger { min-height:36px; border-radius:8px; padding:6px 7px; }
.replacement-controls .custom-select-trigger { min-height:40px; }
.check-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
.check-chip input { position:absolute; opacity:0; pointer-events:none; }
.check-chip span { display:grid; min-height:36px; place-items:center; border:1px solid var(--line); border-radius:9px; background:var(--bg); cursor:pointer; font-size:calc(12px + var(--font-size-adjust)); }
.check-chip input:checked + span { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); font-weight:700; }
.interval-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:7px; }
.interval-stack { display:grid; gap:8px; }
.interval-row { display:grid; grid-template-columns:minmax(90px,1fr) minmax(90px,1fr) 82px 82px 32px; align-items:end; gap:8px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); padding:10px; }
.interval-row .field label { font-size:calc(10px + var(--font-size-adjust)); }
.interval-row .field input { background:var(--surface); }
.interval-remove { display:grid; width:var(--button-height); height:var(--button-height); place-items:center; border:0; border-radius:var(--button-radius); background:transparent; color:var(--muted); cursor:pointer; font-size:calc(20px + var(--font-size-adjust)); }
.interval-remove:hover { background:var(--danger-soft); color:var(--danger); }
.interval-remove svg.lucide { width:var(--button-icon-size); height:var(--button-icon-size); }
.configured-schedule { display:grid; gap:8px; border:1px solid var(--line); border-radius:13px; background:var(--surface-2); padding:13px; }
.configured-schedule-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:2px; }
.schedule-rule { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:start; gap:9px; }
.schedule-rule strong { padding-top:4px; color:var(--accent); font-size:calc(12px + var(--font-size-adjust)); }
.schedule-times { display:flex; flex-wrap:wrap; gap:5px; }
.schedule-times span { border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line)); border-radius:8px; background:var(--surface); padding:4px 7px; font-size:calc(11px + var(--font-size-adjust)); font-weight:400; }
.form-section-title { margin:2px 0 12px; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.stand-card-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.stand-cards { display:grid;border-radius: 16px;border: 1px solid var(--line);overflow: hidden;}
.stand-card {border-bottom: 1px solid var(--line);width:100%; box-shadow: none; border-radius: 0;}
.stand-card:last-child{border-bottom: none;.stand-card-summary{border-bottom: none;}}
.stand-card-summary { transition: background .16s ease;display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; cursor:pointer; list-style:none; }
.stand-card-summary:hover {background: var(--surface-2);}
.stand-card-summary h3{font-weight: 400;}
.stand-card-summary::-webkit-details-marker { display:none; }
.stand-card-summary-side { display:flex; align-items:center; gap:14px; }
.stand-card-summary-side > svg { width:18px; height:18px; color:var(--muted); transition:transform .2s ease; }
.stand-card[open] > .stand-card-summary { background: var(--bg); }
.stand-card[open] > .stand-card-summary .stand-card-summary-side > svg { transform:rotate(180deg); }
.stand-card.stand-closing > .stand-card-summary .stand-card-summary-side > svg { transform:rotate(0); }
.stand-card.stand-animating > .stand-card-body { overflow:hidden; will-change:height,opacity; }
.stand-card-body { display:grid; gap:10px; background:var(--bg); padding:16px 18px 18px; }
.new-stand-dialog { width:min(94vw,760px); }
.new-stand-dialog .dialog-body { background:var(--bg); padding:16px; }
.new-stand-form { display:grid; gap:18px; border:1px solid var(--line); border-radius:15px; background:var(--surface); padding:16px; box-shadow:0 1px 2px rgba(0,0,0,.025); }
.new-stand-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(210px,.62fr); align-items:start; gap:14px; }
.new-stand-grid .field { align-content:start; }
.new-stand-grid .field > :is(input,.stand-color-picker,.stand-location-field) { min-height:46px; }
.new-stand-grid .field > input,.new-stand-grid .stand-location-field input { background:var(--surface); }
.new-stand-location { grid-column:1 / -1; }
.new-stand-location .stand-location-field input { min-height:46px; }
.new-stand-actions { border-top:1px solid var(--line); margin-top:0; padding-top:16px; }
.stand-settings-form { display:grid; gap:16px; box-shadow: 0 1px 2px rgba(0, 0, 0, .025); border-radius:15px; background:var(--surface); padding:16px; }
.stand-photo-field [hidden], .stand-location-dialog [hidden], .stand-photo-dialog [hidden] { display:none !important; }
.stand-photo-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.stand-photo-select { position:relative; overflow:hidden; cursor:pointer; }
.stand-photo-controls .stand-photo-select { color:var(--text); font-size:calc(13px + var(--font-size-adjust)); font-weight:600; }
.stand-photo-select input[type="file"] { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.stand-photo-select:focus-within { outline:2px solid var(--accent); outline-offset:3px; }
.stand-photo-preview { position:relative; width:min(100%,420px); height:220px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.stand-photo-preview img { width:100%; height:100%; display:block; object-fit:contain; }
.stand-photo-remove { position:absolute; top:8px; right:8px; background:var(--surface); border:1px solid var(--line); box-shadow:0 2px 8px rgba(0,0,0,.1); }
.stand-photo-error { color:var(--danger); }
.stand-photo-dialog { width:min(94vw,1000px); }
.stand-photo-dialog-body { background:var(--bg); }
.stand-photo-viewer { display:grid; place-items:center; height:min(65vh,650px); height:min(65dvh,650px); min-height:120px; }
.stand-photo-viewer img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
.stand-photo-viewer [role="status"] { color:var(--muted); text-align:center; }
.stand-photo-view-button { width:100%; }
.stand-settings-grid { display:grid; gap:14px; }
.stand-settings-grid .field { align-content:start; }
.stand-settings-grid .field > :is(input,.stand-location-field,.stand-color-picker) { min-height:46px; }
.stand-settings-grid .field > input { background:var(--surface); }
.stand-location-setting .stand-location-field { min-height:46px; }
.stand-location-setting .stand-location-field input { min-height:46px; }
.stand-coordinate-state { display:inline-flex; min-height:17px; align-items:center; gap:5px; }
.stand-coordinate-state svg { width:13px; height:13px; }
.stand-coordinate-state.is-set { color:var(--accent); }
.stand-color-picker { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr) 18px; align-items:center; gap:10px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); padding:6px 10px; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease; }
.stand-color-picker:hover { border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); }
.stand-color-picker:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
.stand-color-preview { width:32px; height:32px; border:1px solid color-mix(in srgb,var(--stand-picker-color) 72%,#777); border-radius:9px; background:var(--stand-picker-color); box-shadow:inset 0 0 0 3px color-mix(in srgb,#fff 45%,transparent); }
.stand-color-copy { display:grid; min-width:0; gap:1px; }
.stand-color-copy strong { font-size:calc(12px + var(--font-size-adjust)); font-variant-numeric:tabular-nums; }
.stand-color-copy small { overflow:hidden; color:var(--muted); font-size:calc(9px + var(--font-size-adjust)); text-overflow:ellipsis; white-space:nowrap; }
.stand-color-picker > svg { width:16px; height:16px; color:var(--muted); }
.stand-color-picker input[type="color"] { position:absolute; width:100%; height:100%; inset:0; opacity:0; cursor:pointer; }
.stand-settings-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-top:14px; }
.stand-active-control { display:flex; min-width:0; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); padding:8px 11px 8px 8px; cursor:pointer; transition:border-color .16s ease,background .16s ease; }
.stand-active-control:hover { border-color:color-mix(in srgb,var(--accent) 35%,var(--line)); }
.stand-active-control:has(input:checked) { border-color:color-mix(in srgb,var(--accent) 24%,var(--line)); background:var(--accent-soft); }
.stand-active-control > input { position:absolute; opacity:0; pointer-events:none; }
.stand-active-control > span:nth-of-type(1) { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:transparent; }
.stand-active-control > span:nth-of-type(1) svg { width:17px; height:17px; }
.stand-active-control > input:checked + span { border-color:var(--accent); background:var(--accent); color:#fff; }
.stand-active-control > span:last-child { display:grid; gap:3px; }
.stand-active-control strong { font-size:calc(13px + var(--font-size-adjust)); }
.stand-active-control small { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); font-weight:400; }
.stand-settings-save { min-height:44px; flex:0 0 auto; white-space:nowrap; }
.stand-danger-zone { display:grid; min-width:0; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:11px; border-radius:13px; padding:10px 11px; }
.stand-danger-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:var(--danger-soft); color:var(--danger); }
.stand-danger-icon svg { width:17px; height:17px; }
.stand-danger-copy { display:grid; min-width:0; gap:3px; }
.stand-danger-copy strong { color:var(--danger); font-size:calc(13px + var(--font-size-adjust)); }
.stand-danger-copy small { color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); line-height:1.4; }
.stand-danger-zone form,.stand-danger-zone .btn { flex:0 0 auto; }
.assistant-access-control { border:1px solid var(--line); border-radius:14px; background:var(--surface-2); padding:12px; }
.stand-add-panel { margin-top:16px; border-top:1px solid var(--line); padding-top:16px; }
.interval-management { margin-top:22px; border:1px solid var(--line); border-radius:16px; background:var(--surface); overflow:hidden; }
.interval-management > summary { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; cursor:pointer; list-style:none; }
.interval-management > summary::-webkit-details-marker { display:none; }
.interval-management > summary span { display:grid; gap:4px; }
.interval-management > summary small { color:var(--muted); font-weight:400; }
.interval-management > summary svg { transition:transform .2s ease; }
.interval-management[open] > summary svg { transform:rotate(180deg); }
.interval-management-body { display:grid; min-width:0; gap:14px; border-top:1px solid var(--line); padding:16px; }
.interval-stand-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.interval-stand-toolbar > div:first-child { display:grid; gap:3px; }
.interval-stand-toolbar > div:first-child > span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.interval-stand-toolbar .actions { flex-wrap:wrap; justify-content:flex-end; }
.slot-edit-row { display:grid; grid-template-columns:12px minmax(105px,1fr) minmax(135px,1fr) 105px 105px 72px 72px auto; }
.slot-edit-row label { display:grid; gap:4px; color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); }
.slot-edit-row input { width:100%; min-height:36px; border:1px solid var(--line); border-radius:8px; background:var(--bg); padding:6px 8px; color:var(--text); }
.slot-edit-stand { display:grid; gap:4px; }
.slot-edit-stand small { display:flex; align-items:center; gap:4px; color:var(--warning); font-size:calc(10px + var(--font-size-adjust)); }
.slot-edit-stand small svg { width:12px; height:12px; }
.slot-edit-actions { display:flex; align-items:end; gap:6px; }
.slot-edit-row.locked { background:var(--surface-2); }
.flash-stack { position:fixed; z-index:100; top:18px; right:18px; display:grid; width:min(390px,calc(100vw - 36px)); gap:8px; }
.flash { display:grid; min-height:62px; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:11px; border:1px solid var(--line); border-radius:15px; background:var(--surface); box-shadow:0 14px 38px rgba(20,28,25,.13); padding:11px 14px 11px 11px; animation:slide-in .24s ease; }
.flash-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:var(--surface-2); color:var(--muted); }
.flash-icon svg { width:19px; height:19px; }
.flash-message { min-width:0; line-height:1.4; overflow-wrap:anywhere; }
.flash.success { border-color:color-mix(in srgb,var(--accent) 36%,var(--line)); }
.flash.success .flash-icon { background:var(--accent-soft); color:var(--accent); }
.flash.error { border-color:color-mix(in srgb,var(--danger) 50%,var(--line)); }
.flash.error .flash-icon { background:var(--danger-soft); color:var(--danger); }
.flash.warning { border-color:color-mix(in srgb,var(--warning) 45%,var(--line)); }
.flash.warning .flash-icon { background:var(--warning-soft); color:var(--warning); }
@keyframes slide-in { from { opacity:0; transform:translateY(-8px); } }
.empty { display:grid; min-height:170px; place-items:center; padding:30px; color:var(--muted); text-align:center; }
.list { display:grid; }
.list-row { display:flex; min-height:61px; align-items:center; gap:12px; padding:10px 14px; border-bottom:1px solid var(--line); }
.list-row:last-child { border-bottom:0; }
.list-main { min-width:0; flex:1; }
.list-title { font-weight:400; }
.list-meta { margin-top:4px; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); }
.publisher-assistant-mark { display:inline-flex; align-items:center; gap:4px; margin-left:8px; color:var(--accent); font-weight:400; white-space:nowrap; }
.publisher-assistant-mark::before { content:'·'; margin-right:4px; color:var(--muted); font-weight:400; }
.publisher-assistant-mark svg { width:13px; height:13px; stroke-width:2; }
.publisher-row-inactive > :not(.publisher-action-menu) { opacity:.55; }
.publisher-row { cursor:pointer; transition:background .16s ease; }
.publisher-row:hover,.publisher-row.publisher-row-control-open { background:var(--surface-2); }
.publisher-row.publisher-row-selected { background:var(--accent-soft); }
.publisher-row.publisher-row-selected:hover { background:color-mix(in srgb,var(--accent-soft) 78%,var(--surface-2)); }
.publisher-row:focus-visible { position:relative; z-index:1; outline:2px solid var(--accent); outline-offset:-2px; }
.publisher-stand-quick { position:relative; width:clamp(170px,14vw,196px); min-height:36px; flex:0 0 auto; }
.publisher-stand-quick-trigger { display:grid; width:100%; min-height:36px; grid-template-columns:16px minmax(0,1fr); align-items:center; gap:7px; border:1px solid var(--line); border-radius:10px; outline:0; background:#fff; padding:0 31px 0 10px; color:var(--text); font-size: calc(12px + var(--font-size-adjust)); cursor:pointer; text-align:left; transition:border-color .16s ease,background .16s ease,box-shadow .16s ease; }
.publisher-stand-quick-trigger:hover { background:var(--surface-2); }
.publisher-stand-quick-trigger:focus-visible,.publisher-stand-quick.is-open .publisher-stand-quick-trigger { border-color:color-mix(in srgb,var(--accent) 58%,var(--line)); background:var(--surface); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent); }
.publisher-stand-quick-trigger:disabled { cursor:wait; opacity:.68; }
.publisher-stand-trigger-mark { display:grid; width:16px; height:16px; place-items:center; color:var(--muted); }
.publisher-stand-trigger-mark svg { width:15px; height:15px; }
.publisher-stand-quick.has-stand .publisher-stand-trigger-mark { width:8px; height:8px; justify-self:center; border-radius:50%; background:var(--selected-stand-color,#98A39F); box-shadow:0 0 0 3px color-mix(in srgb,var(--selected-stand-color,#98A39F) 15%,transparent); }
.publisher-stand-quick.has-stand .publisher-stand-trigger-mark svg { display:none; }
.publisher-stand-quick-trigger > span:nth-of-type(1) { overflow:hidden; font-size:calc(11px + var(--font-size-adjust)); text-overflow:ellipsis; white-space:nowrap; }
.publisher-stand-quick-chevron,.publisher-stand-quick-status { position:absolute; top:50%; right:9px; width:14px; height:14px; transform:translateY(-50%); }
.publisher-stand-quick-chevron { color:var(--faint); transition:opacity .12s ease,transform .16s ease; }
.publisher-stand-quick.is-open .publisher-stand-quick-chevron { transform:translateY(-50%) rotate(180deg); }
.publisher-stand-quick-status { display:grid; place-items:center; border-radius:50%; color:var(--accent); font-size:calc(11px + var(--font-size-adjust)); font-weight:700; opacity:0; }
.publisher-stand-quick.is-saving .publisher-stand-quick-chevron,.publisher-stand-quick.is-saved .publisher-stand-quick-chevron,.publisher-stand-quick.is-error .publisher-stand-quick-chevron { opacity:0; }
.publisher-stand-quick.is-saving .publisher-stand-quick-status { border:2px solid var(--line); border-top-color:var(--accent); opacity:1; animation:publisher-stand-spin .7s linear infinite; }
.publisher-stand-quick.is-saved .publisher-stand-quick-status,.publisher-stand-quick.is-error .publisher-stand-quick-status { opacity:1; }
.publisher-stand-quick.is-error .publisher-stand-quick-trigger { border-color:color-mix(in srgb,var(--danger) 58%,var(--line)); }
.publisher-stand-quick.is-error .publisher-stand-quick-status { color:var(--danger); }
.publisher-stand-quick-menu { position:fixed; z-index:200; display:grid; gap:2px; overflow:auto; max-height:min(260px,calc(100vh - 20px)); border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:5px; box-shadow:0 16px 42px rgba(0,0,0,.16); }
.publisher-stand-quick-menu[hidden] { display:none; }
.publisher-stand-quick-option { display:grid; width:100%; min-height:38px; grid-template-columns:17px minmax(0,1fr) 15px; align-items:center; gap:8px; border:0; border-radius:8px; background:transparent; padding:7px 8px; color:var(--text); cursor:pointer; font-size:calc(12px + var(--font-size-adjust)); text-align:left; }
.publisher-stand-quick-option:hover,.publisher-stand-quick-option:focus-visible { outline:0; background:var(--surface-2); }
.publisher-stand-quick-option > span:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.publisher-stand-quick-option > svg { width:14px; height:14px; color:var(--accent); opacity:0; }
.publisher-stand-quick-option.is-selected { background:var(--accent-soft); color:var(--accent); }
.publisher-stand-quick-option.is-selected > svg { opacity:1; }
.publisher-stand-option-empty { display:grid; width:17px; height:17px; place-items:center; color:var(--muted); }
.publisher-stand-option-empty svg { width:14px; height:14px; }
.publisher-stand-option-dot { width:8px; height:8px; justify-self:center; border-radius:50%; background:var(--stand-color,#777); box-shadow:0 0 0 3px color-mix(in srgb,var(--stand-color,#777) 15%,transparent); }
[data-theme="dark"] .publisher-stand-quick-menu { background:var(--surface); box-shadow:0 18px 48px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.025); }
@keyframes publisher-stand-spin { to { transform:translateY(-50%) rotate(360deg); } }
.publishers-page-actions > form { display:flex; }
.publisher-export-count { display:inline-grid; min-width:22px; height:22px; place-items:center; border-radius:999px; background:var(--accent-soft); padding:0 6px; color:var(--accent); font-size:calc(10px + var(--font-size-adjust)); font-weight:750; }
.publisher-select-control { position:relative; display:block; width:33px; height:33px; flex:0 0 33px; cursor:pointer; }
.publisher-select-control > input { position:absolute; z-index:2; inset:0; width:100%; height:100%; margin:0; cursor:pointer; opacity:0; }
.publisher-select-face { position:relative; display:block; width:33px; height:33px; border-radius:50%; }
.publisher-select-avatar { position:absolute; inset:0; background:var(--surface-3); color:var(--muted); transition:opacity .14s ease,transform .14s ease; }
.publisher-select-check { position:absolute; top:50%; left:50%; display:grid; width:23px; height:23px; place-items:center; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:white; opacity:0; transform:translate(-50%,-50%) scale(.82); transition:opacity .14s ease,transform .14s ease,background .14s ease,border-color .14s ease; }
.publisher-select-check svg { width:14px; height:14px; opacity:0; }
.publisher-select-control > input:focus-visible + .publisher-select-face { outline:2px solid var(--accent); outline-offset:3px; }
.publisher-select-control > input:checked + .publisher-select-face .publisher-select-avatar { opacity:0; transform:scale(.82); }
.publisher-select-control > input:checked + .publisher-select-face .publisher-select-check { border-color:var(--accent); background:var(--accent); opacity:1; transform:translate(-50%,-50%) scale(1); }
.publisher-select-control > input:checked + .publisher-select-face .publisher-select-check svg { opacity:1; }
@media (hover:hover) {
  .publisher-row:hover .publisher-select-avatar,.publisher-row.publisher-row-control-open .publisher-select-avatar { opacity:0; transform:scale(.82); }
  .publisher-row:hover .publisher-select-check,.publisher-row.publisher-row-control-open .publisher-select-check { opacity:1; transform:translate(-50%,-50%) scale(1); }
}
@media (hover:none) {
  .publisher-select-check { top:auto; right:-2px; bottom:-2px; left:auto; width:15px; height:15px; border-radius:5px; opacity:1; transform:none; }
  .publisher-select-control > input:checked + .publisher-select-face .publisher-select-check { top:50%; right:auto; bottom:auto; left:50%; width:23px; height:23px; border-radius:7px; transform:translate(-50%,-50%); }
}
.publisher-action-menu { flex:0 0 auto; }
.publisher-action-menu > summary { display:grid; place-items:center; }
.publisher-action-menu .action-menu-popover { width:min(290px,calc(100vw - 32px)); }
.publisher-action-menu .action-menu-popover > * + * { margin-top:2px; }
.publishers-list-head { align-items:end; }
.publisher-search { display:flex; width:min(100%,360px); min-height:42px; align-items:center; gap:8px; border:1px solid var(--line); border-radius:11px; background:var(--bg); padding:0 10px; transition:border-color .16s ease,box-shadow .16s ease; }
.publisher-search:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent); }
.publisher-search > svg { width:17px; height:17px; color:var(--muted); }
.publisher-search input { min-width:0; flex:1; border:0; outline:0; background:transparent; padding:9px 0; }
.publisher-search input::-webkit-search-cancel-button { display:none; }
.publisher-search button { display:grid; width:27px; height:27px; flex:0 0 27px; place-items:center; border:0; border-radius:7px; background:transparent; color:var(--muted); cursor:pointer; }
.publisher-search button:hover { background:var(--surface-2); color:var(--text); }
.publisher-search button[hidden] { display:none; }
.publisher-search button svg { width:15px; height:15px; }
.publisher-row[hidden] { display:none; }
.publisher-search-empty { min-height:180px; }
.publisher-search-empty[hidden] { display:none; }
.publisher-list-loader { display:flex; min-height:52px; align-items:center; justify-content:center; gap:9px; border-top:1px solid var(--line); color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); }
.publisher-list-loader[hidden] { display:none; }
.publisher-list-loader > span { display:none; }
.publisher-list-loader.is-loading > span { display:inline; }
.publisher-list-loader.is-loading > span:first-child { display:block; width:17px; height:17px; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:icon-spin .7s linear infinite; }
.publisher-list-sentinel { height:1px; }
[data-publisher-list] { transition:opacity .14s ease; }
[data-publisher-list].is-searching { opacity:.52; pointer-events:none; }
dialog.publisher-details-dialog { width:min(96vw,900px); max-height:92vh; max-height:92dvh; }
.publisher-details-body { display:grid; gap:18px; padding:22px; }
.publisher-details-hero { display:flex; align-items:center; gap:13px; }
.publisher-details-avatar { display:grid; width:46px; height:46px; flex:0 0 46px; place-items:center; border-radius:50%; background:var(--surface-3); color:var(--muted); font-size:calc(14px + var(--font-size-adjust)); font-weight:700; }
.publisher-details-hero > div { display:grid; min-width:0; gap:7px; }
.publisher-details-hero h2 { overflow:hidden; margin:0; font-size:calc(23px + var(--font-size-adjust)); text-overflow:ellipsis; white-space:nowrap; }
.publisher-details-badges { display:flex; gap:7px; flex-wrap:wrap; }
.publisher-details-badges .badge.female { padding: 4px 15px; font-size: calc(11px + var(--font-size-adjust)); width: auto; height: auto; }
.publisher-details-badges .badge.male { padding: 4px 15px; font-size: calc(11px + var(--font-size-adjust)); width: auto; height: auto; }
.publisher-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.publisher-details-preferences { grid-template-columns:repeat(3,minmax(0,1fr)); }
.publisher-detail-item { display:grid; min-width:0; min-height:auto; align-content:start; gap:9px; border:1px solid var(--line); border-radius:14px; background:var(--sidebar); padding:14px; }
.publisher-details-contacts .publisher-detail-item { padding:16px; }
.publisher-detail-item > span { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.publisher-detail-item > span svg { width:14px; height:14px; }
.publisher-detail-item > strong { overflow:hidden; font-size:calc(13px + var(--font-size-adjust)); text-overflow:ellipsis; white-space:nowrap; }
.publisher-detail-contact > div { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:8px; }
.publisher-detail-contact strong { overflow:hidden; font-size:calc(17px + var(--font-size-adjust)); font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.publisher-detail-contact .icon-button { width:30px; height:30px; min-height:30px; flex:0 0 30px; }
.publisher-detail-contact .icon-button svg { width:15px; height:15px; }
.publisher-detail-contact .icon-button.copied { background:var(--accent-soft); color:var(--accent); }
.publisher-detail-contact .icon-button[hidden] { display:none; }
.publisher-detail-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:14px; }
.publisher-detail-metrics > div { display:grid; gap:4px; padding:16px; }
.publisher-detail-metrics > div + div { border-left:1px solid var(--line); }
.publisher-detail-metrics strong { font-size:calc(21px + var(--font-size-adjust)); }
.publisher-detail-metrics span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.publisher-service-chart-card { display:grid; gap:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface); padding:16px; }
.publisher-service-chart-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.publisher-service-chart-head h3 { margin:0 0 3px; font-size:calc(15px + var(--font-size-adjust)); }
.publisher-service-chart-head p { margin:0; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.publisher-service-chart { min-width:0; overflow:hidden; }
.publisher-service-chart svg { display:block; width:100%; height:auto; overflow:visible; }
.publisher-chart-grid line { stroke:var(--line); stroke-width:1; vector-effect:non-scaling-stroke; }
.publisher-chart-grid text { fill:var(--faint); font-size:calc(10px + var(--font-size-adjust)); text-anchor:end; }
.publisher-chart-line { fill:none; stroke:var(--accent); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.publisher-chart-point { fill:var(--surface); stroke:var(--accent); stroke-width:2.5; vector-effect:non-scaling-stroke; }
.publisher-chart-point:hover { fill:var(--accent); }
.publisher-chart-label { fill:var(--muted); font-size:calc(10px + var(--font-size-adjust)); text-anchor:middle; text-transform:capitalize; }
.stand-dot { width:10px; height:10px; flex:0 0 10px; border-radius:50%; background:var(--stand-color,#777); box-shadow:0 0 0 4px color-mix(in srgb,var(--stand-color,#777) 13%,transparent); }
.stand-chip { display:inline-flex; min-height:25px; max-width:100%; align-items:center; gap:7px; border:1px solid var(--line); border-radius:999px; background:var(--surface); padding:3px 9px; font-size:calc(13px + var(--font-size-adjust)); font-weight:400; line-height:1.2; white-space:nowrap; }
.stand-chip .stand-dot { width:7px; height:7px; flex-basis:7px; box-shadow:none; }
button.stand-chip { appearance:none; color:inherit; font-family:inherit; cursor:pointer; }
.stand-location-trigger { transition:border-color .16s ease,background .16s ease,box-shadow .16s ease; }
.stand-location-trigger:hover { border-color:color-mix(in srgb,var(--accent) 44%,var(--line)); background:var(--accent-soft); }
.stand-location-trigger:focus-visible { outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent); outline-offset:2px; }
.stand-chip-map-icon { width:13px!important; height:13px!important; color:var(--accent); }
.service-meta-line { display:flex; min-width:0; align-items:center; gap:8px; flex-wrap:wrap; }
.badge { display:inline-flex; align-items:center; gap:5px; border-radius:999px; background:var(--surface-2); color:var(--muted); padding:4px 15px; font-size:calc(11px + var(--font-size-adjust)); font-weight:400; }
.badge.male { background:#edf2ff; color:#4263b7; width: 15px; height: 15px; font-size: calc(9px + var(--font-size-adjust)); padding: 0; justify-content: center; font-weight: 400;}
.badge.female { background:#fff0f5; color:#a84269; width: 15px; height: 15px; font-size: calc(9px + var(--font-size-adjust)); padding: 0; justify-content: center; font-weight: 400;}
.badge.ok { background:var(--accent-soft); color:var(--accent); }
.badge.assistant { background:var(--accent-soft); color:var(--accent); }
.badge.assistant svg { width:13px; height:13px; }
.badge.problem { background:var(--danger-soft); color:var(--danger); }
.date-nav { display:flex; align-items:center; gap:8px; }
.date-nav > form { width:220px; }
.date-nav > form > :is(.month-select,.custom-select) { width:100%; }
.month-input { min-height:40px; border:1px solid var(--line); border-radius:10px; background:var(--surface); padding:7px 10px; }
.month-select { min-width:170px; appearance:none; -webkit-appearance:none; color:var(--text); font:inherit; cursor:pointer; text-align:center; }
select.month-select:not(.custom-select-native) { height:41px; min-height:41px; padding:8px 36px; background-color:var(--bg); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23787878' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4M3 10h18M8 2v4M17 14h-6M13 18H7M7 14h.01M17 18h.01'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23909090' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:left 11px center,right 10px center; background-size:16px 16px,16px 16px; }
.month-select:disabled { cursor:default; opacity:1; }
.date-nav .icon-only:disabled { cursor:not-allowed; opacity:.35; }
.callout { border:1px solid var(--line); border-radius:14px; background:var(--surface-2); padding:14px 16px; }
.callout.success { border-color:color-mix(in srgb,var(--accent) 35%,var(--line)); background:var(--accent-soft); }
.callout.danger { border-color:color-mix(in srgb,var(--danger) 35%,var(--line)); background:var(--danger-soft); }
.callout.warning { border-color:color-mix(in srgb,var(--warning) 35%,var(--line)); background:var(--warning-soft); }
.availability-reminders { display:grid; gap:10px; margin:-8px 0 28px; }
.availability-reminder { position:relative; display:flex; min-height:76px; align-items:center; gap:13px; border-radius:14px; background:var(--warning-soft); padding:12px 13px; }
.availability-reminder-dismiss-form { position:absolute; top:50%; right:6px; margin:0; transform:translateY(-50%); }
.availability-reminder-close { display:grid; width:32px; height:32px; place-items:center; border:0; border-radius:8px; background:transparent; color:var(--muted); padding:0; cursor:pointer; }
.availability-reminder-close:hover { background:color-mix(in srgb,var(--warning) 13%,transparent); color:var(--text); }
.availability-reminder-close:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.availability-reminder-close:disabled { cursor:wait; opacity:.5; }
.availability-reminder-close svg { width:16px; height:16px; }
.availability-reminder-icon { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:11px; background:color-mix(in srgb,var(--warning) 13%,var(--surface)); color:var(--text); }
.availability-reminder > div { display:grid; min-width:0; flex:1; gap:4px; }
.availability-reminder > div span { color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); line-height:1.45; }
.availability-reminder .btn { flex:0 0 auto; margin-right:28px; }
.availability-simple { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.availability-simple-head { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--line); padding:14px 16px; }
.availability-simple-head h2 { margin-bottom:3px; }
.availability-simple-head p { margin:0; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); }
.availability-simple-actions { display:flex; align-items:center; gap:8px; }
.weekday-availability-list { display:grid; }
.weekday-availability { display:grid; grid-template-columns:minmax(190px,1fr) minmax(360px,1fr); min-height:82px; align-items:center; gap:18px; padding:12px 16px; opacity:.74; transition:background .16s ease,opacity .16s ease; }
.weekday-availability + .weekday-availability { border-top:1px solid var(--line); }
.weekday-availability.active { background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface)); opacity:1; }
.weekday-toggle-area { position:relative; display:flex; min-width:0; align-items:center; gap:13px; cursor:pointer; }
.weekday-toggle-area input { position:absolute; opacity:0; pointer-events:none; }
.weekday-check { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border:1.5px solid color-mix(in srgb,var(--text) 34%,var(--line)); border-radius:10px; background:var(--surface); color:transparent; transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease; }
.weekday-check svg { width:18px; height:18px; }
.weekday-toggle-area:hover .weekday-check { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.weekday-toggle-area input:focus-visible + .weekday-check { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent); }
.weekday-toggle-area input:checked + .weekday-check { border-color:var(--accent); background:var(--accent); color:white; }
.weekday-name { display:grid; gap:4px; }
.weekday-name span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.weekday-range { display:flex; min-width:0; align-items:center; gap:9px; }
.weekday-range-prefix { flex:0 0 auto; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); white-space:nowrap; }
.weekday-range label { display:flex; min-width:0; flex:1; align-items:center; gap:8px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.weekday-range label > span { flex:0 0 auto; }
.weekday-range select { width:100%; min-height:39px; border:1px solid var(--line); border-radius:10px; background:var(--bg); padding:7px 10px; font-size:calc(14px + var(--font-size-adjust)); font-weight:400; }
.weekday-range select:disabled { cursor:not-allowed; background:var(--surface-2); color:var(--faint); opacity:.72; }
.range-separator { color:var(--muted); }
.availability-preferences,.availability-exceptions { margin-top:12px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.availability-preferences > summary,.availability-exceptions > summary { display:flex; min-height:62px; align-items:center; justify-content:space-between; gap:12px; padding:11px 15px; cursor:pointer; list-style:none; }
.availability-preferences > summary::-webkit-details-marker,.availability-exceptions > summary::-webkit-details-marker { display:none; }
.availability-preferences > summary > span,.availability-exceptions > summary > span { display:flex; align-items:center; gap:11px; }
.availability-preferences > summary span span,.availability-exceptions > summary span span { display:grid; gap:3px; }
.availability-preferences summary small,.availability-exceptions summary small { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); font-weight:400; }
.availability-preferences[open] > summary > svg,.availability-exceptions[open] > summary > svg { transform:rotate(180deg); }
.availability-preferences-body,.availability-exceptions-body { border-top:1px solid var(--line); padding:14px 15px; }
.availability-preferences-body > p { color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); }
.stand-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.stand-choice input { position:absolute; opacity:0; pointer-events:none; }
.stand-choice { display:flex; min-height:44px; align-items:center; gap:9px; border:1px solid var(--line); border-radius:11px; padding:8px 10px; cursor:pointer; }
.stand-choice > svg { margin-left:auto; color:transparent; }
.stand-choice:has(input:checked) { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); background:var(--accent-soft); }
.stand-choice:has(input:checked) > svg { color:var(--accent); }
.availability-exceptions-body { display:grid; gap:0; padding:0; }
.availability-exact { margin-top:0; }
.availability-exact .availability-simple-head { border-bottom: none }
.availability-exception-day { display:grid; grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr); align-items:center; gap:16px; min-height:68px; padding:11px 15px; }
.availability-exception-day + .availability-exception-day { border-top:1px solid var(--line); }
.availability-exception-day > div:first-child { display:grid; gap:3px; }
.availability-exception-day > div:first-child span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.exception-time-list { display:flex; min-width:0; flex-wrap:wrap; gap:6px; border-radius:12px; background:var(--surface-2); padding:8px 10px; }
.exception-time { position:relative; display:inline-flex; }
.exception-time input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; pointer-events:none; }
.exception-time span { display:inline-flex; min-height:34px; align-items:center; border:1px solid var(--line); border-radius:9px; background:var(--surface); padding:6px 9px; cursor:pointer; font-size:calc(12px + var(--font-size-adjust)); }
.exception-time span:hover {border-color:var(--accent);}
.exception-time input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }
.exception-time input:checked + span { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.exception-time input:disabled + span { cursor:default; }
.copy-row { display:flex; gap:8px; margin-top:10px; }
.copy-row input { min-width:0; flex:1; border:1px solid var(--line); border-radius:10px; background:var(--surface); padding:9px 11px; }
.schedule-list { display:grid; gap:11px; }
.schedule-date-list { display:grid;overflow: hidden;border-radius: 16px;border: 1px solid var(--line);}
.schedule-addition-schedule {border: none;border-radius: 0;}
.schedule-day-group { border-bottom:1px solid var(--line); background:var(--surface); overflow:hidden; }
.schedule-day-group:last-child {border-bottom: none}
.schedule-day-summary { display:flex; min-height:70px; align-items:center; justify-content:space-between; gap:16px; padding:13px 17px; cursor:pointer; list-style:none; transition:background .16s ease; }
.schedule-day-summary::-webkit-details-marker { display:none; }
.schedule-day-summary:hover { background:var(--bg); }
.schedule-day-summary > span { display:grid; gap:3px; }
.schedule-day-heading { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.schedule-day-issues,.schedule-tab-issues { flex:0 0 auto; white-space:nowrap; font-size:calc(10px + var(--font-size-adjust)); padding:4px 8px; }
.schedule-day-summary strong { font-size:calc(16px + var(--font-size-adjust)); }
.schedule-day-summary small { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.schedule-day-summary > svg { width:19px; height:19px; color:var(--muted); transition:transform .2s ease; }
.schedule-day-group[open] > .schedule-day-summary {background: var(--bg); }
.schedule-day-group[open] > .schedule-day-summary > svg { transform:rotate(180deg); }
.schedule-day-group.schedule-closing > .schedule-day-summary > svg { transform:rotate(0); }
.schedule-day-content { display:grid; background: var(--bg);}
.schedule-day-group.schedule-animating > .schedule-day-content { overflow:hidden; will-change:height,opacity; }
.schedule-day-loading,.schedule-day-load-error { min-height:150px; display:grid; place-items:center; align-content:center; gap:11px; padding:24px; color:var(--muted); text-align:center; }
.schedule-day-loading > span:first-child { width:24px; height:24px; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:spin .75s linear infinite; }
.schedule-day-load-error .btn { min-width:120px; }
.schedule-stats-loading { min-height:240px; display:grid; place-items:center; align-content:center; gap:11px; color:var(--muted); }
.schedule-stats-loading > span:first-child { width:24px; height:24px; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:spin .75s linear infinite; }
.schedule-time-group { padding:15px 16px 17px; }
.schedule-time-heading { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.schedule-time-heading > svg { width:16px; height:16px; color:var(--muted); }
.schedule-time-heading > strong { font-variant-numeric:tabular-nums; font-size:calc(14px + var(--font-size-adjust)); }
.schedule-time-heading > span { margin-left:auto; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.schedule-time-shifts { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:10px; }
.schedule-group-shift { min-width:0; border-radius:12px; }
.schedule-group-shift .schedule-group-shift-head { min-height:48px; border-bottom:0; padding:9px 12px; }
.schedule-group-shift .shift-body { padding:10px 12px; }
.schedule-group-shift .schedule-people-grid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:8px 10px; }
.schedule-group-shift .schedule-people-grid > .schedule-person-assignment { min-width:0; max-width:100%; justify-self:start; }
.schedule-group-shift .schedule-people-grid > .schedule-person-assignment:has(.schedule-assignment-exception) { grid-column:1/-1; }
.schedule-group-shift .schedule-people-grid > .inline-form,
.schedule-group-shift .schedule-people-grid > .manual-assignment-hint,
.schedule-group-shift .schedule-people-grid > .issue-list,
.schedule-group-shift .schedule-people-grid > form,
.schedule-group-shift .schedule-people-grid > .invitation-sent-button { grid-column:1/-1; }
.schedule-group-shift .schedule-person-assignment .person-contact { min-width:0; max-width:calc(100% - 28px); }
.schedule-group-shift .schedule-person-assignment .person-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.schedule-group-shift .schedule-person-assignment:has(.schedule-assignment-exception) .person-contact { flex:1; }
.schedule-tabs { display:flex; gap:8px; overflow-x:auto; padding:2px 1px 7px; scrollbar-width:thin; }
#draft-schedule { scroll-margin-top:24px; }
.schedule-tab {transition: background .16s ease, color .16s ease;display:inline-flex; min-height:42px; flex:0 0 auto; align-items:center; gap:8px; border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:7px 11px; color:var(--muted); cursor:pointer; font-weight:500; }
.schedule-tab:hover { background:var(--surface-2); color:var(--text); }
.schedule-tab.active { border-color:var(--text); background:var(--text); color:var(--bg); }
.schedule-tab .tab-count { display:inline-flex; min-width:34px; min-height:23px; align-items:center; justify-content:center; border-radius:999px; background:var(--surface-2); padding:2px 7px; color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); }
.schedule-tab.active .tab-count { background:color-mix(in srgb,var(--bg) 18%,transparent); color:var(--bg); }
.schedule-tab .tab-count.problem { background:var(--danger-soft); color:var(--danger); }
.schedule-tab .schedule-tab-issues { color:var(--danger); }
.schedule-tab.active .stand-dot { box-shadow:0 0 0 3px color-mix(in srgb,var(--stand-color,#777) 24%,transparent); }
[data-schedule-stand][hidden] { display:none; }
.shift {border-radius:15px; background:var(--surface); overflow:hidden; }
.shift.problem { border-color:color-mix(in srgb,var(--danger) 48%,var(--line)); }
.shift-head { display:flex; align-items:center; gap:12px; padding:13px 15px; border-bottom: 1px solid var(--line); }
.shift-date { min-width:118px; font-weight:500; }
.shift-time { font-variant-numeric:tabular-nums; font-weight:500; }
.shift-stand { min-width:0; flex:1; color:var(--muted); }
.shift-head > .badge:last-child { margin-left:auto; }
.shift-location,.slot-location { color:var(--muted); font-size:calc(11px + var(--font-size-adjust));display: none; }
.shift-body { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; }
.service-partners { align-items:center; }
.partners-label { display:inline-flex; min-width:82px; align-items:center; gap:6px; font-size:calc(12px + var(--font-size-adjust)); font-weight:400; }
.partners-label svg.lucide { width:15px; height:15px; }
.people { display:flex; min-width:0; flex:1; flex-wrap:wrap; gap:12px; }
.person { display:inline-flex; min-height:34px; align-items:center; gap:7px; border-radius:999px; background:var(--bg); padding-left:10px; padding-right: 10px; font-size:calc(13px + var(--font-size-adjust)); }
.person-contact { appearance:none; border:0; cursor:pointer; transition:background .16s ease,box-shadow .16s ease,transform .16s ease; }
.person-contact:hover { background:var(--surface-3); }
.person-contact:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.person-contact:active { transform:translateY(1px); }
.person.manual { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); }
.person form { display:inline-flex; }
.person button { border:0; background:transparent; color:var(--muted); cursor:pointer; padding:1px 3px; }
.schedule-person-assignment { background: var(--bg);display:inline-flex; min-height:34px; align-items:center; gap:3px; border-radius:999px; font-size:calc(12px + var(--font-size-adjust)); padding-right:3px; padding-left:0px; transition:background .16s ease,box-shadow .16s ease; }
.schedule-person-assignment:hover { background:var(--surface-2); }
.schedule-person-assignment .person-contact { background:transparent; }
.schedule-person-assignment .person-contact:hover { background:var(--surface-3);box-shadow:none; }
.schedule-person-assignment form { display:inline-flex; }
.schedule-person-assignment .person-assignment-remove { display:grid; width:25px; height:25px; place-items:center; border:0; border-radius:999px; background:transparent; color:var(--muted); cursor:pointer; padding:0; }
.schedule-person-assignment .person-assignment-remove:hover { background:var(--surface-3); color:var(--text); }
.schedule-person-assignment .person-assignment-remove svg { width:15px; height:15px; }
.issue-list { display:grid; gap:4px; margin:0; padding:0; color:var(--danger); font-size:calc(12px + var(--font-size-adjust)); list-style:none; }
.issue-list li { display:flex; align-items:center; gap:5px; }
.issue-list svg.lucide { width:13px; height:13px; }
.spin { animation:icon-spin .8s linear infinite; }
@keyframes icon-spin { to { transform:rotate(360deg); } }
.inline-form { width:100%; display:flex; align-items:stretch; gap:0; }
.inline-form .btn { border-radius:0 9px 9px 0; border-left:0; white-space:nowrap; }
.inline-form select { width:100%; min-width:175px; min-height:var(--button-height); flex:1; border:1px solid var(--line); border-radius:9px 0 0 9px; background:var(--bg); padding:5px 8px; font-size:var(--button-font-size); line-height:1.25; outline:none; }
.manual-assignment-hint{display:inline-flex;min-height:34px;align-items:center;color:var(--muted);font-size:calc(11px + var(--font-size-adjust))}
.calendar { border:1px solid var(--line); border-radius:16px; background:var(--surface); overflow:hidden; }
.calendar-week { display:grid; grid-template-columns:repeat(7,1fr); border-bottom:1px solid var(--line); }
.calendar-week span { padding:9px 4px; color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); font-weight:700; text-align:center; text-transform:uppercase; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.calendar-day { position:relative; display:grid; min-height:78px; align-content:start; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface); padding:8px; cursor:pointer; text-align:left; }
.calendar-day:nth-child(7n) { border-right:0; }
.calendar-day.muted { background:var(--surface-2); cursor:default; }
.calendar-day.has-slots:hover,.calendar-day.selected { background:var(--accent-soft); }
.day-number { font-size:calc(12px + var(--font-size-adjust)); font-weight:650; }
.day-count { margin-top:14px; color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); }
.day-count.chosen { color:var(--accent); font-weight:700; }
.availability-groups { display:grid; gap:12px; margin-top:18px; }
.availability-tabs { margin-bottom:-2px; }
[data-availability-stand][hidden],.availability-day[hidden] { display:none; }
.availability-day { scroll-margin-top:16px; }
.slot-option { display:flex; align-items:center; gap:12px; padding:11px 13px; border-bottom:1px solid var(--line); cursor:pointer; }
.slot-option:last-child { border-bottom:0; }
.slot-option input { width:18px; height:18px; accent-color:var(--accent); }
.slot-copy { min-width:0; flex:1; }
.cancellation-option .slot-copy { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.slot-time { font-weight:650; }
.slot-place { margin-top:3px; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); }
.slot-option .slot-copy { display:flex; align-items:baseline; gap:9px; }
.slot-option .slot-place { min-width:0; margin:0; line-height:1.35; }
.sticky-save { position:sticky; bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:16px; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb,var(--surface) 94%,transparent); box-shadow:var(--shadow); padding:11px 12px 11px 16px; backdrop-filter:blur(14px); }
.public-shell { display:grid; min-height:100vh; place-items:center; padding:22px; background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent) 9%,var(--bg)),var(--bg) 46%); }
.auth-card { width:min(100%,430px); border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:var(--shadow); padding:28px; }
.auth-brand { display:flex; align-items:center; gap:10px; margin-bottom:28px; font-weight:700; }
.auth-card h1 { font-size:calc(29px + var(--font-size-adjust)); }
.auth-card .btn { width:100%; margin-top:5px; }
.muted { color:var(--muted); }
.text-danger { color:var(--danger); }
.mt { margin-top:16px; }
.only-mobile { display:none; }
@media (max-width:900px) {
  .grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grid.three { grid-template-columns:1fr; }
  .dashboard-overview { grid-template-columns:1fr; }
  .stand-settings-grid { grid-template-columns:minmax(0,1fr) minmax(190px,.72fr); }
  .stand-location-setting { grid-column:1 / -1; grid-row:2; }
}
@media (max-width:1200px) and (min-width:1021px) {
  .slot-edit-row { grid-template-columns:12px minmax(120px,1fr) repeat(3,minmax(105px,1fr)); }
  .slot-edit-number { grid-column:auto; }
  .slot-edit-actions { grid-column:2 / -1; }
}
@media (max-width:1020px) {
  .app { display:block; padding-bottom:68px; }
  .sidebar { position:fixed; z-index:50; top:auto; bottom:0; left:0; width:100%; height:64px; flex-direction:row; border:0; border-top:1px solid var(--line); padding:6px 8px; }
  .brand,.nav-label,.sidebar-spacer,.account { display:none; }
  .nav { display:grid; width:100%; grid-template-columns:repeat(4,1fr); gap:2px; }
  .nav a { display:grid; min-height:51px; place-items:center; gap:1px; padding:3px; font-size:calc(10px + var(--font-size-adjust)); text-align:center; }
  .nav-icon { height:20px; font-size:calc(16px + var(--font-size-adjust)); }
  .mobile-bar { display:flex; min-height:54px; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:var(--surface); padding:8px 14px; }
  .content { width:calc(100% - 28px); max-width:calc(100% - 28px); padding:23px 0 54px; }
  .page-head { align-items:stretch; flex-direction:column; margin-bottom:20px; }
  h1 { font-size:calc(31px + var(--font-size-adjust)); }
  .grid.two,.grid.four,.field-row,.field-row.three { grid-template-columns:1fr; }
  .grid.four-dashboard {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .theme-options { grid-template-columns:1fr; }
  .publisher-stand-quick { display:none; }
  .danger-zone > .card-head { padding:13px 14px 11px 16px; }
  .danger-zone-body { grid-template-columns:1fr; padding:12px 12px 14px 15px; }
  .danger-zone-form { grid-column:auto; grid-template-columns:1fr; align-items:stretch; gap:10px; padding-top:2px; }
  .danger-zone-form .btn { width:100%; min-width:0; }
  .settings-inline { align-items:stretch; flex-direction:column; }
  .settings-inline .field { width:100%; }
  .check-grid { grid-template-columns:repeat(4,1fr); }
  .interval-row { grid-template-columns:1fr 1fr; }
  .interval-remove { grid-column:2; justify-self:end; height:32px; }
  .stand-card-actions .btn { flex:1; }
  .stand-card-body { padding:10px; }
  .new-stand-grid { grid-template-columns:1fr; gap:12px; }
  .new-stand-location { grid-column:auto; }
  .new-stand-dialog .dialog-body { padding:10px; }
  .new-stand-form { border-radius:12px; padding:12px; }
  .new-stand-actions { display:grid; grid-template-columns:1fr 1fr; }
  .new-stand-actions .btn { width:100%; }
  .stand-settings-form { gap:13px; border-radius:12px; padding:12px; }
  .stand-settings-grid { grid-template-columns:1fr; gap:12px; }
  .stand-location-setting { grid-column:auto; grid-row:auto; }
  .stand-settings-footer { align-items:stretch; flex-direction:column; }
  .stand-active-control,.stand-settings-save { width:100%; }
  .stand-danger-zone { grid-template-columns:36px minmax(0,1fr); align-items:start; }
  .stand-danger-zone form { grid-column:1 / -1; }
  .stand-danger-zone .btn { width:100%; }
  .interval-stand-toolbar { align-items:stretch; flex-direction:column; }
  .interval-stand-toolbar .actions { justify-content:flex-start; }
  .slot-edit-row { grid-template-columns:12px 1fr 1fr; align-items:end; }
  .slot-edit-stand { grid-column:2 / -1; }
  .slot-edit-actions { grid-column:2 / -1; }
  .shift-head { flex-wrap:wrap; }
  .schedule-day-summary { min-height:62px; padding:11px 13px; }
  .schedule-time-group { padding:12px; }
  .schedule-time-shifts { grid-template-columns:1fr; }
  .shift-date { min-width:0; }
  .shift-stand { width:100%; flex-basis:100%; }
  .inline-form { width:100%; }
  .inline-form select { min-width:0; flex:1; }
  .inline-form .custom-select { min-width:0; }
  .calendar-day { min-height:59px; padding:6px; }
  .day-count { margin-top:8px; font-size:calc(9px + var(--font-size-adjust)); }
  .only-mobile { display:block; }
}

/* Priceflow-style application shell */
:root { --sidebar-collapsed-width:52px; }
html,body { height:100%; overflow:hidden; }
.app { height:100vh; min-height:0; transition:grid-template-columns .34s cubic-bezier(.22,1,.36,1); }
.app.sidebar-collapsed { grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr); }
html.sidebar-precollapsed .app,
html.sidebar-precollapsed .sidebar :is(.brand-mark,.brand-copy,.sidebar-toggle,.collapsed-control,.nav-copy,.account-copy,.account-menu-chevron) { transition:none!important; }
.sidebar { position:relative; z-index:30; height:100vh; padding:0; overflow:visible; }
.sidebar-header { position:relative; display:flex; min-height:56px; align-items:center; gap:10px; padding:30px 10px; }
.sidebar-header .brand { min-width:0; min-height:0; flex:1; gap:0; overflow:hidden; padding:0 0 0 5px; font-weight:400; }
.sidebar-header .brand-mark { width:25px; height:25px; flex-basis:25px; margin:0 6px 0 0; border-radius:10px; background:transparent; color:var(--text); transition:opacity .12s ease,visibility 0s linear .12s; }
.sidebar-header .brand-mark svg { width:22px; height:22px; }
.brand-copy { width:180px; overflow:hidden; opacity:1; white-space:nowrap; transition:width .34s cubic-bezier(.22,1,.36,1),opacity .28s ease; }
.sidebar-toggle,.collapsed-control { position:absolute; z-index:3; top:26px; display:grid; width:32px; height:32px; place-items:center; border:0; border-radius:10px; background:transparent; color:var(--muted); cursor:pointer; }
.sidebar-toggle { right:12px; }
.collapsed-control { left:10px; opacity:0; visibility:hidden; pointer-events:none; transition:background .14s ease,color .14s ease,opacity .12s ease,visibility 0s linear .12s; }
.sidebar-toggle:hover,.collapsed-control:hover { background:var(--surface-3); color:var(--text); }
.sidebar-toggle::after,.collapsed-control::after { position:absolute; top:50%; left:calc(100% + 10px); padding:8px 11px; border-radius:999px; background:#171717; color:#fff; content:attr(data-tooltip); font-size:calc(11px + var(--font-size-adjust)); opacity:0; transform:translate(-4px,-50%); transition:.16s ease; pointer-events:none; white-space:nowrap; }
.sidebar-toggle:hover::after,.collapsed-control:hover::after { opacity:1; transform:translate(0,-50%); transition-delay:.35s; }
.sidebar-scroll { min-height:0; flex:1; overflow:auto; overflow-x:hidden; padding:0 6px 18px; scrollbar-width:thin; scrollbar-color:#c7c7c7 transparent; }
.nav { gap:1px; }
.nav .nav-row { position:relative; min-height:38px; gap:10px; overflow:hidden; border-radius:10px; padding:0 10px; color:var(--text); font-size:calc(14px + var(--font-size-adjust)); font-weight:400; white-space:nowrap; }
.nav .nav-row:hover,.nav .nav-row:focus-visible,.nav .nav-row.active { background:var(--surface-3); color:var(--text); font-weight:400; outline:0; }
.nav .nav-icon { width:20px; height:20px; flex:0 0 20px; }
.nav-copy { max-width:159px; min-width:0; flex:1; overflow:hidden; opacity:1; text-overflow:ellipsis; transition:width .34s cubic-bezier(.22,1,.36,1),opacity .28s ease; }
.nav-count { display:grid; min-width:20px; height:20px; place-items:center; border-radius:999px; background:var(--danger); color:white; padding:0 5px; font-size:calc(10px + var(--font-size-adjust)); }
.sidebar-footer { position:relative; padding:6px; border-top:1px solid var(--line); }
.sidebar-footer .account { position:relative; width:100%; min-height:52px; margin:0; gap:8px; border:0; border-radius:12px; background:transparent; color:var(--text); padding:6px 30px 6px 40px; text-align:left; cursor:pointer; }
.sidebar-footer .avatar { position:absolute; top:50%; left:8px; width:24px; height:24px; margin:0; transform:translateY(-50%); background:var(--surface-3); color:var(--muted); font-size:calc(9px + var(--font-size-adjust)); }
.sidebar-footer .account:hover,.sidebar-footer .account.menu-open { background:var(--surface-3); }
.account-menu-chevron { position:absolute; right:8px; width:16px!important; height:16px!important; color:var(--muted); transition:transform .18s ease; }
.account[aria-expanded="true"] .account-menu-chevron { transform:rotate(180deg); }
.account-menu { position:absolute; z-index:80; left:6px; bottom:calc(100% + 8px); width:248px; border:1px solid var(--line); border-radius:14px; background:var(--surface); padding:7px; box-shadow:var(--shadow); }
.account-menu-head,.account-menu-row { display:flex; width:100%; align-items:center; gap:10px; border:0; border-radius:9px; background:transparent; color:var(--text); padding:8px 9px; text-align:left; cursor:pointer; }
.account-menu-head { min-height:54px; }
.account-menu-row { min-height:38px; font-size:calc(14px + var(--font-size-adjust)); }
.account-menu-head:hover,.account-menu-row:hover { background:var(--surface-2); }
.account-menu-row svg.lucide { width:17px; height:17px; }
.account-menu-avatar { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:50%; background:var(--surface-3); color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); font-weight:700; }
.account-menu-copy { min-width:0; flex:1; }
.account-menu-name,.account-menu-role { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-menu-name { font-size:calc(14px + var(--font-size-adjust)); font-weight:400; }
.account-menu-role { margin-top:2px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.account-menu-divider { height:1px; margin:5px 7px; background:var(--line); }
.account-menu form { margin:0; }
.account-menu-theme { display:grid; min-height:42px; grid-template-columns:17px minmax(0,1fr) auto; align-items:center; gap:10px; padding:6px 9px; color:var(--text); font-size:calc(14px + var(--font-size-adjust)); }
.account-menu-theme > svg { width:17px; height:17px; color:var(--muted); }
.account-menu-font-size { display:grid; min-height:42px; grid-template-columns:17px minmax(0,1fr) 66px; align-items:center; gap:10px; padding:6px 9px; font-size:calc(14px + var(--font-size-adjust)); }
.account-menu-font-size > svg { width:17px; height:17px; color:var(--muted); }
.account-menu-font-size > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.menu-font-size-select .custom-select-mark { display:none; }
.menu-font-size-select .custom-select-compact .custom-select-trigger { width:66px; height:33px; min-height:33px; grid-template-columns:minmax(0,1fr) 12px; gap:3px; border-radius:9px; background:var(--surface-2); padding:2px 5px; font-size:calc(11px + var(--font-size-adjust)); }
.menu-font-size-select .custom-select-compact .custom-select-label { font-size:inherit; }
.menu-theme-switch { display:grid; grid-template-columns:repeat(2,29px); gap:2px; border:1px solid var(--line); border-radius:9px; background:var(--surface-2); padding:2px; }
.menu-theme-option { display:grid; width:29px; height:27px; place-items:center; border:0; border-radius:6px; background:transparent; color:var(--faint); padding:0; cursor:pointer; transition:background .16s ease,color .16s ease,box-shadow .16s ease; }
.menu-theme-option:hover { color:var(--text); }
.menu-theme-option.active { background:var(--surface); color:var(--accent); box-shadow:0 1px 3px rgba(0,0,0,.1); }
.menu-theme-option svg { width:14px; height:14px; }
.app.sidebar-collapsed .brand-copy,.app.sidebar-collapsed .nav-copy,.app.sidebar-collapsed .account-copy,.app.sidebar-collapsed .account-menu-chevron { width:0; max-width:0; min-width:0; flex:0 0 0; margin:0; opacity:0; visibility:hidden; pointer-events:none; }
.app.sidebar-collapsed .sidebar-header { padding-inline:10px; }
.app.sidebar-collapsed .brand { flex:0 0 32px; }
.app.sidebar-collapsed .sidebar-toggle { opacity:0; visibility:hidden; pointer-events:none; }
.app.sidebar-collapsed .brand-mark { opacity:0; visibility:hidden; pointer-events:none; }
.app.sidebar-collapsed .collapsed-control { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.app.sidebar-collapsed .nav-row { width:39px; max-width:39px; justify-self:center; gap:10px; padding-inline:10px; }
.app.sidebar-collapsed .nav-count { position:absolute; top:4px; right:3px; width:7px; min-width:7px; height:7px; overflow:hidden; padding:0; color:transparent; }
.app.sidebar-collapsed.sidebar-settling .nav-row { width:auto; max-width:none; justify-self:stretch; }
.app.sidebar-collapsed .sidebar-scroll { overflow-y:hidden; }
.app.sidebar-collapsed .account { width:39px; height:52px; min-height:52px; gap:0; padding:4px; }
.main { min-width:0; height:100vh; overflow:auto; background:var(--bg); }
/* Page links keep native navigation; the content surface must not fade between documents. */
.main-surface { min-height:100%; }
.topbar { position:static; display:flex; height:62px; align-items:center; justify-content:space-between; padding:0 24px; }
.topbar-left,.topbar-actions { display:flex; align-items:center; gap:8px; }
.topbar-notification { position:relative; flex:0 0 34px; color:var(--text); text-decoration:none; }
.topbar-count { position:absolute; top:-4px; right:-5px; display:grid; min-width:18px; height:18px; place-items:center; border:2px solid var(--bg); border-radius:999px; background:var(--danger); color:white; padding:0 4px; font-size:calc(9px + var(--font-size-adjust)); font-weight:750; line-height:1; }
.current-view { font-size:calc(15px + var(--font-size-adjust)); font-weight:400; letter-spacing:-.01em; }
.mobile-menu,.backdrop { display:none; }
.content { width:min(1160px,calc(100% - 48px)); max-width:calc(100% - 48px); padding:48px 0 72px; }
.page-head { align-items:flex-end; gap:28px; margin-bottom:34px; }
.eyebrow { display: none; margin-bottom:9px; color:var(--muted); font-size:calc(13px + var(--font-size-adjust)); font-weight:550; letter-spacing:0; text-transform:none; }
.page-head h1 { margin:0; font-size:calc(clamp(30px,4vw,38px) + var(--font-size-adjust)); font-weight:400; letter-spacing:-.045em; line-height:1.05; }
.page-head .subtitle { max-width:600px; margin:13px 0 0; line-height:1.6; display: none; }
.btn-invitation {width: 100%;}

dialog { width:min(94vw,560px); max-height:88vh; max-height:88dvh; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--surface); color:var(--text); padding:0; box-shadow:0 24px 80px rgba(0,0,0,.22); }
dialog[open] { display:flex; flex-direction:column; }
dialog::backdrop { background:rgba(0,0,0,.3); backdrop-filter:blur(2px); }
dialog.interval-dialog { width:min(96vw,760px); }
dialog.template-dialog { width:min(96vw,900px); }
dialog.notifications-dialog { width:min(94vw,720px); }
dialog.contact-dialog { width:min(92vw,430px); }
dialog.stand-map-dialog { width:min(94vw,900px); }
dialog.stand-location-dialog { width:min(94vw,720px); }
.stand-location-field { display:flex; min-width:0; align-items:center; gap:8px; }
.stand-location-field input { min-width:0; flex:1; }
.stand-location-field .btn { flex:0 0 auto; }
.stand-map-dialog-body,.stand-location-dialog-body { display:grid; gap:12px; }
.stand-map-search { display:grid; gap:8px; }
.stand-map-search-control { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.stand-map-search-control input { min-width:0; min-height:42px; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--text); padding:8px 11px; font:inherit; }
.stand-map-search-results { display:grid; max-height:148px; overflow:auto; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.stand-map-search-result { display:grid; gap:3px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--text); padding:9px 11px; font:inherit; text-align:left; cursor:pointer; }
.stand-map-search-result:last-child { border-bottom:0; }
.stand-map-search-result:hover { background:var(--surface-2); }
.stand-map-search-result strong { font-size:calc(12px + var(--font-size-adjust)); }
.stand-map-search-result small { color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); line-height:1.35; }
.stand-map-search-empty { color:var(--muted); padding:12px; font-size:calc(12px + var(--font-size-adjust)); text-align:center; }
.stand-map-canvas,.stand-location-map { position:relative; z-index:0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.stand-map-canvas { height:min(52vh,460px); min-height:320px; }
.stand-location-map { height:min(48vh,390px); min-height:280px; }
.leaflet-container { color:#1c1c1c; font-family:inherit; }
.leaflet-control-attribution { font-size:calc(9px + var(--font-size-adjust)); }
.stand-map-marker { border:0; background:transparent; }
.stand-map-marker > span { position:relative; display:block; width:28px; height:28px; border:3px solid white; border-radius:50% 50% 50% 0; background:var(--accent); transform:rotate(-45deg); box-shadow:0 4px 12px rgba(0,0,0,.28); }
.stand-map-marker > span::after { position:absolute; width:7px; height:7px; inset:7px; border-radius:50%; background:white; content:""; }
.stand-map-picker-foot { display:flex; min-height:36px; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.stand-map-picker-foot > span { min-width:0; }
.stand-map-picker-actions { align-items:center; }
.dialog-action-spacer { flex:1; }
.stand-location-address { display:flex; min-width:0; align-items:center; gap:11px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); padding:11px 12px; }
.stand-location-address > span { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:10px; background:var(--accent-soft); color:var(--accent); }
.stand-location-address > span svg { width:17px; height:17px; }
.stand-location-address > div { display:grid; min-width:0; gap:2px; }
.stand-location-address small { color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); }
.stand-location-address strong { overflow-wrap:anywhere; font-size:calc(13px + var(--font-size-adjust)); }
.stand-route-actions { flex-wrap:wrap; }
.contact-dialog-body { display:grid; gap:18px; }
.contact-phone { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:14px; background:var(--bg); padding:14px; }
.contact-phone-icon { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border-radius:50%; background:var(--accent-soft); color:var(--accent); }
.contact-phone-icon svg { width:19px; height:19px; }
.contact-phone div { display:grid; min-width:0; gap:2px; }
.contact-phone span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.contact-phone strong { overflow:hidden; font-size:calc(18px + var(--font-size-adjust)); font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.contact-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.contact-actions .btn { width:100%; }
.notification-dialog-body { max-height:min(62vh,560px); overflow-y:auto; padding:14px; }
.notification-dialog-list { overflow:hidden; border:1px solid var(--line); border-radius:13px; }
.notification-dialog-row { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:11px; min-height:76px; padding:12px 13px; }
.notification-dialog-row + .notification-dialog-row { border-top:1px solid var(--line); }
.notification-dialog-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:var(--surface-3); color:var(--muted); }
.notification-dialog-icon svg { width:17px; height:17px; }
.notification-dialog-empty { display:grid; min-height:220px; place-items:center; align-content:center; gap:8px; color:var(--muted); text-align:center; }
.notification-dialog-empty svg { width:30px; height:30px; }
.notification-dialog-empty strong { color:var(--text); }
.notification-dialog-empty span { max-width:340px; font-size:calc(12px + var(--font-size-adjust)); line-height:1.5; }
.notification-dialog-footer { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line); padding:12px 14px; }
.template-dialog * { min-width:0; }
.template-explanation { display:flex; align-items:flex-start; gap:9px; margin-bottom:14px; border-radius:11px; background:var(--surface-2); padding:11px 12px; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); line-height:1.45; }
.template-explanation svg { flex:0 0 auto; margin-top:1px; }
.template-summary { display:grid; display: none; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:18px; }
.template-summary > div { display:grid; min-width:0; gap:3px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); padding:9px 10px; }
.template-summary strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.template-summary span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.template-step { display:grid; grid-template-columns:25px minmax(0,1fr); align-items:start; gap:9px; }
.template-step-number { display:grid; width:23px; height:23px; place-items:center; border-radius:50%; background:var(--surface-3); color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); font-weight:700; }
.template-step .field { padding-top:2px; }
.period-date-fields { display:grid; gap:6px; }
.segmented { display:grid; grid-template-columns:1fr 1fr; gap:5px; border-radius:11px; background:var(--surface-2); padding:4px; }
.segmented input { position:absolute; opacity:0; pointer-events:none; }
.segmented span { display:grid; min-height:36px; place-items:center; border-radius:8px; cursor:pointer; font-size:calc(12px + var(--font-size-adjust)); }
.segmented input:checked + span { background:var(--surface); box-shadow:0 1px 3px rgba(0,0,0,.09); font-weight:400; }
.template-update { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; border-top:1px solid var(--line); padding-top:16px; }
.template-update > div { display:grid; gap:3px; }
.template-update small { color:var(--muted); line-height:1.4; }
.template-maintenance { margin-top:18px; border-top:1px solid var(--line); padding-top:8px; }
.template-maintenance > summary { display:flex; min-height:54px; align-items:center; justify-content:space-between; gap:10px; border-radius:10px; padding:8px 4px; cursor:pointer; list-style:none; }
.template-maintenance > summary::-webkit-details-marker { display:none; }
.template-maintenance > summary > span { display:flex; align-items:center; gap:10px; }
.template-maintenance > summary span span { display:grid; gap:3px; }
.template-maintenance summary small { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); font-weight:400; }
.template-maintenance[open] > summary > svg { transform:rotate(180deg); }
.template-maintenance-body { border-radius:11px; background:var(--surface-2); padding:12px; }
.template-maintenance-body p { margin-bottom:12px; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); line-height:1.5; }
.template-maintenance-body .btn { max-width:100%; white-space:normal; }
.template-customizer { border:1px solid var(--line); border-radius:13px; background:var(--surface-2); overflow:hidden; }
.template-customizer > summary { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; cursor:pointer; list-style:none; }
.template-customizer > summary::-webkit-details-marker { display:none; }
.template-customizer > summary > span { display:flex; align-items:center; gap:10px; }
.template-customizer > summary > span > svg { width:18px; height:18px; color:var(--accent); }
.template-customizer > summary > span > span { display:grid; gap:3px; }
.template-customizer > summary small { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); font-weight:400; }
.template-customizer > summary > svg { width:18px; height:18px; color:var(--muted); transition:transform .2s ease; }
.template-customizer[open] > summary > svg { transform:rotate(180deg); }
.template-customizer-body { display:grid; gap:13px; border-top:1px solid var(--line); padding:13px; }
.template-rule-group { display:grid; gap:9px; border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:11px; }
.template-rule-group-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.template-rule-group-head > div { display:flex; align-items:center; gap:8px; }
.month-rule-groups { display:grid; gap:13px; }
.template-rule-list { display:grid; gap:7px; }
.template-rule-row { display:grid; grid-template-columns:80px minmax(90px,1fr) minmax(90px,1fr) 68px 32px; align-items:end; gap:7px; }
.month-rules-dialog .template-rule-row { grid-template-columns:80px minmax(140px,1fr) minmax(140px,1fr) 76px 76px 32px; }
.service-team-range { margin-top:2px; }
.template-rule-row label { display:grid; gap:3px; color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); }
.template-rule-row input,.template-rule-row select { width:100%; min-height:36px; border:1px solid var(--line); border-radius:8px; background:var(--bg); padding:6px 7px; color:var(--text); }
dialog.month-rules-dialog { width:min(96vw,1180px); }
.cancellation-option { display:flex; min-height:72px; align-items:center; gap:12px; padding:13px 15px; cursor:pointer; }
.cancellation-option input { width:18px; height:18px; accent-color:var(--danger); }
.cancellation-option:has(input:checked) { border-color:color-mix(in srgb,var(--danger) 45%,var(--line)); background:var(--danger-soft); }
.cancellation-option.pending { cursor:default; opacity:.72; }
.btn.danger-solid { border-color:var(--danger); background:var(--danger); color:white; }
.btn.danger-solid:hover:not(:disabled) { border-color:color-mix(in srgb,var(--danger) 88%,black); background:color-mix(in srgb,var(--danger) 88%,black); color:white; opacity:1; }
.btn.danger-solid:disabled,.btn.danger-solid:disabled:hover { border-color:color-mix(in srgb,var(--danger) 35%,var(--line)); background:color-mix(in srgb,var(--danger) 48%,var(--surface)); color:white; opacity:.55; }
[data-theme="dark"] .btn.danger-solid { border-color:color-mix(in srgb,var(--danger) 36%,var(--line)); background:color-mix(in srgb,var(--danger) 20%,var(--surface-2)); color:color-mix(in srgb,var(--danger) 84%,white); box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 1px 2px rgba(0,0,0,.3); }
[data-theme="dark"] .btn.danger-solid:hover:not(:disabled) { border-color:color-mix(in srgb,var(--danger) 48%,var(--line)); background:color-mix(in srgb,var(--danger) 28%,var(--surface-2)); color:#fff; }
.request-total { display:inline-flex; flex:0 0 auto; align-items:center; gap:8px; border:1px solid var(--line); border-radius:999px; background:var(--surface); padding:9px 13px; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); }
.notification-section-head { margin-top:8px; }
.notification-compose-dialog { width:min(94vw,680px); }
.notification-compose-dialog form { display:grid; gap:16px; }
.notification-audience span { display:flex; align-items:center; justify-content:center; gap:7px; }
.notification-audience svg { width:16px; height:16px; }
.notification-date-section { display:grid; gap:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); padding:12px; }
.notification-date-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.notification-date-head > div { display:grid; gap:2px; }
.notification-date-head span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.notification-date-list { display:grid; gap:7px; }
.notification-date-row { display:grid; grid-template-columns:minmax(0,1fr) 40px; gap:7px; }
.notification-date-row input { width:100%; min-height:41px; border:1px solid var(--line); border-radius:10px; outline:0; background:var(--surface); padding:8px 10px; }
.notification-date-row input:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
.notification-cancel-picker { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.notification-cancel-picker > summary { display:grid; min-height:58px; grid-template-columns:34px minmax(0,1fr) auto 18px; align-items:center; gap:10px; padding:10px 12px; cursor:pointer; list-style:none; }
.notification-cancel-picker > summary::-webkit-details-marker,.notification-cancel-day > summary::-webkit-details-marker { display:none; }
.notification-cancel-summary-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:var(--surface-2); color:var(--muted); }
.notification-cancel-summary-icon svg { width:17px; height:17px; }
.notification-cancel-summary-copy { display:grid; gap:2px; }
.notification-cancel-summary-copy small { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.notification-cancel-chevron,.notification-cancel-day > summary > svg { width:17px; height:17px; color:var(--muted); transition:transform .18s ease; }
.notification-cancel-picker[open] > summary { border-bottom:1px solid var(--line); }
.notification-cancel-picker[open] > summary .notification-cancel-chevron,.notification-cancel-day[open] > summary > svg { transform:rotate(180deg); }
.notification-cancel-picker-body { display:grid; gap:10px; padding:11px; background:var(--surface-2); }
.notification-cancel-warning { display:flex; align-items:flex-start; gap:8px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); line-height:1.45; }
.notification-cancel-warning svg { width:16px; height:16px; flex:0 0 16px; color:var(--danger); }
.notification-cancel-toolbar { display:flex; min-height:32px; align-items:center; justify-content:space-between; gap:10px; font-size:calc(12px + var(--font-size-adjust)); }
.notification-cancel-days { display:block; max-height:min(42vh,360px); overflow-y:auto; padding-right:4px; scrollbar-gutter:stable; }
.notification-cancel-day { display:block; min-height:45px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.notification-cancel-day + .notification-cancel-day { margin-top:6px; }
.notification-cancel-day > summary { display:grid; min-height:45px; box-sizing:border-box; grid-template-columns:minmax(0,1fr) auto 16px; align-items:center; gap:9px; padding:7px 10px; cursor:pointer; list-style:none; }
.notification-cancel-day > summary > span:first-child { display:flex; min-width:0; align-items:baseline; gap:8px; }
.notification-cancel-day > summary strong { font-size:calc(12px + var(--font-size-adjust)); }
.notification-cancel-day > summary small,.notification-cancel-day-selection { color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); }
.notification-cancel-day-selection { white-space:nowrap; }
.notification-cancel-day-body { display:grid; border-top:1px solid var(--line); }
.notification-cancel-day-toggle { justify-self:start; min-height:31px; margin:8px 10px; padding:4px 9px; color:var(--text); font-size:calc(11px + var(--font-size-adjust)); }
.notification-cancel-day-toggle svg { width:14px; height:14px; }
.notification-cancel-option { position:relative; display:grid; min-height:40px; grid-template-columns:19px 88px minmax(0,1fr) auto; align-items:center; gap:8px; padding:6px 10px; cursor:pointer; }
.notification-cancel-option + .notification-cancel-option { border-top:1px solid var(--line); }
.notification-cancel-option input { position:absolute; opacity:0; pointer-events:none; }
.notification-cancel-check { display:grid; width:17px; height:17px; place-items:center; border:1px solid var(--line); border-radius:5px; background:var(--surface); color:white; }
.notification-cancel-check svg { width:12px; height:12px; opacity:0; }
.notification-cancel-option:has(input:checked) { background:var(--danger-soft); }
.notification-cancel-option input:checked + .notification-cancel-check { border-color:var(--danger); background:var(--danger); }
.notification-cancel-option input:checked + .notification-cancel-check svg { opacity:1; }
.notification-cancel-option > strong { font-size:calc(12px + var(--font-size-adjust)); white-space:nowrap; }
.notification-cancel-option > small,.notification-cancel-empty { color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); }
.notification-cancel-empty { padding:12px; text-align:center; }
.notification-history-row .history-main > strong { font-size:calc(13px + var(--font-size-adjust)); }
.history-status.message { background:var(--accent-soft); color:var(--accent); }
.notification-section-head + .request-empty { min-height:150px; }
.request-empty { display:grid; min-height:260px; place-items:center; align-content:center; gap:8px; color:var(--muted); text-align:center; }
.request-empty svg { width:34px; height:34px; color:var(--accent); }
.request-empty strong { color:var(--text); font-size:calc(17px + var(--font-size-adjust)); }
.request-explainer { display:flex; align-items:center; gap:10px; }
.request-explainer svg { flex:0 0 auto; color:var(--accent); }
.request-list { display:grid; gap:11px; margin-top:14px; }
.replacement-request { overflow:hidden; }
.replacement-request-head { display:flex; min-height:54px; align-items:center; gap:10px; border-bottom:1px solid var(--line); background:var(--surface-2); padding:10px 14px; }
.replacement-request-person { display:grid; flex:1; gap:2px; }
.replacement-request-person span { color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); }
.badge.warning { background:var(--warning-soft); color:var(--warning); }
.replacement-request-body { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(460px,1.2fr); align-items:center; gap:16px; padding:13px 14px; }
.replacement-service { display:flex; min-width:0; align-items:flex-start; gap:11px; }
.replacement-service-icon { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:10px; background:var(--surface-2); color:var(--muted); }
.replacement-service > div { display:grid; min-width:0; gap:3px; }
.replacement-service span,.replacement-service small { color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); }
.replacement-controls { display:grid; grid-template-columns:minmax(220px,1fr) auto; align-items:start; gap:8px; }
.replacement-controls label { display:grid; min-width:0; gap:5px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.replacement-controls select { width:100%; min-height:40px; border:1px solid var(--line); border-radius:10px; background:var(--bg); padding:8px 10px; }
.replacement-buttons { display:flex; align-items:center; gap:7px; margin-top:19px; }
.replacement-unavailable { display:flex; align-items:flex-start; gap:9px; border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line)); border-radius:11px; background:var(--danger-soft); color:var(--danger); padding:11px 12px; }
.replacement-unavailable > span { display:grid; gap:3px; }
.replacement-unavailable small { line-height:1.4; }
.replacement-request-foot { display:flex; min-height:43px; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line); padding:6px 14px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.replacement-history-heading { margin-top:36px; }
.replacement-history { overflow:hidden; }
.replacement-history-list { display:grid; }
.replacement-history-row { display:grid; grid-template-columns:38px minmax(250px,1.2fr) minmax(240px,1fr) minmax(155px,.55fr); align-items:center; gap:14px; min-height:84px; padding:13px 16px; }
.replacement-history-row + .replacement-history-row { border-top:1px solid var(--line); }
.history-status { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; }
.history-status.approved { background:var(--accent-soft); color:var(--accent); }
.history-status.rejected { background:var(--danger-soft); color:var(--danger); }
.history-status svg { width:17px; height:17px; }
.history-main { display:grid; min-width:0; gap:5px; }
.history-people { display:flex; min-width:0; align-items:center; gap:8px; flex-wrap:wrap; }
.history-people > svg { width:15px; height:15px; color:var(--muted); }
.history-person { display:flex; min-width:0; align-items:center; gap:6px; }
.history-person strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.history-description,.history-service span,.history-resolution span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.history-service { display:flex; min-width:0; align-items:center; gap:10px; }
.history-service > div,.history-resolution { display:grid; min-width:0; gap:3px; }
.history-service strong { font-size:calc(12px + var(--font-size-adjust)); }
.cancelled-service-history-row { align-items:start; }
.cancelled-services-detail { display:grid; align-items:start; gap:9px; }
.cancelled-services-day { display:grid; min-width:0; gap:5px; }
.cancelled-services-times { display:grid; min-width:0; gap:4px; }
.cancelled-services-time { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:7px; }
.cancelled-service-time { font-variant-numeric:tabular-nums; white-space:nowrap; }
.cancelled-services-stands { display:flex; min-width:0; flex-wrap:wrap; gap:4px; }
.cancelled-services-stands .stand-chip { min-height:22px; padding:2px 7px; font-size:calc(10px + var(--font-size-adjust)); }
.history-resolution { justify-items:end; text-align:right; }
.history-resolution strong { font-size:calc(12px + var(--font-size-adjust)); }
.history-mobile-toggle { display:none; }
.replacement-history-empty { min-height:100px; }
.dialog-head { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); padding:16px 18px; }
.dialog-head > div { min-width:0; }
.dialog-head > .icon-button { flex:0 0 auto; }
.dialog-title { font-size:calc(17px + var(--font-size-adjust)); font-weight:400; }
.dialog-subtitle { margin-top:3px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.dialog-body { min-width:0; min-height:0; flex:1 1 auto; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:18px; }
.dialog-body > p { margin-bottom:18px; line-height:1.55; }
.dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.dialog-actions .danger { border-color:var(--danger); background:var(--danger); color:white; }
[data-theme="dark"] .dialog-actions .danger { border-color:color-mix(in srgb,var(--danger) 38%,var(--line)); background:color-mix(in srgb,var(--danger) 20%,var(--surface-2)); color:color-mix(in srgb,var(--danger) 82%,white); box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 1px 2px rgba(0,0,0,.3); }
[data-theme="dark"] .dialog-actions .danger:hover:not(:disabled) { border-color:color-mix(in srgb,var(--danger) 50%,var(--line)); background:color-mix(in srgb,var(--danger) 29%,var(--surface-2)); color:#fff; }

@media (max-width:1020px) {
  .btn,.btn.small { min-width:fit-content; white-space:normal; overflow-wrap:anywhere; }
  html,body { height:auto; min-height:100%; overflow-x:hidden; }
  html { overflow-y:auto; }
  body { overflow-y:visible; }
  .app,.app.sidebar-collapsed { display:block; height:auto; min-height:100vh; padding-bottom:0; }
  .sidebar { position:fixed; inset:0 auto 0 0; width:min(86vw,300px); height:100vh; flex-direction:column; border-top:0; padding:0; transform:translateX(-105%); transition:transform .22s ease; box-shadow:var(--shadow); }
  .app.mobile-open .sidebar { transform:translateX(0); }
  .app.mobile-open .backdrop { position:fixed; z-index:25; display:block; inset:0; border:0; background:rgba(0,0,0,.3); }
  .app.sidebar-collapsed .brand-copy,.app.sidebar-collapsed .nav-copy,.app.sidebar-collapsed .sidebar-section-label,.app.sidebar-collapsed .account-copy,.app.sidebar-collapsed .account-menu-chevron { width:auto; max-width:none; opacity:1; visibility:visible; pointer-events:auto; }
  .app.sidebar-collapsed .brand-mark { opacity:1; }
  .app.sidebar-collapsed .nav-row,.app.sidebar-collapsed .account { width:auto; max-width:none; justify-self:stretch; justify-content:flex-start; }
  .app.sidebar-collapsed .nav-count { position:static; width:auto; min-width:20px; height:20px; padding:0 5px; color:white; }
  .app.sidebar-collapsed .account { height:52px; min-height:52px; }
  .sidebar-header .brand { display:flex; }
  .sidebar-section-label { display:block; }
  .sidebar-footer .account { display:flex; padding:6px 30px 6px 40px; }
  .nav { display:grid; width:auto; grid-template-columns:1fr; gap:2px; }
  .nav .nav-row,.app.sidebar-collapsed .nav-row { display:flex; width:100%; max-width:none; min-height:44px; align-items:center; justify-self:stretch; justify-content:flex-start; gap:11px; padding:0 12px; font-size:calc(14px + var(--font-size-adjust)); text-align:left; }
  .sidebar-toggle,.collapsed-control { display:none; }
  .main { height:auto; min-height:100vh; overflow:visible; }
  .main.publisher-schedule-main,.main.admin-schedule-main {height:100vh;height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;}
  .topbar { height:56px; padding:0 14px; }
  .mobile-menu { display:grid; }
  .mobile-bar { display:none; }
  .content { width:calc(100% - 28px); max-width:calc(100% - 28px); padding-top:24px; }
  .page-head { align-items:stretch; margin-bottom:26px; }
  .page-head-actions { width:100%; align-items:stretch; }
  .page-head-actions .date-nav { margin-right:auto; }
  .page-head-actions > .btn { flex:1; }
  .draft-section-head { align-items:stretch; flex-direction:column; }
  .draft-actions { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; justify-content:stretch; }
  .draft-status { grid-column:1 / -1; justify-self:start; }
  .draft-actions > form { min-width:0; }
  .draft-actions > form .btn { width:100%; }
  .draft-actions > .action-menu { grid-column:1 / -1; }
  .draft-actions > form + .action-menu { grid-column:auto; min-width:0; }
  .draft-actions > .action-menu > summary { width:100%; height:100%; }
  .replacement-request-body { grid-template-columns:1fr; }
  .notification-audience { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .notification-date-head { align-items:stretch; flex-direction:column; }
  .notification-date-head .btn { width:100%; }
  .notification-cancel-picker > summary { grid-template-columns:34px minmax(0,1fr) 18px; }
  .notification-cancel-picker > summary > .badge { grid-column:2; justify-self:start; }
  .notification-cancel-picker > summary > .notification-cancel-summary-icon { grid-row:1 / span 2; }
  .notification-cancel-picker > summary > .notification-cancel-chevron { grid-column:3; grid-row:1 / span 2; }
  .notification-cancel-option { grid-template-columns:19px 80px minmax(0,1fr); }
  .notification-cancel-option > small { grid-column:3; }
  .publisher-details-grid { grid-template-columns:1fr; }
  .publishers-list-head { align-items:stretch; flex-direction:column; }
  .publisher-search { width:100%; }
  .publishers-page-actions { display:grid; grid-template-columns:auto minmax(0,1fr); }
  .publishers-page-actions > form { min-width:0; }
  .publishers-page-actions > form .btn,.publishers-page-actions > .btn { width:100%; }
  .publisher-details-preferences { grid-template-columns:1fr; }
  .publisher-detail-metrics { grid-template-columns:1fr; }
  .publisher-detail-metrics > div + div { border-top:1px solid var(--line); border-left:0; }
  .replacement-controls { grid-template-columns:1fr; }
  .replacement-buttons { display:grid; grid-template-columns:1fr; margin-top:0; }
  .replacement-buttons .btn { width:100%; }
  .replacement-request-foot { align-items:flex-start; flex-direction:column; }
  .availability-reminder { align-items:flex-start; flex-wrap:wrap; }
  .availability-reminder-dismiss-form { top:6px; transform:none; }
  .availability-reminder > div { width:calc(100% - 52px); flex-basis:calc(100% - 52px); padding-right:22px; }
  .availability-reminder .btn { width:100%; margin-right:0; }
  .availability-simple-head { align-items:flex-start; flex-direction:column; }
  .availability-simple-actions { width:100%; justify-content:space-between; }
  .weekday-availability { grid-template-columns:minmax(0,1fr); gap:11px; }
  .weekday-range { grid-column:1; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
  .weekday-range-prefix { grid-column:1 / -1; }
  .stand-choice-grid { grid-template-columns:1fr; }
  .availability-exception-day { grid-template-columns:1fr; }
  .slot-option .slot-copy { flex-wrap:wrap; column-gap:9px; row-gap:2px; }
  .replacement-history-row { grid-template-columns:34px minmax(0,1fr) 40px; align-items:start; column-gap:11px; row-gap:0; min-height:70px; padding:13px 12px; }
  .replacement-history-row > .history-status { grid-column:1; grid-row:1; }
  .replacement-history-row > .history-main { grid-column:2; grid-row:1; align-self:center; }
  .history-mobile-toggle { display:grid; width:40px; height:40px; grid-column:3; grid-row:1; place-items:center; align-self:center; border:0; border-radius:10px; background:transparent; color:var(--muted); padding:0; cursor:pointer; }
  .history-mobile-toggle:hover { background:var(--surface-2); color:var(--text); }
  .history-mobile-toggle svg { width:18px; height:18px; transition:transform .24s ease; }
  .replacement-history-row.history-expanded .history-mobile-toggle svg { transform:rotate(180deg); }
  .replacement-history-row > .history-service,.replacement-history-row > .history-resolution { grid-column:2 / -1; min-height:0; max-height:0; margin-top:0; overflow:hidden; opacity:0; visibility:hidden; transform:translateY(-4px); transition:max-height .28s cubic-bezier(.22,1,.36,1),margin-top .24s ease,opacity .18s ease,transform .24s ease,visibility 0s linear .28s; }
  .replacement-history-row.history-expanded > .history-service,.replacement-history-row.history-expanded > .history-resolution { margin-top:12px; opacity:1; visibility:visible; transform:translateY(0); transition-delay:0s; }
  .replacement-history-row.history-expanded > .history-service { max-height:320px; }
  .replacement-history-row.cancelled-service-history-row.history-expanded > .history-service { max-height:2000px; }
  .replacement-history-row.history-expanded > .history-resolution { max-height:70px; justify-items:start; text-align:left; }
  .replacement-history-row:not(.history-expanded) .history-description { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .action-menu-popover { right:0; }
  dialog.interval-dialog .interval-row { grid-template-columns:1fr 1fr; }
  .template-summary { grid-template-columns:1fr; }
  .template-dialog .dialog-actions { display:grid; grid-template-columns:1fr; }
  .template-dialog .dialog-actions .btn { width:100%; }
  .template-rule-row { grid-template-columns:1fr 1fr; }
  .month-rules-dialog .template-rule-row { grid-template-columns:1fr 1fr; }
  .template-rule-list { gap:10px; }
  .template-rule-row { border:1px solid var(--line); border-radius:12px; background:var(--surface-2); padding:10px; }
  .template-rule-row input,.template-rule-row select { background:var(--surface); }
  .template-rule-row .interval-remove { grid-column:2; }
  .month-rules-dialog .template-rule-row .interval-remove { grid-column:2; }
  .settings-layout,.settings-layout-single { grid-template-columns:1fr; }
  .stand-location-field { align-items:stretch; flex-direction:column; }
  .stand-location-field .btn { width:100%; }
  .stand-map-search-control { grid-template-columns:1fr; }
  .stand-map-search-control .btn { width:100%; }
  .stand-map-canvas { height:44vh; min-height:270px; }
  .stand-location-map { height:38vh; min-height:240px; }
  .stand-map-picker-foot { align-items:stretch; flex-direction:column; }
  .stand-map-picker-foot .btn { width:100%; }
  .stand-map-picker-actions { display:grid; grid-template-columns:1fr 1fr; }
  .stand-map-picker-actions .dialog-action-spacer { display:none; }
  .stand-map-picker-actions .btn { width:100%; }
  .stand-map-picker-actions .danger { grid-column:1 / -1; }
  .stand-route-actions { display:grid; grid-template-columns:1fr; }
  .stand-route-actions .btn { width:100%; }
  :is(.publisher-schedule-date-list,.admin-schedule-date-list) { overflow:visible; }
  :is(.publisher-schedule-date-list,.admin-schedule-date-list) > .schedule-day-group { overflow:visible; }
  :is(.publisher-schedule-date-list,.admin-schedule-date-list) > .schedule-day-group:first-child { border-radius:15px 15px 0 0; }
  :is(.publisher-schedule-date-list,.admin-schedule-date-list) > .schedule-day-group:last-child { border-bottom:0; border-radius:0 0 15px 15px; }
  :is(.publisher-schedule-date-list,.admin-schedule-date-list) > .schedule-day-group:only-child { border-radius:15px; }
  :is(.publisher-schedule-date-list,.admin-schedule-date-list) .schedule-day-group[open] > .schedule-day-summary {
    position:sticky;
    z-index:12;
    top:0;
    border-radius:0;
    background:var(--surface);
  }
  :is(.publisher-schedule-date-list,.admin-schedule-date-list) > .schedule-day-group:first-child > .schedule-day-summary { border-radius:15px 15px 0 0; }
  :is(.publisher-schedule-date-list,.admin-schedule-date-list) .schedule-day-content { overflow:hidden; border-radius:0; }
  :is(.publisher-schedule-date-list,.admin-schedule-date-list) > .schedule-day-group:last-child[open] > .schedule-day-content { border-radius:0 0 15px 15px; }
  .metric-value {font-size: calc(20px + var(--font-size-adjust));}
  .date-nav, .date-nav form, .date-nav form select, .date-nav form .custom-select {width: 100%;}
  .shift-body {display: block;}
  .shift-body .people {margin-top: 10px;}
  .sticky-save {display:block;}
  .sticky-save .btn {margin-top:10px;}
  .cancellation-save {display: flex;}
  .cancellation-save .btn {margin-top: 0!important} 
  .sticky-save .btn.primary {width:100%;}
}
.publisher-invitation-list,.service-invitation-admin-list{display:grid;gap:14px;margin-bottom:28px}
.publisher-invitation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;border-color:color-mix(in srgb,var(--accent) 36%,var(--line))}
.publisher-invitation-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.publisher-invitation-icon svg{width:21px;height:21px}
.publisher-invitation-main{display:grid;gap:10px;min-width:0}
.publisher-invitation-main>strong{font-size:calc(18px + var(--font-size-adjust))}
.publisher-invitation-service,.publisher-invitation-team{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.publisher-invitation-service>span:not(.stand-chip){font-weight:400}
.publisher-invitation-team>span,.invitation-current-team>span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:calc(14px + var(--font-size-adjust))}
.publisher-invitation-team>span svg,.invitation-current-team>span svg{width:17px;height:17px}
.publisher-invitation-action{justify-self:end}
.invitation-current-team{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}
.invitation-responses{display:grid;gap:8px;padding-top:14px}
.invitation-response{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:14px}
.invitation-response-time{font-size:calc(13px + var(--font-size-adjust));color:var(--muted)}
.invitation-sent-button{color:var(--accent)}
.schedule-addition-dialog{width:min(96vw,1120px)!important}
.schedule-campaign-dialog{width:min(96vw,1120px)!important}
.campaign-explanation{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:var(--accent-soft)}
.campaign-title-field{display:grid;gap:6px;color:var(--muted);font-size:calc(12px + var(--font-size-adjust))}
.campaign-title-field input,.campaign-stand-fields input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:8px 10px;color:var(--text)}
.campaign-builder-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:4px}
.campaign-builder-head>div{display:grid;gap:3px}.campaign-builder-head small{color:var(--muted)}
.campaign-stand-list{display:grid;gap:12px}
.campaign-stand-group{gap:12px;background:var(--surface-2)}
.campaign-stand-fields{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(170px,1fr) 74px 32px;align-items:end;gap:8px}
.campaign-stand-fields label{display:grid;gap:4px;color:var(--muted);font-size:calc(10px + var(--font-size-adjust))}
.campaign-color-field input{padding:4px}
.campaign-time-head>span{display:flex;align-items:center;gap:7px}.campaign-time-head svg{width:16px;height:16px;color:var(--muted)}
.campaign-rule-row{grid-template-columns:minmax(145px,1.2fr) minmax(105px,1fr) minmax(105px,1fr) 76px 32px}
.schedule-addition-dialog .addition-rule-row{grid-template-columns:minmax(145px,1.2fr) minmax(105px,1fr) minmax(105px,1fr) 76px 32px}
.addition-rule-list:has([data-month-rule-row])>.addition-rule-empty{display:none}
.addition-rule-empty{margin:2px 0;color:var(--muted);font-size:calc(12px + var(--font-size-adjust))}
.schedule-additions-stack{display:grid;gap:16px;margin:24px 0 30px}
.schedule-addition-card{overflow:hidden;}
.schedule-addition-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px}
.schedule-addition-head h2{margin:5px 0 4px}
.schedule-addition-head p{margin:0;color:var(--muted);font-size:calc(13px + var(--font-size-adjust));display: none;}
.schedule-addition-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.schedule-addition-actions form{display:flex}
.schedule-addition-summary{display:flex;align-items:center;gap:24px;flex-wrap:wrap;border-block:1px solid var(--line);background:var(--surface-2);padding:10px 22px;color:var(--muted);font-size:calc(12px + var(--font-size-adjust))}
.schedule-addition-summary span{display:flex;align-items:baseline;gap:6px}
.schedule-addition-summary b{color:var(--text);font-size:calc(16px + var(--font-size-adjust))}
.additional-availability-shell{margin-bottom:34px}
.additional-availability-shell>.section-head,.published-replacement-section>.section-head{margin-bottom:12px}
.additional-availability-shell .availability-exact{border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}
.additional-availability-save{margin-top:12px}
.published-replacement-section{margin-top:26px}
@media (max-width:760px){.publisher-invitation{grid-template-columns:auto minmax(0,1fr)}.publisher-invitation-action{grid-column:1/-1;justify-self:stretch}.publisher-invitation-action .btn,.publisher-invitation-action form{width:100%}.invitation-response{grid-template-columns:1fr}.invitation-response .btn{width:100%}}
@media (max-width:760px){.schedule-addition-head{flex-direction:column}.schedule-addition-actions{display:grid;width:100%;grid-template-columns:1fr}.schedule-addition-actions>*{width:100%}.schedule-addition-actions .btn{width:100%}.schedule-addition-dialog .addition-rule-row,.campaign-rule-row,.campaign-stand-fields{grid-template-columns:1fr 1fr}.campaign-builder-head{align-items:stretch;flex-direction:column}.campaign-builder-head .btn{width:100%}.campaign-stand-fields>.interval-remove,.campaign-rule-row>.interval-remove{grid-column:2}.schedule-addition-summary{gap:12px}.schedule-addition-schedule{padding:12px}}

/* Mobile navigation follows the reference menu-mobile composition: the fixed
   wrapper is not transformed; only the inner pill owns the backdrop blur. */
.menu-mobile,.blur-gradient,.mobile-more-sheet,.mobile-more-backdrop { display:none; }

@keyframes mobile-menu-scale-in {
  from { opacity:0; transform:scale(.78); }
  to { opacity:1; transform:scale(.9); }
}

@media (max-width:1020px) {
  .sidebar,.backdrop,.topbar .mobile-menu { display:none!important; }
  .app,.app.sidebar-collapsed { padding-bottom:0; }
  .main { scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
  .content { padding-bottom:calc(116px + env(safe-area-inset-bottom)); }
  .availability-page-form { padding-bottom:112px; }
  .availability-page-save {
    position:fixed;
    z-index:35;
    right:0;
    bottom:calc(50px + env(safe-area-inset-bottom));
    left:0;
    width:calc(100% - 28px);
    max-width:532px;
    margin:0 auto;
    transition:opacity .16s ease,visibility .16s ease;
    padding-bottom: 55px;
    box-shadow: 0 0 70px rgba(0, 0, 0, .09);
    border-radius: 14px 14px 0 0;
  }
  body.mobile-more-open .availability-page-save { visibility:hidden; opacity:0; pointer-events:none; }
  body, html, .main-surface, .main {background: #fff;}
  .menu-mobile {
    position:fixed;
    z-index:40;
    right:0;
    bottom:0;
    left:0;
    display:block;
    width:100%;
    max-width:560px;
    margin:0 auto;
    padding:15px 15px calc(20px + env(safe-area-inset-bottom));
    pointer-events:none;
  }
  .menu-mobile ul {
    display:flex;
    height:70px;
    margin:0;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.62);
    border-radius:999px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow:0 0 70px rgba(0,0,0,.09);
    list-style:none;
    white-space:nowrap;
    pointer-events:auto;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
  }
  .menu-mobile li {
    display:block;
    min-width:0;
    width:100%;
    height:70px;
  }
  .menu-mobile .link {
    position:relative;
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    border-radius:4px;
    outline:0;
    background:transparent;
    color:var(--text);
    padding:6px 4px;
    font:inherit;
    font-size:calc(10px + var(--font-size-adjust));
    font-weight:500;
    line-height:1.15;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    touch-action:manipulation;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
  }
  .menu-mobile .link::after {
    content:"";
    position:absolute;
    z-index:0;
    inset:-1px 0 0;
    width:100%;
    height:100%;
    margin:auto;
    border-radius:50px;
    background:transparent;
    transform:scale(.9);
  }
  .menu-mobile .link:hover::after {
   
    background: rgba(0, 0, 0, .055);
  }
  .menu-mobile .link.selected::after,
  body.mobile-more-open .menu-mobile [data-mobile-more-trigger]::after {
    background:rgba(0,0,0,.055);
    animation:mobile-menu-scale-in .5s ease both;
  }
  .menu-mobile .link:focus-visible::after {
    box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 58%,transparent);
  }
  .menu-mobile .link > div {
    position:relative;
    z-index:1;
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }
  .mobile-menu-icon {
    position:relative;
    display:block;
    width:24px;
    height:24px;
    margin:0 auto 3px;
  }
  .mobile-menu-icon svg { display:block; width:21px; height:21px; margin:auto; }
  .mobile-nav-count {
    position:absolute;
    z-index:2;
    top:-6px;
    right:-9px;
    display:grid;
    min-width:17px;
    height:17px;
    place-items:center;
    border:2px solid var(--surface);
    border-radius:999px;
    background:var(--danger);
    color:#fff;
    padding:0 4px;
    font-size:calc(8px + var(--font-size-adjust));
    font-style:normal;
    font-weight:750;
    line-height:1;
  }

  .blur-gradient {
    position:fixed;
    z-index:29;
    right:0;
    bottom:0;
    left:0;
    display:block;
    width:100%;
    height:130px;
    overflow:hidden;
    pointer-events:none;
  }
  .blur-gradient::before {
    content:"";
    position:absolute;
    inset:0;
    background: linear-gradient(to bottom, rgb(245 248 251 / 0%), rgb(255 255 255));
  }

  .mobile-more-backdrop {
    position:fixed;
    z-index:20;
    display:block;
    visibility:hidden;
    inset:0;
    border:0;
    background: rgba(0, 0, 0, .3);
    backdrop-filter: blur(2px);
    opacity:0;
    transition:opacity .26s ease,visibility 0s linear .26s;
  }
  body.mobile-more-open { overflow:hidden; }
  body.mobile-more-open .mobile-more-backdrop { visibility:visible; opacity:1; transition:opacity .22s ease,visibility 0s; }
  .mobile-more-sheet {
    --mobile-sheet-top-gap:max(16px,env(safe-area-inset-top));
    position:fixed;
    z-index:30;
    right:0;
    bottom:var(--mobile-dialog-bottom-offset,0px);
    left:0;
    display:flex;
    visibility:hidden;
    width:100%;
    max-width:560px;
    max-height:calc(var(--mobile-dialog-viewport-height,100dvh) - var(--mobile-sheet-top-gap));
    margin:0 auto;
    flex-direction:column;
    border:1px solid var(--line);
    border-bottom:0;
    border-radius:25px 25px 0 0;
    background:var(--surface);
    padding:10px 16px calc(0px + env(safe-area-inset-bottom));
    box-shadow:0 -18px 52px rgba(20,28,25,.2);
    opacity:0;
    transform:translateY(110%);
    transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .2s ease,visibility 0s linear .26s;
  }
  .mobile-more-sheet.is-dragging { visibility:visible; opacity:1; transform:translateY(var(--mobile-sheet-drag-y,0)); transition:none; user-select:none; }
  body.mobile-more-open .mobile-more-sheet { visibility:visible; opacity:1; transform:translateY(0); transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .22s ease,visibility 0s; }
  body.mobile-more-open .mobile-more-sheet.is-dragging { transform:translateY(var(--mobile-sheet-drag-y,0)); }
  .mobile-more-handle { width:38px; height:4px; flex:0 0 4px; align-self:center; border-radius:999px; background:var(--line); }
  .mobile-more-handle,.mobile-more-head { touch-action:none; }
  .mobile-more-head { display:flex; min-height:62px; flex:0 0 auto; align-items:center; justify-content:space-between; gap:12px; padding:10px 2px 8px; }
  .mobile-more-head > div { display:grid; gap:3px; }
  .mobile-more-head strong { font-size:calc(18px + var(--font-size-adjust)); }
  .mobile-more-head span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
  .mobile-more-scroll { min-height:0; flex:0 1 auto; overflow-y:auto; overscroll-behavior:contain; padding:0 1px 100px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .mobile-more-scroll::-webkit-scrollbar { display:none; }
  .mobile-more-section-label { margin:12px 7px 7px; color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
  .mobile-more-links { display:flex; overflow:hidden; flex-direction:column; gap:0; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
  .mobile-more-links > * + * { border-top:1px solid var(--line); }
  .mobile-more-links > form { margin:0; }
  .mobile-more-link {
    display:grid;
    width:100%;
    min-height:54px;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    border:0;
    border-radius:0;
    background:var(--surface);
    color:var(--text);
    padding:8px 12px;
    text-align:left;
    cursor:pointer;
  }
  .mobile-more-link:hover,.mobile-more-link.active { background:var(--surface-2); }
  .mobile-more-link > span { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:var(--surface-2); color:var(--muted); }
  .mobile-more-link.active > span { background:var(--accent-soft); color:var(--accent); }
  .mobile-more-link > span svg { width:18px; height:18px; }
  .mobile-more-link > strong { overflow:hidden; font-size:calc(13px + var(--font-size-adjust)); font-weight:580; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-more-link > svg { width:16px; height:16px; color:var(--faint); }
  .mobile-more-link > .mobile-nav-count { position:static; min-width:20px; height:20px; border:0; font-size:calc(9px + var(--font-size-adjust)); }
  .mobile-more-theme { display:grid; min-height:54px; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; background:var(--surface); padding:8px 12px; }
  .mobile-more-theme > span { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:var(--surface-2); color:var(--muted); }
  .mobile-more-theme > span svg { width:18px; height:18px; }
  .mobile-more-theme > strong { font-size:calc(13px + var(--font-size-adjust)); font-weight:580; }
  .mobile-more-font-size { display:grid; min-height:54px; grid-template-columns:34px minmax(0,1fr) 66px; align-items:center; gap:10px; background:var(--surface); padding:8px 12px; }
  .mobile-more-font-size > span { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:var(--surface-2); color:var(--muted); }
  .mobile-more-font-size > span svg { width:18px; height:18px; }
  .mobile-more-font-size > strong { font-size:calc(13px + var(--font-size-adjust)); font-weight:580; }
  .mobile-more-logout { color:var(--danger); }
  .mobile-more-logout > span { background:var(--danger-soft); color:var(--danger); }
  .mobile-more-account { display:grid; min-height:64px; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:11px; border-radius:15px; background:var(--surface); padding:10px 12px; }
  .mobile-more-account .account-menu-avatar { width:38px; height:38px; font-size:calc(12px + var(--font-size-adjust)); }
  .mobile-account-links { margin-top:7px; }
  .page-head .subtitle {display: none;}
  .btn-dashboard {width: 100%;}

  [data-theme="dark"] .menu-mobile ul { border-color:rgba(255,255,255,.09); background:rgba(47,47,47,.82); box-shadow:0 0 70px rgba(0,0,0,.28); }
  [data-theme="dark"] .menu-mobile .link.selected::after,
  [data-theme="dark"] body.mobile-more-open .menu-mobile [data-mobile-more-trigger]::after { background:rgba(255,255,255,.05); }
}

@media (max-width:400px) {
  .menu-mobile { padding-right:10px; padding-left:10px; }
  .menu-mobile .link { font-size:calc(9px + var(--font-size-adjust)); }
  .mobile-more-sheet { padding-right:10px; padding-left:10px; }
}

@media (prefers-reduced-motion:reduce) and (max-width:1020px) {
  .mobile-more-sheet,.mobile-more-backdrop,
  body.mobile-more-open .mobile-more-sheet,body.mobile-more-open .mobile-more-backdrop { transition:none; }
}

[data-theme="dark"] body {
  background:#090a0c;
}
[data-theme="dark"] .sidebar {
  background:transparent;
}
[data-theme="dark"] .main-surface, [data-theme="dark"] body, [data-theme="dark"] html, [data-theme="dark"] .main {
  background:var(--bg);
}

[data-theme="dark"]  .dashboard-stand-list .dashboard-stand-row, [data-theme="dark"] .dashboard-stand-list .dashboard-stand-row:last-child {background: transparent}

[data-theme="dark"]  .dashboard-stand-list .dashboard-stand-row:hover, [data-theme="dark"] .dashboard-stand-list .dashboard-stand-row:last-child:hover {background: #0b0c0e}

[data-theme="dark"] .schedule-day-content {background:#0b0c0e;}
[data-theme="dark"] .stand-card-body {background:#0b0c0e;}
[data-theme="dark"] .stand-settings-form {background:#101114;}

[data-theme="dark"] .schedule-person-assignment {background:#0b0c0e;}

[data-theme="dark"] .schedule-day-summary:hover, [data-theme="dark"] .stand-card-summary:hover {background: #0b0c0e}
[data-theme="dark"] .stand-card[open] > .stand-card-summary {background:#0b0c0e;}
[data-theme="dark"] .schedule-day-group {background: none;}
[data-theme="dark"] .schedule-day-group[open] > .schedule-day-summary {background: #0b0c0e;}

[data-theme="dark"] .publisher-stand-quick-trigger {background: var(--bg);}

[data-theme="dark"] .schedule-person-assignment .person-name {color: #7c828a;}

[data-theme="dark"] .dashboard-stand-row:hover, [data-theme="dark"] .dashboard-request-row:hover {background: #0b0c0e}

[data-theme="dark"] .stand-card[open] > .stand-card-summary { background: #0b0c0e }

[data-theme="dark"] .publisher-row:hover,[data-theme="dark"] .publisher-row.publisher-row-control-open {background: #0b0c0e }

[data-theme="dark"] .card,
[data-theme="dark"] .shift {
  background: #101114;
  border: 1px solid var(--line);
}
[data-theme="dark"] .shift {border: 1px solid transparent;}
[data-theme="dark"] .schedule-list .shift {border: 1px solid var(--line);}
[data-theme="dark"] .btn { box-shadow:0 1px 2px rgba(0,0,0,.26); }
[data-theme="dark"] dialog {
  background:var(--surface);
  box-shadow:0 30px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.025);
}
[data-theme="dark"] dialog::backdrop { background:rgba(3,4,6,.68); backdrop-filter:blur(5px); }
[data-theme="dark"] .badge.male { background:#1b2745; color:#91adff; }
[data-theme="dark"] .badge.female { background:#3b202d; color:#f19ab9; }
[data-theme="dark"] .stand-color-preview { box-shadow:inset 0 0 0 3px rgba(255,255,255,.18); }
[data-theme="dark"] .publisher-select-check { box-shadow:0 3px 12px rgba(0,0,0,.28); }
[data-theme="dark"] .mobile-more-sheet {
  background:var(--surface);
  box-shadow:0 -24px 70px rgba(0,0,0,.52);
}
[data-theme="dark"] .blur-gradient::before {
  background:linear-gradient(to bottom,rgba(16,17,20,0),rgba(16,17,20,.92) 62%,#101114);
}
[data-theme="dark"] .menu-mobile ul {
  border-color:rgba(255,255,255,.05);
  background:rgba(22,23,27,.84);
  box-shadow:0 18px 58px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.035);
}

@media (min-width:1021px) {
  .app {
    height:100vh;
    min-height:0;
    padding:0;
    background:transparent;
  }
  .sidebar {
    position:relative;
    height:100vh;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .main {
    height:100vh;
    min-height:0;
    margin:0;
    overflow:auto;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .main-surface {
    min-height:calc(100vh - 10px);
    margin-top:10px;
    border:1px solid var(--line);
    border-right:0;
    border-bottom:0;
    border-radius:16px 0 0 0;
    background:#fff;
  }
  [data-theme="dark"] .main-surface {
    border-color:rgba(255,255,255,.075);
    box-shadow:-14px 0 52px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);
  }
}

dialog {
  --dialog-surface:var(--bg);
  --dialog-card:var(--surface);
  --dialog-control:var(--surface-2);
  background:var(--dialog-surface);
}
[data-theme="dark"] dialog {
  --dialog-surface:#0b0c0e;
  --dialog-card:var(--bg);
  --dialog-control:var(--surface);
  background:var(--dialog-surface);
}
.dialog-head {
  border-bottom:0;
  background:var(--dialog-surface);
}
.dialog-body,
dialog.new-stand-dialog .dialog-body {
  background:var(--dialog-surface);
}
.dialog-body > form:not(.stand-map-search) {
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--dialog-card);
  padding:16px;
  box-shadow:0 1px 2px rgba(0,0,0,.025);
}
.dialog-body > form:not(.stand-map-search) > .dialog-actions {
  margin-top:2px;
  border-top:1px solid var(--line);
  padding-top:16px;
}
dialog :is(
  .publisher-detail-item,
  .publisher-detail-metrics,
  .publisher-service-chart-card,
  .monthly-publisher-stats-list,
  .notification-dialog-list,
  .contact-phone,
  .stand-location-address
) {
  background:var(--dialog-card);
}
dialog :is(
  .field input,
  .field select,
  .field textarea,
  .schedule-rule-control input,
  .template-rule-row input,
  .template-rule-row select,
  .campaign-title-field input,
  .campaign-stand-fields input,
  .notification-date-row input,
  .replacement-controls select,
  .stand-map-search-control input,
  .stand-color-picker
) {
  background:var(--dialog-control);
}
dialog .new-stand-form {
  background:var(--dialog-card);
}
dialog .new-stand-grid .field > input,
dialog .new-stand-grid .stand-location-field input {
  background:var(--dialog-control);
}

@media (max-width:1020px) {
  .dialog-body > form:not(.stand-map-search) { border-radius:13px; padding:13px; }
}

/* PWA onboarding and per-device notification controls. */
dialog.pwa-onboarding-dialog {
  width:min(92vw,470px);
  max-height:min(88vh,680px);
  max-height:min(88dvh,680px);
  border-color:color-mix(in srgb,var(--accent) 16%,var(--line));
}
.pwa-onboarding-body { padding:0 14px 14px; }
.pwa-onboarding-card {
  display:grid;
  gap:18px;
  margin:0;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--dialog-card);
  padding:22px;
  box-shadow:0 1px 2px rgba(0,0,0,.025);
}
.pwa-onboarding-icon {
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:14px;
  background:var(--text);
  color:var(--surface);
}
.pwa-onboarding-icon.accent { background:var(--accent-soft); color:var(--accent); }
.pwa-onboarding-icon svg { width:22px; height:22px; }
.pwa-onboarding-copy .eyebrow,.pwa-ios-guide .eyebrow { display:block; margin:0 0 7px; color:var(--accent); font-size:calc(11px + var(--font-size-adjust)); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.pwa-onboarding-copy h2,.pwa-ios-guide h2 { margin:0; font-size:calc(25px + var(--font-size-adjust)); font-weight:520; letter-spacing:-.035em; line-height:1.15; }
.pwa-onboarding-copy > p { margin:9px 0 0; color:var(--muted); font-size:calc(14px + var(--font-size-adjust)); line-height:1.55; }
.pwa-install-benefits { display:grid; gap:9px; margin-top:18px; }
.pwa-install-benefits span { display:flex; align-items:center; gap:9px; color:var(--text); font-size:calc(13px + var(--font-size-adjust)); }
.pwa-install-benefits svg { width:17px; height:17px; flex:0 0 17px; color:var(--accent); }
.pwa-onboarding-actions { display:flex; justify-content:flex-end; gap:8px; border-top:1px solid var(--line); padding-top:17px; }
.pwa-action-status { min-height:0; margin:-6px 0 0; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); line-height:1.45; }
.pwa-action-status:empty { display:none; }
.pwa-ios-guide ol { display:grid; gap:8px; margin:18px 0 0; padding:0; list-style:none; }
.pwa-ios-guide li { display:grid; grid-template-columns:30px minmax(0,1fr) 28px; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; background:var(--dialog-control); padding:11px; }
.pwa-ios-guide li > span { display:grid; width:27px; height:27px; place-items:center; border-radius:9px; background:var(--surface); color:var(--accent); font-size:calc(11px + var(--font-size-adjust)); font-weight:750; }
.pwa-ios-guide li > div { display:grid; min-width:0; gap:2px; }
.pwa-ios-guide strong { font-size:calc(12px + var(--font-size-adjust)); }
.pwa-ios-guide small { color:var(--muted); font-size:calc(10px + var(--font-size-adjust)); line-height:1.35; }
.pwa-ios-guide li > svg { width:18px; height:18px; color:var(--muted); }
.publisher-profile-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:16px; }
.publisher-profile-side { display:grid; min-width:0; align-content:start; gap:16px; }
.pwa-settings-card .card-head { align-items:center; }
.pwa-settings-icon { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:11px; background:var(--accent-soft); color:var(--accent); }
.pwa-settings-icon svg { width:18px; height:18px; }
.pwa-settings-body { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; }
.pwa-settings-status { display:grid; min-width:0; gap:4px; }
.pwa-settings-status strong { font-size:calc(14px + var(--font-size-adjust)); }
.pwa-settings-status span { color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); line-height:1.45; }
.pwa-settings-body > .pwa-action-status { grid-column:1/-1; }
.pwa-settings-card.is-enabled .pwa-settings-icon { background:var(--accent-soft); color:var(--accent); }
.pwa-settings-card.is-blocked .pwa-settings-icon { background:var(--danger-soft); color:var(--danger); }
@media (max-width:1020px) {
  .publisher-profile-layout { grid-template-columns:1fr; }
}
@media (display-mode:standalone) {
  [data-pwa-install-dialog] { display:none !important; }
}
@media (max-width:620px) {
  .pwa-onboarding-card { gap:16px; margin:9px; padding:18px; }
  .pwa-onboarding-actions { display:grid; grid-template-columns:1fr; }
  .pwa-onboarding-actions .btn { width:100%; }
  .pwa-onboarding-actions .btn.primary { grid-row:1; }
  .pwa-settings-body { grid-template-columns:1fr; }
  .pwa-settings-body .btn { width:100%; }
}

/* Publisher availability editor opened from the people list. */
dialog.publisher-availability-dialog { width:min(96vw,1060px); max-height:min(92vh,900px); max-height:min(92dvh,900px); }
.publisher-availability-dialog-body { padding:0 18px 18px; }
.publisher-availability-alert { flex:0 0 auto; }
.publisher-availability-dialog-body > form { border:0!important; background:transparent!important; padding:0!important; box-shadow:none!important; }
.publisher-availability-modal-toolbar { position:sticky; z-index:4; top:0; display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 -18px 14px; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--dialog-surface) 94%,transparent); padding:12px 18px; backdrop-filter:blur(14px); }
.publisher-availability-modal-toolbar > div:first-child { display:grid; min-width:0; gap:3px; }
.publisher-availability-modal-toolbar > div:first-child strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:calc(14px + var(--font-size-adjust)); }
.publisher-availability-modal-toolbar > div:first-child span { color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.publisher-availability-modal-toolbar .custom-select { min-width:180px; }
.publisher-availability-modal-toolbar > .date-nav > select.month-select:not(.custom-select-native) { width:180px; min-width:180px; }
.publisher-availability-alert { margin:0 18px 12px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:11px; background:var(--accent-soft); color:var(--accent); padding:9px 12px; font-size:calc(12px + var(--font-size-adjust)); }
.publisher-availability-alert.error { border-color:color-mix(in srgb,var(--danger) 35%,var(--line)); background:var(--danger-soft); color:var(--danger); }
.publisher-availability-loading,.publisher-availability-error { display:grid; min-height:280px; place-items:center; align-content:center; gap:12px; color:var(--muted); font-size:calc(13px + var(--font-size-adjust)); }
.publisher-availability-loading > span:first-child { width:25px; height:25px; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:spin .75s linear infinite; }
.button-spinner { width:14px; height:14px; flex:0 0 14px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:icon-spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.stand-preferences-fields { display:grid; gap:12px; min-width:0; }
.stand-preference-fieldset { min-width:0; margin:0; padding:0; border:0; }
.stand-preference-fieldset legend { margin-bottom:8px; padding:0; color:var(--muted); font-size:calc(13px + var(--font-size-adjust)); }
.stand-preference-choices { display:flex; flex-wrap:wrap; gap:8px; }
.stand-preference-choice { position:relative; display:inline-flex; align-items:center; gap:8px; min-height:40px; border:1px solid var(--line); border-radius:11px; background:var(--surface); padding:8px 10px; cursor:pointer; }
.stand-preference-choice input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.stand-preference-choice > svg { width:15px; height:15px; color:var(--accent); opacity:0; }
.stand-preference-choice:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.stand-preference-choice:has(input:checked) > svg { opacity:1; }
.stand-preference-choice:has(input:focus-visible) { outline:2px solid var(--accent); outline-offset:2px; }
.stand-preference-fieldset > small,.stand-preference-day-details > small { display:block; margin-top:7px; color:var(--muted); font-size:calc(11px + var(--font-size-adjust)); }
.stand-preference-day-details summary { color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); cursor:pointer; }
.stand-preference-days { display:grid; gap:12px; margin-top:12px; }
.publisher-availability-error svg { width:28px; height:28px; color:var(--danger); }
.publisher-availability-closed { display:flex; min-height:210px; align-items:center; justify-content:center; gap:14px; border:1px solid var(--line); border-radius:14px; background:var(--dialog-card); padding:24px; text-align:left; }
.publisher-availability-closed > span { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border-radius:12px; background:var(--surface-3); color:var(--muted); }
.publisher-availability-closed > span svg { width:19px; height:19px; }
.publisher-availability-closed div { display:grid; max-width:520px; gap:5px; }
.publisher-availability-closed p { margin:0; color:var(--muted); font-size:calc(12px + var(--font-size-adjust)); line-height:1.45; }
.publisher-availability-save { bottom:0; z-index:3; margin-bottom:0; }
@media (max-width:720px) {
  dialog.publisher-availability-dialog { width:calc(100vw - 18px); max-height:calc(100dvh - 18px); }
  .publisher-availability-dialog-body { padding:0 10px 10px; }
  .publisher-availability-modal-toolbar { align-items:stretch; flex-direction:column; margin:0 -10px 10px; padding:10px; }
  .publisher-availability-modal-toolbar .date-nav { width:100%; }
  .publisher-availability-modal-toolbar .custom-select { min-width:0; flex:1; }
  .publisher-availability-modal-toolbar > .date-nav > select.month-select:not(.custom-select-native) { width:100%; min-width:0; flex:1; }
  .publisher-availability-modal-toolbar .custom-select-trigger { width:100%; }
  .publisher-availability-dialog .availability-simple-head { align-items:stretch; flex-direction:column; }
  .publisher-availability-dialog .availability-simple-actions { justify-content:space-between; }
  .publisher-availability-save { align-items:stretch; flex-direction:column; }
  .publisher-availability-save .btn { width:100%; }
}

/* Match the mobile menu: edge-to-edge bottom sheets, with the header pinned
   and only the body scrolling. Short confirmations keep their natural height. */
@media (max-width:1020px) {
  dialog[open] {
    --mobile-dialog-top-gap:max(16px,env(safe-area-inset-top));
    position:fixed;
    inset:auto 0 0;
    bottom:var(--mobile-dialog-bottom-offset,0px);
    width:100% !important;
    max-width:none;
    max-height:calc(100vh - var(--mobile-dialog-top-gap)) !important;
    max-height:calc(var(--mobile-dialog-viewport-height,100dvh) - var(--mobile-dialog-top-gap)) !important;
    margin:0;
    border-radius:25px 25px 0 0;
    border-bottom:0;
    padding:12px env(safe-area-inset-right) calc(16px + env(safe-area-inset-bottom)) env(safe-area-inset-left);
    transform:translateY(var(--mobile-dialog-drag-y,0px));
    transition:transform .24s cubic-bezier(.22,1,.36,1);
  }
  dialog::before {
    content:"";
    position:absolute;
    top:9px;
    left:calc(50% - 19px);
    width:38px;
    height:4px;
    border-radius:999px;
    background:var(--line);
    pointer-events:none;
  }
  dialog .dialog-head { touch-action:none; }
  dialog .dialog-body { max-height:none; }
  dialog.is-mobile-dialog-dragging { transition:none; user-select:none; }
  dialog.is-mobile-dialog-opening,dialog.is-mobile-dialog-closing { transition:none; }
  dialog.is-mobile-dialog-closing { pointer-events:none; }
  dialog.is-mobile-dialog-opening::backdrop { animation:mobile-dialog-backdrop-in .22s ease both; }
  dialog.is-mobile-dialog-closing::backdrop { animation:mobile-dialog-backdrop-out .26s ease both; }
}
@keyframes mobile-dialog-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes mobile-dialog-backdrop-out { from { opacity:1; } to { opacity:0; } }
@media (max-width:1020px) and (prefers-reduced-motion:reduce) {
  dialog[open] { transition:none; }
  dialog::backdrop { animation:none !important; }
}

/* Native select fallback: a theme-aware chevron, independent of OS styling. */
select:not([multiple]):not([size]):not(.custom-select-native),
select[size="1"]:not([multiple]):not(.custom-select-native) {
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;
  background-size:5px 5px;
  background-repeat:no-repeat;
  padding-right:30px;
}

/* iOS focus zoom is avoided with readable input text, not by disabling pinch zoom.
   Keep this after widget-specific font rules (including popup search fields). */
@media (max-width:1020px), (pointer:coarse) {
  input:not(:is([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"],[type="button"],[type="submit"],[type="reset"])),
  select,
  textarea {
    font-size:calc(16px + var(--font-size-adjust)) !important;
    line-height:1.25;
  }
}
