: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)}.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(3,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}.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}.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}}
