@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('/inter-regular.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:500 600;font-display:swap;src:url('/inter-medium.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('/inter-bold.woff2') format('woff2')}
:root{--accent:#a81e83;--pink:#a81e83;--ink:#242126;--muted:#645c63;--line:#e9e2e6;--cream:#faf5f7}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px Inter,sans-serif}aside{width:230px;position:fixed;inset:0 auto 0 0;background:#edf0e8;padding:38px 22px;border-right:1px solid var(--line)}.brand{font:60px 'Libre Caslon Display',Georgia,serif;letter-spacing:-3px;padding-left:12px}.brand span{display:block;font:9px Inter,sans-serif;letter-spacing:4px;margin:2px 0 48px 9px}.workspace{font-size:10px;letter-spacing:1.8px;color:var(--muted);margin:0 12px 18px}nav button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:15px 12px;margin-bottom:5px;color:#617367;border-radius:4px}nav button.active{background:var(--accent);color:white}.sidefoot{position:absolute;bottom:30px;font-size:12px;line-height:2}.sidefoot small{color:var(--muted);font-size:10px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6a9477;margin-right:6px}main{margin-left:230px}header{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;color:var(--muted);font-size:12px}.avatar{border-radius:50%;background:#e8eddf;width:34px;height:34px;display:grid;place-items:center;color:var(--accent)}.notice{padding:12px 42px;background:#f0ead9;font-size:11px;color:#756845}section{padding:36px 42px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;color:var(--muted)}h1{font:500 42px Inter,sans-serif;letter-spacing:-.035em;margin:10px 0}h2{font-size:17px;margin:0}p{color:var(--muted);line-height:1.6}.heading,.toolbar,.cardhead{display:flex;align-items:center;justify-content:space-between;gap:15px}.heading{margin-bottom:30px}.heading p{margin:0}.primary{background:var(--accent);border-color:var(--accent);color:white}button,select,input{font:inherit;border:1px solid var(--line);background:white;color:var(--ink);border-radius:4px;padding:10px 14px}button{cursor:pointer}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:default}input:focus,select:focus,button:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:27px}.stat,.card{background:white;border:1px solid var(--line);border-radius:4px}.stat{padding:23px}.stat small{color:var(--muted)}.stat strong{display:block;font-size:31px;font-weight:500;margin:12px 0 5px}.stat p{font-size:11px;margin:0}.toolbar{margin-bottom:18px;flex-wrap:wrap}.toolbar>div{display:flex;align-items:center;gap:8px}.cardhead{padding:22px;border-bottom:1px solid var(--line)}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:1px;text-transform:uppercase;background:#fcf9fa}th,td{padding:17px 20px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}.person{font-weight:600}.person small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.badge{display:inline-block;border-radius:20px;padding:5px 10px;font-size:10px;background:#eaf1e8;color:#4b7257}.badge.pending{background:#f9f0dc;color:#967135}.badge.rejected,.badge.cancelled{background:#f3e6e3;color:#9b655b}.tiny{font-size:11px;padding:6px 9px}.empty{padding:40px;text-align:center;color:var(--muted)}.footnote{font-size:11px}.clockcard{margin-top:24px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.clockcard p{font-size:12px;margin:6px 0}.clockcontrols{display:flex;gap:9px;align-items:center;flex-wrap:wrap}dialog{width:min(500px,94vw);border:0;border-radius:12px;padding:28px;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#172e2755}dialog h2{font:500 28px Inter,sans-serif;letter-spacing:-.035em;margin-bottom:22px}label{display:block;font-size:12px;margin-bottom:16px}label input,label select{display:block;width:100%;margin-top:7px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}#error{color:#a34c3b}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--accent);color:white;padding:12px 22px;border-radius:8px;display:none}.settingsgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settingsgrid .card{padding:25px}.settingsgrid li{margin:14px 0;color:var(--muted);line-height:1.6}.progress{height:5px;background:#ecf0e7;border-radius:4px;margin-top:8px;overflow:hidden}.progress span{display:block;background:#78997a;height:100%}.negative{color:#a34c3b}@media(max-width:950px){aside{width:185px;padding:28px 14px}main{margin-left:185px}section{padding:25px}header,.notice{padding-left:25px;padding-right:25px}.heading{align-items:flex-start}.stats{gap:10px}.stat{padding:17px}.clockcard{align-items:flex-start;flex-direction:column}.settingsgrid{grid-template-columns:1fr}}@media(max-width:850px){aside{position:static;width:auto;padding:15px}.brand{font-size:38px}.brand span,.workspace,.sidefoot{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{width:auto;flex-shrink:0;padding:10px;font-size:11px;margin:0 4px 0 0}main{margin:0}header{height:55px}.notice{line-height:1.6}section{padding:22px 16px}.heading{flex-direction:column}h1{font-size:37px}.stat{padding:13px}.stat strong{font-size:24px}.stat small{font-size:10px}.stat p{font-size:9px}.toolbar>div{flex-wrap:wrap}th,td{padding:13px}.cardhead{padding:17px}}
a{color:var(--accent)}.notice.connected{background:#e9f0e5;color:#42614a}.notice.offline{background:#f6e4dd;color:#8a4a32}.heading .buttons{display:flex;gap:8px}.pill{font-size:11px;padding:6px 10px;background:#e9f0e5;border-radius:20px;color:var(--accent)}.setup-card{padding:25px;margin-bottom:22px}.setup-card h2{margin-bottom:10px}.warn{color:#8c6537}.account-note{font-size:12px;padding:16px;background:#f7edf3;border-radius:4px;line-height:1.7;margin-bottom:20px}.inlinebuttons{display:flex;gap:8px;flex-wrap:wrap}.scrollpanel{max-height:400px;overflow:auto}.badge.open{background:#e4edf4;color:#3d6588}#clocklive{font-size:12px;color:var(--accent)}.login{padding:32px;max-width:650px}.connection-detail{font-size:11px}.settingsgrid{align-items:start}.stats.four{grid-template-columns:repeat(4,1fr)}dialog p{font-size:12px}button.primary:disabled{background:#72877d}.daynote{font-size:10px;color:var(--muted)}.allowance{font-variant-numeric:tabular-nums}tbody tr:hover{background:#fdf8fb}.busy{opacity:.6;pointer-events:none}#connection{line-height:1.6}@media(max-width:850px){header>div{font-size:10px;max-width:60%;overflow-wrap:anywhere}.stats.four{grid-template-columns:repeat(2,1fr)}.heading .buttons{flex-wrap:wrap}.clockcontrols select{max-width:100%}}
.downloadlink{display:inline-block;border:1px solid var(--line);border-radius:4px;background:white;padding:10px 14px;text-decoration:none;font-size:12px}a.primary{display:inline-block;padding:12px 16px;border-radius:4px;text-decoration:none;color:white}header a{font-size:11px}dialog input[readonly]{background:#f1f3ee}

[hidden]{display:none!important}

.card,.stat,.settingsgrid,.stats{min-width:0}.tablewrap{max-width:100%}.stat strong{overflow-wrap:anywhere}@media(max-width:850px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat strong{font-size:24px}.settingsgrid .card{padding:18px}.cardhead{flex-wrap:wrap}.login{width:100%}}@media(max-width:420px){.stats{grid-template-columns:1fr}.stat strong{margin:6px 0}.stat{padding:14px}.stats .stat p{font-size:11px}header>div{max-width:70%}}

#installDialog{max-width:460px;line-height:1.7}#installGuide{margin-top:8px}button[hidden]{display:none!important}

.paste-link{margin-top:20px}.paste-link summary{cursor:pointer;color:var(--accent)}

/* Welch storefront brand: original wordmark, black masthead, Inter and signature pink. */
aside{background:#000;color:#fff;border-color:#000;padding-top:32px}
.brand{padding:0;line-height:1;font-size:0;letter-spacing:0}
.brand img{display:block;width:190px;max-width:100%;height:auto;margin:0 auto}
.workspace{color:#e5a1d3;font-size:10px;letter-spacing:.2em;margin:20px 12px 32px}
nav button{color:#e0d9de;border-radius:4px;min-height:48px}
nav button:hover{background:#24161f;color:#fff;filter:none}
nav button.active{background:var(--pink);color:#fff}
.sidefoot{color:#eee2eb}.sidefoot small{color:#bfb0ba}.dot{background:#dd72c4}
header{min-height:78px;height:auto;padding-block:16px;gap:18px}
header>span{color:var(--ink);font-weight:500;font-size:14px;letter-spacing:-.02em}
header>div{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
#installGuide{margin:0;color:var(--pink);border-color:#e6c4dc;background:#fff}
.eyebrow{color:var(--pink);font-weight:500;font-size:10px;letter-spacing:.16em}
h1{line-height:1.12}h2{font-weight:500;letter-spacing:-.025em}
.stat{border-top:2px solid #ecd1e3}.stat strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.primary:hover{background:#851569;border-color:#851569;filter:none}
button.primary:disabled{background:#97678a;border-color:#97678a}
.cardhead{background:#fefcfd}.clockcard{border-left:3px solid var(--pink)}
dialog::backdrop{background:#24152177}.login{border-top:3px solid var(--pink)}
.login h1{font-size:36px}.login #loginForm button{width:100%;min-height:46px}
@media(max-width:950px) and (min-width:851px){.brand img{width:155px}}
@media(max-width:850px){aside{padding:22px 16px 14px}.brand img{width:170px}.workspace{display:block;text-align:center;margin:12px 0 18px;font-size:9px}nav{margin:0;gap:4px}nav button{min-height:44px;font-size:12px;padding:11px 13px}header{min-height:64px;padding:14px 16px;align-items:flex-start}header>div{font-size:10px;max-width:70%}header>span{padding-top:6px;font-size:13px}.heading{gap:18px}h1{font-size:34px}.login{padding:24px}.login h1{font-size:32px}.sidefoot{display:none}#identity{overflow-wrap:anywhere}}
.brand img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}

.notice.connected{background:#f3ebf0;color:#645c63;border-bottom:1px solid var(--line)}
@media(max-width:850px){nav{scrollbar-width:thin;scrollbar-color:#a81e83 #20151d}}
