@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/onest-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/onest-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/onest-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/onest-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/onest-500-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/onest-500-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/onest-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/onest-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/onest-600-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/onest-600-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/onest-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/onest-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/onest-700-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/onest-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/onest-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/onest-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f5f1;--surface:#fff;--surface-sheet:#fafaf8;--surface-raised:#fff;--border:#00000012;--border-input:#00000014;--border-active:#00000024;--border-divider:#0000000d;--text-primary:#1a1a1f;--text-secondary:#6b6d7b;--text-muted:#a0a2b1;--accent:#e8734a;--accent-hover:#d4663f;--accent-glow:#e8734a38;--accent-soft:#e8734a1a;--indigo:#6366f1;--indigo-text:#4f46e5;--orange-text:#c2603a;--green-text:#0d9668;--success:#10b981;--success-text:#059669;--success-soft:#10b9811a;--success-border:#10b98133;--warning:#f59e0b;--warning-text:#d97706;--warning-soft:#f59e0b1a;--warning-border:#f59e0b33;--danger:#dc2626;--danger-hover:#b91c1c;--danger-soft:#dc26261a;--error:#ef4444;--error-soft:#ef44441f;--dark:#3a3a44;--dark-hover:#2a2a32;--telegram:#2aabee;--overlay:#0a0a1273;--font-sans:"Onest", system-ui, -apple-system, sans-serif;--font-main:var(--font-sans);--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-page-title:26px;--text-section:18px;--text-button:15.5px;--text-body:15px;--text-label:13px;--text-caption:12px;--radius-seg:8px;--radius-chip:10px;--radius-box:12px;--radius-btn:14px;--radius-fab:18px;--radius-pill:20px;--radius-sheet:24px;--shadow-xs:0 1px 2px #00000008;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000000f, 0 1px 3px #0000000a;--shadow-active:0 2px 8px #1a1a1f33;--shadow-sheet:0 -4px 60px #00000026, 0 -1px 3px #0000000f;--shadow-accent:0 4px 14px #e8734a38;--shadow-accent-lg:0 4px 16px #e8734a4d;--shadow-accent-hover:0 6px 24px #e8734a59;--shadow-nav:0 4px 24px #00000014, 0 1px 4px #0000000a;--ease-sheet:cubic-bezier(.32, .72, 0, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px}.variant-indigo{--v-color:var(--indigo);--v-text:var(--indigo-text);--v-grad-from:#6366f1;--v-grad-to:#818cf8;--v-shadow:#6366f140}.variant-orange{--v-color:var(--accent);--v-text:var(--orange-text);--v-grad-from:#e8734a;--v-grad-to:#f59e6c;--v-shadow:#e8734a40}.variant-green{--v-color:var(--success);--v-text:var(--green-text);--v-grad-from:#10b981;--v-grad-to:#34d399;--v-shadow:#10b98140}.tr-btn{border-radius:var(--radius-btn);height:52px;font-size:var(--text-button);font-weight:700;font-family:var(--font-sans);letter-spacing:-.2px;cursor:pointer;box-sizing:border-box;border:none;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;transition:all .2s;display:inline-flex}.tr-btn svg{width:18px;height:18px}.tr-btn--full{width:100%}.tr-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.tr-btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent-lg)}.tr-btn--primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-accent-hover)}.tr-btn--primary:active:not(:disabled){transform:translateY(1px)}.tr-btn--primary.tr-btn--success{background:var(--success);box-shadow:0 4px 16px #10b9814d}.tr-btn--primary.tr-btn--indigo{background:var(--indigo);box-shadow:0 4px 16px #6366f14d}.tr-btn--secondary{background:var(--surface);color:var(--text-primary);border:1.5px solid var(--border-active);font-size:15px;font-weight:600}.tr-btn--secondary:hover:not(:disabled){border-color:var(--text-primary)}.tr-btn--ghost{color:var(--text-secondary);background:#0000000a;font-size:15px;font-weight:600}.tr-btn--ghost:hover:not(:disabled){background:#00000012}.tr-btn--danger{background:var(--danger-soft);color:var(--danger);font-size:15px;font-weight:600}.tr-btn--danger:hover:not(:disabled){background:var(--danger);color:#fff}.tr-btn--text{height:auto;color:var(--accent);box-shadow:none;background:0 0;border-radius:0;padding:6px 4px;font-size:14px;font-weight:600}.tr-btn--text:hover:not(:disabled){color:var(--accent-hover)}.tr-btn--text.tr-btn--danger{color:var(--danger);background:0 0}.tr-btn--dark{background:var(--dark);color:#fff}.tr-btn--dark:hover:not(:disabled){background:var(--dark-hover)}.tr-icon-btn{border-radius:var(--radius-box);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:#00000008;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.tr-icon-btn:hover{color:var(--text-primary);background:#0000000f}.tr-icon-btn svg{width:18px;height:18px}.tr-icon-btn--tg{color:var(--telegram)}.tr-fab{border-radius:var(--radius-fab);background:var(--accent);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:0 4px 14px var(--accent-glow);border:1px solid #e8734a40;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.tr-fab:hover{box-shadow:var(--shadow-accent-hover);transform:translateY(-2px)}.tr-fab svg{width:24px;height:24px}.tr-fab--indigo{background:var(--indigo);border-color:#6366f140;box-shadow:0 4px 14px #6366f14d}.tr-fab--green{background:var(--success);border-color:#10b98140;box-shadow:0 4px 14px #10b9814d}.tr-fab--fixed{right:calc(50% - 220px);bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;position:fixed}@media (max-width:480px){.tr-fab--fixed{right:20px}}.tr-chip{border-radius:var(--radius-chip);border:1.5px solid var(--border);background:var(--surface);min-width:42px;height:38px;font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-xs);white-space:nowrap;text-align:center;padding:0 12px;font-size:13px;font-weight:500;transition:all .2s}.tr-chip--active{background:var(--text-primary);border-color:var(--text-primary);color:#fff;box-shadow:var(--shadow-active)}.tr-chip--tag{font-family:var(--font-sans);color:var(--text-primary)}.tr-chip--tag.tr-chip--active{color:#fff}.tr-chip--add{color:var(--text-muted);border-style:dashed}.tr-chip-row{flex-wrap:wrap;gap:8px;display:flex}.tr-format-pill{border-radius:var(--radius-box);border:1.5px solid var(--border);background:var(--surface);height:44px;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-xs);flex:1;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:600;transition:all .25s;display:inline-flex}.tr-format-pill svg{width:16px;height:16px}.tr-format-pill--active{background:var(--text-primary);border-color:var(--text-primary);color:#fff;box-shadow:var(--shadow-active)}.tr-format-pill--wide{min-width:96px}.tr-segmented{border-radius:var(--radius-box);background:#0000000a;gap:4px;padding:4px;display:inline-flex}.tr-segmented--fill{width:100%;display:flex}.tr-segmented--fill .tr-segmented__btn{flex:1}.tr-segmented__btn{border-radius:var(--radius-seg);font-family:var(--font-sans);cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:6px 16px;font-size:13px;font-weight:500;transition:all .25s}.tr-segmented__btn--active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tr-segment{background:#0000000a;border-radius:12px;gap:2px;padding:3px;display:inline-flex}.tr-segment button{font-size:13px;font-weight:600;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:7px 14px;transition:all .2s}.tr-segment button[aria-pressed=true]{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tr-switch{appearance:none;cursor:pointer;background:#00000017;border:none;border-radius:13px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .3s;position:relative}.tr-switch:after{content:"";width:20px;height:20px;transition:transform .3s var(--ease-bounce);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.tr-switch--on{background:var(--accent)}.tr-switch--on:after{transform:translate(18px)}.tr-switch:disabled{opacity:.5;cursor:default}.tr-checkbox{border:1.5px solid var(--border-active);background:var(--surface);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:inline-flex}.tr-checkbox svg{color:#fff;opacity:0;width:14px;height:14px;transition:opacity .15s}.tr-checkbox--checked{background:var(--accent);border-color:var(--accent)}.tr-checkbox--checked svg{opacity:1}.tr-field{text-align:left;flex-direction:column;gap:6px;display:flex}.tr-field__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:11px;font-weight:600}.tr-field__hint{color:var(--text-muted);font-size:11px}.tr-input,.tr-select{border-radius:var(--radius-btn);border:1.5px solid var(--border-input);background:var(--surface);width:100%;height:50px;font-family:var(--font-sans);color:var(--text-primary);box-shadow:var(--shadow-xs);box-sizing:border-box;outline:none;padding:0 15px;font-size:15px;transition:all .2s}.tr-input:focus,.tr-select:focus,.tr-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tr-input::placeholder,.tr-textarea::placeholder{color:var(--text-muted)}.tr-input--mono{font-family:var(--font-mono)}.tr-input--center{text-align:center}.tr-input--sm{height:40px;font-size:14px}.tr-input--suffix{padding-right:34px}.tr-input--icon{padding-right:38px}.tr-select{appearance:none;cursor:pointer;padding-right:38px}.tr-field-wrap{position:relative}.tr-field-wrap__suffix{font-family:var(--font-mono);color:var(--text-muted);pointer-events:none;font-size:13px;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.tr-input--inline{align-items:center;gap:8px;width:auto;padding:0 14px;display:inline-flex}.tr-input__unit{color:var(--text-secondary);white-space:nowrap;font-size:14px}.tr-input__ghost{text-align:center;width:32px;font-family:var(--font-mono);color:var(--text-primary);background:0 0;border:none;outline:none;padding:0;font-size:15px;font-weight:600}.tr-input__ghost::placeholder{color:var(--text-muted);font-weight:500}.tr-textarea{border-radius:var(--radius-btn);border:1.5px solid var(--border-input);background:var(--surface);width:100%;min-height:88px;font-family:var(--font-sans);color:var(--text-primary);box-shadow:var(--shadow-xs);resize:none;box-sizing:border-box;outline:none;padding:13px 15px;font-size:15px;transition:all .2s}.tr-textarea-wrap{position:relative}.tr-textarea__counter{font-family:var(--font-mono);color:var(--text-muted);pointer-events:none;font-size:11px;position:absolute;bottom:10px;right:12px}.tr-badge{border-radius:var(--radius-pill);font-family:var(--font-sans);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:4px 10px;font-size:11.5px;font-weight:600;line-height:1;display:inline-flex}.tr-badge svg{width:12px;height:12px}.tr-badge--paid{background:var(--success-soft);color:var(--success-text);border-color:var(--success-border)}.tr-badge--pending{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-border)}.tr-badge--overdue{background:var(--danger-soft);color:var(--danger);border-color:#dc262633}.tr-badge--missed{color:var(--text-secondary);background:#0000000d;border-color:#00000014}.tr-badge--cancelled{color:var(--text-muted);background:#0000000d;border-color:#00000014;text-decoration:line-through}.tr-badge--package{color:var(--indigo-text);background:#6366f11a;border-color:#6366f133}.tr-badge--penalty{background:var(--danger);color:#fff;border-color:#0000}.tr-badge--dot:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.tr-status{border-radius:9px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.tr-status--success{background:var(--success-soft);color:var(--success-text)}.tr-status--warning{background:var(--warning-soft);color:var(--warning-text)}.tr-status--danger{background:var(--danger-soft);color:var(--danger)}.tr-toast{bottom:calc(90px + env(safe-area-inset-bottom));border-radius:var(--radius-btn);background:var(--text-primary);color:#fff;font-family:var(--font-sans);z-index:200;opacity:0;pointer-events:none;max-width:360px;transition:all .35s var(--ease-sheet);align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 8px 30px #0000002e}.tr-toast svg{flex-shrink:0;width:17px;height:17px}.tr-toast--visible{opacity:1;transform:translate(-50%)translateY(0)}body.tr-sheet-open .tr-toast{top:calc(16px + env(safe-area-inset-top));z-index:400;bottom:auto;transform:translate(-50%)translateY(-20px)}body.tr-sheet-open .tr-toast--visible{transform:translate(-50%)translateY(0)}.tr-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);padding:14px 16px;animation:.3s ease-out cardIn}.tr-card--row{cursor:pointer;align-items:center;gap:12px;padding:14px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.tr-card--row:hover{border-color:var(--border-active);box-shadow:var(--shadow-sm)}.tr-card--row:active{transform:scale(.99)}.tr-lesson-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);cursor:pointer;align-items:center;gap:12px;padding:14px 14px 14px 17px;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.3s ease-out cardIn;display:flex;position:relative;overflow:hidden}.tr-lesson-card:before{content:"";background:var(--accent);width:4px;position:absolute;top:0;bottom:0;left:0}.tr-lesson-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-sm)}.tr-metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);padding:14px}.tr-metric-card__label{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.tr-metric-card__value{font-family:var(--font-mono);font-size:19px;font-weight:600}.tr-metric-card__trend{align-items:center;gap:4px;margin-top:4px;font-size:11px;font-weight:600;display:inline-flex}.tr-metric-card__trend svg{width:12px;height:12px}.tr-metric-card--success .tr-metric-card__value{color:var(--success-text)}.tr-metric-card--warning .tr-metric-card__value{color:var(--warning-text)}.tr-metric-card--danger .tr-metric-card__value{color:var(--danger)}.tr-metric-card__trend--up{color:var(--success-text)}.tr-metric-card__trend--down{color:var(--danger)}.tr-metric-card__trend--flat{color:var(--text-muted)}.tr-metric-card--invert .tr-metric-card__trend--up{color:var(--danger)}.tr-metric-card--invert .tr-metric-card__trend--down{color:var(--success-text)}.tr-avatar{color:#fff;background:linear-gradient(135deg, var(--v-grad-from), var(--v-grad-to));box-shadow:0 4px 12px var(--v-shadow);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.tr-avatar:after{content:"";border-radius:inherit;background:linear-gradient(135deg,#ffffff2e 0%,#0000 60%);position:absolute;inset:0}.tr-avatar--indigo{--v-grad-from:#6366f1;--v-grad-to:#818cf8;--v-shadow:#6366f140}.tr-avatar--orange{--v-grad-from:#e8734a;--v-grad-to:#f59e6c;--v-shadow:#e8734a40}.tr-avatar--green{--v-grad-from:#10b981;--v-grad-to:#34d399;--v-shadow:#10b98140}.tr-avatar--sm{border-radius:10px;width:32px;height:32px;font-size:13px}.tr-avatar--md{border-radius:13px;width:44px;height:44px;font-size:16px}.tr-avatar--lg{border-radius:16px;width:56px;height:56px;font-size:21px}.tr-avatar--xl{border-radius:20px;width:72px;height:72px;font-size:27px}.tr-top-nav{z-index:10;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px 10px;display:flex;position:relative}.tr-top-nav__back{border-radius:var(--radius-chip);width:32px;height:32px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .2s;display:flex}.tr-top-nav__back:hover{background:#0000000a}.tr-top-nav__back svg{width:20px;height:20px}.tr-top-nav__title{color:var(--text-primary);font-size:16px;font-weight:600}.tr-dialog-overlay{background:var(--overlay);z-index:300;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.tr-dialog-overlay--open{opacity:1;pointer-events:auto}.tr-dialog{border-radius:var(--radius-pill);text-align:center;background:#fff;width:280px;padding:22px;box-shadow:0 20px 60px #0000004d}.tr-dialog__icon{border-radius:var(--radius-btn);justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 14px;display:flex}.tr-dialog__icon svg{width:24px;height:24px}.tr-dialog__icon--danger{background:var(--danger-soft);color:var(--danger)}.tr-dialog__icon--accent{background:var(--accent-soft);color:var(--accent)}.tr-dialog__title{margin-bottom:6px;font-size:16px;font-weight:700}.tr-dialog__text{color:var(--text-secondary);margin-bottom:18px;font-size:13px;line-height:1.5}.tr-dialog__actions{gap:10px;display:flex}.tr-dialog__actions .tr-btn{flex:1;height:44px;font-size:14px}.tr-bottom-bar{bottom:max(12px, env(safe-area-inset-bottom));z-index:50;pointer-events:none;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;left:0;right:0}.tr-bottom-bar>*{pointer-events:auto}.tr-bottom-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-fab);height:56px;box-shadow:var(--shadow-nav);align-items:center;padding:0 4px;display:inline-flex}.tr-nav-item{border-radius:var(--radius-box);cursor:pointer;font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:6px 14px;display:flex}.tr-nav-item svg{width:20px;height:20px;color:var(--text-muted);transition:color .2s}.tr-nav-item span{color:var(--text-muted);font-size:10px;font-weight:500;transition:color .2s}.tr-nav-item--active svg,.tr-nav-item--active span{color:var(--accent)}.tr-overlay{background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .3s var(--ease-sheet);z-index:100;position:fixed;inset:0}.tr-overlay--open{opacity:1;pointer-events:auto}.tr-sheet{background:var(--surface-sheet);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;z-index:101;width:100%;max-width:480px;max-height:88dvh;transition:transform .45s var(--ease-sheet);box-shadow:var(--shadow-sheet);will-change:transform;flex-direction:column;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)translateY(100%)}.tr-sheet--open{transform:translate(-50%)translateY(0)}.tr-sheet__grip{cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;padding:12px 0 6px;display:flex}.tr-sheet__grip span{background:#0000001f;border-radius:2px;width:38px;height:4px}.tr-sheet__title{letter-spacing:-.2px;flex-shrink:0;padding:8px 20px 4px;font-size:18px;font-weight:600}.tr-sheet__body{padding:14px 20px calc(20px + env(safe-area-inset-bottom));scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;gap:14px;min-height:0;display:flex;overflow-y:auto}.tr-sheet__body::-webkit-scrollbar{display:none}.tr-sheet__body>*{flex-shrink:0}.tr-sheet__footer{padding:14px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--border-divider);flex-shrink:0;gap:10px;margin-top:auto;display:flex}.tr-sheet__footer .tr-btn{flex:1}.tr-row-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);flex-direction:column;display:flex;overflow:hidden}.tr-row-list__row{text-align:left;cursor:pointer;width:100%;min-height:52px;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:12px;padding:0 15px;transition:background .15s;display:flex}.tr-row-list__row+.tr-row-list__row,.tr-row-list__panel+.tr-row-list__row{border-top:1px solid var(--border-divider)}.tr-row-list__row:hover{background:#00000005}.tr-row-list__label{color:var(--text-primary);font-size:15px}.tr-row-list__value{color:var(--text-secondary);align-items:center;gap:8px;margin-left:auto;font-size:15px;display:inline-flex}.tr-row-list__value--mono{font-family:var(--font-mono)}.tr-row-list__chev{width:18px;height:18px;color:var(--text-muted);transition:transform .25s var(--ease-sheet);flex-shrink:0}.tr-row-list__row--open .tr-row-list__chev{color:var(--accent);transform:rotate(180deg)}.tr-row-list__row--open .tr-row-list__value{color:var(--accent)}.tr-row-list__panel{border-top:1px solid var(--border-divider);background:#00000003;padding:4px 15px 16px}.tr-row-list__row--static{cursor:default}.tr-row-list__row--static:hover{background:0 0}.tr-accordion{flex-direction:column;gap:10px;display:flex}.tr-accordion__item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);transition:border-color .2s,box-shadow .2s;overflow:hidden}.tr-accordion__item--open{border-color:var(--border-active);box-shadow:var(--shadow-sm)}.tr-accordion__head{text-align:left;cursor:pointer;width:100%;min-height:54px;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:12px;padding:0 15px;transition:background .15s;display:flex}.tr-accordion__head:hover{background:#00000005}.tr-accordion__icon{width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.tr-accordion__item--open .tr-accordion__icon{color:var(--accent)}.tr-accordion__title{color:var(--text-primary);font-size:15px;font-weight:600}.tr-accordion__summary{color:var(--text-muted);font-size:13.5px;font-family:var(--font-mono);white-space:nowrap;margin-left:auto}.tr-accordion__chev{width:18px;height:18px;color:var(--text-muted);transition:transform .25s var(--ease-sheet);flex-shrink:0;margin-left:10px}.tr-accordion__item--open .tr-accordion__chev{color:var(--accent);transform:rotate(180deg)}.tr-accordion__item--open .tr-accordion__summary{display:none}.tr-accordion__body{border-top:1px solid var(--border-divider);padding:6px 15px 16px}.tr-scope-note{border-radius:var(--radius-box);color:var(--text-secondary);background:#00000008;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;font-size:12.5px;line-height:1.4;display:flex}.tr-scope-note svg{width:15px;height:15px;color:var(--text-muted);flex-shrink:0;margin-top:1px}.tr-request-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);flex-direction:column;transition:border-color .2s,box-shadow .2s;animation:.3s ease-out cardIn;display:flex;overflow:hidden}.tr-request-card__main{align-items:center;gap:12px;padding:14px;display:flex}.tr-request-card__body{flex:1;min-width:0}.tr-request-card__name{color:var(--text-primary);font-weight:600}.tr-request-card__meta{color:var(--text-secondary);margin-top:2px;font-size:13px}.tr-request-card__meta--mono{font-family:var(--font-mono)}.tr-request-card--conflict{border-color:var(--warning-border)}.tr-request-card__warning{background:var(--warning-soft);border-top:1px solid var(--warning-border);color:var(--warning-text);align-items:flex-start;gap:8px;padding:10px 14px;font-size:12.5px;line-height:1.4;display:flex}.tr-request-card__warning svg{flex-shrink:0;width:15px;height:15px;margin-top:1px}.tr-request-card__warning b{font-weight:700}.tr-request-card__actions{gap:8px;padding:0 14px 14px;display:flex}.tr-request-card__actions .tr-btn{flex:1;height:42px;font-size:14px}.tr-request-card--selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tr-week-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);font-family:var(--font-sans);overflow:hidden}.tr-week-grid__head{grid-template-columns:48px repeat(7,1fr);display:grid}.tr-week-grid__corner{border-bottom:1px solid var(--border-divider)}.tr-week-grid__dayhead{text-align:center;border-bottom:1px solid var(--border-divider);border-left:1px solid var(--border-divider);padding:9px 4px 8px}.tr-week-grid__dow{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.tr-week-grid__date{font-family:var(--font-mono);color:var(--text-primary);margin-top:3px;font-size:15px}.tr-week-grid__dayhead--today .tr-week-grid__dow{color:var(--accent)}.tr-week-grid__dayhead--today .tr-week-grid__date{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:600;display:inline-flex}.tr-week-grid__body{grid-template-columns:48px repeat(7,1fr);display:grid}.tr-week-grid__gutter{flex-direction:column;display:flex}.tr-week-grid__hour{box-sizing:border-box;font-family:var(--font-mono);color:var(--text-muted);justify-content:flex-end;align-items:flex-start;padding:3px 6px 0 0;font-size:10.5px;display:flex}.tr-week-grid__col{border-left:1px solid var(--border-divider);position:relative}.tr-week-grid__slot{border-bottom:1px solid var(--border-divider);box-sizing:border-box}.tr-week-grid__event{z-index:2;box-sizing:border-box;background:var(--accent-soft);border-left:3px solid var(--accent);cursor:pointer;border-radius:8px;padding:4px 7px;position:absolute;left:3px;right:3px;overflow:hidden}.tr-week-grid__event--request{border-left-color:var(--indigo);background:#6366f11a}.tr-week-grid__event--request .tr-week-grid__event-time{color:var(--indigo-text)}.tr-week-grid__event-time{font-family:var(--font-mono);color:var(--orange-text);font-size:10px}.tr-week-grid__event-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.tr-week-grid__now{background:var(--accent);z-index:3;pointer-events:none;height:2px;position:absolute;left:0;right:0}.tr-week-grid__now:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.tr-achievement{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);flex-direction:column;align-items:center;gap:8px;padding:16px 12px;display:flex}.tr-achievement__medal{border-radius:var(--radius-btn);background:var(--accent-soft);width:48px;height:48px;color:var(--accent);justify-content:center;align-items:center;display:flex}.tr-achievement__medal svg{width:24px;height:24px}.tr-achievement__title{color:var(--text-primary);font-size:13px;font-weight:600}.tr-achievement__desc{color:var(--text-muted);font-size:11.5px;line-height:1.35}.tr-achievement__progress{font-family:var(--font-mono);color:var(--accent);font-size:11px;font-weight:600}.tr-achievement--locked .tr-achievement__medal{color:var(--text-muted);background:#0000000d}.tr-achievement--locked .tr-achievement__title{color:var(--text-secondary)}.tr-achievement--locked .tr-achievement__progress{color:var(--text-muted)}.tr-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;display:flex}.tr-empty__icon svg{width:44px;height:44px;color:var(--text-muted)}.tr-empty__title{font-size:15px;font-weight:600}.tr-empty__subtitle{color:var(--text-secondary);max-width:260px;font-size:13px}.tr-screen{max-width:480px;min-height:100dvh;padding:20px 16px calc(96px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.tr-page-header{justify-content:space-between;align-items:flex-start;gap:12px;animation:.35s ease-out headerIn;display:flex}.tr-page-header h1{letter-spacing:-.3px;font-size:22px;font-weight:700}.tr-page-header p{color:var(--text-secondary);margin-top:2px;font-size:13px}.tr-list{flex-direction:column;gap:8px;display:flex}.tr-list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;font-family:var(--font-sans);align-items:center;gap:12px;width:100%;padding:12px 14px;transition:border-color .2s;animation:.3s ease-out cardIn;display:flex}.tr-list-item:hover{border-color:var(--border-active)}.tr-list-item__content{flex:1;min-width:0}.tr-list-item__title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.tr-list-item__meta{color:var(--text-muted);margin-top:1px;font-size:12px}.tr-list-item__value{font-family:var(--font-mono);white-space:nowrap;font-size:13px;font-weight:500}.tr-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:8px;font-size:10.5px;font-weight:700}@keyframes headerIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tr-toggle{appearance:none;cursor:pointer;background:#00000017;border:none;border-radius:13px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .3s;position:relative}.tr-toggle:after{content:"";width:20px;height:20px;transition:transform .3s var(--ease-bounce);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.tr-toggle--on{background:var(--accent)}.tr-toggle--on:after{transform:translate(18px)}.tr-toggle:disabled{opacity:.5;cursor:default}*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,textarea,select{font-family:inherit}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body:before{content:"";background:radial-gradient(circle, var(--accent-soft) 0%, transparent 70%);pointer-events:none;z-index:0;width:500px;height:500px;position:fixed;top:-40%;right:-20%}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#6366f10f 0%,#0000 70%);width:400px;height:400px;position:fixed;bottom:-20%;left:-30%}#root{z-index:1;position:relative}.auth-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;max-width:480px;min-height:100dvh;margin:0 auto;padding:32px 24px;display:flex;position:relative}.auth-hero{flex-direction:column;align-items:center;gap:18px;max-width:340px;animation:.5s ease-out both cardIn;display:flex}.auth-icon{color:#fff;border-radius:28px;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;display:flex;position:relative}.auth-icon svg{z-index:1;width:48px;height:48px;position:relative}.auth-icon--neutral{border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text-muted);background:#0000000a}.auth-icon--warning{background:linear-gradient(135deg, var(--warning), #fbbf24);box-shadow:0 4px 16px #f59e0b4d}.auth-icon--telegram{background:linear-gradient(135deg, var(--telegram), #4fc3f7);box-shadow:0 4px 16px #2aabee52}.auth-icon--accent{background:linear-gradient(135deg, var(--accent), #f59e6c);box-shadow:var(--shadow-accent-lg)}.splash-logo{object-fit:contain;width:96px;height:96px;animation:cardIn .5s var(--ease-bounce);border-radius:24px}.auth-app-name{letter-spacing:-.5px;color:var(--text-primary);font-size:24px;font-weight:700}.auth-404{font-family:var(--font-mono);color:var(--text-muted);opacity:.45;letter-spacing:-2px;margin-bottom:4px;font-size:72px;font-weight:600;line-height:1}@media (max-height:700px){.auth-404{font-size:64px}}.splash-title,.auth-title{letter-spacing:-.3px;color:var(--text-primary);max-width:320px;font-size:22px;font-weight:700;line-height:1.25}.splash-meta,.auth-subtitle{color:var(--text-secondary);text-align:center;max-width:320px;font-size:13px;font-weight:400;line-height:1.5}.splash-meta code{font-family:var(--font-mono)}.splash-status{color:var(--text-muted);font-size:13px;font-family:var(--font-mono)}.splash-status--error{color:var(--danger)}.auth-spinner{width:32px;height:32px;margin-top:4px;animation:.9s linear infinite auth-spin}.auth-spinner circle{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-dasharray:60 100}@keyframes auth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-actions,.auth-form{text-align:left;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:340px;margin-top:8px;animation:.55s ease-out 50ms both cardIn;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field>span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:11px;font-weight:600}.auth-field input{border:1.5px solid var(--border-input);background:var(--surface);border-radius:var(--radius-btn);width:100%;height:50px;font-size:15px;font-family:var(--font-sans);color:var(--text-primary);box-shadow:var(--shadow-xs);outline:none;padding:0 15px;transition:all .2s}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-field input::placeholder{color:var(--text-muted)}.auth-field input[type=email]{font-family:var(--font-mono);font-size:14px}.auth-field__hint{color:var(--text-muted);font-size:11px}.auth-error{color:var(--danger);font-size:13px}.auth-note{background:var(--accent-soft);border-radius:var(--radius-btn);color:var(--text-primary);padding:12px 14px;font-size:13px;line-height:1.5}.auth-note strong{font-weight:600}.guest-status{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:12px;font-weight:600}.guest-code{background:var(--accent-soft);border-radius:var(--radius-btn);color:var(--text-muted);flex-direction:column;gap:4px;padding:12px 14px;font-size:13px;display:flex}.guest-code strong{letter-spacing:2px;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:20px}.guest-thread{flex-direction:column;gap:8px;margin:4px 0;display:flex}.guest-msg{border-radius:14px;max-width:82%;padding:9px 12px;font-size:14px;line-height:1.45}.guest-msg__text{white-space:pre-wrap;word-break:break-word}.guest-msg__time{opacity:.6;margin-top:4px;font-size:11px}.guest-msg--me{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.guest-msg--support{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.auth-hint{max-width:340px;color:var(--text-muted);text-align:center;font-size:12.5px;line-height:1.5}.auth-footer{text-align:center;color:var(--text-muted);padding:0 24px;font-size:12px;position:absolute;bottom:24px;left:0;right:0}.auth-footer a{color:var(--text-secondary);text-decoration:none}.auth-footer a:hover{color:var(--accent)}.auth-mode{justify-content:center;gap:8px;margin-top:4px;display:flex}.pw-wrap{display:flex;position:relative}.pw-wrap input{flex:1;padding-right:46px}.pw-eye{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-eye:hover{color:var(--text-primary);background:var(--accent-soft)}.role-cards{flex-direction:column;gap:12px;display:flex}.role-card{text-align:left;border-radius:var(--radius-btn);border:1.5px solid var(--border);background:var(--surface);width:100%;box-shadow:var(--shadow-xs);cursor:pointer;font-family:var(--font-sans);align-items:center;gap:14px;padding:15px 16px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.role-card--tutor{--rc-color:var(--accent);--rc-soft:#e8734a1a}.role-card--student{--rc-color:var(--indigo);--rc-soft:#6366f11a}.role-card--parent{--rc-color:var(--success);--rc-soft:#10b9811a}.role-card--active{border-color:var(--rc-color);background:var(--rc-soft);box-shadow:0 4px 14px var(--rc-soft)}.role-card__icon{background:var(--rc-soft);width:46px;height:46px;color:var(--rc-color);border-radius:13px;flex:none;place-items:center;display:grid}.role-card__icon svg{width:22px;height:22px}.role-card__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.role-card__title{color:var(--text-primary);letter-spacing:-.2px;font-size:16px;font-weight:600}.role-card__desc{color:var(--text-secondary);font-size:13px;line-height:1.4}.role-card__check{border:1.5px solid var(--border-active);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;transition:all .18s;display:grid}.role-card__check svg{color:#fff;opacity:0;width:13px;height:13px}.role-card--active .role-card__check{background:var(--rc-color);border-color:var(--rc-color)}.role-card--active .role-card__check svg{opacity:1}.auth-link{color:var(--text-muted);font-size:13px;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;padding:8px}.auth-link:hover{color:var(--text-primary)}.auth-tutor-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);width:100%;max-width:340px;box-shadow:var(--shadow-sm);text-align:left;align-items:center;gap:12px;padding:14px;animation:.55s ease-out 50ms both cardIn;display:flex}.auth-tutor-card__info{flex-direction:column;gap:2px;min-width:0;display:flex}.auth-tutor-card__name{color:var(--text-primary);letter-spacing:-.1px;font-size:15px;font-weight:600}.auth-tutor-card__meta{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.invite-kind{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-block}@media (max-width:360px){.auth-screen{gap:18px;padding:24px 18px}.splash-title,.auth-title{font-size:20px}.auth-icon{border-radius:24px;width:88px;height:88px}.auth-icon svg{width:42px;height:42px}}
