:root{--text:#172b4d;--text-subtle:#44546f;--text-muted:#626f86;--border:#dcdfe4;--border-input:#8590a2;--hairline:#ebebeb;--surface:#fff;--sunken:#f7f8f9;--neutral:#f1f2f4;--green:#297a4b;--green-dark:#1f5c39;--green-bg:#ebf5ee;--green-line:#b3dfc1;--green-bright:#30a661;--blue:#0c66e4;--blue-dark:#05c;--blue-bg:#e9f2ff;--blue-text:#09326c;--pro:#7a1d8c;--pro-bg:#f6e9f8;--red:#c9372c;--red-text:#ae2e24;--red-bg:#ffeceb;--amber-bg:#fff7d6;--amber-text:#533f04;--success-bg:#dcfff1;--success-text:#164b35;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--sunken);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/20px Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit;color:inherit}a{color:var(--blue)}a:hover{color:var(--blue-dark)}h1,h2,p,ul,dl,dd{margin:0}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.h1{text-wrap:balance;font-size:24px;font-weight:600;line-height:32px}.h1--lg{font-size:26px;line-height:34px}.h2{font-size:16px;font-weight:600;line-height:24px}.strong{font-weight:600}.muted{color:var(--text-muted)}.small{font-size:12px;line-height:16px}.green{color:var(--green-dark)}.danger{color:var(--red-text)}.center{text-align:center}.right{text-align:right;justify-content:flex-end}.num{font-variant-numeric:tabular-nums}.label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:11px;font-weight:600;line-height:16px;display:flex}.label--green{color:var(--green-dark)}.fineprint{color:var(--text-muted);font-size:12px;line-height:18px}.grow{flex-grow:1}.self-start{align-self:flex-start}.stack{flex-direction:column;gap:12px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.stack-xs{flex-direction:column;gap:4px;display:flex}.spread{justify-content:space-between;gap:12px;display:flex}.narrow{width:100%;max-width:760px}.btn{border:1px solid var(--border-input);background:var(--surface);height:36px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--sunken);color:var(--text)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.btn--primary:hover{background:var(--blue-dark);color:#fff}.btn--start{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.btn--start:hover{background:var(--green-dark);color:#fff}.btn--stop,.btn--danger{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}.btn--stop:hover,.btn--danger:hover{background:var(--red-text);color:#fff}.btn--pro{background:var(--pro);border-color:var(--pro);color:#fff;font-weight:600}.btn--pro:hover{color:#fff;background:#5f1570}.btn--ghost{color:var(--text-subtle);background:0 0;border-color:#0000}.btn--danger-text{color:var(--red-text)}.btn--banner{height:32px;color:inherit;background:0 0;border-color:currentColor;padding:0 12px;font-size:13px;font-weight:600}.btn--banner:hover{color:inherit;background:#091e420f}.btn--sm{height:32px;padding:0 12px;font-size:13px}.btn--lg{height:44px;font-size:15px}.btn--xl{height:48px;font-size:16px}.btn--block{width:100%}.iconbtn{border:1px solid var(--border-input);background:var(--surface);width:32px;height:32px;color:var(--text-subtle);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.iconbtn:disabled{border-color:var(--border);background:var(--sunken);color:var(--border-input);cursor:not-allowed}.iconbtn--plain{background:0 0;border-color:#0000}.page{min-height:100%}.topbar{background:var(--surface);border-bottom:1px solid var(--border)}.topbar__inner{flex-wrap:wrap;align-items:center;gap:12px 20px;max-width:1200px;margin:0 auto;padding:10px 24px;display:flex}.brand{color:var(--text);align-items:center;gap:8px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.brand:hover{color:var(--text)}.brand--lg{font-size:17px}.ws-pill{background:var(--neutral);border-radius:6px;align-items:center;height:28px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.nav{flex-wrap:wrap;flex-grow:1;gap:4px 20px;display:flex}.nav__link{color:var(--text-subtle);border-bottom:2px solid #0000;align-items:center;gap:6px;padding:6px 0;font-weight:500;text-decoration:none;display:inline-flex}.nav__link:hover{color:var(--text)}.nav__link.is-active{color:var(--text);border-bottom-color:var(--green)}.content{flex-direction:column;gap:16px;max-width:1200px;margin:0 auto;padding:24px;display:flex}.pagehead{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.center-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.center-block{justify-content:center;padding:48px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--green);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.tag{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:4px;align-items:center;height:18px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.tag--pro{background:var(--pro-bg);color:var(--pro)}.tag--muted{background:var(--neutral);color:var(--text-subtle);text-transform:none;letter-spacing:0;height:20px;font-weight:600}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar--violet{color:#352c63;background:#dfd8fd}.avatar--blue{color:#09326c;background:#cce0ff}.avatar--yellow{color:#533f04;background:#f8e6a0}.avatar--teal{color:#164555;background:#c6edfb}.avatar--gray{background:var(--border);color:var(--text-subtle)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card--pad{padding:20px}.card--running{background:var(--green-bg);border-color:#7fc79a}.card--danger{border-color:#f5c4be}.card--pro{border:2px solid var(--pro);padding:19px}.card__head{background:var(--sunken);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 16px;font-weight:600;display:flex}.card__title{padding:16px 20px 12px}.listrow{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:4px 16px;min-height:48px;padding:6px 20px;display:flex}.listrow--quiet{background:var(--sunken)}.listrow--quiet .strong{color:var(--text-subtle)}.cards3{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;display:grid}.plans{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px;display:grid}.planrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.planrow>div{flex:320px}.facts{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px 24px;display:grid}.facts dt{color:var(--text-subtle);font-size:12px;font-weight:600;line-height:16px}.banner{border-radius:var(--radius);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.banner>svg{flex-shrink:0;margin-top:1px}.banner--stack{flex-direction:column;gap:8px}.banner__row{justify-content:space-between;gap:12px;width:100%;display:flex}.banner__body{flex:1 1 0;min-width:0}.banner__title{font-weight:600}.banner__actions{flex-wrap:wrap;gap:8px;display:flex}.banner--info{background:var(--blue-bg);color:var(--blue-text)}.banner--success{background:var(--success-bg);color:var(--success-text)}.banner--warning{background:var(--amber-bg);color:var(--amber-text)}.banner--error{background:var(--red-bg);color:#5d1f1a}.progress{background:#cce0ff;border-radius:3px;width:100%;height:6px}.progress__bar{background:var(--blue);border-radius:3px;height:6px;transition:width .4s}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;display:flex}.empty__icon{background:var(--neutral);width:44px;height:44px;color:var(--text-subtle);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty__icon--pro{background:var(--pro-bg);color:var(--pro)}.empty__icon--error{background:var(--red-bg);color:var(--red-text)}.empty__title{text-wrap:balance;margin-top:4px;font-size:18px;font-weight:600;line-height:24px}.empty__text{max-width:460px;color:var(--text-subtle)}.empty__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.pager{align-items:center;gap:4px;display:flex}.pager__label{white-space:nowrap;padding:0 10px;font-weight:600}.weekstrip{grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:8px;display:grid}.daycell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.daycell.is-today{background:var(--green-bg);border:2px solid var(--green);padding:9px 11px}.daycell__label{color:var(--text-muted);font-size:12px;line-height:16px}.daycell.is-today .daycell__label{color:var(--green-dark);font-weight:600}.columns{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.columns__main{flex-direction:column;flex:999 560px;gap:16px;min-width:0;display:flex}.columns__side{flex-direction:column;flex:280px;gap:16px;min-width:0;display:flex}.entry{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:4px 16px;min-height:60px;padding:8px 16px;display:flex}.card__head+.entry{border-top:0}.entry__time{width:104px;color:var(--text-subtle)}.entry__main{flex:240px;min-width:0}.bar{background:var(--hairline);border-radius:4px;height:8px}.bar--on-green{background:#cdebd7}.bar__fill{background:var(--green-bright);border-radius:4px;height:8px}.bar__fill--dark{background:var(--green)}.clock{font-size:28px;font-weight:600;line-height:32px}.recdot{background:var(--red);border-radius:50%;width:8px;height:8px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.table-wrap--flat{border:0;border-radius:0}.trow{border-top:1px solid var(--hairline);align-items:center;gap:16px;min-height:56px;padding:6px 16px;display:grid}.trow--head{background:var(--sunken);border-top:0;border-bottom:1px solid var(--border);min-height:44px;color:var(--text-subtle);font-size:12px;font-weight:600}.trow--head+.trow{border-top:0}.trow--total{background:var(--sunken);border-top:1px solid var(--border);font-weight:600}.trow--stored{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.5fr);padding:6px 20px}.table-wrap--flat .trow--head{border-top:1px solid var(--border)}.person{align-items:center;gap:10px;min-width:0;display:flex}.person--end{justify-content:flex-end}.seg{border-radius:var(--radius);background:var(--neutral);gap:2px;padding:2px;display:inline-flex}.seg__btn{height:28px;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 14px;font-size:13px;font-weight:500}.seg__btn.is-active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #091e4233}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field__label{color:var(--text-subtle);font-size:12px;font-weight:600;line-height:16px}.field-row{grid-template-columns:1.3fr 1fr 1fr;gap:12px;display:grid}.input{border:1px solid var(--border-input);background:var(--surface);width:100%;min-width:0;height:36px;color:var(--text);border-radius:6px;padding:0 12px}.input:disabled{background:var(--sunken);color:var(--text-subtle)}.input--sm{height:32px;font-size:13px}.check{cursor:pointer;align-items:center;gap:10px;display:flex}.check input,.boardrow input{flex-shrink:0;width:16px;height:16px;margin:0}.modal-backdrop{z-index:10;background:#091e4280;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:480px;margin:auto;padding:24px;display:flex;box-shadow:0 12px 32px #091e4240}.modal__head{justify-content:space-between;align-items:center;display:flex}.modal__foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.who{align-items:center;gap:10px;display:flex}.duration{background:var(--neutral);border-radius:6px;justify-content:space-between;align-items:center;height:40px;padding:0 12px;display:flex}.history{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-subtle);flex-direction:column;gap:4px;padding:12px;font-size:13px;display:flex}.auth{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100%;padding:40px 16px;display:flex}.auth__card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:20px;width:100%;max-width:440px;padding:36px;display:flex}.auth--wide>.card{width:100%;max-width:720px}.demo{width:100%;max-width:440px;color:var(--text-subtle);flex-direction:column;gap:6px;font-size:13px;display:flex}.ticks{color:var(--text-subtle);flex-direction:column;gap:8px;padding:0;font-size:13px;list-style:none;display:flex}.ticks li{gap:8px;display:flex}.ticks svg{color:var(--green);stroke-width:2px;flex-shrink:0;margin-top:2px}.ticks--dark,.ticks--pro{color:var(--text);font-size:14px}.ticks--pro svg{color:var(--pro)}.setup{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;width:100%;max-width:960px;display:flex;overflow:hidden}.setup__main{flex-direction:column;flex:999 420px;gap:20px;min-width:0;padding:36px;display:flex}.setup__side{background:var(--green-bg);flex-direction:column;flex:320px;gap:20px;min-width:0;padding:36px;display:flex}.setup__next{border-top:1px solid var(--green-line);flex-direction:column;gap:8px;padding-top:16px;display:flex}.setup__foot{margin-top:auto}.bignum{font-size:40px;font-weight:700;line-height:48px}.boardtools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.boardtools .input{width:180px}.boardlist{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.boardrow{border:0;border-top:1px solid var(--hairline);background:var(--surface);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 16px;display:flex}.boardrow:first-child{border-top:0}.boardrow__name{flex-direction:column;flex:1 1 0;min-width:0;display:flex}.boardrow--more{background:var(--sunken);min-height:44px;color:var(--blue);justify-content:space-between;font-weight:500}.boardrow--note{cursor:default}.split{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.split__main{flex-direction:column;flex:999 560px;gap:16px;min-width:0;display:flex}.sidenav{flex-direction:column;flex:200px;gap:2px;display:flex}.sidenav__link{color:var(--text-subtle);border-radius:6px;padding:8px 12px;font-weight:500;text-decoration:none}.sidenav__link.is-active{background:var(--blue-bg);color:var(--blue)}@media (width<=480px){.content{padding:16px}.auth__card,.setup__main,.setup__side{padding:24px}.field-row{grid-template-columns:1fr 1fr}.field-row .field:first-child{grid-column:1/-1}}
