:root{--bg: #f7f8fc;--bg-subtle: #f0f1f8;--surface: #ffffff;--surface-raised: #ffffff;--border: #e7e7f1;--border-strong: #c9c8db;--text: #292940;--text-muted: #62647b;--text-faint: #73758a;--brand: #7054bd;--brand-hover: #583da0;--brand-soft: #eee8fc;--on-brand: #ffffff;--brand-glow: rgb(151 122 220 / 18%);--on-danger: #ffffff;--ok: #28745f;--ok-soft: #e4f5ed;--leave: #426aab;--leave-soft: #e9f1ff;--warn: #7a6000;--warn-soft: #fff3d9;--on-warn: #ffffff;--warn-overlay: rgb(255 255 255 / 18%);--warn-overlay-strong: rgb(255 255 255 / 30%);--danger: #b03e61;--danger-soft: #fce8ef;--punch-in: #28745f;--punch-in-hover: #0c6733;--punch-out: #7054bd;--punch-out-hover: #583da0;--on-punch: #ffffff;--overlay: rgb(16 24 40 / 40%);--shot-bg: #000000;--on-shot: #ffffff;--shot-chip: rgb(255 255 255 / 16%);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--ctl-h-sm: 34px;--ctl-h: 40px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 24px;--r-2xl: 28px;--r-full: 999px;--shadow-sm: 0 1px 2px rgb(16 24 40 / 6%);--shadow-md: 0 2px 8px rgb(16 24 40 / 8%);--shadow-lg: 0 12px 32px rgb(16 24 40 / 12%);--shadow-float: 0 8px 28px rgb(16 24 40 / 14%), 0 2px 6px rgb(16 24 40 / 8%);--glass: rgb(255 255 255 / 78%);--glass-tint: rgb(255 255 255 / 62%);--glass-sheet: rgb(255 255 255 / 88%);--glass-sheen: rgb(255 255 255 / 32%);--glass-rim: rgb(255 255 255 / 60%);--glass-rim-low: rgb(255 255 255 / 14%);--tabbar-h: 60px;--fs-xs: .78rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.15rem;--fs-xl: 1.4rem;--fs-2xl: 1.8rem;--fs-hero: 3rem;--fs-2xs: .7rem;--motion: .15s ease;--motion-sheet: .32s cubic-bezier(.32, .72, 0, 1);--motion-spring: .42s cubic-bezier(.34, 1.56, .64, 1);--motion-liquid: .48s cubic-bezier(.32, 1.28, .42, 1);--theme-color: #7054bd;color-scheme:light}:root[data-theme=dark]{--bg: #0f1319;--bg-subtle: #161b23;--surface: #171d26;--surface-raised: #1e2530;--border: #2a3341;--border-strong: #3b4757;--text: #e8edf4;--text-muted: #a3aebe;--text-faint: #7a8698;--brand: #38bdf8;--brand-hover: #7dd3fc;--brand-soft: #14294d;--on-brand: #051a38;--brand-glow: rgb(56 189 248 / 20%);--on-danger: #2b0b10;--ok: #56d38a;--ok-soft: #12291d;--leave: #8ab4ff;--leave-soft: #16203a;--warn: #e8cc5c;--warn-soft: #2a2513;--on-warn: #2b2409;--warn-overlay: rgb(0 0 0 / 15%);--warn-overlay-strong: rgb(0 0 0 / 28%);--danger: #ff7b8a;--danger-soft: #2e1519;--punch-in: #16874a;--punch-in-hover: #1a9b56;--punch-out: #0284c7;--punch-out-hover: #0369a1;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 2px 10px rgb(0 0 0 / 45%);--shadow-lg: 0 12px 32px rgb(0 0 0 / 55%);--shadow-float: 0 8px 28px rgb(0 0 0 / 60%), 0 2px 6px rgb(0 0 0 / 40%);--glass: rgb(23 29 38 / 78%);--glass-tint: rgb(23 29 38 / 72%);--glass-sheet: rgb(23 29 38 / 92%);--glass-sheen: rgb(255 255 255 / 9%);--glass-rim: rgb(255 255 255 / 16%);--glass-rim-low: rgb(255 255 255 / 6%);--overlay: rgb(0 0 0 / 55%);color-scheme:dark;--theme-color: #0c1a2e}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}button,a,summary,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,.topbar,.tabbar,.nav,.sheet__head,.cal__weekdays{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body{margin:0;font-family:Leelawadee UI,Sukhumvit Set,Noto Sans Thai,Thonburi,Sarabun,system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--fs-base);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.35;margin:0;letter-spacing:-.01em}h1{font-size:var(--fs-2xl);font-weight:700}h2{font-size:var(--fs-lg);font-weight:650}h3{font-size:var(--fs-base);font-weight:650}p{margin:0}table,.tabular{font-variant-numeric:tabular-nums}.app{min-height:100dvh;display:flex;flex-direction:column}.nav{display:flex;gap:var(--sp-1);padding:calc(var(--sp-2) + env(safe-area-inset-top,0px)) calc(var(--sp-3) + env(safe-area-inset-right,0px)) var(--sp-2) calc(var(--sp-3) + env(safe-area-inset-left,0px));background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.nav__brand{display:flex;align-items:center;gap:var(--sp-2);border:0;background:transparent;font:inherit;font-weight:700;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--text);white-space:nowrap;cursor:pointer;transition:background var(--motion)}@media(hover:hover){.nav__brand:hover{background:var(--bg-subtle)}}.nav__brand svg{color:var(--brand)}.nav__item{display:inline-flex;align-items:center;gap:var(--sp-2);flex:0 0 auto;white-space:nowrap;border:0;background:transparent;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font:inherit;font-size:var(--fs-sm);color:var(--text-muted);cursor:pointer;transition:background var(--motion),color var(--motion)}@media(hover:hover){.nav__item:hover{background:var(--bg-subtle);color:var(--text)}}.nav__item--active{background:var(--brand-soft);color:var(--brand);font-weight:650}.nav__item--end{margin-left:auto}.nav__items{display:contents}.page{width:100%;max-width:980px;margin:0 auto;padding:var(--sp-5) calc(var(--sp-4) + env(safe-area-inset-right,0px)) calc(var(--sp-7) + env(safe-area-inset-bottom,0px)) calc(var(--sp-4) + env(safe-area-inset-left,0px));flex:1}.page--narrow{max-width:400px;padding-top:var(--sp-7)}.page--standalone{padding-top:calc(var(--sp-7) + env(safe-area-inset-top,0px))}.hello{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.hello__text{display:flex;flex-direction:column;min-width:0}.hello__hi{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.4}.hello__name{margin:0;font-size:var(--fs-xl);font-weight:700;letter-spacing:-.01em;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page--home{animation:none}.page--home>*{animation:rise-in .42s cubic-bezier(.22,1,.36,1) both}.page--home>:nth-child(2){animation-delay:50ms}.page--home>:nth-child(3){animation-delay:.1s}.page--home>:nth-child(4){animation-delay:.15s}.page--home>:nth-child(n+5){animation-delay:.2s}.home-clock{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-1);width:100%;text-align:left;padding:var(--sp-5);margin-bottom:var(--sp-5);background:linear-gradient(152deg,var(--brand-soft) 0%,var(--surface) 60%);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:border-color var(--motion),box-shadow var(--motion),transform var(--motion)}@media(hover:hover){.home-clock:hover{border-color:var(--brand);box-shadow:var(--shadow-md)}}.home-clock:before{content:"";position:absolute;z-index:-1;inset-block-start:-55%;inset-inline-end:-20%;width:68%;aspect-ratio:1;border-radius:var(--r-full);background:radial-gradient(circle,var(--brand-glow),transparent 68%);animation:aurora 22s ease-in-out infinite alternate;pointer-events:none}.home-clock__time{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}.home-clock__date{color:var(--text-muted);font-size:var(--fs-sm);font-weight:400}.home-clock__pending{color:var(--warn);font-size:var(--fs-sm);font-weight:550}.home-clock__go{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--sp-1);margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-full);background:var(--brand);color:var(--on-brand);font-size:var(--fs-sm);font-weight:650}.home-menu__title{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--sp-3)}.home-group+.home-group{margin-top:var(--sp-5)}.home-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}.home-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);min-height:96px;padding:var(--sp-4) var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);color:var(--brand);cursor:pointer;transition:border-color var(--motion),box-shadow var(--motion)}@media(hover:hover){.home-tile:hover{border-color:var(--brand);box-shadow:var(--shadow-md)}}.home-tile__label{color:var(--text);font-size:var(--fs-sm);font-weight:600;text-align:center;line-height:1.3}.cal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-4);margin-bottom:var(--sp-5)}.cal__head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);position:relative}.cal__title{min-width:10.5rem;text-align:center;font-size:var(--fs-lg)}.cal__pick-toggle{display:inline-flex;align-items:center;gap:var(--sp-1);width:100%;justify-content:center;padding:var(--sp-1) var(--sp-2);border:0;background:transparent;color:inherit;font:inherit;border-radius:var(--r-md)}.cal__pick-toggle svg{color:var(--text-faint)}@media(hover:hover){.cal__pick-toggle:hover:not(:disabled){background:var(--bg-subtle)}}.cal__pick-backdrop{position:fixed;inset:0;z-index:10}.cal__pick{position:absolute;z-index:11;top:calc(100% + var(--sp-1));left:50%;transform:translate(-50%);width:min(19rem,100%);padding:var(--sp-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:pick-in .2s cubic-bezier(.22,1,.36,1) both}.cal__pick-year{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.cal__pick-yearlabel{font-size:var(--fs-lg);font-weight:700;font-variant-numeric:tabular-nums}.cal__pick-months{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-1)}.cal__pick-month{min-height:44px;border-color:transparent;background:transparent}.cal__pick-month--on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}@media(hover:hover){.cal__pick-month--on:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}}.cal__nav{display:inline-flex;align-items:center;justify-content:center;width:var(--ctl-h);height:var(--ctl-h);min-height:0;padding:0;color:var(--brand);background:transparent;border-color:transparent}@media(hover:hover){.cal__nav:hover:not(:disabled){background:var(--brand-soft);border-color:transparent}}.cal__today{margin-left:auto;min-height:var(--ctl-h-sm);padding:0 var(--sp-3);font-size:var(--fs-xs)}.cal__loading{font-size:var(--fs-xs);color:var(--text-faint)}.cal__weekdays,.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-1)}.cal__weekdays{margin-bottom:var(--sp-1);text-align:center;font-size:var(--fs-xs);color:var(--text-muted)}.cal__day{--cell-bg: transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;padding:var(--sp-1) 0;border:1px solid transparent;border-radius:var(--r-sm);background:var(--cell-bg);color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}.cal__day:hover:not(:disabled){background:var(--cell-bg);border-color:var(--border-strong)}.cal__day--weekend{color:var(--text-muted)}.cal__day--outside{color:var(--text-faint);font-weight:400}.cal__day--present{--cell-bg: var(--ok-soft)}.cal__day--late,.cal__day--half_day{--cell-bg: var(--warn-soft)}.cal__day--absent,.cal__day--incomplete{--cell-bg: var(--danger-soft)}.cal__day--leave,.cal__day--leave_pending{--cell-bg: var(--leave-soft)}.cal__day--holiday{--cell-bg: var(--bg-subtle)}.cal__day--today{border-color:var(--brand);font-weight:700}.cal__day--selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.cal__daynum{font-size:var(--fs-sm);line-height:1.2}.cal__marks{display:flex;gap:2px;min-height:7px}.cal__dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--text-faint)}.cal__dot--present{background:var(--ok)}.cal__dot--late,.cal__dot--half_day{background:var(--warn)}.cal__dot--absent,.cal__dot--incomplete{background:var(--danger)}.cal__dot--leave{background:var(--leave)}.cal__dot--leave_pending{width:7px;height:7px;background:transparent;border:1.5px solid var(--leave)}.cal__dot--holiday{background:var(--text-muted)}.cal__dot--day_off{display:none}.cal__legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted)}.cal__legend-item{display:inline-flex;align-items:center;gap:var(--sp-1)}.cal__note{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-muted)}.cal__detail{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border)}.cal__detail-date{font-size:var(--fs-sm)}.cal__detail-list{margin:0;padding-left:var(--sp-4);font-size:var(--fs-sm);color:var(--text-muted)}.cal__detail-empty{font-size:var(--fs-sm);color:var(--text-faint)}.cal__detail-link{align-self:flex-start;padding:0;border:none;background:none;color:var(--brand);font-weight:600}.cal__detail-link:hover:not(:disabled){background:none;text-decoration:underline}.page__header{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}.page__header h1,.page__header h2{margin-right:auto}.muted{color:var(--text-muted);font-size:var(--fs-sm)}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);margin-bottom:var(--sp-5);box-shadow:var(--shadow-sm)}.card--highlight{border-color:var(--brand);box-shadow:var(--shadow-md, var(--shadow-sm))}.secret{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.5rem;font-weight:600;letter-spacing:.12em;background:var(--bg-subtle);border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin:var(--sp-3) 0;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.card>h2:first-child,.card>h3:first-child{margin-bottom:var(--sp-2)}.card h3{margin:var(--sp-5) 0 var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm);text-transform:none;letter-spacing:.01em}.field{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.field>span{font-size:var(--fs-sm);font-weight:550;color:var(--text-muted)}.field__hint{font-size:var(--fs-xs);color:var(--text-faint);line-height:1.5}.field__hint--warn{color:var(--warn)}.field--inline{flex-direction:row;align-items:center;gap:var(--sp-2);margin-bottom:0}.field--wide{grid-column:1 / -1}.field--check{cursor:pointer;-webkit-user-select:none;user-select:none}.field--check{display:inline-flex;flex-direction:row;align-items:center;gap:var(--sp-2);width:fit-content;margin-bottom:0;min-height:var(--ctl-h);padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-full);background:var(--bg-subtle);font-size:var(--fs-sm);transition:background var(--motion),border-color var(--motion),color var(--motion)}.field--check:has(input:checked){background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.field--check:has(input:checked)>span{color:inherit;font-weight:600}@media(hover:hover){.field--check:hover{border-color:var(--border-strong)}}.field--check>span{font-weight:400;color:var(--text)}input,select,textarea{font:inherit;min-height:var(--ctl-h);padding:.5rem .75rem;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);transition:border-color var(--motion),box-shadow var(--motion);min-width:0}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}input[type=checkbox]{min-height:0;padding:0;width:1.15rem;height:1.15rem;accent-color:var(--brand);flex:none}.file-pick{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.file-pick input[type=file]{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.file-pick__button{display:inline-flex;align-items:center;gap:var(--sp-2);padding:.55rem .95rem;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--bg-subtle);color:var(--text-muted);font-size:var(--fs-sm);font-weight:550;cursor:pointer;transition:border-color var(--motion),color var(--motion)}.file-pick__button:hover{border-color:var(--brand);color:var(--brand)}.file-pick input[type=file]:focus-visible+.file-pick__button{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.file-pick__preview{width:44px;height:44px;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--border)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 var(--sp-4)}.or-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm)}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:var(--border)}.google-box{display:flex;justify-content:center;min-height:44px}@media(min-width:721px){.sheet{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:var(--sp-5)}.sheet__backdrop{position:absolute;inset:0;background:var(--overlay);animation:fade-in var(--motion-sheet) both}.sheet__panel{position:relative;display:flex;flex-direction:column;width:min(600px,100%);max-height:86dvh;background:var(--surface);border-radius:var(--r-2xl);box-shadow:var(--shadow-float);animation:rise-in var(--motion-sheet) both;outline:none}.sheet--closing .sheet__panel,.sheet--closing .sheet__backdrop{animation:fade-out .22s both}.sheet__grab{display:none}.sheet__head{display:flex;align-items:center;padding:var(--sp-5) var(--sp-5) var(--sp-3);cursor:default}.sheet__title{font-size:var(--fs-lg);font-weight:700;color:var(--text)}.sheet__body{overflow-y:auto;overscroll-behavior:contain;padding:0 var(--sp-5) var(--sp-5)}}.tenant-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}.tenant-card{display:flex;flex-direction:column;gap:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-sm)}.tenant-card--active{border-left-color:var(--ok)}.tenant-card--inactive{border-left-color:var(--warn)}.tenant-card--deleted{border-left-color:var(--danger);background:var(--bg-subtle)}.tenant-card--ok{border-left-color:var(--ok)}.tenant-card--warn{border-left-color:var(--warn)}.tenant-card--danger{border-left-color:var(--danger)}.tenant-card__head{display:flex;align-items:flex-start;gap:var(--sp-3)}.tenant-card__icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand)}.tenant-card__title{flex:1 1 auto;min-width:0}.tenant-card__title h3{margin:0;font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-card__code{margin:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--fs-xs);color:var(--text-muted)}.tenant-card__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:var(--sp-3);margin:0;padding-top:var(--sp-3);border-top:1px solid var(--border)}.tenant-card__stats dt{display:flex;align-items:center;gap:.25rem;font-size:var(--fs-xs);color:var(--text-muted)}.tenant-card__stats dd{margin:0;font-size:var(--fs-sm);font-weight:600}.tenant-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:auto}.acting-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--warn);color:var(--on-warn);font-size:var(--fs-sm);text-align:center}.acting-bar button{padding:.2rem .7rem;min-height:0;font-size:var(--fs-xs);background:var(--warn-overlay);border-color:transparent;color:inherit}@media(hover:hover){.acting-bar button:hover:not(:disabled){background:var(--warn-overlay-strong);border-color:transparent;color:inherit}}button{font:inherit;font-size:var(--fs-sm);font-weight:600;min-height:var(--ctl-h);padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-subtle);color:var(--text);cursor:pointer;transition:background var(--motion),border-color var(--motion),color var(--motion),transform var(--motion);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2)}@media(hover:hover){button:hover:not(:disabled){background:var(--border);border-color:var(--border-strong)}}button:active:not(:disabled){transform:translateY(1px)}button[type=submit],.btn--primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-sm)}@media(hover:hover){button[type=submit]:hover:not(:disabled),.btn--primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}}.btn--tinted{background:var(--brand-soft);border-color:transparent;color:var(--brand)}@media(hover:hover){.btn--tinted:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}}.btn--ghost{border-color:transparent;background:transparent;color:var(--text-muted)}.btn--google{width:100%;justify-content:center;gap:var(--sp-2);padding:.7rem;border-color:var(--border);background:var(--surface);color:var(--text);font-weight:600}@media(hover:hover){.btn--google:hover:not(:disabled){background:var(--bg-subtle)}}@media(hover:hover){.btn--ghost:hover:not(:disabled){background:var(--bg-subtle);border-color:transparent;color:var(--text)}}.btn--danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}@media(hover:hover){.btn--danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}}.btn--sm{min-height:var(--ctl-h-sm);padding:0 var(--sp-3);font-size:var(--fs-xs)}button:disabled{background:var(--bg-subtle);border-color:var(--border);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.clock{text-align:center;padding:var(--sp-5) 0 var(--sp-4)}.clock__time{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.clock__date{color:var(--text-muted);font-size:var(--fs-sm);margin-top:var(--sp-1)}.punch-context{border:0;padding:0;margin:var(--sp-5) 0 0}.punch-context legend{padding:0;margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted)}.punch-context__options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2)}.punch-context__option{display:flex;align-items:center;justify-content:center;min-height:2.9rem;padding:0 var(--sp-2);text-align:center;font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-muted);cursor:pointer}.punch-context__option input{position:absolute;opacity:0;width:0;height:0}.punch-context__option--on{border-color:var(--brand);color:var(--brand);font-weight:600}.punch-context__option:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}.punch-context:disabled .punch-context__option{opacity:.55;cursor:not-allowed}.punch-context__locked{margin:var(--sp-2) 0 0;font-size:var(--fs-sm)}.punch-buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin:var(--sp-5) 0 var(--sp-4)}.punch-buttons button{min-height:4.5rem;font-size:var(--fs-lg);font-weight:700;color:var(--on-punch);border:0;border-radius:var(--r-lg);flex-direction:column;gap:var(--sp-2);box-shadow:var(--shadow-md)}.punch-buttons__in{background:var(--punch-in)}@media(hover:hover){.punch-buttons__in:hover:not(:disabled){background:var(--punch-in-hover)}}.punch-buttons__out{background:var(--punch-out)}@media(hover:hover){.punch-buttons__out:hover:not(:disabled){background:var(--punch-out-hover)}}.punch-buttons button:disabled{background:var(--bg-subtle);color:var(--text-muted);box-shadow:none}.punch-map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-4);font-size:var(--fs-sm)}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);font-weight:600;padding:.15rem .6rem;border-radius:var(--r-full);white-space:nowrap}.badge--ok{color:var(--ok);background:var(--ok-soft)}.badge--warn{color:var(--warn);background:var(--warn-soft)}.badge--danger{color:var(--danger);background:var(--danger-soft)}.badge--neutral{color:var(--text-muted);background:var(--bg-subtle)}.badge__dot{width:.5rem;height:.5rem;border-radius:50%;background:currentcolor;flex:none}.badge__dot--live{position:relative}.badge__dot--live:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentcolor;animation:dot-pulse 2.6s ease-out infinite;pointer-events:none}.alert{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);margin:var(--sp-4) 0;font-size:var(--fs-sm);border:1px solid transparent}.alert svg{flex:none;margin-top:.15rem}.alert--ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 25%,transparent);color:var(--ok)}.alert--warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 25%,transparent);color:var(--warn)}.alert--error{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 25%,transparent);color:var(--danger)}.warning-list{margin:var(--sp-3) 0;padding-left:var(--sp-5);color:var(--warn);font-size:var(--fs-sm)}.warning-list li+li{margin-top:var(--sp-1)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end;margin-bottom:var(--sp-4)}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--border);white-space:nowrap}thead th{color:var(--text-muted);font-weight:600;font-size:var(--fs-xs);background:var(--bg-subtle);position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background var(--motion)}.table--clickable tbody tr{cursor:pointer}@media(hover:hover){.table--clickable tbody tr:hover{background:var(--brand-soft)}}.row--anomaly{background:var(--warn-soft)}.row-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end}td:has(>.row-actions){width:1%}.row-actions button{min-height:var(--ctl-h-sm);padding:0 var(--sp-3);font-size:var(--fs-xs)}.row-actions select{min-height:var(--ctl-h-sm);max-width:11rem;font-size:var(--fs-xs)}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-3);margin:var(--sp-4) 0}.summary__item{display:flex;flex-direction:column;gap:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.summary__label{font-size:var(--fs-xs);color:var(--text-muted)}.summary__item strong{font-size:var(--fs-lg)}.row--clickable{cursor:pointer}@media(hover:hover){.row--clickable:hover{background:var(--bg-subtle)}}.punch-list{display:inline-flex;flex-wrap:wrap;gap:var(--sp-4)}.punch-list__item{display:inline-flex;align-items:center;gap:var(--sp-2);font-variant-numeric:tabular-nums}.empty{text-align:center;padding:var(--sp-7) var(--sp-4);color:var(--text-muted)}.empty svg{color:var(--text-faint);margin-bottom:var(--sp-3)}.empty__title{font-weight:600;color:var(--text);margin-bottom:var(--sp-1)}.skeleton{height:1rem;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--border) 50%,var(--bg-subtle) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton+.skeleton{margin-top:var(--sp-2)}@keyframes shimmer{to{background-position:-200% 0}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pick-in{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}@keyframes title-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.72)}to{transform:scale(1)}}@keyframes dot-pulse{0%{transform:scale(1);opacity:.5}70%,to{transform:scale(2.8);opacity:0}}@keyframes aurora{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-16%,14%,0) scale(1.3)}}.signature{display:flex;flex-direction:column;gap:var(--sp-2);margin-block:var(--sp-3)}.signature__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.signature__label{font-size:var(--fs-sm);font-weight:600;color:var(--text-muted)}.signature__pad{width:100%;max-width:480px;background:#fff;border:1px dashed var(--border-strong);border-radius:var(--r-md);touch-action:none;cursor:crosshair}.signature__image{width:100%;max-width:320px;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);display:block}.selfie-thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--border);display:block}@media(max-width:720px){.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:calc(var(--sp-2) + env(safe-area-inset-top,0px)) calc(var(--sp-4) + env(safe-area-inset-right,0px)) var(--sp-2) calc(var(--sp-4) + env(safe-area-inset-left,0px));background:var(--glass);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--border)}@supports not (backdrop-filter: blur(1px)){.topbar,.tabbar{background:var(--surface)}}.topbar__title,.topbar__brand{min-width:0;font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__title{animation:title-in .22s cubic-bezier(.22,1,.36,1) both}.topbar__brand{display:inline-flex;align-items:center;gap:var(--sp-2)}.topbar__brand svg{flex:0 0 auto;color:var(--brand)}.topbar__me{flex:0 0 auto;width:var(--ctl-h);height:var(--ctl-h);min-height:0;padding:0;border:0;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand);font-size:var(--fs-base);font-weight:700;line-height:1;overflow:hidden;display:grid;place-items:center}.topbar__me--on{background:var(--brand);color:var(--on-brand)}.tabbar{position:fixed;z-index:30;left:max(var(--sp-3),env(safe-area-inset-left,0px));right:max(var(--sp-3),env(safe-area-inset-right,0px));bottom:calc(var(--sp-2) + env(safe-area-inset-bottom,0px));display:flex;gap:0;padding:var(--sp-1);background:var(--glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--shadow-float);touch-action:none;user-select:none;-webkit-user-select:none}.tabbar:after{content:"";position:absolute;z-index:-1;top:var(--sp-1);bottom:var(--sp-1);width:calc((100% - var(--sp-1) * 2) / var(--tab-count, 4));left:calc(var(--sp-1) + ((100% - var(--sp-1) * 2) / var(--tab-count, 4)) * var(--tab-index, 0));border-radius:var(--r-xl);background:var(--brand-soft);box-shadow:inset 0 1px 0 var(--glass-rim, rgba(255, 255, 255, .15));transition:var(--tab-transition, left var(--motion-liquid));pointer-events:none;will-change:left}.tabbar--dragging:after{transition:none!important}.tabbar__item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:var(--sp-1) 2px;border:0;background:transparent;color:var(--text-muted);border-radius:var(--r-xl);transition:color var(--motion)}.tabbar__glyph{display:grid;place-items:center;position:relative;width:46px;height:26px;border-radius:var(--r-full);transition:background var(--motion),transform var(--motion-spring)}.tabbar__item--on{color:var(--brand)}.tabbar__item--on .tabbar__glyph{background:transparent}.tabbar__item--on .tabbar__glyph svg{animation:pop var(--motion-spring)}.tabbar__count{position:absolute;top:-5px;right:3px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-full);background:var(--danger);color:var(--on-danger);font-size:var(--fs-2xs);font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--surface)}.tabbar__item:active:not(:disabled){transform:none}.tabbar__item:active .tabbar__glyph{transform:scale(.88)}.tabbar__label{max-width:100%;font-size:var(--fs-2xs);font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:flex-end}.sheet__backdrop{position:absolute;inset:0;background:var(--overlay);animation:fade-in var(--motion-sheet) both}.sheet__panel{position:relative;display:flex;flex-direction:column;max-height:86dvh;background:var(--surface);border-radius:var(--r-2xl) var(--r-2xl) 0 0;box-shadow:var(--shadow-float);animation:sheet-in var(--motion-sheet);transition:transform var(--motion-sheet);outline:none}.sheet--closing .sheet__panel{animation:sheet-out .22s both}.sheet--closing .sheet__backdrop{animation:fade-out .22s both}.sheet__head{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) var(--sp-3);touch-action:none;cursor:grab}.sheet__grab{width:40px;height:4px;border-radius:var(--r-full);background:var(--border-strong)}.sheet__title{font-size:var(--fs-sm);font-weight:700;color:var(--text-muted)}.sheet__body{overflow-y:auto;overscroll-behavior:contain;padding:0 var(--sp-3) calc(var(--sp-4) + env(safe-area-inset-bottom,0px))}.sheet__menu{display:flex;flex-direction:column;gap:var(--sp-1)}.sheet__menu .nav__item{animation:rise-in .3s cubic-bezier(.22,1,.36,1) both;animation-delay:min(calc(var(--i, 0) * 24ms),.29s)}.nav__item{justify-content:flex-start;width:100%;min-height:48px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);font-size:var(--fs-base);white-space:normal;text-align:left}.nav__item--end{margin-left:0;margin-top:var(--sp-2)}.theme-toggle__item{min-height:44px}.page{padding:var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-right,0px)) calc(var(--tabbar-h) + var(--sp-5) + env(safe-area-inset-bottom,0px)) calc(var(--sp-3) + env(safe-area-inset-left,0px));animation:page-in .26s cubic-bezier(.22,1,.36,1) both}.page--standalone{padding-top:calc(var(--sp-6) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--sp-7) + env(safe-area-inset-bottom,0px))}h1{font-size:var(--fs-xl)}.card{padding:var(--sp-4);margin-bottom:var(--sp-4);border-radius:var(--r-xl)}.hello__name{font-size:var(--fs-2xl)}.home-clock__time,.clock__time{font-size:2.4rem}.home-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.home-tile{flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--sp-3);min-height:72px;padding:var(--sp-3);border-radius:var(--r-xl);text-align:left}.home-tile>svg{flex:0 0 auto;box-sizing:content-box;padding:var(--sp-2);background:var(--brand-soft);border-radius:var(--r-full)}.home-tile__label{text-align:left}.home-tile{animation:rise-in .36s cubic-bezier(.22,1,.36,1) both;animation-delay:min(calc(var(--i, 0) * 40ms),.28s)}.home-tile:active{border-color:var(--brand)}.home-menu__title{font-size:var(--fs-sm);letter-spacing:.01em}:root{--ctl-h: 46px;--ctl-h-sm: 40px}input,select,textarea{font-size:16px;padding:.55rem .85rem;border-radius:var(--r-lg)}input[type=checkbox]{min-height:0;width:1.35rem;height:1.35rem}button{padding:0 var(--sp-4);border-radius:var(--r-lg)}button:active:not(:disabled){transform:scale(.97)}.stack>button{align-self:stretch}.row-actions button{min-height:var(--ctl-h-sm)}.toolbar{gap:var(--sp-3)}.toolbar .field{flex:1 1 150px;margin-bottom:0}.table-wrap{border-radius:var(--r-xl);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}th,td{padding:.7rem .8rem}.table-wrap:has(.table--cards){overflow:visible;background:none;border:none;box-shadow:none}.table--cards,.table--cards tbody,.table--cards tr,.table--cards td{display:block}.table--cards thead{display:none}.table--cards tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-4);margin-bottom:var(--sp-3);box-shadow:var(--shadow-sm)}.table--cards td{display:flow-root;padding:var(--sp-2) 0;border:none;white-space:normal}.table--cards td[data-label]:not([data-label=""]){text-align:right}.table--cards td+td{border-top:1px solid var(--border)}.table--cards td[data-label]:not([data-label=""]):before{content:attr(data-label);float:left;max-width:45%;padding-right:var(--sp-3);color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;text-align:left}.table--cards td:has(>.row-actions){width:auto}.table--cards .row-actions{flex-wrap:wrap;justify-content:flex-start}.table--cards td[colspan]{text-align:left}.table--grid th:first-child,.table--grid td:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}.table--grid thead th:first-child{background:var(--bg-subtle)}.table--grid th:first-child:after,.table--grid td:first-child:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--border)}.table-wrap:has(.table--grid){background-image:linear-gradient(to left,var(--overlay),transparent);background-position:right center;background-repeat:no-repeat;background-size:18px 100%;background-attachment:local,scroll}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){:root[data-platform=ios] .topbar{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent;transition:background var(--motion),border-color var(--motion)}:root[data-platform=ios] .topbar--float{background:var(--glass-tint);backdrop-filter:blur(22px) saturate(190%);-webkit-backdrop-filter:blur(22px) saturate(190%);border-bottom-color:var(--glass-rim-low);box-shadow:inset 0 1px 0 var(--glass-rim)}:root[data-platform=ios] .topbar__me{box-shadow:inset 0 1px 0 var(--glass-rim)}:root[data-platform=ios] .tabbar{gap:0;background:var(--glass-tint);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border-color:var(--glass-rim-low);box-shadow:inset 0 1px 0 var(--glass-rim),inset 0 -1px 0 var(--glass-rim-low),var(--shadow-float);touch-action:none;user-select:none;-webkit-user-select:none}:root[data-platform=ios] .tabbar:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,var(--glass-sheen),transparent 60%);pointer-events:none}:root[data-platform=ios] .tabbar:after{content:"";position:absolute;z-index:-1;top:var(--sp-1);bottom:var(--sp-1);width:calc((100% - var(--sp-1) * 2) / var(--tab-count, 4));left:calc(var(--sp-1) + ((100% - var(--sp-1) * 2) / var(--tab-count, 4)) * var(--tab-index, 0));border-radius:var(--r-xl);background:var(--brand-soft);box-shadow:inset 0 1px 0 var(--glass-rim);transition:var(--tab-transition, left var(--motion-liquid));pointer-events:none;will-change:left}:root[data-platform=ios] .tabbar__item--on .tabbar__glyph{background:transparent}:root[data-platform=ios] .sheet__backdrop{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}:root[data-platform=ios] .sheet__panel{background:var(--glass-sheet);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);box-shadow:inset 0 1px 0 var(--glass-rim),var(--shadow-float)}:root[data-platform=ios] .sheet__panel:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,var(--glass-sheen),transparent 140px);pointer-events:none}:root[data-platform=ios] button{transition:background var(--motion),border-color var(--motion),transform var(--motion-liquid)}:root[data-platform=ios] button:active:not(:disabled){transform:scale(.94)}:root[data-platform=ios] .tabbar__item:active .tabbar__glyph{transform:scale(.86)}}@media(prefers-reduced-transparency:reduce){:root[data-platform=ios] .topbar--float,:root[data-platform=ios] .tabbar,:root[data-platform=ios] .sheet__panel{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-platform=ios] .tabbar:before,:root[data-platform=ios] .sheet__panel:before{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;animation-delay:0ms!important}}.stack>button{align-self:flex-start}thead tr:first-child th:first-child{border-top-left-radius:var(--r-lg)}thead tr:first-child th:last-child{border-top-right-radius:var(--r-lg)}form.card{box-shadow:var(--shadow-sm)}.map{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}.map__caption{margin:0;color:var(--text-muted);font-size:var(--fs-sm)}.map__frame{display:block;width:100%;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-raised)}.map__open{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--brand);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.map__open:hover{text-decoration:underline}.map__offline{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-muted);font-size:var(--fs-sm)}.map-link{display:inline-flex;align-items:center;gap:4px;color:var(--brand);text-decoration:none;white-space:nowrap}.map-link:hover{text-decoration:underline}.nav__section{align-self:center;width:1px;height:20px;margin:0 var(--sp-1);background:var(--border);overflow:hidden;text-indent:-999px;white-space:nowrap}.nav__items>.nav__section:first-child{display:none}.home-menu__hint{font-size:var(--fs-sm);font-weight:400;color:var(--text-muted)}.home-tile--admin{border-left:3px solid var(--brand)}@media(max-width:720px){.nav__section{align-self:stretch;width:auto;height:auto;margin:var(--sp-3) var(--sp-3) var(--sp-1);padding:0;background:none;overflow:visible;text-indent:0;color:var(--text-muted);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em}.nav__items>.nav__section:first-child{display:block;margin-top:var(--sp-2)}}.field--days{border:0;padding:0;margin:0;grid-column:1 / -1}.field--days legend{padding:0;margin-bottom:var(--sp-2);color:var(--text-muted);font-size:var(--fs-sm);font-weight:550}.weekday-picker{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.weekday-picker__day{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font-size:var(--fs-sm)}.weekday-picker__day:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:650}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--sp-3)}.stat{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.stat__value{font-size:var(--fs-2xl);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat__label{font-size:var(--fs-sm);color:var(--text-muted)}.stat--danger .stat__value{color:var(--danger)}.link-button{display:inline-flex;align-items:center;gap:var(--sp-1);border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--brand);cursor:pointer}.link-button:hover{text-decoration:underline}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-1) var(--sp-4);margin:0 0 var(--sp-4)}.detail-list dt{color:var(--text-muted);font-size:var(--fs-sm)}.detail-list dd{margin:0}.announce,.teamcal,.directory{display:flex;flex-direction:column;gap:var(--sp-3)}.announce__body{white-space:pre-wrap;margin:0 0 var(--sp-3)}.teamcal__date{font-size:var(--fs-base);margin:0 0 var(--sp-2)}.teamcal__list{margin:0;padding-left:var(--sp-5)}.teamcal__list li{margin-bottom:var(--sp-1)}.directory__card{display:flex;align-items:center;gap:var(--sp-4)}.directory__photo{flex:0 0 auto;width:52px;height:52px;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;overflow:hidden;border:1px solid var(--border)}.directory__img{width:100%;height:100%;object-fit:cover;display:block}.directory__initial{font-size:var(--fs-lg);font-weight:700;line-height:1}.directory__who{min-width:0}.directory__who p{margin:0}.directory__name{font-weight:600}.bell{position:relative;flex:0 0 auto;width:var(--ctl-h);height:var(--ctl-h);min-height:0;padding:0;border:0;border-radius:var(--r-full);background:transparent;color:var(--text-muted);display:grid;place-items:center;cursor:pointer}.bell:hover{background:var(--bg-subtle);color:var(--text)}.bell__dot{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--r-full);background:var(--danger);color:#fff;font-size:.68rem;font-weight:700;line-height:17px;text-align:center}.notif{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.notif__i{border-radius:var(--r-md)}.notif__i--new{background:var(--brand-soft)}.notif__go{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:0;background:transparent;color:inherit;font:inherit;padding:var(--sp-3);border-radius:var(--r-md);cursor:pointer}.notif__go:disabled{cursor:default}.notif__title{font-weight:600}.notif__when{font-size:var(--fs-sm);color:var(--text-faint)}.profile__head{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.profile__photo{flex:0 0 auto;width:88px;height:88px;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;overflow:hidden;border:1px solid var(--border)}.profile__photo-img{width:100%;height:100%;object-fit:cover;display:block}.profile__photo-initial{font-size:2rem;font-weight:700;line-height:1}.profile__who{flex:1 1 12rem;min-width:0}.profile__name{margin:0 0 var(--sp-1);font-size:var(--fs-lg);font-weight:700}.btn-file{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ctl-h);padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--fs-base);font-weight:600;cursor:pointer}.btn-file:hover{background:var(--bg-subtle)}.btn-file:focus-within{outline:2px solid var(--brand);outline-offset:2px}.btn-file input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.me-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.me-avatar__initial{font-weight:700;line-height:1}.nav__item--end .me-avatar__img,.nav__item--end .me-avatar__initial{flex:0 0 auto;width:22px;height:22px;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:var(--fs-sm)}.theme-toggle{display:flex;gap:1px;padding:2px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-subtle)}.theme-toggle__item{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);flex:1;min-height:32px;padding:var(--sp-1);border:0;border-radius:calc(var(--r-md) - 2px);background:transparent;font:inherit;font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer;transition:background var(--motion),color var(--motion)}@media(hover:hover){.theme-toggle__item:hover{color:var(--text)}}.theme-toggle__item--on{background:var(--surface);color:var(--brand);font-weight:650}.theme-toggle__label{display:none;white-space:nowrap}@media(min-width:721px){.app{flex-direction:row}.nav{flex-direction:column;align-items:stretch;flex:0 0 232px;height:100dvh;align-self:flex-start;overflow-y:auto;padding:calc(var(--sp-3) + env(safe-area-inset-top,0px)) var(--sp-2) calc(var(--sp-3) + env(safe-area-inset-bottom,0px)) calc(var(--sp-2) + env(safe-area-inset-left,0px));border-bottom:0;border-right:1px solid var(--border)}.nav__brand{justify-content:flex-start;margin-bottom:var(--sp-2)}.nav__items{display:flex;flex-direction:column;gap:var(--sp-1);flex:1}.nav__item{justify-content:flex-start;width:100%}.nav__item--end{margin-left:0;margin-top:auto}.nav__section{align-self:stretch;width:auto;height:auto;margin:var(--sp-3) var(--sp-2) var(--sp-1);padding:0;background:none;overflow:visible;text-indent:0;color:var(--text-muted);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em}.nav__items>.nav__section:first-child{display:block;margin-top:0}.theme-toggle{margin-top:var(--sp-2)}.theme-toggle__label{display:inline}.theme-toggle__item svg{display:none}}.swipe-area{min-height:100%;touch-action:pan-y}.menu-perm{display:flex;align-items:center;justify-content:center;min-height:2.5rem;cursor:pointer}.menu-perm input{width:1.15rem;height:1.15rem;accent-color:var(--brand)}.pull{display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-muted);opacity:0;transition:height .18s ease,opacity .18s ease}.refresh-area{min-height:100%}.pull--visible{opacity:1}.pull--visible:not(.pull--busy){transition:none}.pull__indicator{display:flex;align-items:center;gap:.65rem;padding:.65rem 1rem;border-radius:2rem;background:var(--surface)}.pull__spinner{color:var(--brand);flex-shrink:0}.pull__spinner circle{fill:none;stroke:currentColor;stroke-width:2.5}.pull__track{opacity:.16}.pull__arc{stroke-dasharray:40 57;stroke-linecap:round}.pull--busy .pull__spinner{animation:pull-spin .75s linear infinite}@keyframes pull-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pull{transition:none}.pull--busy .pull__spinner{animation-duration:1.8s}}.pull__label{font-size:var(--fs-sm)}.cropper{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:var(--shot-bg);color:var(--on-shot);animation:fade-in .16s both}.cropper__frame{position:relative;width:min(78vw,20rem);aspect-ratio:1;margin:auto;overflow:hidden;border-radius:50%;touch-action:none;cursor:grab;background:#000}.cropper__frame:active{cursor:grabbing}.cropper__image{position:absolute;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.cropper__mask{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff8c;pointer-events:none}.cropper__bar{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5) var(--sp-5) calc(var(--sp-6) + env(safe-area-inset-bottom))}.cropper__zoom{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm)}.cropper__zoom input{flex:1;accent-color:var(--brand)}.cropper__done{width:100%;justify-content:center;gap:var(--sp-2);padding:.7rem;font-weight:700}.shot{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:var(--shot-bg);color:var(--on-shot);animation:fade-in .16s both}.shot__head{display:flex;align-items:center;gap:var(--sp-3);padding:calc(var(--sp-3) + env(safe-area-inset-top,0px)) calc(var(--sp-4) + env(safe-area-inset-right,0px)) var(--sp-3) calc(var(--sp-4) + env(safe-area-inset-left,0px))}.shot__close{flex:0 0 auto;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-full);background:var(--shot-chip);color:var(--on-shot)}.shot__purpose{font-weight:650}.shot__view{flex:1;width:100%;min-height:0;object-fit:cover;transform:scaleX(-1);background:var(--shot-bg)}.shot__bar{display:flex;align-items:center;justify-content:center;padding:var(--sp-5) var(--sp-4) calc(var(--sp-6) + env(safe-area-inset-bottom,0px))}.shot__shutter{width:76px;height:76px;padding:0;border:4px solid var(--on-shot);border-radius:var(--r-full);background:var(--brand);color:var(--on-brand)}.shot__shutter:active:not(:disabled){transform:scale(.92)}.shot__error{margin:auto;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:var(--sp-5);text-align:center}.geo{margin-top:var(--sp-3)}.geo__map{display:block;width:100%;aspect-ratio:1;max-width:260px;margin-inline:auto;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-lg)}.geo__cross{stroke:var(--text-faint);stroke-width:1.5}.geo__fence{fill:var(--brand-soft);stroke:var(--brand);stroke-width:1.5;stroke-dasharray:4 3}.geo__accuracy{fill:var(--leave-soft);stroke:var(--leave);stroke-width:1;opacity:.55}.geo__me{stroke:var(--surface);stroke-width:2}.geo__me--in{fill:var(--ok)}.geo__me--out{fill:var(--warn)}.geo__legend{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-muted);text-align:center;line-height:1.5}@media print{:root,:root[data-theme=dark],:root:not([data-theme=light]){--bg: #ffffff;--bg-subtle: #ffffff;--surface: #ffffff;--surface-raised: #ffffff;--border: #cccccc;--border-strong: #999999;--text: #000000;--text-muted: #333333;--text-faint: #555555;--brand: #000000;--brand-soft: #ffffff;--ok: #000000;--warn: #000000;--danger: #000000}body{background:#fff;color:#000}.nav,.topbar,.tabbar,.sheet,.bell,.acting-bar,.theme-toggle,button,.btn--primary,.btn--ghost,.btn--danger,.btn-file{display:none!important}.app,.page,.page--narrow{display:block;max-width:none;margin:0;padding:0}.card{border:1px solid #ccc;box-shadow:none;break-inside:avoid;margin-bottom:12px}.table-wrap{overflow:visible}table{break-inside:auto}tr{break-inside:avoid}a{color:#000;text-decoration:none}}.chain-list{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-3) 0}.chain-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease}.chain-card:hover{border-color:var(--border-hover, var(--border))}.chain-card__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.chain-card__info{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.chain-card__badge{font-size:var(--text-xs);font-weight:700;color:var(--brand);background:rgba(var(--brand-rgb, 59, 130, 246),.12);border:1px solid rgba(var(--brand-rgb, 59, 130, 246),.25);padding:2px 8px;border-radius:9999px;white-space:nowrap}.chain-card__title{font-size:var(--text-base);font-weight:600;color:var(--text-main)}.chain-card__code{font-size:var(--text-xs);color:var(--text-muted);background:var(--surface-3);padding:2px 6px;border-radius:var(--radius-sm)}.chain-card__actions{display:flex;align-items:center;gap:var(--space-1);margin-inline-start:auto}.chain-card__actions .btn-manage-members{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);padding:4px 10px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;transition:all .15s ease}.chain-card__actions .btn-manage-members:hover{background:var(--surface-hover, var(--surface-3));border-color:var(--brand);color:var(--brand)}.chain-card__body{padding-top:var(--space-1);border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:var(--space-1)}.chain-card__members-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.chain-card__members-chips{display:flex;flex-wrap:wrap;gap:var(--space-1-5, 6px);align-items:center}.member-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--surface-1);border:1px solid var(--border);border-radius:9999px;font-size:var(--text-xs);color:var(--text-main)}.member-chip__name{font-weight:500}.chain-card__empty-warning{font-size:var(--text-xs);color:#d97706;background:#d977061a;padding:6px 12px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chain-card__empty-warning .link-button{background:none;border:none;padding:0;color:var(--brand);text-decoration:underline;cursor:pointer;font-size:var(--text-xs);font-weight:600}.chain-empty-box{padding:var(--space-5);border:2px dashed var(--border);border-radius:var(--radius-md);text-align:center;color:var(--text-muted);background:var(--surface-1);margin:var(--space-3) 0}.chain-add-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md)}.chain-add-form{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.chain-role-select{flex:1;min-width:240px}.chain-quick-add{display:flex;align-items:center;gap:var(--space-1-5, 6px);flex-wrap:wrap}.chain-quick-add__label{font-size:var(--text-xs);color:var(--text-muted)}.role-members-manager{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-4)}.role-members-ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.role-member-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.role-member-item__info{display:flex;flex-direction:column;gap:2px}.approval-step-status{display:inline-flex;flex-direction:column;gap:3px;align-items:flex-start}.approval-step-role{font-size:11px;color:var(--text-muted)}.text-danger{color:var(--danger, #ef4444)!important}.chain{list-style:none;margin:0 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.chain li{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.chain li button{margin-inline-start:auto}.chain__step{font-size:var(--text-xs);font-weight:600;color:var(--brand);white-space:nowrap}.push-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.push-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.push-row .muted{font-size:var(--text-xs)}.btn--link{padding:0;border:0;background:none;color:var(--brand);font:inherit;text-decoration:underline;cursor:pointer}.btn--link:hover{text-decoration:none}.setup-list{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.setup-list button{width:100%;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:inherit;font:inherit;text-align:start;cursor:pointer}.setup-list button:hover{border-color:var(--brand)}.setup-list__mark{flex:none;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:50%;background:var(--surface);color:var(--muted);font-size:var(--text-xs)}.setup-list__i--done .setup-list__mark{background:var(--ok-soft);color:var(--ok)}.setup-list__i--done .setup-list__label{text-decoration:line-through;color:var(--muted)}.setup-list__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.setup-list__body .muted{font-size:var(--text-xs)}.urgent-stack{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-3)}.urgent{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);border-left:4px solid}.urgent--danger{background:var(--danger-soft);border-left-color:var(--danger);color:var(--danger)}.urgent--warn{background:var(--warn-soft);border-left-color:var(--warn);color:var(--warn)}.urgent__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--text)}.urgent__label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:inherit}.urgent--danger .urgent__label{color:var(--danger)}.urgent--warn .urgent__label{color:var(--warn)}.urgent__detail{font-size:var(--fs-sm);color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.urgent__actions{display:flex;gap:var(--sp-2);flex-shrink:0}.urgent__more{margin:0;font-size:var(--fs-sm);color:var(--text-muted)}@media(max-width:640px){.urgent{flex-wrap:wrap}.urgent__actions{width:100%;justify-content:flex-end}}.asset-thumb-btn{background:transparent;border:1px solid var(--border);padding:0;width:44px;height:44px;border-radius:var(--r-md);overflow:hidden;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;flex-shrink:0}.asset-thumb-btn:hover{border-color:var(--brand);transform:scale(1.08);box-shadow:0 2px 8px #0000001f}.asset-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.asset-thumb-empty{width:44px;height:44px;border-radius:var(--r-md);border:1px dashed var(--border);background:var(--bg-subtle);color:var(--text-faint);display:grid;place-items:center;flex-shrink:0}.asset-thumb-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--text-muted)}.asset-form-photo-field{grid-column:1 / -1}.asset-form-photo-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);padding:var(--sp-4);border:2px dashed var(--border-strong);border-radius:var(--r-md);background:var(--bg-subtle);color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,background .15s ease;text-align:center}.asset-form-photo-upload:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.asset-form-photo-preview{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.asset-form-photo-img{width:72px;height:72px;border-radius:var(--r-sm);object-fit:cover;border:1px solid var(--border);flex-shrink:0}.asset-form-photo-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.leave-file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);padding:var(--sp-4);border:2px dashed var(--border-strong);border-radius:var(--r-md);background:var(--bg-subtle);color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,background .15s ease;text-align:center}.leave-file-drop:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.leave-file-drop__content{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.leave-file-drop__icon{color:var(--brand);margin-bottom:var(--sp-1)}.leave-evidence-preview{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);width:fit-content}.leave-evidence-preview__img{width:64px;height:64px;border-radius:var(--r-sm);object-fit:cover;border:1px solid var(--border);flex-shrink:0}.leave-evidence-preview__actions{display:flex;flex-direction:column;gap:var(--sp-1)}.asset-lightbox{position:fixed;inset:0;z-index:1000;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);animation:fadeIn .15s ease}.asset-lightbox__content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 12px 32px #00000059;border:1px solid var(--border)}.asset-lightbox__close{position:absolute;top:var(--sp-2);right:var(--sp-2);z-index:10;background:#00000080;color:#fff;border:none;width:36px;height:36px;border-radius:var(--r-full);display:grid;place-items:center;cursor:pointer;transition:background .15s ease}.asset-lightbox__close:hover{background:#000c}.asset-lightbox__img-wrap{width:100%;max-height:75vh;display:flex;align-items:center;justify-content:center;background:#0a0a0f;overflow:hidden}.asset-lightbox__img{max-width:100%;max-height:75vh;object-fit:contain;display:block}.asset-lightbox__info{padding:var(--sp-3) var(--sp-4);width:100%;text-align:center;font-size:var(--fs-sm);color:var(--text);border-top:1px solid var(--border);background:var(--surface)}.leave-target-toggle{display:flex;gap:6px;background:var(--bg-subtle);padding:4px;border-radius:var(--r-md);border:1px solid var(--border)}.leave-target-toggle__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.leave-target-toggle__btn:hover:not(.is-active){color:var(--text);background:#80808014}.leave-target-toggle__btn.is-active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0000001f;border-color:var(--border)}.leave-dept-preview{background:var(--bg-subtle);border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:12px;margin-top:4px}.leave-dept-preview__title{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:8px;font-weight:600;display:flex;align-items:center;gap:6px}.leave-dept-preview__chips{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow-y:auto}.leave-dept-chip{display:inline-flex;align-items:center;font-size:var(--fs-xs);padding:3px 8px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border);color:var(--text)}.leave-dept-preview__empty{font-size:var(--fs-xs);color:var(--danger, #ef4444)}.leave-balance-types-section{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--border)}.leave-balance-types-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2)}.leave-balance-types-title{font-size:var(--fs-sm);font-weight:600;color:var(--text)}.leave-balance-types-subtitle{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}.leave-balance-types-actions{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);flex-shrink:0}.leave-balance-types-actions .btn-link{background:none;border:none;color:var(--brand);cursor:pointer;padding:2px 4px;font-size:var(--fs-xs);font-weight:600;text-decoration:underline;text-underline-offset:2px}.leave-balance-types-actions .btn-link:hover{color:var(--brand-hover)}.leave-balance-types-list{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto;padding-right:4px}.leave-balance-type-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-subtle);padding:10px 14px;transition:all .15s ease}.leave-balance-type-card:hover{border-color:var(--border-strong)}.leave-balance-type-card.is-selected{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 1px var(--brand-glow)}.leave-balance-type-card__header{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.leave-balance-type-card__header input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--brand);flex-shrink:0}.leave-balance-type-card__info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.leave-balance-type-card__name{font-weight:600;font-size:var(--fs-sm);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leave-balance-type-card__badge{font-family:monospace;font-size:11px;padding:1px 6px;border-radius:var(--r-sm);background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-muted)}.leave-balance-type-card__default-hint{font-size:var(--fs-xs);color:var(--text-muted);margin-left:auto;flex-shrink:0}.leave-balance-type-card__inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);animation:fadeIn .15s ease-out}.leave-balance-type-card__inputs .field{margin-bottom:0}.arrangement-preset-toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.arrangement-options-list{display:flex;flex-direction:column;gap:var(--sp-2)}.arrangement-option-card{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-md, 8px);border:1px solid var(--border);background:var(--surface-2, rgba(255, 255, 255, .04));cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.arrangement-option-card:hover{border-color:var(--brand);background:var(--surface-3, rgba(255, 255, 255, .07))}.arrangement-option-card--active{border-color:var(--brand);background:var(--brand-glow, rgba(16, 185, 129, .08));box-shadow:0 0 0 1px var(--brand)}.arrangement-option-checkbox{margin-top:3px;width:18px;height:18px;accent-color:var(--brand);cursor:pointer;flex-shrink:0}.arrangement-option-card__content{display:flex;flex-direction:column;gap:3px;flex:1}.arrangement-option-card__header{display:flex;align-items:center;gap:var(--sp-2)}.arrangement-option-card__icon{font-size:1.1rem;line-height:1}.arrangement-option-card__title{font-size:var(--text-sm, .9rem);font-weight:600;color:var(--text, #fff)}.arrangement-option-card__detail{font-size:var(--text-xs, .8rem);color:var(--muted, #94a3b8);line-height:1.35}.arrangement-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.arrangement-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:9999px;font-size:var(--text-xs, .75rem);font-weight:500;line-height:1.4;border:1px solid var(--border);background:var(--surface-2, rgba(255, 255, 255, .05));color:var(--text);white-space:nowrap}.arrangement-badge--onsite{border-color:#3b82f659;background:#3b82f61a;color:#60a5fa}.arrangement-badge--field{border-color:#f59e0b59;background:#f59e0b1a;color:#fbbf24}.arrangement-badge--remote{border-color:#10b98159;background:#10b9811a;color:#34d399}@media screen{:root{--bg: #f3f5fa;--bg-subtle: #f6f7fb;--surface: #fff;--border: #e5e7ef;--border-strong: #c9cddb;--text: #303347;--text-muted: #666d80;--text-faint: #737b8e;--brand: #80600f;--brand-fill: #f2d16b;--punch-in: #28765d;--punch-in-hover: #365840;--punch-out: #80600f;--punch-out-hover: #654b0b;--brand-fill-hover: #e7c258;--on-brand-fill: #342d16;--on-brand: #ffffff;--theme-color: #f2d16b;--brand-hover: #654b0b;--brand-soft: #fcf1c7;--brand-glow: rgb(198 159 53 / 15%);--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--space-2: var(--sp-2);--space-3: var(--sp-3);--radius-sm: var(--r-sm);--surface-2: var(--bg-subtle);--muted: var(--text-muted);--text-xs: var(--fs-xs);--ws-sidebar: #f8f9fd;--ws-chrome: #f3f5fa;--ws-purple: #eee7ff;--ws-purple-ink: #7153bc;--ws-purple-fill: #7c3aed;--ws-purple-fill-hover: #6d28d9;--on-ws-purple-fill: #ffffff;--ws-purple-glow: 0 4px 14px rgb(124 58 237 / 25%);--ws-purple-glow-hover: 0 6px 20px rgb(124 58 237 / 38%);--ws-yellow: #fcf1c7;--ws-yellow-ink: #80600f;--ws-yellow-fill: #f2d16b;--ws-yellow-fill-hover: #e7c258;--on-ws-yellow-fill: #342d16;--ws-yellow-glow: 0 4px 14px rgb(198 159 53 / 22%);--ws-yellow-glow-hover: 0 6px 20px rgb(198 159 53 / 35%);--ws-mint: #e0f5ed;--ws-mint-ink: #28765d;--ws-mint-fill: #059669;--ws-mint-fill-hover: #047857;--on-ws-mint-fill: #ffffff;--ws-mint-glow: 0 4px 14px rgb(5 150 105 / 25%);--ws-mint-glow-hover: 0 6px 20px rgb(5 150 105 / 38%);--ws-pink: #fce6f0;--ws-pink-ink: #a73f70;--ws-pink-fill: #db2777;--ws-pink-fill-hover: #be185d;--on-ws-pink-fill: #ffffff;--ws-pink-glow: 0 4px 14px rgb(219 39 119 / 25%);--ws-pink-glow-hover: 0 6px 20px rgb(219 39 119 / 38%);--ws-blue: #e5efff;--ws-blue-ink: #416bad;--ws-blue-fill: #2563eb;--ws-blue-fill-hover: #1d4ed8;--on-ws-blue-fill: #ffffff;--ws-blue-glow: 0 4px 14px rgb(37 99 235 / 25%);--ws-blue-glow-hover: 0 6px 20px rgb(37 99 235 / 38%);--ws-peach: #ffecdf;--ws-peach-ink: #995e32;--ws-peach-fill: #ea580c;--ws-peach-fill-hover: #c2410c;--on-ws-peach-fill: #ffffff;--ws-peach-glow: 0 4px 14px rgb(234 88 12 / 25%);--ws-peach-glow-hover: 0 6px 20px rgb(234 88 12 / 38%);--ctl-h: 38px;--shadow-sm: 0 2px 5px rgb(30 33 62 / 3%)}:root[data-theme=dark]{--bg: #151923;--bg-subtle: #242b37;--surface: #1d2330;--border: #374152;--border-strong: #566178;--text: #edf0f8;--text-muted: #b5bed0;--text-faint: #a2aec4;--brand: #38bdf8;--brand-fill: #38bdf8;--punch-in: #28765d;--punch-in-hover: #365840;--punch-out: #0284c7;--punch-out-hover: #0369a1;--brand-fill-hover: #60cdff;--on-brand-fill: #051a38;--theme-color: #1b2130;--brand-hover: #7dd3fc;--brand-soft: #14294d;--brand-glow: rgb(56 189 248 / 20%);--on-brand: #051a38;--ws-sidebar: #1b2130;--ws-chrome: #141a26;--ws-purple: #251a3a;--ws-purple-ink: #c4b5fd;--ws-purple-fill: #a78bfa;--ws-purple-fill-hover: #c4b5fd;--on-ws-purple-fill: #20073e;--ws-purple-glow: 0 4px 14px rgb(167 139 250 / 28%);--ws-purple-glow-hover: 0 6px 20px rgb(167 139 250 / 42%);--ws-yellow: #383017;--ws-yellow-ink: #fde047;--ws-yellow-fill: #facc15;--ws-yellow-fill-hover: #fde047;--on-ws-yellow-fill: #2a2003;--ws-yellow-glow: 0 4px 14px rgb(250 204 21 / 25%);--ws-yellow-glow-hover: 0 6px 20px rgb(250 204 21 / 38%);--ws-mint: #15342a;--ws-mint-ink: #6ee7b7;--ws-mint-fill: #34d399;--ws-mint-fill-hover: #6ee7b7;--on-ws-mint-fill: #022c22;--ws-mint-glow: 0 4px 14px rgb(52 211 153 / 28%);--ws-mint-glow-hover: 0 6px 20px rgb(52 211 153 / 42%);--ws-pink: #3d1f35;--ws-pink-ink: #f472b6;--ws-pink-fill: #f472b6;--ws-pink-fill-hover: #f9a8d4;--on-ws-pink-fill: #36061d;--ws-pink-glow: 0 4px 14px rgb(244 114 182 / 32%);--ws-pink-glow-hover: 0 6px 20px rgb(244 114 182 / 45%);--ws-blue: #132a4a;--ws-blue-ink: #7dd3fc;--ws-blue-fill: #38bdf8;--ws-blue-fill-hover: #7dd3fc;--on-ws-blue-fill: #051a38;--ws-blue-glow: 0 4px 14px rgb(56 189 248 / 28%);--ws-blue-glow-hover: 0 6px 20px rgb(56 189 248 / 42%);--ws-peach: #3a2417;--ws-peach-ink: #fdba74;--ws-peach-fill: #fb923c;--ws-peach-fill-hover: #fdba74;--on-ws-peach-fill: #341302;--ws-peach-glow: 0 4px 14px rgb(251 146 60 / 28%);--ws-peach-glow-hover: 0 6px 20px rgb(251 146 60 / 42%);--ws-logomark-1: #38bdf8}.workspace-app{--tone-bg: var(--brand-soft);--tone-ink: var(--brand);--tone-fill: var(--brand-fill);--tone-fill-hover: var(--brand-fill-hover);--on-tone-fill: var(--on-brand-fill);--tone-glow: var(--brand-glow);--tone-glow-hover: var(--brand-glow)}.tone-yellow{--tone-bg: var(--ws-yellow);--tone-ink: var(--ws-yellow-ink);--tone-fill: var(--ws-yellow-fill);--tone-fill-hover: var(--ws-yellow-fill-hover);--on-tone-fill: var(--on-ws-yellow-fill);--tone-glow: var(--ws-yellow-glow);--tone-glow-hover: var(--ws-yellow-glow-hover)}.tone-purple{--tone-bg: var(--ws-purple);--tone-ink: var(--ws-purple-ink);--tone-fill: var(--ws-purple-fill);--tone-fill-hover: var(--ws-purple-fill-hover);--on-tone-fill: var(--on-ws-purple-fill);--tone-glow: var(--ws-purple-glow);--tone-glow-hover: var(--ws-purple-glow-hover)}.tone-mint{--tone-bg: var(--ws-mint);--tone-ink: var(--ws-mint-ink);--tone-fill: var(--ws-mint-fill);--tone-fill-hover: var(--ws-mint-fill-hover);--on-tone-fill: var(--on-ws-mint-fill);--tone-glow: var(--ws-mint-glow);--tone-glow-hover: var(--ws-mint-glow-hover)}.tone-pink{--tone-bg: var(--ws-pink);--tone-ink: var(--ws-pink-ink);--tone-fill: var(--ws-pink-fill);--tone-fill-hover: var(--ws-pink-fill-hover);--on-tone-fill: var(--on-ws-pink-fill);--tone-glow: var(--ws-pink-glow);--tone-glow-hover: var(--ws-pink-glow-hover)}.tone-blue{--tone-bg: var(--ws-blue);--tone-ink: var(--ws-blue-ink);--tone-fill: var(--ws-blue-fill);--tone-fill-hover: var(--ws-blue-fill-hover);--on-tone-fill: var(--on-ws-blue-fill);--tone-glow: var(--ws-blue-glow);--tone-glow-hover: var(--ws-blue-glow-hover)}.tone-peach{--tone-bg: var(--ws-peach);--tone-ink: var(--ws-peach-ink);--tone-fill: var(--ws-peach-fill);--tone-fill-hover: var(--ws-peach-fill-hover);--on-tone-fill: var(--on-ws-peach-fill);--tone-glow: var(--ws-peach-glow);--tone-glow-hover: var(--ws-peach-glow-hover)}body{min-height:100dvh;background:var(--ws-chrome)}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.workspace-app{--top-h: 64px;--side-w: 258px;min-height:100dvh;padding-top:var(--top-h);color:var(--text)}.ws-skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:var(--surface)}.ws-skip:focus{top:12px}.ws-topbar{position:fixed;inset:0 0 auto;height:var(--top-h);z-index:25;display:flex;align-items:center;gap:20px;padding:0 24px;background:var(--ws-chrome)}.ws-logo{display:flex;align-items:center;gap:10px;padding:0;border:0;background:none;color:var(--text);white-space:nowrap}.ws-logo strong{font-size:23px;letter-spacing:-.8px}.ws-logo strong span{font-weight:400}.ws-logomark{display:flex;align-items:center;gap:4px;width:33px}.ws-logomark i{width:9px;height:26px;border-radius:6px;background:var(--ws-logomark-1, #e4bf50);transform:rotate(22deg)}.ws-logomark i:nth-child(2){background:#9fbea0;height:21px}.ws-logomark i:nth-child(3){background:#a7c6db;height:10px}.ws-product-label{font-size:12px;color:var(--text-muted);border-left:1px solid var(--border-strong);padding-left:20px}.ws-search-trigger{margin-left:auto;display:flex;gap:10px;align-items:center;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);min-width:280px;border-radius:8px;padding:7px 12px;font-size:12px}.ws-search-trigger>span:first-child{font-size:24px;line-height:1}.ws-search-trigger kbd{margin-left:auto;font:inherit;padding:2px 5px;background:var(--bg-subtle);border-radius:4px}.ws-topbar-actions{display:flex;align-items:center;gap:14px}.ws-topbar-actions .bell{margin:0}.ws-topbar-divider{height:24px;border-left:1px solid var(--border-strong)}.ws-profile{border:0;background:none;padding:0;border-radius:50%}.ws-profile .me-avatar__img,.ws-profile .me-avatar__initial{width:34px;height:34px;font-size:14px}.ws-sidebar{position:fixed;top:var(--top-h);bottom:0;left:0;width:var(--side-w);padding:16px 14px;overflow-y:auto;background:var(--ws-sidebar);border-radius:0 14px 0 0;scrollbar-width:thin}.ws-company{display:flex;align-items:center;gap:10px;padding:9px 9px 18px;margin-bottom:10px;border-bottom:1px solid var(--border)}.ws-company__mark{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:9px;overflow:hidden;background:var(--brand);color:var(--on-brand);font-size:17px;font-weight:700}.ws-company>div{display:grid;gap:2px;flex:1;min-width:0}.ws-company small{font-size:9px;letter-spacing:.12em;color:var(--text-muted)}.ws-company strong{font-size:13px;font-weight:600;line-height:1.3;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ws-company>svg{flex-shrink:0;color:var(--text-muted)}.ws-nav-item{display:flex;justify-content:flex-start;width:100%;align-items:center;gap:9px;min-height:36px;padding:7px 10px;border:0;border-radius:6px;background:none;color:var(--text-muted);text-align:left;font-size:12px;font-weight:450}.ws-nav-item svg{width:18px;height:18px;flex:0 0 18px;stroke-width:1.6}.ws-nav-item:hover{background:var(--bg);color:var(--text)}.ws-nav-item.is-active{color:var(--brand);background:var(--brand-soft);font-weight:650}.ws-section-label{display:flex;align-items:center;justify-content:space-between;padding:22px 10px 9px;font-size:11px;font-weight:650;color:var(--text-muted)}.ws-section-label>span{font-weight:400}.ws-sidebar-hint{margin:0 10px 8px;font-size:11px;color:var(--text-faint);line-height:1.65}.ws-nav-group{margin:5px 0}.ws-nav-group__title{display:flex;justify-content:flex-start;align-items:center;gap:8px;width:100%;padding:8px 6px;border:0;background:transparent;color:var(--text);font-weight:600;font-size:12px;text-align:left}.ws-nav-group__title small{margin-left:auto;font-size:10px;color:var(--text-muted)}.ws-chevron{font-size:16px;transform-origin:center}.ws-chevron[data-closed=true]{transform:rotate(-90deg)}.ws-dot{display:inline-block;width:8px;height:8px;border-radius:3px;background:var(--tone-ink, var(--brand));flex-shrink:0}.ws-nav-group__items{padding-left:12px;margin-left:9px;border-left:1px solid var(--border)}.ws-sidebar-footer{border-top:1px solid var(--border);margin-top:22px;padding-top:10px}.ws-sidebar-footer .theme-toggle{margin:0 0 10px;width:100%}.ws-sidebar-footer .theme-toggle__item{font-size:11px}.ws-count{background:var(--warn-soft);color:var(--warn);padding:1px 6px;margin-left:auto;border-radius:6px}.ws-stage{margin:0 12px 12px calc(var(--side-w) + 12px);min-height:calc(100dvh - var(--top-h) - 12px);background:var(--surface);border-radius:14px;overflow:clip}.ws-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:50px;padding:14px 30px;font-size:11px;color:var(--text-muted)}.ws-breadcrumb button{display:flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:inherit;font:inherit}.ws-breadcrumb strong{font-weight:500}.ws-board-heading{padding:14px 30px 0}.ws-board-heading__title{display:flex;align-items:center;gap:12px}.ws-board-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--tone-bg);color:var(--tone-ink);border-radius:10px;flex-shrink:0}.ws-board-heading h1{font-size:clamp(21px,2.3vw,28px);letter-spacing:-.03em;margin:0}.ws-star{border:0;background:none;font-size:26px;color:var(--text-muted);padding:0 4px}.ws-star[aria-pressed=true]{color:var(--warn)}.ws-board-heading>p{font-size:12px;color:var(--text-muted);margin:12px 0 22px}.ws-board-tabs{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--border)}.ws-board-tabs nav{display:flex;overflow-x:auto;min-width:0;flex:1;scrollbar-width:thin}.ws-board-tabs nav button{display:flex;gap:7px;align-items:center;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;white-space:nowrap;padding:12px 14px;color:var(--text-muted);font-size:12px}.ws-board-tabs nav button.is-active{border-bottom-color:var(--brand);color:var(--brand);font-weight:650}.ws-density{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted)}.ws-density select{font-size:11px;min-height:30px;padding:4px 6px;border:0;background:var(--bg-subtle);border-radius:5px}.ws-board-content{min-width:0}.ws-board-content .page{width:100%;max-width:none;padding:20px 30px 40px;margin:0;animation:none}.ws-board-content .page--narrow{max-width:850px;margin:0 auto}.ws-board-content .page>.page__header>h1{display:none}.ws-board-content .page>.page__header:has(>h1:only-child){display:none}.ws-board-content .page>.page__header{justify-content:flex-end;margin-bottom:18px}.ws-board-content .page>.page__header>.btn--primary{order:-1;margin-right:auto}.card{border-radius:10px;padding:22px;box-shadow:none;margin-bottom:22px}.ws-board-content .page>.card:has(.data-board){border:0;padding:0;margin-top:26px}.card h2,.page__header h2{font-size:16px;letter-spacing:-.01em}.ws-board-content .page>.card>h2,.ws-board-content .page>.card>.page__header>h2{display:flex;gap:10px;align-items:center;color:var(--tone-ink)}.ws-board-content .page>.card>h2:before,.ws-board-content .page>.card>.page__header>h2:before{content:"";width:5px;height:19px;border-radius:3px;background:var(--tone-ink)}.ws-board-content .card>.page__header{margin-bottom:12px}.stat-row{gap:12px}.stat{border:1px solid var(--border);border-top:3px solid var(--brand);border-radius:8px;padding:18px;gap:8px;background:var(--surface)}.stat:nth-child(4n+2){border-top-color:var(--ws-mint-ink);background:var(--ws-mint)}.stat:nth-child(4n+3){border-top-color:var(--ws-blue-ink);background:var(--ws-blue)}.stat:nth-child(4n+4){border-top-color:var(--ws-pink-ink);background:var(--ws-pink)}.stat__value{font-size:28px;letter-spacing:-.035em}.stat__label{font-size:11px}.field>span{font-size:12px;font-weight:600;color:var(--text)}.field input,.field select,.field textarea{border-radius:6px}.field__hint{font-size:11px}.field--check{display:inline-flex;flex-direction:row;align-items:center;gap:8px;width:fit-content;margin-bottom:0;padding:6px 14px;min-height:34px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.field--check input[type=checkbox],input[type=checkbox]{min-height:0;width:16px;height:16px;margin:0;accent-color:var(--brand);cursor:pointer;flex-shrink:0}.field--check>span{font-size:12px;font-weight:500;color:var(--text);line-height:1.4;white-space:nowrap}.field--check:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.field--check:has(input:checked){background:var(--brand-soft);border-color:var(--brand)}.field--check:has(input:checked)>span{color:var(--brand);font-weight:600}:root[data-theme=dark] .field--check:has(input:checked){box-shadow:0 0 10px #38bdf82e}.toolbar{gap:10px}button.btn--primary,.btn--primary{border-radius:6px;box-shadow:none}.data-board{width:100%;min-width:0;margin:10px 0 24px}.data-board__toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;font-size:12px}.data-board__views{display:flex;border:1px solid var(--border);border-radius:6px;padding:2px}.data-board__views button{display:flex;align-items:center;gap:6px;padding:6px 10px;border:0;background:none;color:var(--text-muted);min-height:30px;border-radius:4px;font-size:12px}.data-board__views button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand)}.data-board__search{display:flex;align-items:center;gap:6px;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding-left:10px}.data-board__search input{min-height:34px;width:150px;border:0;background:none;padding:6px;outline-offset:0;color:var(--text);font-size:12px}.data-board__toolbar>select{background:var(--surface);color:var(--text-muted);border:1px solid var(--border);min-height:36px;border-radius:6px;font-size:11px;padding:6px;max-width:210px}.data-board__count{margin-left:auto;color:var(--text-muted);font-size:11px}.data-board .table-wrap{border:1px solid var(--border);border-left:4px solid var(--tone-ink, var(--brand));border-radius:7px;overflow:auto}.data-board__table{border-collapse:separate;border-spacing:0;width:100%;margin:0;font-size:12px}.data-board__table th{background:var(--bg-subtle);color:var(--text-muted);font-size:11px;font-weight:500;padding:11px 14px;white-space:nowrap;border-right:1px solid var(--border)}.data-board__table td{padding:12px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:middle}.data-board__table th:last-child,.data-board__table td:last-child{border-right:0}.data-board__table tr:last-child td{border-bottom:0}.data-board__table td:first-child{font-weight:550;min-width:105px}.data-board__table td:has(>.badge){background:var(--bg-subtle);text-align:center}.data-board__table .badge{border-radius:4px;padding:5px 9px;font-size:11px;white-space:nowrap}.data-board__table button{font-size:11px;min-height:30px;padding:4px 8px;border-radius:4px}.data-board__table tr:hover td{background-color:var(--brand-soft)}.density-compact .data-board__table td{padding-block:5px}.density-compact .data-board__table th{padding-block:7px}.data-board__empty{display:grid;justify-items:center;gap:12px;padding:36px;border:1px dashed var(--border-strong);color:var(--text-muted);font-size:13px}.data-board__lanes{display:flex;flex-direction:column;gap:20px;width:100%;padding-bottom:16px}.data-board__lane{width:100%;max-width:100%;background:var(--bg-subtle);border-radius:12px;padding:16px 18px 20px;border:1px solid var(--border);border-top:3px solid var(--tone-ink)}.data-board__lane h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--tone-ink);padding:2px 0 14px;margin:0;border:0}.data-board__lane h3>span:last-child{margin-left:auto;font-size:12px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.data-board__lane-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:stretch}.data-board__record{display:flex;flex-direction:column;padding:16px;margin-bottom:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:12px;box-shadow:0 1px 3px #1018280a;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.data-board__record:hover{border-color:var(--border-strong);box-shadow:0 4px 14px #10182814}:root[data-theme=dark] .data-board__record{box-shadow:0 1px 3px #00000040}:root[data-theme=dark] .data-board__record:hover{border-color:#38bdf866;box-shadow:0 4px 16px #00000073,0 0 8px #38bdf826}.data-board__record-title{border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:12px;font-weight:650;font-size:13px;color:var(--text);overflow-wrap:anywhere}.data-board__record-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px;margin-bottom:12px;flex:1}.data-board__record-field{min-width:0;overflow-wrap:anywhere;font-size:12px}.data-board__field-label{display:block;color:var(--text-muted);font-size:10px;font-weight:500;margin-bottom:3px;letter-spacing:.02em}.data-board__record-actions{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.data-board__record-actions .row-actions{display:flex;flex-wrap:wrap;gap:6px}@media screen and (max-width:640px){.data-board__lane-items{grid-template-columns:1fr;gap:12px}.data-board__lane{padding:12px}.data-board__record-fields{grid-template-columns:1fr;gap:8px}}.action-panel{margin:16px 0}.sheet:has(.board-drawer){justify-items:end;padding:0}.sheet:has(.board-drawer) .sheet__panel{width:min(700px,95vw);height:100dvh;max-height:100dvh;border-radius:12px 0 0 12px}.sheet:has(.board-drawer) .sheet__head{border-bottom:1px solid var(--border);padding:22px}.sheet:has(.board-drawer) .sheet__body{padding:20px 24px}.board-drawer__toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:20px;font-size:11px;color:var(--text-muted)}.board-drawer__toolbar button{border:0;background:var(--bg-subtle);padding:6px;border-radius:6px}.board-drawer>.card{border:0;padding:0}.ws-command>input{width:100%;background:var(--bg-subtle);color:var(--text);border:1px solid var(--border);padding:12px;border-radius:7px}.ws-command-results{display:grid;gap:5px}.ws-command-results button{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:11px;border:0;background:none;color:var(--text);border-radius:6px;font-size:13px}.ws-command-results button:hover{background:var(--brand-soft)}.ws-command-results button>svg:first-child{color:var(--brand)}.ws-command-results button>svg:last-child{margin-left:auto}.ws-command-results small{display:block;font-size:10px;color:var(--text-muted);margin-top:3px}.ws-mobile-nav{display:none}.ws-eyebrow{display:block;font-size:9px;letter-spacing:.14em;font-weight:650;color:var(--brand)}.workspace-home{padding:10px 30px 40px}.hub-welcome{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}.hub-welcome h1{font-size:clamp(20px,2.2vw,27px);margin:8px 0 5px;letter-spacing:-.035em}.hub-welcome p{font-size:12px;color:var(--text-muted);margin:0}.hub-sun{color:#bf8b30;font-size:23px;padding-left:4px}.hub-launch{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:30px;padding:28px 34px;background:linear-gradient(110deg,var(--ws-purple),var(--ws-blue));border-radius:12px;margin-bottom:30px;overflow:hidden}:root[data-theme=dark] .hub-launch{background:linear-gradient(115deg,#10203d,#17325c);border:1px solid rgb(56 189 248 / 18%);box-shadow:0 10px 30px #030a1873}:root[data-theme=dark] .hub-launch .ws-eyebrow{color:var(--brand)}.hub-launch__copy h2{font-size:27px;line-height:1.45;margin:9px 0;letter-spacing:-.02em}.hub-launch__copy p{font-size:12px;line-height:1.8;color:var(--text-muted);margin:0 0 18px}.hub-launch__copy button{font-size:12px;gap:9px;padding:10px 15px}.hub-launch__boards{background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px #3c326412;padding:17px;border-radius:10px;transform:rotate(-1.5deg)}.hub-mini-title{display:flex;align-items:center;gap:8px;padding:1px 3px 14px;font-size:12px;font-weight:650}.hub-mini-title>svg{margin-left:auto;color:var(--text-muted)}.hub-mini-row{display:flex;align-items:center;gap:10px;background:var(--bg-subtle);border:1px solid var(--border);padding:9px;width:100%;margin-bottom:8px;text-align:left;border-radius:5px;color:var(--text);font-size:11px}.hub-mini-row strong{font-weight:550}.hub-mini-icon{background:var(--tone-bg);color:var(--tone-ink);border-radius:5px;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.hub-mini-action{margin-left:auto;background:var(--tone-bg);color:var(--tone-ink);padding:5px 9px;font-size:10px;white-space:nowrap}.hub-mini-footer{display:flex;align-items:center;gap:10px;padding-top:10px;color:var(--text-muted);font-size:9px}.hub-mini-avatars{display:flex;padding-left:4px}.hub-mini-avatars i{display:grid;place-items:center;width:23px;height:23px;font-size:8px;font-weight:600;font-style:normal;border:2px solid var(--surface);border-radius:50%;margin-left:-4px;background:var(--brand-soft);color:var(--brand)}.hub-mini-avatars i:nth-child(2){background:var(--ws-mint);color:var(--ws-mint-ink)}.hub-mini-avatars i:nth-child(3){background:var(--ws-pink);color:var(--ws-pink-ink)}.hub-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px}.hub-section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.hub-section-heading h2{font-size:16px;margin:0}.hub-section-heading p{font-size:11px;color:var(--text-muted);margin:5px 0 0}.ws-label{background:var(--bg-subtle);color:var(--text-muted);font-size:10px;padding:4px 8px;border-radius:5px;white-space:nowrap}.hub-workspaces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.hub-workspace{border:1px solid var(--border);border-radius:9px;overflow:hidden}.hub-workspace>header{display:flex;gap:10px;align-items:center;padding:16px 16px 10px;background:var(--tone-bg)}.hub-workspace-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--surface);color:var(--tone-ink);border-radius:7px;flex-shrink:0}.hub-workspace h3{font-size:13px;font-weight:650;margin:0}.hub-workspace header div>span{color:var(--text-muted);font-size:10px}.hub-workspace>p{background:var(--tone-bg);font-size:10px;line-height:1.7;margin:0;padding:0 16px 15px;color:var(--text-muted);min-height:48px}.hub-board-list{padding:8px}.hub-board-list button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;color:var(--text);padding:9px 7px;border-radius:5px;font-size:11px;text-align:left}.hub-board-list button>svg:first-child{color:var(--tone-ink);flex-shrink:0}.hub-board-list button>svg:last-child{margin-left:auto;color:var(--text-faint)}.hub-board-list button:hover{background:var(--tone-bg)}.hub-day{border-left:1px solid var(--border);padding-left:23px}.hub-time{display:flex;flex-direction:column;margin-bottom:22px}.hub-time .hub-section-heading{color:var(--text)}.hub-time .hub-section-heading>svg{color:var(--brand)}.hub-time__clock{font-size:32px;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.hub-time .muted{font-size:11px}.hub-time>button{display:flex;justify-content:space-between;border:1px solid var(--border);background:var(--bg-subtle);border-radius:6px;color:var(--brand);margin-top:14px;padding:9px 12px;font-size:11px}.hub-day .cal{padding:12px 0;border:0;box-shadow:none;background:none;margin:0}.hub-day .cal__day{min-height:32px;border-radius:5px}.hub-day .cal__head{gap:3px}.hub-day .cal__pick-toggle{font-size:12px}.hub-day .cal__weekdays{font-size:10px}.hub-day .cal__daynum{font-size:11px}.hub-day .cal__legend{font-size:9px}.hub-day-note{display:flex;align-items:flex-start;gap:8px;padding:14px;background:var(--ws-blue);border-radius:7px;margin-top:16px}.hub-day-note .ws-dot{margin-top:5px}.hub-day-note p{font-size:10px;color:var(--text-muted);line-height:1.7;margin:0}.hub-pending{color:var(--warn);font-size:11px}.ws-board-content>.urgent-stack{margin:12px 30px}}@media screen and (max-width:1200px){.workspace-app{--side-w: 224px}.ws-product-label{display:none}.hub-columns{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.hub-workspaces{grid-template-columns:1fr}.hub-launch{padding:24px;gap:20px}.hub-launch__copy h2{font-size:23px}.hub-mini-action{display:none}.hub-mini-row>svg:last-child{margin-left:auto}.ws-density>span{display:none}}@media screen and (max-width:900px)and (min-width:721px){.hub-launch{grid-template-columns:1fr}.hub-launch__boards{transform:none}.hub-columns{grid-template-columns:1fr}.hub-day{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.ws-search-trigger{min-width:220px}.ws-board-heading,.ws-board-content .page{padding-inline:20px}}@media screen and (max-width:720px){.workspace-app{--top-h: calc(58px + env(safe-area-inset-top)) ;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.ws-topbar{padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));gap:12px}.ws-logo strong{font-size:21px}.ws-logo strong span{display:none}.ws-search-trigger{min-width:0;margin-left:auto;padding:4px 9px;border:0;background:transparent}.ws-search-trigger>span:not(:first-child),.ws-search-trigger kbd{display:none}.ws-topbar-actions{gap:10px}.ws-topbar-divider{display:none}.ws-stage{margin:0 8px;border-radius:12px;min-height:calc(100dvh - 140px)}.ws-breadcrumb{min-height:40px;padding:12px 18px;font-size:10px;gap:5px}.ws-breadcrumb>strong{display:none}.ws-board-heading{padding:10px 18px 0}.ws-board-heading h1{font-size:21px}.ws-board-heading>p{font-size:11px;line-height:1.75}.ws-board-heading__title{gap:9px}.ws-board-mark{width:34px;height:34px}.ws-board-tabs{display:block}.ws-board-tabs nav button{font-size:11px;padding:10px}.ws-density{justify-content:flex-end;padding:8px 0}.ws-board-content .page{padding:16px 16px 30px}.ws-board-content .page>.page__header{justify-content:flex-start}.workspace-home{padding:8px 18px 26px}.hub-welcome{align-items:flex-start;margin-bottom:20px}.hub-welcome h1{font-size:21px;line-height:1.5}.hub-welcome p{font-size:11px;line-height:1.7}.hub-welcome>.badge{font-size:10px}.hub-sun{display:none}.hub-launch{grid-template-columns:1fr;padding:22px;gap:20px;margin-bottom:24px}.hub-launch__copy h2{font-size:25px}.hub-launch__boards{transform:none;padding:12px}.hub-mini-row{font-size:11px}.hub-mini-action{display:inline;padding:4px 6px;font-size:9px}.hub-mini-footer{font-size:9px}.hub-columns{grid-template-columns:1fr;gap:24px}.hub-workspaces{grid-template-columns:1fr}.hub-workspace h3{font-size:14px}.hub-workspace>p{font-size:11px;min-height:0}.hub-board-list button{font-size:12px;min-height:44px}.hub-day{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.hub-day .cal__day{min-height:40px}.ws-mobile-nav{display:flex;position:fixed;inset:auto 0 0;z-index:30;background:var(--surface);border-top:1px solid var(--border);padding:5px 8px calc(5px + env(safe-area-inset-bottom));min-height:66px}.ws-mobile-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:8px;background:none;color:var(--text-muted);padding:8px 3px;font-size:10px;position:relative}.ws-mobile-nav button.is-active{color:var(--brand);background:var(--brand-soft)}.ws-mobile-nav small{position:absolute;right:12px;top:0;background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:1px 5px}.ws-mobile-sidebar .ws-nav-item,.ws-mobile-sidebar .ws-nav-group__title{min-height:44px;font-size:13px}.ws-mobile-sidebar .ws-sidebar-footer{padding-bottom:12px}.ws-command-results button{min-height:52px}.data-board__toolbar{gap:8px}.data-board__search{flex:1;min-width:120px}.data-board__search input{width:100%;min-width:0}.data-board__toolbar>select{max-width:180px}.data-board__table{display:table;min-width:600px}.data-board__table thead{display:table-header-group}.data-board__table tbody{display:table-row-group}.data-board__table tr{display:table-row;border:0;box-shadow:none;background:transparent}.data-board__table td,.data-board__table th{display:table-cell;padding:10px 12px;font-size:11px;text-align:left}.data-board__table td:before{display:none}.data-board__table td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 var(--border)}.data-board__lane{flex-basis:min(280px,80vw)}.data-board__record button{min-height:40px}.sheet:has(.board-drawer) .sheet__panel{width:100%;height:94dvh;max-height:94dvh;border-radius:16px 16px 0 0}.sheet:has(.board-drawer) .sheet__body{padding:18px}.card{padding:16px}.stat{padding:13px}.stat__value{font-size:24px}.ws-board-content>.urgent-stack{margin-inline:16px}}@media print{.ws-topbar,.ws-sidebar,.ws-breadcrumb,.ws-board-heading,.ws-mobile-nav,.ws-skip,.data-board__toolbar,.action-panel>button{display:none!important}.workspace-app,.ws-stage,.ws-board-content{margin:0;padding:0;display:block}.data-board .table-wrap{overflow:visible}}@media screen{.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:8px 0 28px}.overview-metric{display:grid;grid-template-columns:10px 1fr;align-items:center;gap:10px;background:var(--tone-bg);padding:20px;border-radius:9px;font-size:12px}.overview-metric strong{grid-column:1 / -1;font-size:34px;line-height:1.3;font-variant-numeric:tabular-nums}.overview-metric small{grid-column:1 / -1;color:var(--text-muted);font-size:10px}.overview-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.overview-workload,.overview-attendance{border:1px solid var(--border);border-radius:10px;padding:22px;min-width:0}.overview-workload-head,.overview-workload-row{display:grid;grid-template-columns:minmax(0,1fr) 48px 90px;align-items:center;gap:10px}.overview-workload-head{background:var(--bg-subtle);color:var(--text-muted);padding:10px;font-size:10px}.overview-workload-row{width:100%;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;padding:14px 10px;color:var(--text);font-size:11px;text-align:left}.overview-workload-row:hover{background:var(--brand-soft)}.overview-workload-row>span:first-child{display:flex;align-items:center;gap:10px}.overview-workload-row svg{flex-shrink:0;color:var(--brand)}.overview-workload-row strong{font-weight:500}.overview-status{background:var(--ws-mint);color:var(--ws-mint-ink);padding:8px 5px;text-align:center;border-radius:4px;font-size:10px}.overview-status.is-pending{background:var(--ws-peach);color:var(--ws-peach-ink)}.overview-attendance h2{font-size:16px}.overview-attendance>p{font-size:11px}.overview-bars{display:grid;gap:22px;padding-top:14px}.overview-bar>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.overview-bar__track{background:var(--bg-subtle);height:10px;border-radius:4px;overflow:hidden}.overview-bar__track>span{display:block;height:100%;background:var(--tone-ink);border-radius:4px}.workspace-login{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;background:var(--surface)}.workspace-login__story{display:flex;flex-direction:column;padding:40px 8%;background:linear-gradient(145deg,var(--ws-purple),var(--ws-blue) 70%,var(--ws-mint))}.workspace-login__pitch{margin:auto 0;padding:70px 0}.workspace-login__pitch h1{font-size:clamp(34px,4vw,56px);letter-spacing:-.04em;line-height:1.35;margin:18px 0}.workspace-login__pitch>p{color:var(--text-muted);line-height:1.9;font-size:14px}.workspace-login__footer{font-size:9px;color:var(--text-muted);letter-spacing:.16em}.login-board-preview{padding:20px;border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-top:34px;transform:rotate(-2deg);box-shadow:0 14px 34px #322d5a14}.login-preview-title{display:flex;align-items:center;gap:8px;font-weight:650;font-size:14px;margin-bottom:14px}.login-preview-row{display:grid;grid-template-columns:1fr 100px 35px;gap:10px;align-items:center;border-top:1px solid var(--border);padding:12px 0;font-size:12px}.login-preview-row b{background:var(--ws-mint);color:var(--ws-mint-ink);padding:6px 10px;text-align:center;font-size:10px;font-weight:500}.login-preview-row:nth-child(3) b{background:var(--ws-blue);color:var(--ws-blue-ink)}.login-preview-row:nth-child(4) b{background:var(--ws-pink);color:var(--ws-pink-ink)}.login-preview-row i{width:23px;height:23px;border-radius:50%;background:var(--brand-soft);color:var(--brand)}.workspace-login__form{width:min(100%,480px);align-self:center;justify-self:center;padding:40px}.workspace-login__form>.card{border:0;padding:0}.login-welcome{margin-bottom:30px}.login-welcome h2{font-size:28px;margin:12px 0;letter-spacing:-.03em}.login-welcome p{font-size:12px}.workspace-login .field{margin-bottom:20px}.workspace-login .field input,.workspace-login .field select{min-height:44px}.workspace-login__form>p{font-size:12px}}@media screen and (max-width:1100px){.overview-columns{grid-template-columns:1fr}}@media screen and (max-width:720px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-metric,.overview-workload,.overview-attendance{padding:15px}.overview-workload-head,.overview-workload-row{grid-template-columns:minmax(0,1fr) 30px 75px;gap:6px}.overview-workload-row>span:first-child{gap:6px}.workspace-login{grid-template-columns:1fr}.workspace-login__story{padding:calc(22px + env(safe-area-inset-top)) 26px 22px}.workspace-login__pitch{padding:22px 0 0}.workspace-login__pitch h1{font-size:32px}.workspace-login__pitch>p{font-size:12px;margin-bottom:0}.login-board-preview,.workspace-login__footer{display:none}.workspace-login__form{padding:32px 26px}.login-welcome h2{font-size:24px}}@media screen{.ws-profile .me-avatar__initial{display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);border-radius:50%;font-weight:600}.ws-profile .me-avatar__img{display:block;border-radius:50%;object-fit:cover}.board-settings{margin-top:28px;padding:18px 20px;border:1px solid var(--border);border-radius:8px}.board-settings>summary{cursor:pointer;color:var(--text-muted);font-size:13px;font-weight:600}.board-settings[open]>summary{padding-bottom:18px;margin-bottom:16px;border-bottom:1px solid var(--border);color:var(--brand)}.punch-workspace{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px}.punch-session{padding:30px;background:linear-gradient(160deg,var(--ws-purple),var(--surface) 50%);border:1px solid var(--border);border-radius:12px}.punch-session .clock{padding:14px 0;margin-bottom:10px}.punch-session .clock__time{font-size:44px}.punch-session .clock__date{font-size:12px}.punch-session .punch-context{margin-top:24px}.punch-session .punch-buttons{gap:12px}.punch-session .punch-buttons button{min-height:85px;border-radius:8px;font-size:15px}.punch-session .info-note{font-size:11px;line-height:1.8;margin-top:16px}.punch-location{margin:0}.punch-location p{font-size:12px}.sheet__close{display:grid;place-items:center;margin-left:auto;padding:7px;border:0;border-radius:6px;background:var(--bg-subtle);color:var(--text-muted);flex-shrink:0}.board-drawer__toolbar>button{display:none}}@media screen and (max-width:1000px){.punch-workspace{grid-template-columns:1fr}}@media screen and (max-width:720px){.punch-session{padding:20px}.punch-session .clock__time{font-size:38px}.sheet__close{position:absolute;right:16px;top:14px;min-width:36px;min-height:36px}.sheet__title{padding-inline:30px}}@media screen{button[type=submit],button.btn--primary,.btn--primary{background:var(--tone-fill, var(--brand-fill));border-color:var(--tone-fill, var(--brand-fill));color:var(--on-tone-fill, var(--on-brand-fill));box-shadow:var(--tone-glow, none);transition:background var(--motion, .18s ease),border-color var(--motion, .18s ease),box-shadow var(--motion, .18s ease),transform var(--motion, .15s ease)}.ws-company__mark{background:var(--brand-fill);border-color:var(--brand-fill);color:var(--on-brand-fill)}:root[data-theme=dark] button[type=submit],:root[data-theme=dark] button.btn--primary,:root[data-theme=dark] .btn--primary{background:var(--tone-fill, var(--brand-fill));border-color:var(--tone-fill, var(--brand-fill));color:var(--on-tone-fill, var(--on-brand-fill));box-shadow:var(--tone-glow, 0 4px 14px rgb(56 189 248 / 25%))}.ws-nav-item>span:not(.ws-count){text-align:left}.ws-nav-item.is-active{box-shadow:inset 3px 0 var(--brand)}}@media screen and (hover:hover){button[type=submit]:hover:not(:disabled),button.btn--primary:hover:not(:disabled),.btn--primary:hover:not(:disabled){background:var(--tone-fill-hover, var(--brand-fill-hover));border-color:var(--tone-fill-hover, var(--brand-fill-hover));color:var(--on-tone-fill, var(--on-brand-fill));box-shadow:var(--tone-glow-hover, var(--tone-glow, none))}:root[data-theme=dark] button[type=submit]:hover:not(:disabled),:root[data-theme=dark] button.btn--primary:hover:not(:disabled),:root[data-theme=dark] .btn--primary:hover:not(:disabled){background:var(--tone-fill-hover, var(--brand-fill-hover));border-color:var(--tone-fill-hover, var(--brand-fill-hover));color:var(--on-tone-fill, var(--on-brand-fill));box-shadow:var(--tone-glow-hover, 0 6px 20px rgb(56 189 248 / 38%))}.ws-nav-item.is-active:hover:not(:disabled){background:var(--brand-soft)}}@media screen{.ws-board-content button[type=submit],.ws-board-content button.btn--primary,.ws-board-content .btn--primary,:root[data-theme=dark] .ws-board-content button[type=submit],:root[data-theme=dark] .ws-board-content button.btn--primary,:root[data-theme=dark] .ws-board-content .btn--primary{background:var(--tone-fill);border-color:var(--tone-fill);color:var(--on-tone-fill);box-shadow:var(--tone-glow)}.ws-board-content .btn--tinted{background:var(--tone-bg);border-color:transparent;color:var(--tone-ink)}.ws-board-content input[type=checkbox]{accent-color:var(--tone-fill)}.ws-board-content .field--check:has(input:checked),.ws-board-content .field:has(>input[type=checkbox]:checked){background:var(--tone-bg);border-color:var(--tone-fill)}.ws-board-content .field--check:has(input:checked)>span,.ws-board-content .field:has(>input[type=checkbox]:checked)>span{color:var(--tone-ink)}:root[data-theme=dark] .ws-board-content .field--check:has(input:checked),:root[data-theme=dark] .ws-board-content .field:has(>input[type=checkbox]:checked){box-shadow:var(--tone-glow)}.ws-nav-group__title,.ws-nav-group .ws-nav-item svg{color:var(--tone-ink)}.ws-nav-group .ws-nav-item.is-active{background:var(--tone-bg);color:var(--tone-ink);box-shadow:inset 3px 0 var(--tone-ink)}.ws-board-tabs nav button.is-active{color:var(--tone-ink);border-bottom-color:var(--tone-ink)}.hub-launch .ws-eyebrow,.workspace-login__pitch .ws-eyebrow{color:var(--ws-purple-ink)}}@media screen and (hover:hover){.ws-board-content button[type=submit]:hover:not(:disabled),.ws-board-content button.btn--primary:hover:not(:disabled),.ws-board-content .btn--primary:hover:not(:disabled),:root[data-theme=dark] .ws-board-content button[type=submit]:hover:not(:disabled),:root[data-theme=dark] .ws-board-content button.btn--primary:hover:not(:disabled),:root[data-theme=dark] .ws-board-content .btn--primary:hover:not(:disabled){background:var(--tone-fill-hover);border-color:var(--tone-fill-hover);color:var(--on-tone-fill);box-shadow:var(--tone-glow-hover, var(--tone-glow))}.ws-board-content .btn--tinted:hover:not(:disabled){background:var(--tone-bg);opacity:.9}.ws-nav-group .ws-nav-item:hover:not(:disabled){background:var(--tone-bg);color:var(--tone-ink)}}@media screen{.theme-select{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px}.theme-select select{min-height:34px;padding:5px 7px;border:1px solid var(--border);background:var(--surface);border-radius:6px;color:var(--text);font-size:11px;width:96px}.theme-switch{position:relative;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.theme-switch__track{position:relative;display:flex;align-items:center;justify-content:space-between;width:90px;height:32px;padding:3px;background:var(--bg-subtle, #f0f1f8);border:1px solid var(--border-strong, #c9c8db);border-radius:999px;box-shadow:inset 0 1px 3px #10182814;transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease}:root[data-theme=dark] .theme-switch__track{background:#111722;border-color:#2b3648;box-shadow:inset 0 1px 3px #0006}.theme-switch__track:hover{border-color:var(--brand)}.theme-switch__thumb{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #1018282e,0 1px 2px #1018281a;transition:transform .32s cubic-bezier(.34,1.45,.64,1),background-color .25s ease,border-color .25s ease,box-shadow .25s ease;z-index:1;pointer-events:none}.theme-switch__thumb[data-pos=light]{transform:translate(0)}.theme-switch__thumb[data-pos=auto]{transform:translate(29px)}.theme-switch__thumb[data-pos=dark]{transform:translate(58px)}:root[data-theme=dark] .theme-switch__thumb{background:#14294d;border:1px solid rgb(56 189 248 / 50%);box-shadow:0 2px 8px #0000008c,0 0 12px #38bdf859}.theme-switch__btn{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--text-faint);transition:color .22s ease,transform .25s cubic-bezier(.34,1.45,.64,1),opacity .22s ease;outline-offset:2px}.theme-switch__btn:focus-visible{outline:2px solid var(--brand)}.theme-switch__btn:hover:not(.is-active){color:var(--text);opacity:.9;transform:scale(1.08)}.theme-switch__btn:active{transform:scale(.92)}.theme-switch__btn.is-active{opacity:1;transform:scale(1.08)}.theme-switch--pos-light .theme-switch__btn.is-active{color:#e59c0d;filter:drop-shadow(0 1px 2px rgb(229 156 13 / 35%))}.theme-switch--pos-auto .theme-switch__btn.is-active{color:var(--brand);filter:drop-shadow(0 1px 2px rgb(56 189 248 / 30%))}.theme-switch--pos-dark .theme-switch__btn.is-active{color:#38bdf8;filter:drop-shadow(0 0 4px rgb(56 189 248 / 55%))}.login-theme{display:flex;justify-content:flex-end;margin-bottom:24px}.ws-mobile-sidebar .theme-toggle__label{display:inline}.ws-mobile-sidebar .theme-toggle__item svg{display:none}}@media screen and (max-width:720px){.ws-topbar .theme-select>span{display:none}.ws-topbar .theme-select select{width:86px}.ws-topbar,.ws-topbar-actions{gap:6px}}@media print{.theme-select,.theme-switch,.login-theme{display:none}}.workora-logo{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.workora-logo img{flex-shrink:0}.ws-logo .workora-logo strong{font-size:26px;letter-spacing:-1.2px;color:var(--text)}.ws-logo .workora-logo strong span{color:var(--text);font-weight:750}@media screen{:root{--bg: #f8f8f4;--bg-subtle: #f4f4ef;--border: #e8e7de;--ws-chrome: #f8f8f4;--ws-sidebar: #fcfcf9;--r-md: 12px;--r-lg: 20px;--r-xl: 26px;--r-2xl: 32px}:root[data-theme=dark]{--brand: #f2d16b;--brand-fill: #f2d16b;--brand-hover: #ffe395;--brand-fill-hover: #ffe395;--on-brand-fill: #302b20;--brand-soft: #393321;--brand-glow: rgb(242 209 107 / 12%);--theme-color: #1d2330}.ws-topbar{background:var(--surface)}.ws-nav-item,.ws-search-trigger{border-radius:14px}.ws-board-heading{background:var(--surface);border-radius:24px 24px 0 0}.ws-board-tabs nav{gap:8px;padding-block:10px}.ws-board-tabs nav button{border-radius:999px;border:0;background:var(--bg-subtle);min-height:44px;padding-inline:18px}.ws-board-tabs nav button.is-active{background:var(--brand-fill);color:var(--on-brand-fill);border:0}.hub-launch,:root[data-theme=dark] .hub-launch{background:var(--brand-soft);border:1px solid var(--border);border-radius:32px;box-shadow:none;padding:32px;gap:32px}.hub-launch__copy h2{font-size:clamp(27px,3vw,42px);line-height:1.4;letter-spacing:-.04em}.hub-launch .ws-eyebrow,.workspace-login__pitch .ws-eyebrow{color:var(--brand)}.hub-launch__copy button{border-radius:999px;min-height:48px;padding-inline:22px}.hub-launch__boards{transform:none;border-radius:26px;padding:22px;box-shadow:0 12px 32px #463c140d}.workora-daily-clock{position:relative;max-width:340px;margin:0 auto 20px}.workora-daily-clock svg{display:block;width:100%;fill:none;stroke:var(--brand-fill);stroke-width:23;stroke-linecap:round}.workora-daily-clock svg path:nth-child(2){stroke:#dfb344}.workora-daily-clock svg path:nth-child(3){stroke:#f8e7a5}.workora-daily-clock>div{position:absolute;inset:43% 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.workora-daily-clock span,.workora-daily-clock small{color:var(--text-muted);font-size:11px}.workora-daily-clock strong{font-size:clamp(24px,3vw,34px);letter-spacing:-1px;line-height:1.2;font-variant-numeric:tabular-nums}.hub-mini-row{border-radius:14px;min-height:48px}.hub-mini-icon,.hub-mini-action{border-radius:10px}.hub-workspace{border-radius:24px;padding:22px}.hub-board-list button{border-radius:12px;min-height:44px}.hub-time{border-radius:24px;background:var(--brand-soft);padding:22px}.workspace-login__story{background:radial-gradient(ellipse at 15% 20%,var(--surface),transparent 65%),var(--brand-soft)}.login-board-preview{border-radius:24px;transform:rotate(-2deg);box-shadow:0 20px 50px #463c1412}.login-preview-row{border-radius:12px}.workspace-login__form>.card{border-radius:28px}.workspace-login button[type=submit]{border-radius:999px}}@media screen and (max-width:760px){.hub-launch,:root[data-theme=dark] .hub-launch{padding:22px 16px 16px;gap:24px;border-radius:28px}.hub-launch__copy{padding:0 6px}.hub-launch__copy h2{font-size:28px}.hub-launch__boards{padding:18px 14px}.ws-mobile-nav{inset:auto 10px max(10px,env(safe-area-inset-bottom));border:1px solid var(--border);border-radius:999px;padding:6px;box-shadow:0 8px 32px #1419231f;min-height:66px}.ws-mobile-nav button{border-radius:999px;min-width:0}.ws-mobile-nav button.is-active{background:var(--brand-fill);color:var(--on-brand-fill)}.ws-stage{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.workspace-login__story{border-radius:0 0 32px 32px}}.ws-logo .workora-logo strong span{display:inline}.ws-logo .workora-logo strong{font-weight:750;letter-spacing:-.6px}.ws-product-label{white-space:nowrap}@media screen and (max-width:720px){.ws-topbar .workora-logo{gap:8px}.ws-topbar .workora-logo strong{font-size:20px}.ws-topbar .workora-logo img{width:30px;height:30px}}@media screen{:root{--workora-shadow: 0 5px 20px rgb(48 43 32 / 4%);--workora-hover-shadow: 0 10px 26px rgb(48 43 32 / 8%)}:root[data-theme=dark]{--workora-shadow: 0 5px 20px rgb(0 0 0 / 12%);--workora-hover-shadow: 0 10px 26px rgb(0 0 0 / 22%)}.workspace-app .card,.workspace-app .stat,.data-board__record{border-radius:20px;box-shadow:var(--workora-shadow)}.workspace-app .stat{border-top-width:2px}.stat__value{font-variant-numeric:tabular-nums}.ws-board-heading{border:1px solid var(--border);border-bottom:0}.ws-company{border-radius:16px}.ws-company__mark,.ws-board-mark{border-radius:13px}.workspace-app .alert{border-radius:14px;padding:14px 16px;line-height:1.65}.workspace-app .badge{border-radius:999px;gap:6px}.workspace-app .field input:not([type=checkbox]):not([type=radio]),.workspace-app .field select,.workspace-app .field textarea,.workspace-login .field input,.workspace-login .field select{border-radius:12px;transition:border-color .16s ease,box-shadow .16s ease}.workspace-app .field input:focus-visible,.workspace-app .field select:focus-visible,.workspace-app .field textarea:focus-visible{box-shadow:0 0 0 4px var(--brand-glow)}.workspace-app :is(button,a,input,select,textarea):focus-visible,.workspace-login :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--brand);outline-offset:3px}.workspace-app :is(button.btn--primary,.btn--tinted,.btn--danger,.btn--ghost){border-radius:12px}.workspace-app button:disabled{cursor:not-allowed}.data-board__toolbar{padding:12px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.data-board__views{border-radius:12px;background:var(--bg-subtle);border:0;padding:4px}.data-board__views button{border-radius:9px;min-height:36px}.data-board__views button[aria-pressed=true]{background:var(--brand-fill);color:var(--on-brand-fill);box-shadow:0 2px 5px #302b2012}.data-board__search{border-radius:11px;background:var(--bg-subtle)}.data-board__search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.data-board__toolbar>select{border-radius:11px;min-height:40px}.data-board__count{border-radius:999px;padding:6px 10px;background:var(--bg-subtle);font-variant-numeric:tabular-nums}.data-board__filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;font-size:12px}.data-board__filters>span{background:var(--brand-soft);color:var(--brand);padding:6px 12px;border-radius:999px;overflow-wrap:anywhere;max-width:100%}.data-board__filters>button{background:transparent;border:0;color:var(--text-muted);font-size:12px;min-height:40px;text-decoration:underline;text-underline-offset:3px}.data-board .table-wrap{border:1px solid var(--border);border-radius:16px}.data-board__table th{font-weight:650;padding-block:14px}.data-board__table td{border-right-color:transparent}.data-board__table tbody tr:focus-within td{background:var(--brand-soft)}.data-board__lane{border-radius:20px}.data-board__record{border:1px solid var(--border)}.empty{border:1px dashed var(--border-strong);border-radius:20px;background:var(--surface);margin-block:12px;overflow-wrap:anywhere}.empty__illustration{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:22px;background:var(--brand-soft);box-shadow:7px 7px 0 var(--bg-subtle)}.empty .empty__illustration svg{margin:0;color:var(--brand)}.empty__title{font-size:15px}.empty>.muted{max-width:420px;margin-inline:auto;line-height:1.8}.loading-rows{padding:var(--sp-4)}.loading-rows__label{display:block;color:var(--text-muted);font-size:12px;margin-bottom:12px}.loading-rows__row{display:flex;align-items:center;gap:14px;padding-block:12px;border-bottom:1px solid var(--border)}.loading-rows__row:last-child{border-bottom:0}.loading-rows__icon{width:38px;height:38px;border-radius:12px;flex-shrink:0}.loading-rows__lines{flex:1;min-width:0}.loading-rows__lines .skeleton{height:10px;border-radius:999px}.sheet__panel{border:1px solid var(--border);box-shadow:0 24px 80px #00000029}.ws-command input,.ws-command-results button{border-radius:14px}}@media screen and (hover:hover)and (prefers-reduced-motion:no-preference){.hub-mini-row,.hub-board-list button,.ws-nav-item,.data-board__record,.workspace-app .btn--primary,.workspace-app .btn--tinted{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.hub-mini-row:hover:not(:disabled),.hub-board-list button:hover:not(:disabled){transform:translate(3px)}.data-board__record:hover{box-shadow:var(--workora-hover-shadow)}.workspace-app .btn--primary:hover:not(:disabled){transform:translateY(-1px)}.workspace-app .btn--primary:active:not(:disabled){transform:translateY(0)}}@media screen and (hover:hover){.data-board__table tbody tr:hover td{background:var(--bg-subtle)}}@media screen and (max-width:720px){.data-board__toolbar{padding:10px;gap:10px}.data-board__views button{min-height:40px}.data-board__search{flex:1 1 100%;min-width:0}.data-board__search input{min-height:42px}.data-board__toolbar>select{flex:1;min-width:0;max-width:100%}.data-board__filters>button{min-height:44px}.workspace-app .card{border-radius:18px}}@media(prefers-reduced-motion:reduce){.loading-rows .skeleton{animation:none}}@media screen and (max-width:380px){.ws-topbar-actions>.theme-switch{display:none}.ws-topbar{gap:8px}}@keyframes workora-dissolve{0%{opacity:0}to{opacity:1}}@keyframes workora-dialog-enter{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes workora-dialog-exit{0%{opacity:1}to{opacity:0}}@media screen and (prefers-reduced-motion:no-preference){.ws-board-tabs nav button,.ws-mobile-nav button,.ws-nav-item,.ws-nav-group__title,.data-board__views button,.ws-command-results button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.ws-nav-group__items,.ws-command-results,.data-board__lanes,.data-board>.table-wrap,.data-board>.empty,.data-board__filters,.workspace-app .alert{animation:workora-dissolve .22s cubic-bezier(.22,1,.36,1) backwards}.sheet .sheet__backdrop{animation:workora-dissolve .26s ease-out backwards}.sheet .sheet__panel{animation:workora-dialog-enter .28s cubic-bezier(.22,1,.36,1) backwards}.sheet.sheet--closing .sheet__panel,.sheet.sheet--closing .sheet__backdrop{animation:workora-dialog-exit .22s ease-in both}}@keyframes workora-element-reveal{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media screen and (prefers-reduced-motion:no-preference){.sheet:not(.sheet--closing) .sheet__body>:not(.board-drawer),.sheet:not(.sheet--closing) .board-drawer>form>.field,.ws-nav-group__items>.ws-nav-item{animation:workora-element-reveal .48s cubic-bezier(.22,1,.36,1) backwards;animation-delay:60ms}.sheet:not(.sheet--closing) .board-drawer>form>.field:nth-child(2),.ws-nav-group__items>.ws-nav-item:nth-child(2){animation-delay:.11s}.sheet:not(.sheet--closing) .board-drawer>form>.field:nth-child(n+3),.ws-nav-group__items>.ws-nav-item:nth-child(n+3){animation-delay:.16s}}
