/* Aura Pulse — Aura Tekton brand. Fonts: Inter + Sora (SIL OFL, self-hosted; see fonts/OFL.txt). */
@font-face{font-family:"Inter";src:url("/fonts/Inter-400_600.3100e775e8.woff2") format("woff2");font-weight:400 600;font-display:swap}
@font-face{font-family:"Sora";src:url("/fonts/Sora-300_700.fa26406eed.woff2") format("woff2");font-weight:300 700;font-display:swap}
:root{
  color-scheme:light;
  --violet:#8349F5; --ink:#232D34;
  --bg:#F5F4FA; --surface:#FFFFFF; --surface-2:#F8F7FC; --sunken:#EEECF6;
  --fg:#1B2228; --fg-2:#46515A; --muted:#5C6670; --border:#DEDBEA; --border-strong:#C6C1D8;
  --accent:#6A33DC; --accent-hover:#5A27C4; --accent-soft:#EFE8FE; --accent-fg:#FFFFFF; --accent-text:#5A27C4;
  --ok:#14733F; --ok-soft:#E3F5EA; --warn:#8A5300; --warn-soft:#FFF1D6; --bad:#B42318; --bad-soft:#FDE8E6; --info:#1F5FA8; --info-soft:#E4EFFB;
  --focus:#8349F5; --shadow:0 1px 2px rgb(35 45 52/.06),0 4px 16px rgb(35 45 52/.06); --shadow-lg:0 12px 40px rgb(35 45 52/.18);
  --radius:12px; --radius-sm:8px; --sidebar:248px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --display:"Sora","Inter",system-ui,sans-serif;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#12171B; --surface:#1A2126; --surface-2:#1F272D; --sunken:#151B1F;
  --fg:#ECEEF2; --fg-2:#C4CAD1; --muted:#A3ADB6; --border:#2E3840; --border-strong:#435059;
  --accent:#9B6CFF; --accent-hover:#AE88FF; --accent-soft:#2C2445; --accent-fg:#14101F; --accent-text:#B898FF;
  --ok:#5BD08F; --ok-soft:#163525; --warn:#F2B654; --warn-soft:#3A2C12; --bad:#FF8A80; --bad-soft:#3E1B1A; --info:#7DB6F5; --info-soft:#162C44;
  --focus:#B898FF; --shadow:0 1px 2px rgb(0 0 0/.3),0 4px 16px rgb(0 0 0/.25); --shadow-lg:0 12px 40px rgb(0 0 0/.5);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--fg);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;line-height:1.2;margin:0}
h1{font-size:1.6rem;font-weight:600} h2{font-size:1.1rem;font-weight:600} h3{font-size:1rem;font-weight:600}
p{margin:0}
a{color:var(--accent-text)}
.num,.tabular,td.n,th.n,.hours{font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:8px;top:-60px;z-index:100;background:var(--accent);color:var(--accent-fg);padding:8px 14px;border-radius:8px}
.skip:focus{top:8px}
[hidden]{display:none!important}

/* Buttons & inputs */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);font:500 14px/1 var(--font);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.btn:hover{background:var(--surface-2);border-color:var(--accent)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:600}
:root[data-theme="dark"] .btn-danger{color:#1A0B0A}
.btn-danger-ghost{color:var(--bad);border-color:transparent;background:transparent}
.btn-danger-ghost:hover{background:var(--bad-soft);border-color:var(--bad)}
.btn-ghost{background:transparent;border-color:transparent}
.btn-ghost:hover{background:var(--sunken);border-color:transparent}
.btn-sm{min-height:32px;padding:0 10px;font-size:13px}
.btn-lg{min-height:48px;padding:0 22px;font-size:16px}
.btn-icon{width:38px;padding:0}
label,.label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:var(--fg-2)}
input,select,textarea{font:inherit;font-size:15px;color:var(--fg);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:40px;padding:8px 10px;width:100%}
textarea{min-height:90px;resize:vertical}
input:disabled,select:disabled,textarea:disabled{background:var(--sunken);color:var(--muted)}
input[type="checkbox"]{width:auto;min-height:0}
.hint{font-size:12.5px;color:var(--muted);font-weight:400}
.field-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}

/* Landing */
.landing{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 20% -10%,var(--accent-soft),transparent),var(--bg)}
.landing-card{max-width:440px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:40px 32px;text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;align-items:center}
.landing-mark{width:72px;height:auto}
.landing h1{font-size:2rem}
.eyebrow{font:600 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.lede{color:var(--fg-2)} .fine{font-size:13px;color:var(--muted)}

/* Shell */
.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 14px;gap:6px}
.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px;text-decoration:none;color:var(--fg)}
.brand img{width:34px;height:auto}
.brand b{font:600 17px/1.1 var(--display);letter-spacing:-.02em;display:block}
.brand small{font-size:11.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.nav{display:flex;flex-direction:column;gap:2px}
.nav-group{margin-top:14px;padding:0 10px 4px;font:600 11px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--fg-2);text-decoration:none;font-weight:500}
.nav a:hover{background:var(--sunken);color:var(--fg)}
.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-text);font-weight:600}
.nav .ico{width:20px;text-align:center;font-size:15px}
.nav .count{margin-left:auto;background:var(--accent);color:var(--accent-fg);border-radius:99px;font-size:11.5px;padding:1px 7px;font-weight:600}
.sidebar-foot{margin-top:auto;border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.who{display:flex;align-items:center;gap:10px;padding:4px 6px}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center;font:600 13px var(--display);flex:none}
.who b{display:block;font-size:14px} .who span{font-size:12.5px;color:var(--muted);text-transform:capitalize}
.foot-actions{display:flex;gap:6px}
.main{min-width:0;display:flex;flex-direction:column}
.content{padding:24px 32px 48px;max-width:1280px;width:100%;margin:0 auto}
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.pagehead p{color:var(--muted);margin-top:4px}
.subnav{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}
.subnav a{padding:10px 12px;color:var(--fg-2);text-decoration:none;font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}
.subnav a[aria-current="page"],.subnav button[aria-selected="true"]{color:var(--accent-text);border-color:var(--accent)}
.subnav button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 12px;font:500 15px var(--font);color:var(--fg-2);cursor:pointer;white-space:nowrap}
.tabbar{display:none}
.mobile-top{display:none}

/* Timer bar */
.timerbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.timerbar-inner{max-width:1280px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;gap:14px}
.timer-clock{font:600 30px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;min-width:132px;color:var(--fg)}
.timer-state{display:flex;flex-direction:column;gap:2px;min-width:0}
.timer-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--muted);margin-right:6px}
.timerbar.is-running .timer-dot{background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft);animation:pulse 2s infinite}
.timerbar.is-running{border-bottom-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
.timer-label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.timer-fields{display:flex;gap:8px;flex:1;min-width:0}
.timer-fields select{max-width:280px}
.timer-fields input{flex:1;min-width:120px}
.timer-actions{display:flex;gap:6px}
@keyframes pulse{50%{box-shadow:0 0 0 7px transparent}}

/* Cards */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.card-pad{padding:18px 20px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.stack{display:flex;flex-direction:column;gap:16px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.spacer{flex:1}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.kpi{padding:14px 16px}
.kpi .k{font-size:12.5px;color:var(--muted);font-weight:500}
.kpi .v{font:600 24px/1.2 var(--display);font-variant-numeric:tabular-nums;margin-top:4px}
.kpi .v small{font:500 13px var(--font);color:var(--muted);margin-left:4px}

/* Badges & banners */
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:12.5px;font-weight:600;background:var(--sunken);color:var(--fg-2);white-space:nowrap}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.badge.draft{background:var(--sunken);color:var(--fg-2)}
.badge.submitted{background:var(--info-soft);color:var(--info)}
.badge.locked,.badge.approved{background:var(--ok-soft);color:var(--ok)}
.badge.returned{background:var(--bad-soft);color:var(--bad)}
.badge.running{background:var(--ok-soft);color:var(--ok)}
.badge.plain::before{display:none}
.chip{display:inline-block;padding:1px 8px;border-radius:6px;font-size:12px;background:var(--sunken);color:var(--fg-2);font-weight:500}
.chip.bill{background:var(--accent-soft);color:var(--accent-text)}
.banner{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2)}
.banner .b-ico{font-size:18px;line-height:1.3}
.banner b{display:block}
.banner.returned{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}
.banner.submitted{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 35%,transparent)}
.banner.locked{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}
.banner .reason{margin-top:6px;padding:8px 10px;background:var(--surface);border-radius:8px;border-left:3px solid var(--bad);color:var(--fg);font-weight:500}

/* Week header */
.weekbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.weekbar h2{font-size:1.25rem;min-width:200px}
.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden}
.seg .btn{border:0;border-radius:0;min-height:36px}
.seg .btn+.btn{border-left:1px solid var(--border-strong)}

/* Tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}
thead th{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);position:sticky;top:0;white-space:nowrap}
th.n,td.n{text-align:right}
tbody tr:hover{background:var(--surface-2)}
tbody tr:last-child td{border-bottom:0}
th button.sort{all:unset;cursor:pointer}
th button.sort:focus-visible{outline:3px solid var(--focus)}
.muted{color:var(--muted)}
.strong{font-weight:600}
td .sub{display:block;font-size:12.5px;color:var(--muted)}

/* Week grid */
.wgrid th,.wgrid td{padding:6px;text-align:center;border-bottom:1px solid var(--border)}
.wgrid th:first-child,.wgrid td:first-child{text-align:left;padding-left:16px;position:sticky;left:0;background:var(--surface);z-index:1;min-width:190px}
.wgrid thead th:first-child{background:var(--surface-2)}
.wgrid thead th{text-transform:none;letter-spacing:0;font-size:12.5px}
.wgrid thead th .d{display:block;font:600 14px var(--display);color:var(--fg)}
.wgrid thead th.today .d{color:var(--accent-text)}
.wgrid thead th.sel{box-shadow:inset 0 -3px 0 var(--accent)}
.wgrid td.tot,.wgrid th.tot{font-weight:600;background:var(--surface-2)}
.wgrid tfoot td{font-weight:600;background:var(--surface-2);border-bottom:0}
.wgrid .pname b{display:block;font-weight:600;font-size:14px}
.wgrid .pname span{font-size:12px;color:var(--muted)}
.cell{width:100%;min-width:64px;min-height:40px;border:1px dashed transparent;background:transparent;border-radius:8px;font:500 15px var(--font);font-variant-numeric:tabular-nums;color:var(--fg);cursor:pointer}
.cell:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}
.cell.empty{color:var(--border-strong)}
.cell.empty:hover:not(:disabled){color:var(--accent-text)}
.cell:disabled{cursor:default}
.cell-input{width:74px;min-height:36px;text-align:center;padding:4px}
.add-row td{padding:8px 16px}
.add-row select{max-width:320px;min-height:36px}

/* Day list */
.days{display:flex;gap:6px;overflow-x:auto;padding:12px 20px;border-bottom:1px solid var(--border)}
.day-tab{display:flex;flex-direction:column;align-items:center;min-width:66px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;color:var(--fg-2)}
.day-tab b{font:600 15px var(--display);color:var(--fg)}
.day-tab .h{font-size:12.5px;font-variant-numeric:tabular-nums}
.day-tab[aria-selected="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}
.day-tab.today b{color:var(--accent-text)}
.entries{list-style:none;margin:0;padding:0}
.entry{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border)}
.entry:last-child{border-bottom:0}
.entry .what b{display:block;font-weight:600}
.entry .what .meta{font-size:13px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:2px}
.entry .hrs{font:600 18px var(--display);font-variant-numeric:tabular-nums;text-align:right}
.entry .hrs small{display:block;font:400 12px var(--font);color:var(--muted)}
.entry-actions{display:flex;gap:4px}
.entry-form{padding:16px 20px;background:var(--surface-2);border-bottom:1px solid var(--border)}
.entry-form .field-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}

/* Empty / skeleton */
.empty{padding:36px 20px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:10px;align-items:center}
.empty .e-ico{font-size:28px}
.empty b{color:var(--fg);font-family:var(--display);font-size:16px}
.skel{background:linear-gradient(90deg,var(--sunken),var(--surface-2),var(--sunken));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:8px;height:16px;margin:10px 0}
.skel.lg{height:120px}.skel.md{height:48px}
@keyframes sk{to{background-position:-200% 0}}

/* Menu */
details.menu{position:relative}
details.menu>summary{list-style:none}
details.menu>summary::-webkit-details-marker{display:none}
.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column}
.menu-list a,.menu-list button{display:block;padding:9px 12px;border-radius:6px;color:var(--fg);text-decoration:none;background:none;border:0;font:inherit;text-align:left;cursor:pointer}
.menu-list a:hover,.menu-list button:hover{background:var(--sunken)}

/* Dialogs & drawers */
dialog{border:0;padding:0;background:var(--surface);color:var(--fg);border-radius:16px;box-shadow:var(--shadow-lg);max-width:min(520px,calc(100vw - 24px));width:100%}
dialog::backdrop{background:rgb(15 18 22/.5)}
.dlg-body{padding:22px 24px}
.dlg-body h2{margin-bottom:8px}
.dlg-body .dlg-text{color:var(--fg-2);margin-bottom:12px}
.dlg-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap}
dialog.drawer{margin:0 0 0 auto;height:100vh;max-height:100vh;max-width:min(480px,100vw);border-radius:16px 0 0 16px;display:none;flex-direction:column}
dialog.drawer[open]{display:flex}
.drawer .dlg-body{flex:1;overflow:auto;display:flex;flex-direction:column;gap:14px}
.drawer form{display:flex;flex-direction:column;height:100%}
.err{color:var(--bad);font-size:13px;font-weight:500}

/* Toasts */
.toasts{position:fixed;top:16px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:min(400px,calc(100vw - 32px))}
.toast{display:flex;gap:10px;align-items:flex-start;background:var(--ink);color:#fff;padding:12px 14px;border-radius:12px;box-shadow:var(--shadow-lg);font-size:14px;animation:tin .2s ease-out}
:root[data-theme="dark"] .toast{background:#F1EEFA;color:#1B2228}
.toast.error{background:var(--bad);color:#fff}
:root[data-theme="dark"] .toast.error{background:#FFB4AB;color:#410E0B}
.toast button{margin-left:auto;background:none;border:0;color:inherit;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}
@keyframes tin{from{transform:translateY(-6px);opacity:0}}

/* Bars */
.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bars li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:14px}
.bars progress{grid-column:1/-1;width:100%;height:8px;appearance:none;border:0;border-radius:99px;background:var(--sunken);overflow:hidden}
.bars progress::-webkit-progress-bar{background:var(--sunken);border-radius:99px}
.bars progress::-webkit-progress-value{background:var(--accent);border-radius:99px}
.bars progress::-moz-progress-bar{background:var(--accent);border-radius:99px}
.filterbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;padding:16px 20px}
.audit-detail td{background:var(--surface-2)}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:13px;margin:0}
.kv dt{color:var(--muted)} .kv dd{margin:0;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace}
.approval{overflow:hidden}
.approval-head{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:16px 20px}
.approval-head .stats{display:flex;gap:16px;color:var(--muted);font-size:13.5px}
.approval-head .stats b{color:var(--fg);font-variant-numeric:tabular-nums}
.rules{margin:0;padding-left:18px;color:var(--fg-2);font-size:13.5px;display:flex;flex-direction:column;gap:4px}

/* Responsive */
@media (max-width:1100px){
  .timer-fields select{max-width:200px}
  .timerbar-inner{flex-wrap:wrap}
}
@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  .sidebar{display:none}
  .mobile-top{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}
  .mobile-top img{width:28px}.mobile-top b{font:600 16px var(--display)}
  .content{padding:16px 16px 96px}
  .timerbar-inner{padding:10px 16px;gap:8px}
  .timer-clock{font-size:26px;min-width:0}
  .timer-fields{order:3;flex-basis:100%;flex-direction:column}
  .timer-fields select{max-width:none}
  .timer-actions{margin-left:auto}
  .timerbar.collapsed .timer-fields{display:none}
  .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--surface);border-top:1px solid var(--border);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:11.5px;font-weight:500;color:var(--muted);text-decoration:none;border-radius:8px;position:relative}
  .tabbar a .ico{font-size:18px}
  .tabbar a[aria-current="page"]{color:var(--accent-text);background:var(--accent-soft)}
  .tabbar .count{position:absolute;top:2px;right:calc(50% - 22px);background:var(--accent);color:var(--accent-fg);border-radius:99px;font-size:10.5px;padding:0 6px}
  h1{font-size:1.35rem}
  .entry{grid-template-columns:1fr auto;padding:12px 16px}
  .entry-actions{grid-column:1/-1;justify-content:flex-end}
  .approval-head{grid-template-columns:1fr auto}
  .approval-head .stats{grid-column:1/-1;order:3}
  .approval-head .acts{grid-column:1/-1;display:flex;gap:8px}
  .approval-head .acts .btn{flex:1}
  dialog.drawer{border-radius:16px 16px 0 0;margin:auto 0 0 0;height:auto;max-height:92vh;max-width:100vw}
  .toasts{top:auto;bottom:84px;right:50%;transform:translateX(50%);width:calc(100vw - 32px)}
  .card-head,.days,.filterbar{padding-left:16px;padding-right:16px}
  .hide-sm{display:none}
}
@media (min-width:861px){.only-sm{display:none!important}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#page-title:focus{outline:none}
