:root{--ris-ink: #0b1220;--ris-text: #0f172a;--ris-text-secondary: #475569;--ris-text-muted: #64748b;--ris-text-inverse: #f8fafc;--ris-surface: #ffffff;--ris-surface-subtle: #f8fafc;--ris-surface-sunken: #f1f5f9;--ris-border: #e2e8f0;--ris-border-strong: #cbd5e1;--ris-primary: #0f766e;--ris-primary-hover: #115e59;--ris-primary-subtle: #f0fdfa;--ris-primary-border: #99f6e4;--ris-accent: #14b8a6;--ris-focus-ring: #14b8a6;--ris-success: #15803d;--ris-success-bg: #f0fdf4;--ris-warning: #b45309;--ris-warning-bg: #fffbeb;--ris-danger: #b91c1c;--ris-danger-bg: #fef2f2;--ris-info: #1d4ed8;--ris-info-bg: #eff6ff;--ris-meter-green: #16a34a;--ris-meter-amber: #d97706;--ris-meter-red: #dc2626;--ris-chart-1: #0f766e;--ris-chart-2: #0284c7;--ris-chart-3: #6366f1;--ris-chart-4: #d97706;--ris-chart-5: #db2777;--ris-chart-6: #64748b;--ris-font-sans: "Inter Variable", Inter, "Segoe UI", system-ui, sans-serif;--ris-font-numeric: "Inter Variable", Inter, "Segoe UI", system-ui, sans-serif;--ris-font-size-xs: 12px;--ris-font-size-sm: 13px;--ris-font-size-base: 15px;--ris-font-size-md: 17px;--ris-font-size-lg: 20px;--ris-font-size-xl: 26px;--ris-font-size-2xl: 34px;--ris-line-height-tight: 1.25;--ris-line-height-base: 1.5;--ris-space-1: 4px;--ris-space-2: 8px;--ris-space-3: 12px;--ris-space-4: 16px;--ris-space-6: 24px;--ris-space-8: 32px;--ris-space-12: 48px;--ris-radius-sm: 6px;--ris-radius-md: 8px;--ris-radius-pill: 999px;--ris-shadow-1: 0 1px 2px rgb(15 23 42 / 6%), 0 1px 3px rgb(15 23 42 / 10%);--ris-shadow-2: 0 8px 24px rgb(15 23 42 / 10%);--ris-duration-fast: .12s;--ris-duration-base: .18s;--ris-ease: cubic-bezier(.2, 0, 0, 1)}@media(max-width:767px){:root{--ris-font-size-base: 16px}}@media(prefers-reduced-motion:reduce){:root{--ris-duration-fast: 0ms;--ris-duration-base: 0ms}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ris-font-sans);font-size:var(--ris-font-size-base);line-height:var(--ris-line-height-base);color:var(--ris-text);background:var(--ris-surface-subtle);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:var(--ris-line-height-tight);letter-spacing:-.01em}button{font:inherit}.shell{min-height:100%;display:flex;flex-direction:column;padding-bottom:76px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ris-space-4);padding:var(--ris-space-4);background:var(--ris-surface);border-bottom:1px solid var(--ris-border);position:sticky;top:0;z-index:10}.topbar__logo{height:22px;width:auto;display:block}.topbar__user{color:var(--ris-text-muted);font-size:var(--ris-font-size-sm)}.topbar__right{display:flex;align-items:center;gap:var(--ris-space-3)}.bell{position:relative}.bell__button{position:relative;width:40px;height:40px;border:1px solid var(--ris-border);border-radius:var(--ris-radius-sm);background:var(--ris-surface);font-size:18px;cursor:pointer;color:var(--ris-text-secondary)}.bell__badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:var(--ris-radius-pill);background:var(--ris-danger);color:#fff;font-size:11px;line-height:18px;text-align:center}.bell__panel{position:absolute;right:0;top:48px;width:min(360px,calc(100vw - 32px));background:var(--ris-surface);border:1px solid var(--ris-border);border-radius:var(--ris-radius-md);box-shadow:var(--ris-shadow-2);z-index:40;overflow:hidden}.bell__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ris-space-2);padding:var(--ris-space-3);border-bottom:1px solid var(--ris-border);font-size:var(--ris-font-size-sm);color:var(--ris-text-secondary)}.bell__empty{padding:var(--ris-space-4)}.bell__list{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}.bell__item{border-bottom:1px solid var(--ris-border)}.bell__item:last-child{border-bottom:0}.bell__item--unread{background:var(--ris-primary-subtle)}.bell__entry{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--ris-space-3);border:0;background:none;text-align:left;cursor:pointer}.bell__title{font-size:var(--ris-font-size-sm);font-weight:600}.bell__body,.bell__time{font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:var(--ris-space-4);display:flex;flex-direction:column;gap:var(--ris-space-4)}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:var(--ris-surface);border-top:1px solid var(--ris-border);padding-bottom:env(safe-area-inset-bottom);z-index:10}.tabbar__item{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:56px;padding:var(--ris-space-2);border:0;background:none;color:var(--ris-text-muted);font-size:var(--ris-font-size-xs);cursor:pointer}.tabbar__item--active{color:var(--ris-primary);font-weight:600}.card{background:var(--ris-surface);border:1px solid var(--ris-border);border-radius:var(--ris-radius-md);padding:var(--ris-space-4);display:flex;flex-direction:column;gap:var(--ris-space-3)}.card--auth{max-width:400px;width:100%;gap:var(--ris-space-4)}.card--hint{border-color:var(--ris-warning);background:var(--ris-warning-bg)}.card__title{font-size:var(--ris-font-size-md);font-weight:600}.card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ris-space-3)}.person-list{list-style:none;margin:0;padding:0}.person-list__row{display:flex;align-items:center;justify-content:space-between;gap:var(--ris-space-3);padding:var(--ris-space-3) 0;border-bottom:1px solid var(--ris-border)}.person-list__row:last-child{border-bottom:0}.person-list__name{margin:0;font-weight:500}.person-list__meta{margin:0;font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.create-form{display:flex;flex-direction:column;gap:var(--ris-space-3);padding:var(--ris-space-3);background:var(--ris-surface-subtle);border:1px solid var(--ris-border);border-radius:var(--ris-radius-sm)}.create-form__grid{display:grid;grid-template-columns:1fr;gap:var(--ris-space-3)}.invite-box{display:flex;flex-direction:column;gap:var(--ris-space-2);padding:var(--ris-space-3);border:1px solid var(--ris-primary-border);background:var(--ris-primary-subtle);border-radius:var(--ris-radius-sm)}.invite-box__label{margin:0;font-size:var(--ris-font-size-xs);color:var(--ris-text-secondary)}.invite-box__url{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--ris-font-size-xs);word-break:break-all}@media(min-width:640px){.create-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-card{background:var(--ris-surface);border:1px solid var(--ris-border);border-radius:var(--ris-radius-md);padding:var(--ris-space-6) var(--ris-space-4);display:flex;flex-direction:column;gap:var(--ris-space-2)}.status-card--working{border-color:var(--ris-primary-border);background:var(--ris-primary-subtle)}.status-card--break{border-color:var(--ris-warning);background:var(--ris-warning-bg)}.status-card__eyebrow{margin:0;font-size:var(--ris-font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ris-text-muted)}.status-card__title{margin:0;font-size:var(--ris-font-size-xl);font-weight:650;font-variant-numeric:tabular-nums}.status-card__numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ris-space-3);margin-top:var(--ris-space-3);padding-top:var(--ris-space-3);border-top:1px solid var(--ris-border)}.number{display:flex;flex-direction:column}.number__label{font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.number__value{font-size:var(--ris-font-size-lg);font-variant-numeric:tabular-nums}.number__value--negative{color:var(--ris-danger)}.number__value--positive{color:var(--ris-success)}.actions{display:flex;flex-direction:column;gap:var(--ris-space-2)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--ris-space-2);min-height:44px;padding:0 var(--ris-space-4);border-radius:var(--ris-radius-sm);border:1px solid var(--ris-border-strong);background:var(--ris-surface);color:var(--ris-text);cursor:pointer;text-decoration:none;font-weight:500}.button:disabled{opacity:.6;cursor:default}.button--primary{background:var(--ris-primary);border-color:var(--ris-primary);color:#fff}.button--primary:hover:not(:disabled){background:var(--ris-primary-hover)}.button--tall{min-height:56px;font-size:var(--ris-font-size-md);font-weight:600}.button--ghost{background:transparent}.button--block{width:100%}.button--link{min-height:auto;padding:0;border:0;background:none;color:var(--ris-primary);font-size:var(--ris-font-size-sm);text-decoration:underline}.button--compact{min-height:36px;padding:0 var(--ris-space-3);font-size:var(--ris-font-size-sm)}.field{display:flex;flex-direction:column;gap:var(--ris-space-1)}.field__label{font-size:var(--ris-font-size-sm);color:var(--ris-text-secondary)}.field__input{min-height:44px;padding:0 var(--ris-space-3);border:1px solid var(--ris-border-strong);border-radius:var(--ris-radius-sm);background:var(--ris-surface);color:var(--ris-text);font-size:16px;width:100%}.field__input:focus-visible{outline:2px solid var(--ris-focus-ring);outline-offset:1px}.field__input--compact{min-height:36px;font-size:var(--ris-font-size-sm)}.field__error{margin:0;color:var(--ris-danger);font-size:var(--ris-font-size-sm)}.correction{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:var(--ris-space-2);align-items:center;margin-top:var(--ris-space-2)}.event-list,.day-list,.plan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.event-list__row{display:flex;align-items:baseline;gap:var(--ris-space-3);padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border)}.event-list__row:last-child{border-bottom:0}.event-list__row--stacked{flex-wrap:wrap}.event-list__time{font-variant-numeric:tabular-nums;color:var(--ris-text-muted);min-width:52px}.day-list__row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 88px;gap:var(--ris-space-3);align-items:center;padding:var(--ris-space-3) var(--ris-space-2);border:0;border-bottom:1px solid var(--ris-border);background:none;text-align:left;cursor:pointer;font-variant-numeric:tabular-nums}.day-list__row--active{background:var(--ris-primary-subtle)}.day-list__date{font-weight:500}.day-list__delta{text-align:right;color:var(--ris-text-muted)}.day-list__delta--negative{color:var(--ris-danger)}.plan-list__row{display:flex;justify-content:space-between;gap:var(--ris-space-3);padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border);font-size:var(--ris-font-size-sm)}.plan-list__row:last-child{border-bottom:0}.pill{border:1px solid var(--ris-border-strong);border-radius:var(--ris-radius-pill);padding:0 var(--ris-space-2);font-size:var(--ris-font-size-xs);color:var(--ris-text-muted);align-self:center}.pill--approved{border-color:var(--ris-success);color:var(--ris-success);background:var(--ris-success-bg)}.pill--submitted{border-color:var(--ris-primary-border);color:var(--ris-primary);background:var(--ris-primary-subtle)}.pill--rejected{border-color:var(--ris-danger);color:var(--ris-danger);background:var(--ris-danger-bg)}.pending-list{list-style:none;margin:0;padding:0}.pending-list__row{display:flex;align-items:center;justify-content:space-between;gap:var(--ris-space-3);padding:var(--ris-space-3) 0;border-bottom:1px solid var(--ris-border)}.pending-list__row:last-child{border-bottom:0}.pending-list__name{margin:0;font-weight:500}.pending-list__meta{margin:0;font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.pending-list__actions{display:flex;gap:var(--ris-space-2)}.bonus{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ris-space-3);padding:var(--ris-space-2) var(--ris-space-3);border-radius:var(--ris-radius-sm);background:var(--ris-surface-sunken);font-size:var(--ris-font-size-sm)}.bonus--final{background:var(--ris-success-bg);color:var(--ris-success)}.bonus__label{color:var(--ris-text-muted)}.bonus--final .bonus__label{color:inherit}.bonus__value{font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.definition-list{margin:0;display:grid;gap:var(--ris-space-2)}.definition-list div{display:flex;justify-content:space-between;gap:var(--ris-space-3)}.definition-list dt{color:var(--ris-text-muted);font-size:var(--ris-font-size-sm)}.definition-list dd{margin:0;text-align:right}.segmented{display:grid;grid-auto-flow:column;gap:var(--ris-space-1);padding:var(--ris-space-1);background:var(--ris-surface-sunken);border-radius:var(--ris-radius-sm)}.segmented__item{min-height:40px;border:0;border-radius:var(--ris-radius-sm);background:none;color:var(--ris-text-secondary);font-size:var(--ris-font-size-sm);cursor:pointer}.segmented__item--active{background:var(--ris-surface);color:var(--ris-text);font-weight:600;box-shadow:var(--ris-shadow-1)}.year-switch{display:flex;align-items:center;gap:var(--ris-space-2)}.year-switch__value{font-variant-numeric:tabular-nums;font-weight:600}.holiday-form{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:var(--ris-space-2);align-items:center}.holiday-list{list-style:none;margin:0;padding:0}.holiday-list__row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:var(--ris-space-3);align-items:center;padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border);font-size:var(--ris-font-size-sm)}.holiday-list__row:last-child{border-bottom:0}.holiday-list__date{color:var(--ris-text-muted)}@media(max-width:560px){.holiday-form{grid-template-columns:minmax(0,1fr)}}.timerbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ris-space-3);padding:var(--ris-space-2) var(--ris-space-4);background:var(--ris-primary);color:#fff;position:sticky;top:55px;z-index:9}.timerbar__info{display:flex;align-items:center;gap:var(--ris-space-2);min-width:0}.timerbar__dot{width:8px;height:8px;border-radius:50%;background:var(--ris-accent);animation:pulse 1.6s ease-in-out infinite}.timerbar__time{font-variant-numeric:tabular-nums;font-weight:650}.timerbar__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ris-font-size-sm);opacity:.9}@keyframes pulse{50%{opacity:.35}}.project-list,.task-list{list-style:none;margin:0;padding:0}.project-list__row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--ris-space-3);padding:var(--ris-space-3) 0;border:0;border-bottom:1px solid var(--ris-border);background:none;text-align:left;cursor:pointer}.project-list__title{display:block;font-weight:500}.project-list__meta{display:block;font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.project-list__count{font-variant-numeric:tabular-nums;color:var(--ris-text-muted);font-size:var(--ris-font-size-sm)}.tasks{display:flex;flex-direction:column;gap:var(--ris-space-3);padding:var(--ris-space-3) 0 var(--ris-space-3) var(--ris-space-3);border-left:2px solid var(--ris-primary-border);margin:var(--ris-space-2) 0 var(--ris-space-3)}.task-form{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:var(--ris-space-2)}.task-list__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ris-space-2);padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border)}.task-list__row:last-child{border-bottom:0}.task-list__main{display:flex;flex-direction:column;gap:2px;min-width:0}.task-list__status{font-size:var(--ris-font-size-xs);color:var(--ris-text-muted);text-transform:uppercase;letter-spacing:.06em}.task-list__status--in_progress{color:var(--ris-primary)}.task-list__status--blocked{color:var(--ris-danger)}.task-list__title{font-weight:500}.task-list__meta{font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.task-list__comment{display:flex;gap:var(--ris-space-2);width:100%}@media(max-width:560px){.task-form{grid-template-columns:minmax(0,1fr)}}.task-list__title-button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit}.task-detail{width:100%;display:flex;flex-direction:column;gap:var(--ris-space-3);padding:var(--ris-space-3);margin-top:var(--ris-space-2);background:var(--ris-surface-subtle);border:1px solid var(--ris-border);border-radius:var(--ris-radius-sm)}.estimate-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ris-space-3);margin:0}.estimate-row div{display:flex;flex-direction:column}.estimate-row dt{font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.estimate-row dd{margin:0;font-variant-numeric:tabular-nums;font-size:var(--ris-font-size-md);font-weight:600}.status-row{display:flex;flex-wrap:wrap;gap:var(--ris-space-2)}.chip{min-height:32px;padding:0 var(--ris-space-3);border:1px solid var(--ris-border-strong);border-radius:var(--ris-radius-pill);background:var(--ris-surface);font-size:var(--ris-font-size-xs);cursor:pointer}.chip--active{background:var(--ris-primary);border-color:var(--ris-primary);color:#fff}.remaining-form{display:flex;align-items:flex-end;gap:var(--ris-space-2)}.entry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ris-space-1)}.entry-list__row{display:grid;grid-template-columns:84px 96px 64px minmax(0,1fr);gap:var(--ris-space-2);font-size:var(--ris-font-size-xs);color:var(--ris-text-secondary);padding:var(--ris-space-1) 0;border-bottom:1px solid var(--ris-border)}.entry-list__comment{color:var(--ris-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--ris-space-2);align-items:center}.customer-list{list-style:none;margin:0;padding:0}.customer-list__row{padding:var(--ris-space-3) 0;border-bottom:1px solid var(--ris-border)}.customer-list__row:last-child{border-bottom:0}.customer-list__name{margin:0;font-weight:500}.customer-list__meta{margin:0;font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.checkbox{display:flex;align-items:center;gap:var(--ris-space-2);font-size:var(--ris-font-size-sm);color:var(--ris-text-secondary)}@media(max-width:560px){.customer-form{grid-template-columns:minmax(0,1fr)}}.absence-form{display:flex;flex-direction:column;gap:var(--ris-space-3);padding:var(--ris-space-3);background:var(--ris-surface-subtle);border:1px solid var(--ris-border);border-radius:var(--ris-radius-sm)}.absence-list{list-style:none;margin:0;padding:0}.absence-list__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--ris-space-3);align-items:center;padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border);font-size:var(--ris-font-size-sm)}.absence-list__row:last-child{border-bottom:0}.absence-list__type{font-weight:500}.absence-list__range{color:var(--ris-text-muted);font-variant-numeric:tabular-nums}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b122073;display:grid;place-items:center;padding:var(--ris-space-4);z-index:60}.dialog{width:min(560px,100%);max-height:90vh;overflow-y:auto;background:var(--ris-surface);border-radius:var(--ris-radius-md);padding:var(--ris-space-4);display:flex;flex-direction:column;gap:var(--ris-space-3);box-shadow:var(--ris-shadow-2)}.dialog__actions{display:flex;justify-content:flex-end;gap:var(--ris-space-2)}.field__input--area{padding:var(--ris-space-2) var(--ris-space-3);resize:vertical;line-height:1.45}.inbox-list{list-style:none;margin:0;padding:0}.inbox-list__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ris-space-2);padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border)}.inbox-list__row:last-child{border-bottom:0}.inbox-list__main{display:flex;flex-direction:column;gap:2px;min-width:0}.inbox-list__title{display:flex;align-items:center;gap:var(--ris-space-2);font-weight:500}.inbox-list__badge{padding:0 var(--ris-space-2);border-radius:var(--ris-radius-pill);background:var(--ris-danger);color:#fff;font-size:10px;letter-spacing:.06em}.inbox-list__meta{font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.inbox-list__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ris-space-2)}.mail-list{list-style:none;margin:0;padding:0}.mail-list__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ris-space-2);padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border)}.mail-list__row:last-child{border-bottom:0}.mail-list__main{display:flex;flex-direction:column;gap:2px;min-width:0}.mail-list__subject{font-weight:500}.mail-list__meta{font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.mail-list__actions{display:flex;flex-wrap:wrap;gap:var(--ris-space-2)}.mail-thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ris-space-3)}.mail-thread__msg{border:1px solid var(--ris-border);border-radius:var(--ris-radius-sm);padding:var(--ris-space-3);background:var(--ris-surface-subtle)}.mail-thread__msg--out{background:var(--ris-primary-subtle);border-color:var(--ris-primary)}.mail-thread__head{display:flex;flex-wrap:wrap;gap:var(--ris-space-2);font-size:var(--ris-font-size-xs);color:var(--ris-text-muted);margin-bottom:var(--ris-space-2)}.mail-thread__from{font-weight:500}.mail-thread__body{margin:0;white-space:pre-wrap;font-family:var(--ris-font-sans);font-size:var(--ris-font-size-sm);line-height:1.5}.attach-list{list-style:none;margin:var(--ris-space-2) 0 0;padding:0;font-size:var(--ris-font-size-sm)}.attach-list__item a{color:var(--ris-primary)}.audit-list{list-style:none;margin:0;padding:0}.audit-list__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--ris-space-2);align-items:baseline;padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border);font-size:var(--ris-font-size-sm)}.audit-list__row:last-child{border-bottom:0}.audit-list__time,.audit-list__meta{color:var(--ris-text-muted);font-size:var(--ris-font-size-xs);font-variant-numeric:tabular-nums}.role-list{list-style:none;margin:0;padding:0}.role-list__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ris-space-2);padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border)}.role-list__row:last-child{border-bottom:0}.role-list__person{display:flex;flex-direction:column;min-width:160px}.role-list__name{font-weight:500;font-size:var(--ris-font-size-sm)}.role-list__mail{font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.role-list__roles{display:flex;flex-wrap:wrap;gap:var(--ris-space-1)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px var(--ris-space-2);border:1px solid var(--ris-border);border-radius:var(--ris-radius-pill);font-size:var(--ris-font-size-xs);cursor:pointer;-webkit-user-select:none;user-select:none}.chip--on{border-color:var(--ris-primary);background:var(--ris-primary-subtle);color:var(--ris-primary)}.chip input{margin:0}.team-list{list-style:none;margin:0;padding:0}.team-list__day{padding:var(--ris-space-2) 0;border-bottom:1px solid var(--ris-border)}.team-list__day:last-child{border-bottom:0}.team-list__day--weekend{opacity:.55}.team-list__head{display:flex;align-items:center;gap:var(--ris-space-2)}.team-list__label{font-size:var(--ris-font-size-sm);font-weight:500;font-variant-numeric:tabular-nums}.team-list__empty{font-size:var(--ris-font-size-xs)}.team-list__people{display:flex;flex-wrap:wrap;gap:var(--ris-space-2);margin-top:var(--ris-space-1)}.team-list__person{display:inline-flex;align-items:baseline;gap:var(--ris-space-1);font-size:var(--ris-font-size-sm)}.team-list__type{font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.week-nav{display:flex;gap:var(--ris-space-1)}.muted{margin:0;color:var(--ris-text-muted);font-size:var(--ris-font-size-sm)}.hint{margin:0;color:var(--ris-warning);font-size:var(--ris-font-size-sm)}.center-screen{min-height:100%;display:grid;place-items:center;padding:var(--ris-space-4)}.auth__logo{height:32px;width:auto;margin-bottom:var(--ris-space-2)}.auth__title{font-size:var(--ris-font-size-lg);margin-bottom:var(--ris-space-1)}.auth__hint{margin:0;font-size:var(--ris-font-size-xs);color:var(--ris-text-muted)}.skeleton-block{height:120px;border-radius:var(--ris-radius-md);background:linear-gradient(90deg,var(--ris-surface-sunken),var(--ris-surface),var(--ris-surface-sunken));background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}@media(min-width:768px){.status-card__numbers{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.skeleton-block{animation:none}}:root{--ris-surface-subtle: #f3ede3;--ris-surface: #fdf8f0;--ris-surface-sunken: #ece1cf;--ris-border: #e8dcc9;--ris-border-strong: #dbcdb8;--ris-text: #221c16;--ris-text-secondary: #5c5147;--ris-text-muted: #948779;--ris-primary: #a8452a;--ris-primary-hover: #8f3922;--ris-primary-subtle: #f7e6de;--ris-primary-border: #e7c5b6;--ris-accent: #a8452a;--ris-focus-ring: #a8452a;--ris-danger: #a5342a;--ris-danger-bg: #f8e3de;--ris-warning: #96521f;--ris-warning-bg: #f8e9d6;--ris-success: #4f6b2a;--ris-success-bg: #eaf0dd;--ris-info: #2f6f66;--ris-info-bg: #e3efec;--ris-radius-sm: 8px;--ris-radius-md: 12px;--ris-shadow-1: 0 1px 1px rgb(74 52 30 / 5%);--ris-shadow-2: 0 8px 22px rgb(74 52 30 / 10%)}@media(prefers-color-scheme:dark){:root{--ris-surface-subtle: #17120e;--ris-surface: #201914;--ris-surface-sunken: #2a211a;--ris-border: #332920;--ris-border-strong: #463931;--ris-text: #f6efe6;--ris-text-secondary: #c9b9a8;--ris-text-muted: #9a8a79;--ris-primary: #e08a5f;--ris-primary-hover: #eaa07a;--ris-primary-subtle: #2c1d16;--ris-primary-border: #4a3226;--ris-accent: #e08a5f;--ris-focus-ring: #e08a5f;--ris-danger: #ff9d85;--ris-danger-bg: #2c1813;--ris-warning: #ffd48a;--ris-warning-bg: #2b2110;--ris-success: #a9d18a;--ris-success-bg: #1c2413;--ris-info: #8ee7bf;--ris-info-bg: #12241d;--ris-shadow-1: 0 1px 1px rgb(0 0 0 / 30%);--ris-shadow-2: 0 10px 26px rgb(0 0 0 / 45%)}}body{background:var(--ris-surface-subtle)}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100%}.shell__main{display:flex;flex-direction:column;min-width:0}.sidebar{display:flex;flex-direction:column;gap:22px;padding:22px 16px;background:var(--ris-surface-subtle);border-right:1px solid var(--ris-border);position:sticky;top:0;height:100vh}.sidebar__brand{display:flex;align-items:center;gap:10px;padding:0 6px}.sidebar__mark{width:28px;height:28px;border-radius:8px;background:var(--ris-primary);color:#fff8f2;display:grid;place-items:center;font-size:10px;font-weight:700;letter-spacing:.03em}.sidebar__name{display:block;font-size:13px;font-weight:600}.sidebar__sub{display:block;font-size:11px;color:var(--ris-text-muted)}.sidebar__nav{display:flex;flex-direction:column;gap:3px}.sidebar__item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--ris-text-secondary);font-size:13px;text-align:left;cursor:pointer}.sidebar__item:hover{background:var(--ris-surface);color:var(--ris-text)}.sidebar__item--active{background:var(--ris-surface);color:var(--ris-text);font-weight:600;box-shadow:var(--ris-shadow-1),inset 0 0 0 1px var(--ris-border)}.sidebar__icon{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sidebar__item--active .sidebar__icon{color:var(--ris-primary)}.sidebar__foot{margin-top:auto;display:flex;align-items:center;gap:9px;padding-top:14px;border-top:1px solid var(--ris-border)}.sidebar__avatar{width:30px;height:30px;border-radius:999px;background:var(--ris-surface-sunken);color:var(--ris-text-secondary);display:grid;place-items:center;font-size:11px;font-weight:600}.sidebar__user{display:block;font-size:12px;font-weight:500}.sidebar__role{display:block;font-size:11px;color:var(--ris-text-muted)}.topbar{background:color-mix(in srgb,var(--ris-surface-subtle) 92%,transparent);border-bottom:1px solid var(--ris-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card{background:var(--ris-surface);border:1px solid var(--ris-border);border-radius:var(--ris-radius-md);box-shadow:var(--ris-shadow-1)}.button{border-radius:8px}.button--primary{background:var(--ris-primary);border-color:var(--ris-primary)}.button--primary:hover{background:var(--ris-primary-hover)}.tabbar{display:none}@media(max-width:980px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.tabbar{display:flex}}:root[data-theme=dark]{--ris-surface-subtle: #17120e;--ris-surface: #201914;--ris-surface-sunken: #2a211a;--ris-border: #332920;--ris-border-strong: #463931;--ris-text: #f6efe6;--ris-text-secondary: #c9b9a8;--ris-text-muted: #9a8a79;--ris-primary: #e08a5f;--ris-primary-hover: #eaa07a;--ris-primary-subtle: #2c1d16;--ris-primary-border: #4a3226;--ris-accent: #e08a5f;--ris-focus-ring: #e08a5f;--ris-danger: #ff9d85;--ris-danger-bg: #2c1813;--ris-warning: #ffd48a;--ris-warning-bg: #2b2110;--ris-success: #a9d18a;--ris-success-bg: #1c2413;--ris-info: #8ee7bf;--ris-info-bg: #12241d;--ris-shadow-1: 0 1px 1px rgb(0 0 0 / 30%);--ris-shadow-2: 0 10px 26px rgb(0 0 0 / 45%)}.sidebar__theme{margin-left:auto;width:26px;height:26px;border-radius:999px;border:1px solid var(--ris-border);background:transparent;color:var(--ris-text-muted);display:grid;place-items:center;cursor:pointer;font-size:12px}.sidebar__theme:hover{color:var(--ris-text);background:var(--ris-surface)}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html,body{background:var(--ris-surface-subtle)}html,body,#root{background-color:#f3ede3!important;color:#221c16!important}.shell{background-color:#f3ede3!important}.sidebar{background-color:#efe7da!important}.topbar{background-color:#f3ede3!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.card{background-color:#fdf8f0!important;color:#221c16!important}.card p,.card span,.card li,.card h1,.card h2,.card h3,.card label{color:inherit}.button{background-color:#fdf8f0!important;color:#221c16!important}.button--primary{background-color:#a8452a!important;color:#fff8f2!important}input,select,textarea{background-color:#fffcf7!important;color:#221c16!important}html[data-theme=dark],html[data-theme=dark] body,html[data-theme=dark] #root{background-color:#17120e!important;color:#f6efe6!important}html[data-theme=dark] .shell{background-color:#17120e!important}html[data-theme=dark] .sidebar{background-color:#1c1611!important}html[data-theme=dark] .topbar{background-color:#17120e!important}html[data-theme=dark] .card,html[data-theme=dark] .button{background-color:#201914!important;color:#f6efe6!important}html[data-theme=dark] .button--primary{background-color:#e08a5f!important;color:#2a1a12!important}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background-color:#241c16!important;color:#f6efe6!important}.center-screen{background-color:#f3ede3!important;min-height:100vh;display:grid;place-items:center;padding:24px}.card--auth{width:100%;max-width:392px;background-color:#fdf8f0!important;background-image:none!important;border:1px solid #e8dcc9!important;border-radius:14px!important;box-shadow:0 1px 2px #4a341e0d,0 14px 34px #4a341e14!important;padding:28px!important;gap:16px!important}.auth__logo{height:34px!important;width:auto!important;align-self:flex-start;margin-bottom:6px}.auth__title{font-size:22px!important;font-weight:600!important;letter-spacing:-.02em;color:#221c16!important}.card--auth .field__label{color:#948779!important;font-size:11px!important;letter-spacing:.06em;text-transform:uppercase}.card--auth .field__input{background-color:#fffcf7!important;border:1px solid #dbcdb8!important;border-radius:9px!important;color:#221c16!important;height:38px}.card--auth .field__input:focus{outline:none;border-color:#a8452a!important;box-shadow:0 0 0 3px #a8452a24}.card--auth .button{border-radius:9px!important;height:40px}.card--auth .button--primary{background-color:#a8452a!important;background-image:none!important;color:#fff8f2!important;border:1px solid #a8452a!important;font-weight:550}.card--auth .muted,.card--auth .auth__hint{color:#948779!important}.card--auth p,.card--auth span,.card--auth label{text-shadow:none!important}h1{font-size:26px;font-weight:600;letter-spacing:-.024em}h2{font-size:16px;font-weight:600;letter-spacing:-.015em}h3{font-size:13.5px;font-weight:600}.topbar{padding:14px 24px!important;background-color:#f3ede3!important;border-bottom:1px solid #e8dcc9!important}.topbar__logo{height:24px!important;width:auto}.topbar__user{font-size:12px!important;color:#948779!important}.card{border-radius:14px!important;border:1px solid #e8dcc9!important;background-color:#fdf8f0!important;box-shadow:0 1px 2px #4a341e0d!important;padding:20px!important}.card__head{display:flex;align-items:center;gap:10px;margin-bottom:12px!important}.card__title{font-size:15px!important;font-weight:600!important;letter-spacing:-.01em}.card--hint{background-color:#fbf0dd!important;border-color:#ecd7b4!important}.button{height:32px!important;padding:0 13px!important;border-radius:9px!important;border:1px solid #dbcdb8!important;background-color:#fdf8f0!important;color:#221c16!important;font-size:12.5px!important;font-weight:550!important}.button--compact{height:28px!important;padding:0 10px!important;font-size:12px!important}.button--primary{background-color:#a8452a!important;border-color:#a8452a!important;color:#fff8f2!important}.button--link{border-color:transparent!important;background:transparent!important;color:#a8452a!important;height:auto!important;padding:0!important}.button:disabled{opacity:.5}.field{display:flex;flex-direction:column;gap:5px}.field__label{font-size:10.5px!important;text-transform:uppercase;letter-spacing:.08em;color:#948779!important;font-weight:550}.field__input,input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{background-color:#fffcf7!important;border:1px solid #dbcdb8!important;border-radius:9px!important;color:#221c16!important;font-size:13px!important;padding:0 11px!important;height:36px!important}textarea.field__input,.field__input--area{height:auto!important;padding:9px 11px!important}.field__input:focus,select:focus,textarea:focus,input:focus{outline:none!important;border-color:#a8452a!important;box-shadow:0 0 0 3px #a8452a24!important}.field__error{color:#a5342a!important;font-size:12px!important}.segmented{display:inline-flex;gap:2px;padding:3px!important;background-color:#efe7da!important;border-radius:10px!important;border:0!important;margin-bottom:16px;flex-wrap:wrap}.segmented__item{border:0!important;background:transparent!important;color:#5c5147!important;border-radius:8px!important;padding:6px 12px!important;font-size:12.5px!important;cursor:pointer}.segmented__item--active{background-color:#fdf8f0!important;color:#221c16!important;font-weight:600!important;box-shadow:0 1px 2px #4a341e1a!important}.pill,.badge{border-radius:999px!important;font-size:11px!important;padding:2px 9px!important;background-color:#f2e9da!important;color:#5c5147!important;border:1px solid transparent!important}.pill--approved,.pill--ok,.badge--ok{background-color:#eaf0dd!important;color:#4f6b2a!important}.pill--rejected,.badge--danger{background-color:#f8e3de!important;color:#a5342a!important}.pill--submitted,.badge--warn{background-color:#f8e9d6!important;color:#96521f!important}.card ul{list-style:none;margin:0;padding:0}.card>ul>li,.card .list>li{padding:12px 0!important;border-bottom:1px solid #efe5d6!important}.card>ul>li:last-child,.card .list>li:last-child{border-bottom:0!important}.card li:hover{background-color:#faf3e8}.muted{color:#948779!important}.dim{color:#5c5147!important}.dialog{background-color:#fdf8f0!important;border:1px solid #e8dcc9!important;border-radius:16px!important;box-shadow:0 20px 48px #4a341e2e!important}.bell__panel{background-color:#fdf8f0!important;border:1px solid #e8dcc9!important;border-radius:14px!important;box-shadow:0 14px 34px #4a341e24!important}.bell__item--unread{background-color:#f7efe2!important}.tabbar{background-color:#fdf8f0!important;border-top:1px solid #e8dcc9!important}.tabbar__item--active{color:#a8452a!important}.section__title,.card h3,.group-title{font-size:10.5px!important;text-transform:uppercase;letter-spacing:.09em;color:#948779!important;font-weight:600!important}.shell__main .main{max-width:1180px!important;margin:0!important;padding:22px 28px 64px!important;gap:14px}.status-card{background-color:#fdf8f0!important;border:1px solid #e8dcc9!important;border-radius:14px!important;padding:22px 24px!important;box-shadow:0 1px 2px #4a341e0d!important;color:#221c16!important;gap:10px}.status-card--working{background-color:#f7e6de!important;border-color:#e7c5b6!important}.status-card--break{background-color:#f8e9d6!important;border-color:#e9d3ac!important}.status-card__eyebrow{color:#948779!important;font-size:10.5px!important;letter-spacing:.12em!important}.status-card__title{color:#221c16!important;font-size:28px!important;font-weight:600!important;letter-spacing:-.02em}.status-card__numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:10px}.number__label{color:#948779!important;font-size:10.5px!important;text-transform:uppercase;letter-spacing:.08em}.number__value{font-size:19px!important;font-weight:550;color:#221c16!important;font-variant-numeric:tabular-nums}.number__value--negative{color:#a5342a!important}.number__value--positive{color:#4f6b2a!important}.actions{display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:10px!important;margin:14px 0 20px!important;flex-wrap:wrap}.button--tall{height:46px!important;flex:1 1 240px;max-width:320px;font-size:14px!important;border-radius:10px!important}.event-list__row{display:flex!important;gap:18px!important;padding:12px 0!important;border-bottom:1px solid #efe5d6;font-size:13px}.event-list__time{color:#948779;font-variant-numeric:tabular-nums;min-width:48px}.estimate-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:12px 0}.estimate-row dt{color:#948779;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em}.estimate-row dd{margin:2px 0 0;font-size:18px;font-weight:550;font-variant-numeric:tabular-nums}.bonus{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:9px;background-color:#f2e9da;font-size:12.5px;margin:12px 0}.bonus--final{background-color:#eaf0dd}.bonus__label{color:#5c5147}.bonus__value{color:#221c16;font-weight:550}:root,:root[data-theme]{--ris-surface-subtle: #f3ede3 !important;--ris-surface: #fdf8f0 !important;--ris-surface-sunken: #ece1cf !important;--ris-border: #e8dcc9 !important;--ris-border-strong: #dbcdb8 !important;--ris-text: #221c16 !important;--ris-text-secondary: #4a423a !important;--ris-text-muted: #8c8378 !important;--ris-primary: #a8452a !important;--ris-primary-hover: #8f3922 !important;--ris-primary-subtle: #f7e6de !important;--ris-primary-border: #e7c5b6 !important}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=search],select,textarea{height:36px}input[type=checkbox],input[type=radio]{width:15px!important;height:15px!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;accent-color:#a8452a;box-shadow:none!important}.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid #dbcdb8;background-color:#fdf8f0;color:#221c16;font-size:12.5px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.chip:hover{background-color:#f7efe2}.chip--on{background-color:#f7e6de;border-color:#c98a72;color:#8f3922;font-weight:600}.sidebar__item{color:#4a423a!important}.sidebar__item:hover,.sidebar__item--active{color:#221c16!important}.sidebar__name{color:#221c16}.sidebar__sub,.sidebar__role{color:#8c8378}.sidebar__user{color:#221c16}.sidebar__icon{color:currentColor}.button{background-color:#fdf8f0!important;color:#221c16!important;border-color:#dbcdb8!important}.button:hover{background-color:#f7efe2!important}.button--primary{background-color:#a8452a!important;color:#fff8f2!important;border-color:#a8452a!important}.button--primary:hover{background-color:#8f3922!important}.button--ghost{background-color:transparent!important;color:#4a423a!important}.card{padding:22px!important}.card+.card{margin-top:14px}.card__head{margin-bottom:14px!important}.form-grid,.create-form__grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stack{gap:12px!important}.field{gap:6px!important}.segmented{gap:3px}.section{margin-bottom:22px}.card--auth form,.card--auth .button{align-items:stretch}.card--auth .button{height:44px!important;max-height:44px!important;border-radius:10px!important;font-size:14px!important}.card--auth .button--primary{background-color:#a8452a!important;color:#fff8f2!important}.toaster{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{padding:10px 14px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:0 8px 20px #4a341e29;border:1px solid transparent}.toast--ok{background:#eef7f0;color:#3f6212;border-color:#cfe3c3}.toast--error{background:#fdecea;color:#a5342a;border-color:#f0cdc9}
