@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-latin-800-normal-s1sAMnoV.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-semi-condensed-latin-800-normal-C0_dLkYa.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #3f4244;--surface: #222527;--surface2: #2a2d2f;--card-bg: #222527;--border: #333;--border-strong: #4a4e51;--text: #ffffff;--muted: #adadba;--faint: #7a7a88;--on-accent: #ffffff;--red: #e84455;--red-strong: #dc3546;--red-strong-hover: #c92c3d;--red-text: #f26b79;--red-glow: rgba(232, 68, 85, .15);--red-soft: rgba(232, 68, 85, .12);--red-faint: rgba(232, 68, 85, .06);--red-line: rgba(232, 68, 85, .32);--red-bar-top: rgba(232, 68, 85, .62);--danger: var(--red);--danger-text: var(--red-text);--danger-soft: var(--red-soft);--danger-line: var(--red-line);--green: #06d6a0;--green-soft: rgba(6, 214, 160, .12);--green-line: rgba(6, 214, 160, .32);--blue: #47b8ff;--blue-soft: rgba(71, 184, 255, .12);--blue-line: rgba(71, 184, 255, .32);--amber: #fbbf24;--amber-soft: rgba(251, 191, 36, .12);--amber-line: rgba(251, 191, 36, .32);--orange: #f4a261;--orange-soft: rgba(244, 162, 97, .12);--orange-line: rgba(244, 162, 97, .32);--violet: #b77bf9;--violet-soft: rgba(183, 123, 249, .12);--violet-line: rgba(183, 123, 249, .32);--day-row: #3a292d;--hover: rgba(255, 255, 255, .05);--inset: rgba(0, 0, 0, .18);--scrim: rgba(0, 0, 0, .6);--chart-grid: rgba(255, 255, 255, .07);--shadow-pop: 0 16px 40px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .25);--font-sans: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;--display-stretch: 100%;--num-stretch: 100%;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--text-4xl: 48px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--r-lg: 14px;--r-md: 10px;--r-sm: 6px;--r-pill: 999px;--sidebar-w: 220px;--nav-h: 64px}[data-theme=light]{--bg: #CACACA;--surface: #E8E4E0;--surface2: #D8D4D0;--card-bg: #E8E4E0;--border: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .22);--text: #1a1a1a;--muted: #555555;--faint: #777777;--red: #009CDE;--red-strong: #007db3;--red-strong-hover: #006a99;--red-text: #00618a;--red-glow: rgba(0, 156, 222, .15);--red-soft: rgba(0, 156, 222, .12);--red-faint: rgba(0, 156, 222, .06);--red-line: rgba(0, 156, 222, .32);--red-bar-top: rgba(0, 156, 222, .62);--green: #03684c;--green-soft: rgba(6, 214, 160, .18);--green-line: rgba(3, 104, 76, .32);--blue: #1a5ca2;--blue-soft: rgba(71, 184, 255, .18);--blue-line: rgba(26, 92, 162, .32);--amber: #7c5100;--amber-soft: rgba(251, 191, 36, .22);--amber-line: rgba(124, 81, 0, .32);--orange: #924510;--orange-soft: rgba(244, 162, 97, .22);--orange-line: rgba(146, 69, 16, .32);--violet: #7a2fc4;--violet-soft: rgba(183, 123, 249, .18);--violet-line: rgba(122, 47, 196, .3);--day-row: #d1dde0;--hover: rgba(0, 0, 0, .04);--inset: rgba(0, 0, 0, .05);--scrim: rgba(0, 0, 0, .45);--chart-grid: rgba(0, 0, 0, .08);--shadow-pop: 0 16px 40px rgba(0, 0, 0, .18), 0 2px 8px rgba(0, 0, 0, .08)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.45;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none}h1,h2,h3,h4{font-family:var(--font-display);font-stretch:var(--display-stretch);line-height:1.15;letter-spacing:-.01em}button{font-family:inherit;color:inherit}svg.lucide{stroke-width:1.75;flex-shrink:0}:focus-visible{outline:2px solid var(--red);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.num-display{font-family:var(--font-display);font-stretch:var(--num-stretch);font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.01em}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom);max-width:768px;width:100%;margin:0 auto}.page{padding:var(--sp-5) var(--sp-4) calc(var(--nav-h) + 96px)}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.stack-lg{display:flex;flex-direction:column;gap:var(--sp-4)}.home-grid{display:flex;flex-direction:column;gap:var(--sp-3)}@media (min-width: 1024px){.home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.home-grid .stack{gap:20px}}.page-title{font-size:var(--text-2xl);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-subtitle{color:var(--muted);font-size:var(--text-base);margin-top:var(--sp-1)}.page-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);min-height:40px}.page-header__text{flex:1;min-width:0}.page-header__title{font-size:24px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header__subtitle{color:var(--muted);font-size:var(--text-sm);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header__actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}@media (min-width: 768px){.page-header__title{font-size:var(--text-2xl)}}.text-muted{color:var(--muted)}.text-sm{font-size:var(--text-sm)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.card{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-4);border:1px solid var(--border)}.card--lg{padding:20px}.card--flush{padding:0;overflow:hidden}.card--interactive{cursor:pointer;transition:border-color .15s}.card--interactive:hover{border-color:var(--border-strong)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3);min-height:32px}.section-header__title{font-family:var(--font-sans);font-stretch:100%;font-size:var(--text-md);font-weight:600;letter-spacing:0}.section-header__meta{color:var(--muted);font-size:var(--text-sm);margin-top:2px}.section-header__actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-4);border-radius:var(--r-md);border:1px solid transparent;font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;-webkit-tap-highlight-color:transparent}.btn--sm{height:32px;padding:0 var(--sp-3);font-size:var(--text-sm);gap:6px}.btn--lg{height:48px;padding:0 20px;font-size:var(--text-md)}.btn--block{width:100%}.btn--primary{background:var(--red-strong);color:var(--on-accent)}.btn--primary:hover:not(:disabled){background:var(--red-strong-hover)}.btn--secondary{background:var(--surface2);border-color:var(--border);color:var(--text)}.btn--secondary:hover:not(:disabled){border-color:var(--border-strong)}.btn--ghost{background:transparent;color:var(--muted)}.btn--ghost:hover:not(:disabled){background:var(--hover);color:var(--text)}.btn--danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-text)}.btn--danger:hover:not(:disabled){border-color:var(--danger)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;-webkit-tap-highlight-color:transparent}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn--secondary{background:var(--surface2);border-color:var(--border);color:var(--text)}.icon-btn--secondary:hover:not(:disabled){background:var(--surface2);border-color:var(--border-strong)}.icon-btn--sm{width:32px;height:32px;border-radius:var(--r-sm)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn__count{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--red-strong);color:var(--on-accent);font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--bg)}@media (pointer: coarse){.btn--sm{height:40px}.icon-btn--sm{width:40px;height:40px}}.action-list{display:flex;flex-direction:column}.action-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:56px;padding:var(--sp-3) var(--sp-4);background:none;border:none;border-top:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;transition:background-color .15s;-webkit-tap-highlight-color:transparent}.action-list>.action-row:first-child{border-top:none}.action-row:hover:not(:disabled){background:var(--hover)}.action-row:disabled{cursor:default}.action-row__icon{width:36px;height:36px;border-radius:var(--r-md);background:var(--surface2);color:var(--muted);display:grid;place-items:center;flex-shrink:0}.action-row__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.action-row__title{font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-row__text{font-size:var(--text-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-row__trail{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2);color:var(--faint);flex-shrink:0}.record-bar{width:42%;max-width:44px;min-width:16px;border-radius:var(--r-pill);background:linear-gradient(180deg,var(--red-bar-top) 0%,var(--red) 100%);box-shadow:0 3px 10px var(--red-faint)}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.stat{position:relative;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4) 20px;border:none;border-left:1px solid var(--border);background:none;color:var(--text);text-align:left}.stat:first-child{border-left:none}.stat__label{display:flex;align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--text-sm);font-weight:500}.stat__value{font-size:var(--text-3xl)}.stat--button{cursor:pointer;transition:background-color .15s}.stat--button:hover{background:var(--hover)}.stat__chev{position:absolute;right:var(--sp-4);top:50%;transform:translateY(-50%);color:var(--faint)}.avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--red-soft);border:1px solid var(--red-line);color:var(--red-text);font-family:var(--font-display);font-size:14px;font-weight:700}.avatar-edit{position:absolute;bottom:-2px;right:-2px;width:36px;height:36px;border-radius:50%;background:var(--red-strong);color:var(--on-accent);border:3px solid var(--surface)}.avatar-edit:hover:not(:disabled){background:var(--red-strong-hover);color:var(--on-accent)}.avatar-choice{position:relative;padding:0;border:none;background:none;border-radius:50%;cursor:pointer}.avatar-choice img{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:top center;background:var(--surface2);border:3px solid transparent;display:block}.avatar-choice.is-selected img{border-color:var(--red)}.avatar-choice:hover img{border-color:var(--border-strong)}.avatar-choice.is-selected:hover img{border-color:var(--red)}.avatar-choice__check{position:absolute;bottom:2px;right:2px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--red-strong);color:var(--on-accent)}.tile-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:var(--r-md);background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:inherit;font-size:var(--text-xs);font-weight:600;text-align:center;cursor:pointer}.tile-btn svg{color:var(--muted)}.tile-btn:hover{border-color:var(--border-strong)}.tile-btn--danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-text)}.tile-btn--danger svg{color:var(--danger-text)}.action-row--danger .action-row__title{color:var(--danger-text)}.avatar-btn{display:flex;padding:0;border:none;background:none;border-radius:50%;cursor:pointer;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--red);flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);height:22px;padding:0 var(--sp-2);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--hover);color:var(--muted);font-size:var(--text-xs);font-weight:600;line-height:1;white-space:nowrap;flex-shrink:0}.badge--accent{background:var(--red-soft);border-color:var(--red-line);color:var(--red-text)}.badge--green{background:var(--green-soft);border-color:var(--green-line);color:var(--green)}.badge--blue{background:var(--blue-soft);border-color:var(--blue-line);color:var(--blue)}.badge--amber{background:var(--amber-soft);border-color:var(--amber-line);color:var(--amber)}.badge--orange{background:var(--orange-soft);border-color:var(--orange-line);color:var(--orange)}.badge--violet{background:var(--violet-soft);border-color:var(--violet-line);color:var(--violet)}.badge--solid{background:var(--red-strong);border-color:transparent;color:var(--on-accent)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);padding:var(--sp-5) var(--sp-4)}.empty-state__icon{width:44px;height:44px;border-radius:var(--r-md);background:var(--surface2);color:var(--faint);display:grid;place-items:center;margin-bottom:var(--sp-1)}.empty-state__title{font-size:var(--text-md);font-weight:600}.empty-state__text{color:var(--muted);font-size:var(--text-sm);max-width:34ch}.empty-state__action{margin-top:var(--sp-2)}.empty-state--compact{padding:var(--sp-4) var(--sp-2)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;animation:scrim-in .15s ease-out}.modal{width:100%;max-width:480px;max-height:92vh;max-height:92dvh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:20px 20px 0 0;box-shadow:var(--shadow-pop);animation:sheet-in .2s ease-out}.modal--wide{max-width:640px}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:20px 20px var(--sp-3);flex-shrink:0}.modal__title{font-size:var(--text-xl);font-weight:700}.modal__subtitle{color:var(--muted);font-size:var(--text-sm);margin-top:var(--sp-1)}.modal__body{padding:var(--sp-1) 20px 20px;overflow-y:auto}.modal__footer{display:flex;gap:var(--sp-2);padding:var(--sp-3) 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--border);flex-shrink:0}.modal__footer>.btn{flex:1}@media (min-width: 768px){.modal-scrim{align-items:center;padding:var(--sp-5)}.modal{border-radius:20px}.modal__footer{justify-content:flex-end;padding-bottom:20px}.modal__footer>.btn{flex:0 0 auto;min-width:120px}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.schedule-table-scroll{padding-bottom:calc(var(--nav-h) + 72px + env(safe-area-inset-bottom))}.cell-textarea{width:100%;min-height:44px;padding:10px;background:transparent;border:none;border-radius:0;outline:none;resize:none;font-family:inherit;font-size:var(--text-sm);line-height:1.5;overflow:hidden;display:block;box-shadow:none}.cell-textarea.is-editable:focus{background:var(--hover);box-shadow:inset 0 0 0 2px var(--red-line)}.cell-input{width:100%;min-height:28px;padding:4px 6px;margin:0 -6px;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--text);font-family:inherit;font-size:var(--text-sm);line-height:1.35}.cell-input:focus{background:var(--hover);border-color:var(--red-line);box-shadow:none}.col-label{display:inline-flex;align-items:center;gap:4px}.reorder-btn{width:28px;height:22px;padding:0;border:none;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);cursor:pointer}.reorder-btn:disabled{background:transparent;color:var(--faint);opacity:.5;cursor:default}.reorder-btn:hover:not(:disabled){background:var(--blue-line)}.week-nav{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface);border-top:1px solid var(--border)}.week-nav--compact{position:sticky;bottom:0;left:auto;right:auto;z-index:5}.week-nav__tabs{flex:1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.week-nav__tabs::-webkit-scrollbar{display:none}.week-tab{flex-shrink:0;height:36px;padding:0 var(--sp-3);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface2);color:var(--muted);font-family:inherit;font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer}.week-tab:hover{color:var(--text)}.week-tab.is-active{background:var(--red-strong);border-color:transparent;color:var(--on-accent)}@media (min-width: 768px){.week-nav{bottom:0;left:var(--sidebar-w)}.week-nav--compact{left:auto}.schedule-table-scroll{padding-bottom:80px}}.choice-card{display:flex;align-items:flex-start;gap:var(--sp-4);width:100%;padding:20px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;font-family:inherit;cursor:pointer;transition:border-color .15s,background-color .15s}.choice-card:hover{border-color:var(--red-line);background:var(--red-faint)}.choice-card--pro:hover{border-color:var(--violet-line);background:var(--violet-soft)}.choice-card__icon{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--red-soft);color:var(--red-text);flex-shrink:0}.choice-card--pro .choice-card__icon{background:var(--violet-soft);color:var(--violet)}.choice-card__body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.choice-card__title{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.choice-card__text{color:var(--muted);font-size:var(--text-sm)}.choice-card__list{display:flex;flex-direction:column;gap:4px;margin-top:var(--sp-3);color:var(--muted);font-size:var(--text-sm)}.choice-card__list span{display:flex;align-items:center;gap:6px}.choice-card__list svg{color:var(--green)}.choice-card__chev{color:var(--faint);align-self:center}.dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:100;max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.dropdown__item{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:52px;cursor:pointer;border-bottom:1px solid var(--border)}.dropdown__item:last-child{border-bottom:none}.dropdown__item:hover,.dropdown__item.is-selected{background:var(--red-faint)}.date-pick{display:flex;align-items:center;gap:var(--sp-3);padding:14px 16px;border-radius:var(--r-md);background:var(--surface2);border:1px dashed var(--border-strong);color:var(--muted);cursor:pointer}.date-pick>div{color:var(--text)}.date-pick.is-set{border-style:solid;border-color:var(--red-line);background:var(--red-faint)}.date-pick.is-set>svg:first-child{color:var(--red-text)}.field__error{color:var(--danger-text);font-size:var(--text-sm);font-weight:500}.timer-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px 0;border-top:1px solid var(--border)}.timer-row:first-child{border-top:none}.timer-ring-label{font-size:var(--text-sm);font-weight:600;margin-bottom:6px}.timer-controls{display:flex;gap:var(--sp-4);align-items:center;justify-content:center}.timer-play{width:80px;height:80px;border-radius:50%;border:none;display:grid;place-items:center;color:var(--on-accent);cursor:pointer;box-shadow:0 0 0 8px var(--red-glow);transition:transform .15s}.timer-play:active{transform:scale(.96)}.timer-secondary{width:52px;height:52px;border-radius:50%}.is-locked{opacity:.45;pointer-events:none;transition:opacity .3s}.podium{display:flex;align-items:flex-end;justify-content:center;gap:var(--sp-3);margin-bottom:var(--sp-5)}.podium__step{flex:1;max-width:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-4) var(--sp-2);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;min-width:0}.podium__step.is-first{border-color:var(--red-line);background:var(--red-faint);border-top:3px solid var(--red)}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:10px 16px;text-align:left;font-size:var(--text-xs);font-weight:600;color:var(--muted);background:var(--surface2);border-bottom:1px solid var(--border)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table .is-num{text-align:right;width:88px}.data-table tr.is-highlight td{background:var(--red-faint)}.data-table tbody tr:hover td{background:var(--hover)}.lift-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 20px;border-top:1px solid var(--border);cursor:text}.lift-row:first-child{border-top:none}.lift-row__img{width:36px;height:36px;object-fit:cover;border-radius:var(--r-md);flex-shrink:0}.lift-row__img--icon{display:grid;place-items:center;background:var(--surface2);color:var(--faint)}.lift-row__label{flex:1;min-width:0;font-weight:600}.lift-row__input{display:flex;align-items:center;gap:var(--sp-2)}.lift-row__input input{width:96px;text-align:center;font-weight:700;font-size:var(--text-md)}.lift-row--total{background:var(--inset);justify-content:space-between;padding-top:16px;padding-bottom:16px;cursor:default}.inset-box{background:var(--inset);border-radius:var(--r-md);padding:10px 12px}.inset-box__label{font-size:var(--text-xs);color:var(--muted);font-weight:500;margin-bottom:2px}.inset-box__value{font-size:var(--text-base);font-weight:700}.record-row{display:flex;align-items:center;gap:10px;padding:14px;border-radius:var(--r-md);background:var(--surface2);border:1px solid transparent}.record-row.is-latest{background:var(--red-faint);border-color:var(--red-line)}.record-row.is-latest.is-green{background:var(--green-soft);border-color:var(--green-line)}.test-toggle{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:4px 0;border:none;background:none;color:var(--text);text-align:left;font-family:inherit;font-size:var(--text-base);cursor:pointer}.chip{flex:1;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:transparent;color:var(--muted);font-family:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.chip:hover{color:var(--text);border-color:var(--border-strong)}.chip.is-active{border-color:var(--red-line);background:var(--red-soft);color:var(--red-text)}@media (pointer: coarse){.chip{height:40px}}.chip--fit{flex:0 0 auto}.chip-row{display:flex;gap:var(--sp-2);overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.notice{display:flex;align-items:flex-start;gap:var(--sp-2);padding:10px 14px;border-radius:var(--r-md);background:var(--red-faint);border:1px solid var(--red-line);color:var(--text);font-size:var(--text-sm)}.notice>svg{color:var(--red-text);margin-top:1px}.notice--danger{background:var(--danger-soft);border-color:var(--danger-line)}.notice--danger>svg{color:var(--danger-text)}.notice--ok{background:var(--green-soft);border-color:var(--green-line)}.notice--ok>svg{color:var(--green)}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.week-strip__day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0;border:none;border-radius:var(--r-md);background:none;color:var(--text);font-family:inherit;cursor:pointer}.week-strip__day:hover{background:var(--hover)}.week-strip__name{font-size:var(--text-xs);color:var(--muted);font-weight:500}.week-strip__num{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:var(--text-md);font-weight:700;border:2px solid transparent}.week-strip__day.is-selected .week-strip__num{border-color:var(--red);background:var(--surface2)}.week-strip__day.is-today .week-strip__num{background:var(--red-strong);color:var(--on-accent);border-color:transparent}.week-strip__day.is-past .week-strip__num{color:var(--faint)}.week-strip__dots{height:6px;display:flex;gap:3px;align-items:center;justify-content:center}.week-strip__dots>span{width:5px;height:5px;border-radius:50%}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--muted);font-weight:500}.legend-item>span{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cal-cell{min-height:44px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 4px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text);font-family:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.cal-cell:hover{background:var(--surface2)}.cal-cell.is-today{color:var(--red-text);background:var(--red-faint);border-color:var(--red-line)}.cal-cell.is-selected{background:var(--red-soft);border-color:var(--red)}.link-btn{padding:0;border:none;background:none;color:var(--red-text);font-family:inherit;font-size:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.desktop-only{display:none!important}@media (min-width: 768px){.desktop-only{display:flex!important}}.timeline-item{display:flex;gap:var(--sp-3);align-items:flex-start}.timeline-item__time{width:44px;flex-shrink:0;text-align:right;padding-top:16px;font-size:var(--text-sm);font-weight:600;color:var(--muted)}.slot-card{flex:1;min-width:0;padding:var(--sp-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border)}.slot-card.is-mine{border-left:3px solid var(--red)}.slot-card.is-trial{background:var(--blue-soft);border-color:var(--blue-line);border-left:3px solid var(--blue)}.spot-dot{width:12px;height:12px;border-radius:50%;border:1.5px solid}.wm-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;background:var(--bg)}.wm-header{padding:calc(20px + env(safe-area-inset-top)) 20px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.wm-block{margin-bottom:var(--sp-3)}.wm-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-sm);font-weight:600}.wm-progress{height:4px;border-radius:2px;background:var(--surface2);overflow:hidden}.wm-progress>div{height:100%;border-radius:2px;transition:width .3s ease}.wm-play{width:56px;height:56px;border-radius:50%;border:none;display:grid;place-items:center;flex-shrink:0;background:var(--red-strong);color:var(--on-accent);cursor:pointer}.wm-play.is-running{background:var(--red-soft);color:var(--red-text)}.wm-play.is-done{background:var(--green-soft);color:var(--green)}.wm-footer{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.wm-trophy{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);margin-bottom:20px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;overflow:hidden}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.segmented{display:flex;gap:4px;padding:4px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-md)}.segmented__item{flex:1;height:36px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-family:inherit;font-size:var(--text-base);font-weight:600;cursor:pointer}.segmented__item:hover{color:var(--text)}.segmented__item.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000002e}.segmented__item.is-active.is-pro{color:var(--violet)}.picker-user{width:100%;display:flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:8px;border:none;border-radius:var(--r-md);background:transparent;color:var(--text);text-align:left;font-family:inherit;font-size:var(--text-base);cursor:pointer}.picker-user:hover,.picker-user.is-open{background:var(--surface2)}.picker-user__chev{color:var(--faint);transition:transform .15s}.picker-user.is-open .picker-user__chev{transform:rotate(90deg)}.picker-item{width:100%;display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:transparent;color:var(--text);text-align:left;font-family:inherit;font-size:var(--text-sm);cursor:pointer}.picker-item:hover{border-color:var(--red-line);background:var(--red-faint)}.picker-item.is-selected{border-color:var(--red-line);background:var(--red-soft)}.editor-section{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.color-input{width:36px;height:36px;min-height:0;padding:2px;border-radius:var(--r-sm);cursor:pointer;flex-shrink:0}.kpi-card{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;color:var(--text);font-family:inherit;cursor:pointer;transition:border-color .15s}.kpi-card:hover{border-color:var(--border-strong)}.kpi-card__label{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:600}.pt-manager{width:100%;max-width:900px;height:80vh;display:flex;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-pop);animation:sheet-in .2s ease-out}.pt-manager__col{display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid var(--border)}.pt-manager__head{padding:16px;border-bottom:1px solid var(--border);flex-shrink:0}.list-row{display:flex;align-items:center;border-top:1px solid var(--border)}.action-list>.list-row:first-child{border-top:none}.list-row>.action-row{border-top:none;flex:1;min-width:0}.list-row__actions{display:flex;align-items:center;gap:var(--sp-1);padding-right:var(--sp-3);flex-shrink:0}.action-row--avatar .action-row__icon{background:none;width:auto;height:auto}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:499;background:var(--scrim);animation:scrim-in .15s ease-out}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:500;width:min(400px,100vw);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-pop);animation:drawer-in .2s ease-out}.drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:20px 16px 16px 20px;padding-top:calc(20px + env(safe-area-inset-top));border-bottom:1px solid var(--border);flex-shrink:0}.drawer__body{flex:1;overflow-y:auto;padding:var(--sp-2) 0 calc(var(--sp-4) + env(safe-area-inset-bottom))}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.notif-row{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-2) var(--sp-3) 20px;border-bottom:1px solid var(--border);cursor:pointer;transition:background-color .15s}.notif-row:hover{background:var(--hover)}.notif-row.is-unread{background:var(--red-faint)}.notif-row.is-unread:hover{background:var(--red-soft)}.notif-row__icon{width:36px;height:36px;border-radius:var(--r-md);background:var(--surface2);color:var(--muted);display:grid;place-items:center;flex-shrink:0}.notif-row__title{font-size:var(--text-base);font-weight:500;line-height:1.3}.notif-row.is-unread .notif-row__title{font-weight:700}.notif-row__body{margin-top:2px;font-size:var(--text-sm);color:var(--muted);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notif-row__time{display:flex;align-items:center;gap:6px;margin-top:var(--sp-1);font-size:var(--text-xs);color:var(--muted)}.notif-row__dot{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0}.notif-row__delete{color:var(--faint);margin-top:-4px}@media (hover: hover){.notif-row__delete{opacity:0}.notif-row:hover .notif-row__delete,.notif-row__delete:focus-visible{opacity:1}}.fab{position:fixed;right:var(--sp-4);bottom:calc(var(--nav-h) + var(--sp-4) + env(safe-area-inset-bottom));z-index:200;display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-3)}.fab__scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--scrim);opacity:.7;animation:scrim-in .15s ease-out}.fab__menu{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-2)}.fab__menu[hidden]{display:none}.fab__item{display:flex;align-items:center;gap:var(--sp-3);height:44px;padding:0 6px 0 var(--sp-4);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop);color:var(--text);font-size:var(--text-base);font-weight:600;white-space:nowrap;cursor:pointer;animation:fab-item-in .18s ease-out both}.fab__item:hover{border-color:var(--border-strong)}.fab__item-icon{width:32px;height:32px;border-radius:50%;background:var(--surface2);color:var(--muted);display:grid;place-items:center}.fab__badge{min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--orange-soft);color:var(--orange);border:1px solid var(--orange-line);font-size:var(--text-xs);font-weight:700;line-height:18px;font-variant-numeric:tabular-nums}.fab__main{width:56px;height:56px;border-radius:50%;border:none;background:var(--red-strong);color:var(--on-accent);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-pop);transition:transform .2s ease,background-color .15s;-webkit-tap-highlight-color:transparent}.fab__main:hover{background:var(--red-strong-hover)}.fab.is-open .fab__main{transform:rotate(45deg)}@keyframes fab-item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (min-width: 768px){.fab{right:var(--sp-5);bottom:var(--sp-5)}}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);padding-top:calc(var(--sp-2) + env(safe-area-inset-top));font-size:var(--text-sm);font-weight:600;background:var(--surface);color:var(--text);border-bottom:1px solid var(--amber-line)}.offline-banner svg{color:var(--amber)}.offline-banner[data-state=online]{border-bottom-color:var(--green-line)}.offline-banner[data-state=online] svg{color:var(--green)}.timer-bar{position:fixed;left:50%;bottom:calc(var(--nav-h) + var(--sp-3) + env(safe-area-inset-bottom));transform:translate(-50%);z-index:190;display:flex;align-items:center;gap:var(--sp-3);min-width:220px;max-width:calc(100vw - 32px);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);cursor:pointer;animation:fadeIn .18s ease-out}.timer-bar__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.timer-bar__dot.is-running{animation:timer-pulse 1.2s ease-in-out infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (min-width: 768px){.timer-bar{left:calc(var(--sidebar-w) + (100vw - var(--sidebar-w)) / 2);bottom:var(--sp-5)}}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-4)}.field__label{font-size:var(--text-sm);font-weight:500;color:var(--muted)}.field__hint{font-size:var(--text-xs);color:var(--muted)}.stepper{display:flex;align-items:center;gap:var(--sp-3)}.stepper__value{min-width:40px;text-align:center;font-size:var(--text-xl)}input,textarea,select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);padding:10px 12px;font-size:var(--text-base);font-family:inherit;width:100%;min-height:40px;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}input:focus,textarea:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-glow)}input[type=checkbox],input[type=radio]{width:auto;min-height:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:0 var(--sp-1) env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-around;z-index:100}.nav-logo{display:none}.nav-item{flex:1 1 0;min-width:0;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:none;border-radius:var(--r-md);color:var(--muted);font-size:11px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.nav-item__icon{width:52px;height:28px;border-radius:var(--r-pill);display:grid;place-items:center;transition:background-color .15s,color .15s}.nav-item.is-active{color:var(--text);font-weight:600}.nav-item.is-active .nav-item__icon{background:var(--red-soft);color:var(--red)}.nav-fab{width:48px;height:48px;margin:0 var(--sp-1);border-radius:50%;background:var(--red-strong);color:var(--on-accent);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex-shrink:0;box-shadow:0 4px 14px var(--red-glow);transition:background-color .15s;-webkit-tap-highlight-color:transparent}.nav-fab:hover{background:var(--red-strong-hover)}.nav-fab:active{transform:scale(.96)}.nav-fab__label{display:none;font-size:var(--text-base);font-weight:600}@media (min-width: 768px){.bottom-nav{top:0;bottom:0;right:auto;width:var(--sidebar-w);height:100vh;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2px;padding:20px var(--sp-3);border-top:none;border-right:1px solid var(--border)}.nav-logo{order:-2;display:flex;align-items:center;gap:10px;padding:0 var(--sp-2) 20px}.nav-logo img{width:32px;height:32px;border-radius:8px;object-fit:cover}.nav-logo span{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.nav-fab{order:-1;width:100%;height:40px;margin:0 0 var(--sp-3);border-radius:var(--r-md);box-shadow:none}.nav-fab__label{display:inline}.nav-item{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:var(--sp-3);height:40px;padding:0 var(--sp-3);font-size:var(--text-base)}.nav-item__icon{width:auto;height:auto;background:none!important}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.is-active{background:var(--red-soft);color:var(--red-text)}.nav-item.is-active .nav-item__icon{color:var(--red-text)}.app-content{margin-left:var(--sidebar-w);max-width:none}.page{padding:var(--sp-6) var(--sp-6) 48px}.nav-desktop-only{display:flex}}@media (max-width: 767px){.nav-desktop-only{display:none!important}}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}.skeleton{background:var(--surface2);animation:skeleton-pulse 1.6s ease-in-out infinite}.card .skeleton{background:var(--hover)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.anim-in{animation:fadeIn .18s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.input-wrap{position:relative;width:100%}.input-wrap input{padding-left:44px}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none;z-index:1;line-height:1;color:var(--faint);display:flex}.error-msg{color:var(--danger-text);font-size:var(--text-sm);font-weight:500;text-align:center;padding:10px 14px;background:var(--danger-soft);border-radius:var(--r-md);border:1px solid var(--danger-line)}.success-msg{color:var(--green);font-size:var(--text-sm);font-weight:500;text-align:center;padding:10px 14px;background:var(--green-soft);border-radius:var(--r-md);border:1px solid var(--green-line)}.auth{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:48px 20px;background:var(--bg)}.auth__panel{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--sp-6)}@media (min-width: 768px){.auth__panel{padding:40px 36px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-pop)}}.auth__brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.auth__logo{width:96px;height:96px;margin-bottom:var(--sp-3);border-radius:24px;object-fit:cover;box-shadow:0 10px 28px #00000047}.auth__logo--sm{width:64px;height:64px;border-radius:16px;margin-bottom:var(--sp-2)}.auth__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;line-height:1.05;letter-spacing:-.01em}.auth__logo--sm+.auth__title{font-size:var(--text-2xl)}.auth__subtitle{color:var(--muted);font-size:var(--text-base);max-width:32ch}.auth__form{display:flex;flex-direction:column;gap:var(--sp-3)}.auth__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-3)}.auth__link{align-self:center;padding:6px 4px;color:var(--muted);font-size:var(--text-sm);text-decoration:none}.auth__link:hover{color:var(--text);text-decoration:underline}.auth__alt{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-5);border-top:1px solid var(--border);text-align:center;color:var(--muted);font-size:var(--text-base)}.auth .input-wrap input{min-height:48px;font-size:var(--text-md)}.input-wrap .input-action{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.pw-match{display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--text-sm);font-weight:600}.pw-match.is-ok{color:var(--green)}.pw-match.is-bad{color:var(--danger-text)}.consent{position:relative;display:flex;gap:var(--sp-3);align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:var(--text-sm);line-height:1.5;cursor:pointer;transition:border-color .15s,background-color .15s}.consent:hover{border-color:var(--border-strong)}.consent.is-checked{background:var(--red-faint);border-color:var(--red-line)}.consent__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.consent__box{flex-shrink:0;width:20px;height:20px;margin-top:1px;border-radius:6px;border:2px solid var(--muted);display:grid;place-items:center;color:var(--on-accent)}.consent.is-checked .consent__box{background:var(--red-strong);border-color:var(--red-strong)}.consent__input:focus-visible+.consent__box{outline:2px solid var(--red);outline-offset:2px}.auth-status{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3)}.auth-status__icon{width:72px;height:72px;margin-bottom:var(--sp-1);border-radius:50%;display:grid;place-items:center;background:var(--red-soft);border:1px solid var(--red-line);color:var(--red-text)}.auth-status__icon--danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-text)}.auth-status__icon--ok{background:var(--green-soft);border-color:var(--green-line);color:var(--green)}.auth-status__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;line-height:1.1}.auth-status__text{color:var(--muted);font-size:var(--text-base);line-height:1.6;max-width:36ch}.auth-steps{padding:var(--sp-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border)}@media (min-width: 768px){.auth-steps{background:var(--surface2)}}.auth-steps__title{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--sp-3)}.auth-steps ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.auth-steps li{display:flex;gap:var(--sp-3);align-items:flex-start;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.auth-steps__num{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;margin-top:-2px;background:var(--surface2);border:1px solid var(--border-strong);color:var(--text);font-family:var(--font-display);font-size:var(--text-xs);font-weight:700}@media (min-width: 768px){.auth-steps__num{background:var(--surface)}}.chat-row .action-row__trail{align-self:flex-start;padding-top:2px}.chat-row__meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.chat-row__time{font-size:var(--text-xs);color:var(--muted)}.chat-row.is-unread .action-row__title{font-weight:700}.chat-row.is-unread .action-row__text{color:var(--text);font-weight:500}.chat-row.is-unread .chat-row__time{color:var(--red-text);font-weight:600}.chat-unread{min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:grid;place-items:center;background:var(--red-strong);color:var(--on-accent);font-size:var(--text-xs);font-weight:700}.chat{display:flex;flex-direction:column;height:calc(100vh - var(--nav-h) - env(safe-area-inset-bottom));height:calc(100dvh - var(--nav-h) - env(safe-area-inset-bottom));background:var(--bg)}@media (min-width: 768px){.chat{height:100vh;height:100dvh}}.chat__header{display:flex;align-items:center;gap:var(--sp-3);padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.chat__name{font-size:var(--text-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat__role{color:var(--muted);font-size:var(--text-xs);margin-top:1px}.chat__messages{flex:1;overflow-y:auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:6px}.chat__day{align-self:center;margin:var(--sp-3) 0 var(--sp-1);padding:3px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:var(--text-xs);font-weight:600}.bubble{max-width:min(78%,520px);padding:9px 13px 6px;border-radius:18px;font-size:var(--text-base);line-height:1.45;overflow-wrap:anywhere}.bubble--me{align-self:flex-end;background:var(--red-strong);color:var(--on-accent);border-bottom-right-radius:6px}.bubble--them{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.bubble__meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:2px;font-size:11px;opacity:.75}.chat__composer{display:flex;gap:10px;align-items:flex-end;padding:10px 12px;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.chat__input{flex:1;min-height:44px;max-height:120px;padding:11px 16px;border-radius:22px;line-height:1.45;resize:none;overflow:auto}.chat__send{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:none;display:grid;place-items:center;background:var(--red-strong);color:var(--on-accent);cursor:pointer;transition:background-color .15s}.chat__send:hover:not(:disabled){background:var(--red-strong-hover)}.chat__send:disabled{background:var(--surface2);color:var(--faint);cursor:default}
