.bk{max-width:390px;margin:0 auto;min-height:100%;background:var(--ground)}.bk-head{padding:20px 20px 18px;background:var(--rail);color:var(--rail-ink)}.bk-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--rail-ink);text-decoration:none;font-size:13px;font-weight:500}.bk-title{font-family:var(--font-display);font-weight:700;font-size:25px;line-height:1.15;margin:15px 0 0;font-variant-numeric:lining-nums}.bk-sub{display:flex;align-items:center;gap:8px;margin-top:9px}.bk-credits{height:26px;padding:0 11px;border-radius:var(--radius-pill);background:#ffffff1f;font-size:12px;font-weight:600;display:inline-flex;align-items:center}.bk-sub small{font-size:11px;color:var(--rail-ink-muted)}.bk-days{display:flex;gap:6px;padding:14px 20px;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--line)}.bk-day{flex:0 0 auto;width:56px;height:56px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bk-day small{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em}.bk-day b{font-family:var(--font-display);font-size:17px;font-weight:700;font-variant-numeric:lining-nums}.bk-day.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.bk-day.on small{color:#ffffffb3}.bk-body{padding:16px 20px 24px}.bk-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:11px}.bk-slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.bk-slot{width:100%;display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:left}.bk-slot b{font-family:var(--font-display);font-size:17px;font-weight:700;font-variant-numeric:lining-nums tabular-nums}.bk-slot small{display:block;font-size:11px;color:var(--ink-faint);margin-top:2px}.bk-slot.on{border:2px solid var(--accent)}.bk-tick{width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:12px}.bk-empty{padding:20px 16px;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--ink-muted);font-size:13.5px;line-height:1.55}.bk-note{margin-top:18px;padding:13px 14px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}.bk-foot{position:sticky;bottom:0;padding:14px 20px calc(22px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line)}.bk-foot-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;font-size:12px;color:var(--ink-muted)}.bk-cta{width:100%;height:48px;border:0;border-radius:var(--radius-lg);background:var(--accent);color:var(--accent-ink);font-size:15px;font-weight:600}.bk-cta:disabled{background:var(--sunken, var(--surface-sunken));color:var(--ink-faint)}.bk-error{margin:0 0 10px;font-size:12.5px;line-height:18px;color:var(--warn)}.bk-done-mark{width:34px;height:34px;border-radius:50%;background:#ffffff24;color:var(--rail-ink);display:grid;place-items:center}.bk-done-body{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.bk-demo{padding:13px 14px;margin-bottom:14px;border-radius:var(--radius-lg);background:var(--warn-soft);border:1px solid var(--warn);color:var(--ink);font-size:12.5px;line-height:18px}.bk-done-card{padding:15px 16px;margin-bottom:11px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card)}.bk-done-card .bk-label{margin-bottom:7px}.bk-done-when{font-family:var(--font-display);font-weight:700;font-size:23px;line-height:1.15;font-variant-numeric:lining-nums}.bk-done-time{font-family:var(--font-display);font-size:17px;line-height:24px;font-variant-numeric:lining-nums tabular-nums;margin-top:1px}.bk-done-text{margin:0;font-size:13.5px;line-height:20px;color:var(--ink-muted)}.bk-done-list{margin:0;padding-left:17px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:19px;color:var(--ink-muted)}.bk-again{margin-top:9px}.bk-body:last-of-type:not(.bk-done-body){padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}a.bk-slot,a.bk-slot:hover{color:inherit;text-decoration:none}a.bk-slot:hover{background:var(--surface-sunken)}.bk-buy+.hm-fine{margin-top:10px}.hm{max-width:390px;margin:0 auto;min-height:100%;background:var(--ground)}.hm-head{padding:26px 20px 20px;background:var(--rail);color:var(--rail-ink)}.hm-hello{font-family:var(--font-display);font-weight:700;font-size:27px;line-height:1.12;margin:0}.hm-sub{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.hm-credits{height:26px;padding:0 11px;border-radius:var(--radius-pill);background:#ffffff1f;font-size:12px;font-weight:600;display:inline-flex;align-items:center}.hm-sub small{font-size:11px;color:var(--rail-ink-muted)}.hm-body{padding:16px 20px calc(104px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:20px}.hm-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:9px}.hm-sec>.hm-label{margin-bottom:9px}.hm-card{padding:16px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card)}.hm-next{padding-bottom:14px}.hm-when{font-family:var(--font-display);font-weight:700;font-size:29px;line-height:1.1;font-variant-numeric:lining-nums}.hm-date{font-family:var(--font-display);font-size:17px;line-height:24px;font-variant-numeric:lining-nums tabular-nums;margin-top:2px}.hm-meta{font-size:11.5px;color:var(--ink-faint);margin-top:3px}.hm-actions{display:flex;flex-direction:column;gap:9px;margin-top:15px}.hm-cta{display:flex;width:100%;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent);color:var(--accent-ink);font-size:15px;font-weight:600;text-decoration:none;text-align:center}.hm-cta:hover{color:var(--accent-ink)}.hm-ghost{display:flex;width:100%;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;text-align:center}.hm-ghost:hover{background:var(--surface-sunken);color:var(--ink)}.hm-minor{display:flex;align-items:center;gap:4px;margin-top:12px}.hm-minor-btn{display:inline-flex;align-items:center;box-sizing:border-box;min-height:44px;margin:0;padding:0 10px;border:0;background:transparent;appearance:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;line-height:1;color:var(--ink-muted);text-decoration:underline;text-underline-offset:3px}.hm-minor-btn:first-child{padding-left:0}.hm-minor-btn:disabled{opacity:.6;cursor:default}.hm-minor-btn:hover{color:var(--ink)}.hm-minor-sep{width:1px;height:14px;background:var(--line)}.hm-window{margin:2px 0 0;font-size:12px;line-height:18px;color:var(--ink-faint)}.hm-panel{margin-top:12px;padding:14px;border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--line);display:flex;flex-direction:column;gap:9px}.hm-panel p{margin:0;font-size:13px;line-height:19px;color:var(--ink-muted)}.hm-danger{min-height:46px;padding:0 16px;border-radius:var(--radius-lg);border:1px solid var(--warn);background:var(--warn-soft);color:var(--warn);font-size:14px;font-weight:600}.hm-danger:disabled{opacity:.6}.hm-notice{margin:0;padding:11px 13px;border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--line-strong);font-size:12.5px;line-height:18px;color:var(--ink-muted)}.hm-none{border-style:dashed;border-color:var(--line-strong);box-shadow:none}.hm-none .hm-when{color:var(--ink-muted)}.hm-none .hm-cta{margin-top:15px}.hm-empty-text{margin:7px 0 0;font-size:13px;line-height:20px;color:var(--ink-muted)}.hm-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hm-link{display:flex;align-items:center;gap:11px;min-height:52px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);text-decoration:none}.hm-link:hover{background:var(--surface-sunken);color:var(--ink)}.hm-link-date{flex:0 0 auto;min-width:40px;font-size:11.5px;font-weight:500;color:var(--ink-faint);font-variant-numeric:tabular-nums}.hm-link-title{flex:1;font-size:13.5px;line-height:18px;font-weight:500}.hm-link-ico{flex:0 0 auto;color:var(--ink-faint)}.hm-fine{margin:10px 0 0;font-size:11.5px;line-height:17px;color:var(--ink-faint)}.hm-bal{display:flex;align-items:baseline;gap:8px}.hm-bal b{line-height:1}.hm-bal span{font-size:13px;color:var(--ink-muted)}.hm-src{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line);font-size:12.5px;line-height:18px;color:var(--ink-muted)}.hm-plus{flex:0 0 auto;height:22px;padding:0 9px;border-radius:var(--radius-pill);background:var(--good-soft);color:var(--good);font-size:11.5px;font-weight:600;display:inline-flex;align-items:center}.hm-src small{display:block;font-size:11px;color:var(--ink-faint);margin-top:2px}.hm-signout{align-self:flex-start;min-height:44px;padding:0 2px;border:0;background:transparent;color:var(--ink-faint);font-size:13px;text-decoration:underline;text-underline-offset:3px}.hm-signout:hover{color:var(--ink)}.sn{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:390px;z-index:5;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.sn-item{flex:1;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-faint);text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.01em}.sn-item:hover{color:var(--ink-muted)}.sn-item.on,.sn-item.on:hover{color:var(--accent)}.hm-notice{color:var(--ink)}.hm-notice-demo{background:var(--warn-soft);border-color:var(--warn)}.hm-live{color:var(--accent);font-weight:600}.hm-panel-error{color:var(--warn)!important}.hm-later{padding:13px 16px 8px}.hm-later-when{font-family:var(--font-display);font-size:16px;line-height:22px;font-weight:700;font-variant-numeric:lining-nums tabular-nums}.hm-later .hm-minor{margin-top:4px}.hm-later .hm-window{margin:6px 0}.hm-req{display:block}.hm-req-status{display:block;margin-top:2px;font-size:12px;color:var(--ink-muted)}.hm-req-withdraw{padding-left:0}.hm-materials{scroll-margin-top:16px}.hm-sublabel{margin:12px 0 7px;font-size:12px;font-weight:600;color:var(--ink-muted)}.hm-materials>.hm-label+.hm-sublabel{margin-top:0}.hm-bal-row+.hm-bal-row{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.hm-bal-note{display:block;margin-top:4px;font-size:12px;line-height:17px;color:var(--ink-faint)}.hm-panel textarea.portal-input{background:var(--surface)}.hm-call{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.hm-call .hm-cta{justify-content:center;text-align:center}.hm-call .hm-fine{margin-top:2px}.hm-head{background:linear-gradient(180deg,var(--pink-soft),var(--surface));color:var(--ink);padding:32px 20px 18px}.hm-hello{font-size:30px}.hm-credits{height:30px;padding:0 13px;background:var(--surface);border:1px solid var(--pink);color:var(--accent);font-size:14px}.hm-sub small{font-size:13px;color:var(--ink-faint)}.hm-card{border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow-card)}.hm-cta{border-radius:var(--radius-pill);min-height:52px;font-size:16px;box-shadow:0 4px 14px -6px #4a342673}.hm-label{font-size:12px;letter-spacing:.06em}:root{--ground: #FFFFFF;--surface: #FFFFFF;--surface-sunken: #F8F4F2;--rail: #FFFFFF;--rail-ink: #3A2A1F;--rail-ink-muted: #8A776B;--ink: #3A2A1F;--ink-muted: #6B584B;--ink-faint: #7E6B5F;--line: #EFE7E3;--line-strong: #D8C9C2;--accent: #4A3426;--accent-ink: #FFFFFF;--accent-soft: #FBEFED;--warn: #B03A36;--warn-soft: #FBE8E6;--good: #2F6B55;--good-soft: #E4F2EB;--focus-ring: #C98A84;--pink: #F3D9D5;--pink-strong: #9E5550;--pink-soft: #FBEFED;--lt-individual-fill: #E3EDF5;--lt-individual-on-fill: #264A63;--lt-individual-soft: #F0F5FA;--lt-individual-on-soft: #264A63;--lt-group-fill: #E4EFDD;--lt-group-on-fill: #35502C;--lt-group-soft: #F1F6EE;--lt-group-on-soft: #35502C;--lt-czech-fill: #EEE5F3;--lt-czech-on-fill: #4F3462;--lt-czech-soft: #F6F1F9;--lt-czech-on-soft: #4F3462;--lt-intro-fill: #FBE8D8;--lt-intro-on-fill: #72431C;--lt-intro-soft: #FDF3EA;--lt-intro-on-soft: #72431C;--lt-blocked-fill: #F1ECE8;--lt-blocked-on-fill: #5A4E45;--lt-blocked-soft: #F7F4F1;--lt-blocked-on-soft: #5A4E45;--font-display: "Cardo", Georgia, serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--space-0: 2px;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--space-9: 40px;--space-10: 56px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(58,42,31,.05), 0 4px 14px rgba(58,42,31,.05);--shadow-drawer: -12px 0 32px -12px rgba(58,42,31,.22);--shadow-drag: 0 14px 30px -8px rgba(58,42,31,.35);--cal-hour-height: 58px;--cal-first-hour: 7;--cal-last-hour: 21;--cal-min-block-height: 42px;--cal-block-gap-x: 2px;--cal-block-radius: 10px;--cal-time-gutter-width: 54px;--cal-day-header-height: 52px;--cal-closed-day-pattern: repeating-linear-gradient(135deg, rgba(126,107,95,.09) 0 1px, transparent 1px 12px);--cal-hard-block-pattern: repeating-linear-gradient(135deg, rgba(90,78,69,.14) 0 3px, transparent 3px 9px);--cal-soft-block-pattern: none;--motion-fast: .14s;--motion-base: .22s;--motion-slow: .32s;--motion-easing: cubic-bezier(.2, 0, 0, 1);--motion-spring: cubic-bezier(.34, 1.4, .64, 1)}.t-display-xl{font-family:var(--font-display);font-size:40px;line-height:44px;font-weight:700;font-variant-numeric:lining-nums tabular-nums}.t-display-l{font-family:var(--font-display);font-size:32px;line-height:36px;font-weight:700;font-variant-numeric:lining-nums tabular-nums}.t-display-m{font-family:var(--font-display);font-size:26px;line-height:31px;font-weight:700;font-variant-numeric:lining-nums tabular-nums}.t-display-s{font-family:var(--font-display);font-size:22px;line-height:27px;font-weight:700;font-variant-numeric:lining-nums tabular-nums}.t-metric-xl{font-family:var(--font-display);font-size:36px;line-height:40px;font-weight:700;font-variant-numeric:lining-nums tabular-nums}.t-prose-l{font-family:var(--font-display);font-size:16px;line-height:25px;font-weight:400;font-variant-numeric:lining-nums tabular-nums}.t-prose-m{font-family:var(--font-display);font-size:15px;line-height:23px;font-weight:400;font-variant-numeric:lining-nums tabular-nums}.t-title-m{font-family:var(--font-body);font-size:17px;line-height:23px;font-weight:600;letter-spacing:-.005em}.t-title-s{font-family:var(--font-body);font-size:15px;line-height:20px;font-weight:600}.t-body-l{font-family:var(--font-body);font-size:16px;line-height:24px;font-weight:400}.t-body-m{font-family:var(--font-body);font-size:15px;line-height:22px;font-weight:400}.t-body-s{font-family:var(--font-body);font-size:14px;line-height:20px;font-weight:400}.t-caption{font-family:var(--font-body);font-size:13px;line-height:18px;font-weight:400;letter-spacing:.002em}.t-block-name{font-family:var(--font-body);font-size:13px;line-height:16px;font-weight:600;letter-spacing:-.004em}.t-block-meta{font-family:var(--font-body);font-size:12px;line-height:15px;font-weight:400;letter-spacing:.004em}.t-label{font-family:var(--font-body);font-size:11.5px;line-height:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.t-num-m{font-family:var(--font-mono);font-size:14px;line-height:19px;font-weight:500}.t-num-s{font-family:var(--font-mono);font-size:12.5px;line-height:17px;font-weight:400}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:22px;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.num,td.num,.t-num-m,.t-num-s{font-variant-numeric:tabular-nums}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--pink-strong)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}.scroll-x{overflow-x:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}[hidden]{display:none!important}.shell{display:flex;height:100%}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column}.rail{width:72px;flex-shrink:0;background:var(--rail);display:flex;flex-direction:column;align-items:center;padding:var(--space-5) 0 var(--space-3);gap:var(--space-1)}.rail-mark{width:36px;height:36px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--rail);display:grid;place-items:center;margin-bottom:var(--space-6);font-family:var(--font-display);font-size:19px;font-weight:700}.rail-item{position:relative;width:46px;height:46px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--rail-ink-muted);text-decoration:none;transition:background var(--motion-fast) var(--motion-easing)}.rail-item:hover{background:#ffffff12;color:var(--rail-ink)}.rail-item.active{color:var(--rail-ink);background:#ffffff1c}.rail-label{font-size:8px;letter-spacing:.02em}.rail-icon{display:block;height:19px}.rail-spacer{flex:1}.rail-badge{position:absolute;top:2px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--warn);color:#fff;font-size:10px;font-weight:600;display:grid;place-items:center}.topbar{height:64px;flex-shrink:0;padding:0 var(--space-6);border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;gap:var(--space-5)}.subbar{height:48px;flex-shrink:0;padding:0 var(--space-6);border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;gap:var(--space-4)}.spacer{flex:1}.btn{height:34px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;text-decoration:none;justify-content:center}.btn:hover{background:var(--surface-sunken)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-primary:hover{background:#2e2219}.btn-icon{width:32px;padding:0;justify-content:center}.chip{height:24px;padding:0 9px;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink-muted);font-size:11px;display:inline-flex;align-items:center;gap:5px;border:1px solid transparent}.chip-parity{background:var(--accent-soft);color:var(--ink-muted);border-color:var(--line)}.cal{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.cal-head{display:flex;padding-left:var(--cal-time-gutter-width);border-bottom:1px solid var(--line);flex-shrink:0}.cal-head-day{flex:1;padding:8px 8px 7px;border-left:1px solid var(--surface-sunken)}.cal-head-day.closed{background:var(--surface-sunken)}.cal-head-day.capped{background:color-mix(in srgb,var(--surface-sunken) 45%,var(--surface))}.cal-dow{font-size:11px;letter-spacing:.04em;color:var(--ink-faint);text-transform:uppercase}.cal-dom{font-size:17px;font-weight:700;font-family:var(--font-display);font-variant-numeric:lining-nums}.cal-note{font-size:9px;color:var(--ink-faint)}.cal-body{flex:1;min-height:0;overflow-y:auto;display:flex;position:relative;padding:10px 0 16px}.cal-gutter{width:var(--cal-time-gutter-width);flex-shrink:0;position:relative;height:calc((var(--cal-last-hour) - var(--cal-first-hour)) * var(--cal-hour-height))}.cal-hour{position:absolute;right:8px;font-size:10px;color:var(--ink-faint);transform:translateY(-50%)}.cal-day{flex:1;position:relative;border-left:1px solid var(--surface-sunken);height:calc((var(--cal-last-hour) - var(--cal-first-hour)) * var(--cal-hour-height));background-image:repeating-linear-gradient(to bottom,var(--surface-sunken) 0 1px,transparent 1px var(--cal-hour-height))}.cal-day.closed{background-color:var(--surface-sunken);background-image:var(--cal-closed-day-pattern)}.cal-day.capped{background-color:color-mix(in srgb,var(--surface-sunken) 30%,var(--surface))}.cal-closed-label{position:absolute;inset-inline:0;top:46%;text-align:center;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--ink-faint)}.cal-block{position:absolute;left:var(--cal-block-gap-x);right:var(--cal-block-gap-x);border-radius:var(--cal-block-radius);padding:5px 7px;overflow:hidden;border:1px solid;text-align:left;width:auto;display:block}.cal-block:hover{filter:brightness(.975)}.cal-lesson{min-height:var(--cal-min-block-height)}.cal-block-name{display:block;font-size:11.5px;line-height:14px;font-weight:600;letter-spacing:-.004em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-block-meta{display:block;font-size:10px;line-height:13px;letter-spacing:.004em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-block.parity:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:repeating-linear-gradient(to bottom,currentColor 0 5px,transparent 5px 10px);opacity:.62}.parity-tag{font-family:var(--font-mono);font-size:9px;opacity:.85}.lt-individual{background:var(--lt-individual-fill);color:var(--lt-individual-on-fill);border-color:var(--lt-individual-on-fill)}.lt-group{background:var(--lt-group-fill);color:var(--lt-group-on-fill);border-color:var(--lt-group-on-fill)}.lt-czech{background:var(--lt-czech-fill);color:var(--lt-czech-on-fill);border-color:var(--lt-czech-on-fill)}.lt-intro{background:var(--lt-intro-fill);color:var(--lt-intro-on-fill);border-color:var(--lt-intro-on-fill)}.cal-block.blk-hard{background:var(--lt-blocked-fill);color:var(--lt-blocked-on-fill);border-color:var(--lt-blocked-on-fill);background-image:var(--cal-hard-block-pattern)}.cal-block.blk-soft{background:transparent;color:var(--ink-faint);border:1px dashed var(--line-strong)}.state{padding:var(--space-8);color:var(--ink-muted)}.state-err{color:var(--warn)}.portal{max-width:390px;margin:0 auto;padding:56px 24px 40px;display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}.portal-mark{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-family:var(--font-display);font-size:23px;font-weight:700}.portal h1{margin:var(--space-4) 0 0}.portal p{margin:0}.portal-fine{color:var(--ink-faint)}.portal-form{width:100%;display:flex;flex-direction:column;gap:7px;margin-top:var(--space-4)}.portal-input{width:100%;height:50px;padding:0 15px;border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:var(--surface);font-size:15px}.portal-submit{height:50px;justify-content:center;font-size:15px}.portal-card{width:100%;padding:15px 16px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}.cal-wrap{flex:1;min-height:0;display:flex}.cal-wrap>.cal{flex:1;min-width:0}.drawer{width:340px;flex-shrink:0;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-drawer);display:flex;flex-direction:column}.drawer-head{padding:16px 18px 14px;border-bottom:1px solid var(--line)}.drawer-head-row{display:flex;align-items:flex-start;gap:10px}.drawer-dot{width:10px;height:10px;border-radius:3px;margin-top:8px;flex-shrink:0;border:1px solid}.drawer-chips{display:flex;gap:6px;margin-top:11px;flex-wrap:wrap}.drawer-body{flex:1;min-height:0;overflow-y:auto;padding:16px 18px}.drawer-foot{padding:13px 18px;border-top:1px solid var(--line);display:flex;gap:7px;flex-shrink:0}.plist{list-style:none;margin:9px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}.prow{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius-md)}.chip-warn{background:var(--warn-soft);color:var(--warn);font-weight:600}.chip-good{background:var(--good-soft);color:var(--good);font-weight:600}.callout{margin-top:16px;padding:11px 12px;border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--line)}.callout-warn{background:var(--warn-soft);border-color:#e7c9c4;color:var(--warn)}.callout-warn p{color:#7a4a42}.cal-block.unpaid:after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:4px;background:var(--warn);box-shadow:0 0 0 1.5px var(--surface)}.cal-block.selected{box-shadow:0 0 0 2px var(--ink)}.cal-lesson{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cal-block.dragging{opacity:.38}.cal-ghost{position:absolute;left:var(--cal-block-gap-x);right:var(--cal-block-gap-x);border-radius:var(--cal-block-radius);padding:5px 7px;pointer-events:none;border:2px dashed var(--accent);background:var(--accent-soft);color:var(--ink-muted);overflow:hidden;z-index:3}.cal-ghost.bad{border-color:var(--warn);background:var(--warn-soft);color:var(--warn)}.cal-ghost .cal-block-name{display:block;font-family:var(--font-mono);font-size:12px}.cal-ghost .cal-block-meta{display:block}.movebar{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--line);background:var(--accent-soft)}.movebar-note{background:var(--warn-soft)}.movebar-warn{color:var(--warn)}.split{flex:1;min-height:0;display:flex}.split-list{flex:1;min-width:0;overflow:auto;background:var(--surface)}.tbl{width:100%;border-collapse:collapse}.tbl th{position:sticky;top:0;z-index:1;text-align:left;font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);background:var(--surface-sunken);padding:9px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:11px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover{background:var(--accent-soft)}.tbl tbody tr.sel{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.prow-click{cursor:pointer}.prow-click:hover{background:var(--accent-soft)}.prow-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.kv{margin:9px 0 0;display:flex;flex-direction:column;gap:0}.kv>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.kv>div:last-child{border-bottom:0}.kv dt{color:var(--ink-muted);font-size:13px;margin:0}.kv dd{margin:0;font-size:13px}.roster{width:292px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column}.roster-head{padding:14px 16px;border-bottom:1px solid var(--line)}.roster-search{width:100%;height:32px;padding:0 11px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--ground);font-size:13px}.roster-filters{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.chip-on{background:var(--accent);color:var(--accent-ink)}.chip-level{background:var(--accent-soft);border-color:var(--line);color:var(--ink-muted)}.roster-list{list-style:none;margin:0;padding:0;flex:1;overflow-y:auto}.roster-item{width:100%;display:flex;align-items:center;gap:9px;padding:10px 16px;border:0;background:transparent;text-align:left;border-left:3px solid transparent}.roster-item:hover{background:var(--accent-soft)}.roster-item.on{background:var(--ground);border-left-color:var(--accent)}.profile{flex:1;min-width:0;display:flex;flex-direction:column}.profile-head{display:flex;align-items:center;gap:10px;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0}.profile-title{display:flex;align-items:baseline;gap:10px;min-width:0}.profile-body{flex:1;min-height:0;overflow-y:auto;padding:18px 24px 40px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{padding:13px 15px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.stat .t-metric-xl{margin-top:3px}.cols{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:16px;align-items:start}.col{display:flex;flex-direction:column;gap:14px;min-width:0}.card{padding:16px 17px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.btn-sm{height:26px;padding:0 10px;font-size:11px}.btn-warnish{border-color:#d9b6ae;background:var(--warn-soft);color:var(--warn)}.qa{margin:0;display:flex;flex-direction:column;gap:11px}.qa dt{color:var(--ink-faint);margin:0 0 2px}.qa dd{margin:0;white-space:pre-line}.taglist{display:inline-flex;gap:5px;flex-wrap:wrap}.ledger{list-style:none;margin:0;padding:0}.ledger li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.ledger li:last-child{border-bottom:0}.ledger-delta{width:34px;flex-shrink:0;font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--ink-faint)}.ledger-delta.up{color:var(--good)}.ledger-delta.down{color:var(--warn)}.actions{display:flex;flex-direction:column;gap:6px}.actions .btn{height:auto;padding:9px 11px;justify-content:flex-start;text-align:left;display:block}.board{flex:1;min-height:0;display:flex;gap:16px;padding:18px 22px;overflow-y:auto}.board-grid{flex:1;min-width:0;display:grid;gap:14px;align-content:start;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.gcard{padding:15px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);border-top:3px solid var(--lt-group-on-fill)}.gcard.proposed{border:1.5px dashed var(--warn);background:var(--warn-soft)}.gcard-ind{border-top-color:var(--lt-individual-on-fill)}.gcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.gmembers{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.gmember{width:100%;display:flex;align-items:center;gap:7px;padding:5px 7px;border:0;background:transparent;border-radius:var(--radius-sm);text-align:left}.gmember:hover{background:var(--accent-soft)}.proposed-row .gmember{border:1.5px dashed var(--warn);background:var(--surface)}.tag-proposal{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;padding:2px 5px;border-radius:var(--radius-xs);background:var(--warn);color:#fff}.gslot{padding:7px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);text-align:center;font-size:11px;color:var(--ink-faint)}.gnote{margin:12px 0 0;padding-top:11px;border-top:1px solid var(--line);color:var(--ink-muted)}.gcard.proposed .gnote{border-top-color:#e7c9c4}.waiting{width:296px;flex-shrink:0;padding:15px 16px;align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.chip-click{cursor:pointer;border:1px solid var(--line)}.chip-click:hover{background:var(--accent-soft)}.stat-warn{border-color:#e7c9c4;background:var(--warn-soft)}.stat-warn .t-label{color:var(--warn)}.t-num-m.neg{color:var(--warn);font-weight:600}.tbl-section td{background:var(--surface-sunken);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);padding:8px 16px}.tbl-section{cursor:default}.tbl tbody tr.tbl-section:hover{background:var(--surface-sunken)}.tbl-read tbody tr{cursor:default}.tbl-read th,.tbl-read td{padding-left:12px;padding-right:12px}.tbl tbody tr.attn{background:var(--warn-soft);box-shadow:inset 3px 0 0 var(--warn)}.tbl tbody tr.attn:hover{background:var(--warn-soft)}.swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0;border:1px solid var(--line-strong);background:var(--surface-sunken)}.swatch-row{display:inline-flex;align-items:center;gap:6px}.sw-open{background:var(--good-soft);border-color:var(--good)}.sw-own{background:var(--accent-soft);border-color:var(--line-strong)}.sw-hard{background:var(--lt-blocked-fill);border-color:var(--lt-blocked-on-fill);background-image:var(--cal-hard-block-pattern)}.sw-soft{background:transparent;border-style:dashed;border-color:var(--line-strong)}.ellip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rules{list-style:none;margin:0;padding:0}.rules li{padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink-muted)}.rules li:last-child{border-bottom:0;padding-bottom:0}.rules strong{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}.wt{display:grid;grid-template-columns:116px minmax(0,1fr);column-gap:12px;margin-top:4px}.wt-corner{height:18px}.wt-axis{position:relative;height:18px}.wt-tick{position:absolute;top:2px;color:var(--ink-faint);white-space:nowrap}.wt-daycell{display:flex;flex-direction:column;justify-content:center;padding:7px 0;border-top:1px solid var(--line);min-width:0}.wt-daycell .t-title-s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wt-lanes{display:flex;flex-direction:column;gap:4px;justify-content:center;padding:7px 0;border-top:1px solid var(--line)}.wt-lane{position:relative;height:30px;border-radius:var(--radius-sm);background-color:var(--surface);background-image:repeating-linear-gradient(to right,var(--surface-sunken) 0 1px,transparent 1px calc(100% / 14));box-shadow:inset 0 0 0 1px var(--surface-sunken)}.wt-lane.closed{background-color:var(--surface-sunken);background-image:var(--cal-closed-day-pattern);box-shadow:inset 0 0 0 1px var(--line)}.wt-band{position:absolute;top:0;bottom:0;z-index:2;border:1px solid;border-radius:var(--radius-sm);padding:0 6px;display:flex;align-items:center;overflow:hidden}.wt-text{font-size:11px;line-height:15px;letter-spacing:.002em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wt-open{z-index:1;background:var(--good-soft);border-color:var(--good);color:var(--good)}.wt-own{z-index:1;background:var(--accent-soft);border-color:var(--line-strong);color:var(--ink-muted)}.wt-hard{background:var(--lt-blocked-fill);border-color:var(--lt-blocked-on-fill);color:var(--lt-blocked-on-fill);background-image:var(--cal-hard-block-pattern)}.wt-soft{background:transparent;border:1px dashed var(--line-strong);color:var(--ink-faint)}.wt-parity{position:absolute;right:5px;top:50%;transform:translateY(-50%);z-index:3;height:20px;font-size:9px;letter-spacing:.06em;font-family:var(--font-mono);background:var(--surface);border-color:var(--line)}.wt-parity.chip-parity{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.fields{display:flex;flex-direction:column;gap:13px}.field>label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.field-ctl{display:flex;align-items:center;gap:8px}.field-input{width:82px;height:32px;padding:0 10px;text-align:right;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--ground);color:var(--ink);font-family:var(--font-mono);font-size:13px}.field-unit{color:var(--ink-muted);font-size:13px}.field-hint{display:block;color:var(--ink-faint);margin:3px 0 0;font-weight:400}.switches{display:flex;flex-direction:column;gap:11px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.switch{display:flex;align-items:flex-start;gap:9px}.switch input{width:15px;height:15px;margin:2px 0 0;flex-shrink:0;accent-color:var(--accent)}.switch>label{font-size:13px;font-weight:600;min-width:0}.kbd-hint{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--ink-faint);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-xs);padding:3px 7px;cursor:help}.err-detail{margin:12px 0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);white-space:pre-wrap;max-width:70ch}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#1f1f1f59;display:flex;align-items:center;justify-content:center;padding:16px}.modal{width:min(460px,100%);max-height:calc(100vh - 32px);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-drawer);display:flex;flex-direction:column;overflow:hidden}.modal .field{margin-bottom:14px}.modal select.field-input,.modal input.field-input{width:100%}.modal .field-input{font-family:var(--font-body);font-size:14px;text-align:left}.cal-block.done{opacity:.55}.cal-block.done .cal-block-name:after{content:" ✓"}.rail-mark,.portal-mark{overflow:hidden;background:none;padding:0}.rail-mark img,.portal-mark img{width:100%;height:100%;display:block;object-fit:cover}.portal{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.portal-input{font-size:16px}textarea.portal-input{display:block;height:auto;min-height:76px;padding:11px 15px;line-height:1.45;resize:vertical;font-family:inherit}.portal .btn{min-height:44px;justify-content:center}.cal-head-day.today{background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}.cal-head-day.today .cal-dow{color:var(--ink);font-weight:600}.cal-head-day.today .cal-dom{color:var(--ink)}.cal-day.today:not(.closed){background-color:color-mix(in srgb,var(--accent-soft) 55%,var(--surface))}.cal-now{position:absolute;left:0;right:0;height:0;z-index:4;pointer-events:none;border-top:2px solid var(--warn)}.cal-now:before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:4px;background:var(--warn)}.cal-block.cancelled{opacity:.5;z-index:0;background-color:var(--surface);border:1px dashed var(--line-strong);box-shadow:none}.cal-block.cancelled .cal-block-name{text-decoration:line-through}.cal-block.cancelled.selected{opacity:.8;box-shadow:0 0 0 2px var(--ink)}.cal-lesson:not(.cancelled){z-index:1}.cal-cancelled-tag{font-weight:600}.cal-rows-error{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #E7C9C4;background:var(--warn-soft);color:var(--warn);font-size:13px}.movebar-info{background:var(--surface-sunken)}.drawer-prow{flex-direction:column;align-items:stretch;gap:8px}.drawer-prow-main{display:flex;align-items:center;gap:9px}.drawer-prow-link{flex:1;min-width:0;display:flex;color:inherit;text-decoration:none}.drawer-prow-link:hover .t-title-s{text-decoration:underline}.drawer-att{display:flex;gap:4px;flex-wrap:wrap}.drawer-att-opt{flex:1;min-height:30px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);font-size:12px;white-space:nowrap}.drawer-att-opt.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.drawer-att-opt.absent.on{background:var(--warn);border-color:var(--warn)}.drawer-suggest{box-shadow:0 0 0 2px var(--warn)}@media(pointer:coarse){.kbd-hint{display:none}.cal-topbar .btn,.drawer .btn,.modal .btn,.movebar .btn{min-height:44px}.cal-topbar .btn-icon,.drawer .btn-icon,.modal .btn-icon,.movebar .btn-icon{min-width:44px}.drawer-att-opt{min-height:40px}}@media(max-width:900px){.cal-wrap{position:relative}.cal-wrap>.drawer{position:absolute;top:0;right:0;bottom:0;z-index:20;width:min(380px,100%);box-shadow:-12px 0 32px -8px #46352859}}.row-actions{display:inline-flex;gap:5px;align-items:center;flex-wrap:wrap;flex-shrink:0}.confirm-inline{display:inline-flex;gap:5px;align-items:center}.btn-danger{background:var(--warn);border-color:var(--warn);color:#fff}.btn-danger:hover{background:var(--warn);filter:brightness(.93)}.check-row{display:flex;gap:7px;align-items:flex-start}.check-row input{margin:3px 0 0;accent-color:var(--accent);flex-shrink:0}.seg{display:flex;gap:0}.seg .btn{flex:1;justify-content:center;border-radius:0}.seg .btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.seg .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0;margin-left:-1px}.field-label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.field-input.field-text,.field-input.field-textarea{text-align:left;font-family:var(--font-body)}.field-input.field-textarea{width:100%;height:auto;min-height:120px;padding:8px 10px;line-height:1.45;resize:vertical}.sheet-actions{display:flex;flex-direction:column;gap:10px}.sheet-actions>.btn{justify-content:center}.sheet-actions .field-input{flex:1}.pick-list{max-height:min(50vh,420px);overflow-y:auto}.pick-row{width:100%;background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;gap:1px}.email-row .t-caption{display:block}.email-add{display:flex;gap:8px;align-items:center;margin-top:10px}.email-add .field-input{flex:1;width:auto;min-width:0}.email-ask{margin-top:16px;padding:11px 12px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-sunken)}.material-link{display:block;color:var(--ink);text-decoration:underline;text-underline-offset:2px}.material-link:hover{color:var(--accent)}.type-balances{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.type-balances li{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.t-metric-xl.neg{color:var(--warn)}.stat-click{cursor:pointer;text-align:left}.stat-click:hover{border-color:var(--line-strong)}.stat-click:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stat-on{box-shadow:inset 0 0 0 2px var(--accent)}.filter-note{display:flex;align-items:center;gap:10px;margin-top:12px}.inbox-detail-close{display:none}@media(max-width:1100px){.split{position:relative}.inbox-detail{position:absolute;top:0;right:0;bottom:0;z-index:20;width:min(400px,100%);display:none;box-shadow:-12px 0 32px -8px #46352859}.inbox-detail.open{display:flex}.inbox-detail-close{display:inline-flex}.col-opt{display:none}.tbl th,.tbl td{padding-left:10px;padding-right:10px}}@media(pointer:coarse){.btn,.btn-sm{min-height:40px}.btn-sm{padding:0 12px;font-size:12px}.btn-icon{min-width:40px}.chip-click,.roster-filters .chip{min-height:36px;padding:0 12px}.roster-item{min-height:48px}.gmember{min-height:40px}.roster-search{height:40px}.stat-click{min-height:44px}}.drawer-ask{flex:1;display:flex;flex-direction:column;gap:8px}.drawer-ask p{margin:0}.drawer-ask-row{display:flex;gap:8px}.profile-head{flex-wrap:wrap;row-gap:8px}.profile-title{flex-wrap:wrap;row-gap:6px}.profile-head .btn,.profile-title .chip{white-space:nowrap}.email-row{flex-wrap:wrap}@media(max-width:1100px){.cols{grid-template-columns:minmax(0,1fr)}.profile-head .spacer{flex-basis:100%;height:0}}.chip{white-space:nowrap}@media(max-width:640px){.shell{flex-direction:column-reverse}.shell-main{min-height:0}.rail{width:100%;flex-direction:row;justify-content:space-around;gap:0;padding:4px max(20px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom))}.rail-mark,.rail-spacer{display:none}.rail-item{flex:1;width:auto;height:50px}.rail-label{font-size:9px}.topbar{height:auto;min-height:56px;flex-wrap:wrap;padding:10px 12px;gap:8px 10px}.subbar{padding:0 12px;overflow-x:auto}.subbar .chip,.subbar .t-label{flex-shrink:0;white-space:nowrap}.cal{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.cal.view-week .cal-head,.cal.view-week .cal-body{min-width:calc(var(--cal-time-gutter-width) + 7 * 124px)}.cal-head-day{scroll-snap-align:start;scroll-margin-left:var(--cal-time-gutter-width)}.cal-wrap>.drawer{width:100%}.students-split .roster{width:100%;border-right:0}.students-split.has-profile .roster,.students-split:not(.has-profile)>:not(.roster){display:none}.profile-head,.profile-body{padding-left:14px;padding-right:14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.board{flex-direction:column;padding:14px}.board>*{width:auto}.waiting{align-self:stretch}.board-grid{grid-template-columns:minmax(0,1fr);flex:none}}.profile-back{display:none}@media(max-width:640px){.profile-back{display:inline-flex;flex-basis:auto}.profile-head .profile-back+.profile-title{flex-basis:100%}}.inote-view{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 8px;margin:-6px -8px;border-radius:var(--radius-md);cursor:text;color:inherit}@media(hover:hover){.inote-view:hover{background:var(--surface-sunken)}}.inote-area{width:100%;min-height:72px;resize:none;overflow:hidden;padding:9px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--ground);font:inherit;font-size:16px;line-height:1.45;color:var(--ink)}.inote-row{display:flex;gap:6px;margin-top:8px}.gcard-toggle{display:flex;align-items:flex-start;gap:8px;flex:1;min-width:0;text-align:left;background:none;border:0;padding:4px 6px;margin:-4px -6px;border-radius:var(--radius-md);color:inherit;cursor:pointer;min-height:44px}.gcard-chev{width:14px;height:14px;flex-shrink:0;margin-top:4px;color:var(--ink-muted);transition:transform var(--motion-fast) var(--motion-easing)}.gcard-chev.open{transform:rotate(90deg)}@media(hover:hover){.gcard-toggle:hover{background:var(--surface-sunken)}}.gnote-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gdetail{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.gdetail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.gmat{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.gmat li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gmat li a{flex:1;min-width:0}.draggable{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.carried{opacity:.35}.drop-over{outline:2px solid var(--accent);outline-offset:2px;background:var(--accent-soft)}.gcard.drop-over{border-color:var(--accent)}.drag-ghost{position:fixed;z-index:100;pointer-events:none;transform:translate(-50%,-130%);padding:8px 14px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:600;box-shadow:0 8px 24px -6px #46352873;white-space:nowrap}.cal-nav{display:flex;gap:6px}.cal-title{min-width:0}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--line)}.seg-btn{height:30px;padding:0 13px;border:0;border-radius:var(--radius-pill);background:none;font-size:13px;font-weight:500;color:var(--ink-muted);cursor:pointer}.seg-btn.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #4635282e}.cal.view-day .cal-head{display:none}.cal-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:8px 10px;border-bottom:1px solid var(--line);flex-shrink:0}.cal-strip-day{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 0 5px;border:1px solid transparent;border-radius:var(--radius-md);background:none;cursor:pointer;color:var(--ink)}.cal-strip-day.closed{color:var(--ink-faint)}.cal-strip-day.today .cal-strip-dom{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.cal-strip-day.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.cal-strip-dow{font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.cal-strip-dom{font-family:var(--font-display);font-size:19px;font-weight:700;line-height:1.1}.cal-strip-n{font-size:11px;min-height:14px;opacity:.8}.cal.view-day .cal-lesson{padding:7px 12px}.cal.view-day .cal-lesson .cal-block-name{font-size:15px}.cal.view-day .cal-lesson .cal-block-meta{font-size:13px;white-space:normal}.cal.view-day .cal-block .cal-block-name{white-space:normal}.month{flex:1;min-height:0;overflow-y:auto;padding:14px 18px 24px;background:var(--ground)}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-dow{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);padding:0 4px 2px}.month-cell{position:relative;min-height:104px;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:6px 7px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;color:var(--ink);overflow:hidden}.month-cell.out{opacity:.45}.month-cell.past .month-list{opacity:.6}.month-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.month-date{font-family:var(--font-display);font-size:16px;font-weight:700}.month-cell.today .month-date{color:var(--accent)}.month-count{position:absolute;top:6px;right:7px;font-size:11px;color:var(--ink-faint)}.month-list{display:flex;flex-direction:column;gap:2px;min-width:0}.month-item{font-size:11px;line-height:1.3;padding:1px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--lt-individual-fill);color:var(--lt-individual-on-fill)}.month-item b{font-weight:600}.month-item.done{opacity:.55}.month-item.lt-group{background:var(--lt-group-fill);color:var(--lt-group-on-fill)}.month-item.lt-czech{background:var(--lt-czech-fill);color:var(--lt-czech-on-fill)}.month-item.lt-intro{background:var(--lt-intro-fill);color:var(--lt-intro-on-fill)}.month-more{font-size:11px;color:var(--ink-faint);padding-left:5px}.month-dots{display:none;flex-wrap:wrap;gap:3px;margin-top:auto}.month-dots i{width:7px;height:7px;border-radius:50%;background:var(--lt-individual-on-fill)}.month-dots i.lt-group{background:var(--lt-group-on-fill)}.month-dots i.lt-czech{background:var(--lt-czech-on-fill)}.month-dots i.lt-intro{background:var(--lt-intro-on-fill)}@media(max-width:900px){.month-item{font-size:10px}.month-cell{min-height:88px}}.cal-title-short{display:none}.cal-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.cal-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title title new" "nav seg seg";align-items:center;gap:8px 10px;padding:10px 12px;height:auto}.cal-title{grid-area:title;min-width:0}.cal-title .t-title-m{font-size:18px}.cal-title-long{display:none}.cal-title-short{display:inline}.cal-nav{grid-area:nav}.seg{grid-area:seg;justify-self:end}.seg-btn{padding:0 11px}.cal-new{grid-area:new}.cal-new-label{display:none}.cal-new{width:40px;padding:0;font-size:20px}.cal-topbar .spacer,.subbar .chip{display:none}.month{padding:10px 8px 20px}.month-grid{gap:4px}.month-cell{min-height:58px;padding:5px}.month-list,.month-count{display:none}.month-dots{display:flex}.month-date{font-size:14px}}.stat-main .t-metric-xl{font-size:40px}.stat-stray{color:var(--warn);margin-top:6px}.slessons{margin-top:16px}.slessons-tabs{margin:2px 0 10px}.slessons-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn);margin-left:6px;vertical-align:middle}.slessons-hint{color:var(--ink-muted);margin:0 0 8px}.slessons-list{list-style:none;margin:0;padding:0}.slessons-month{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 4px}.slesson{width:100%;display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-top:6px;text-align:left;cursor:pointer;color:var(--ink)}.slesson[aria-expanded=true]{border-color:var(--accent);border-bottom-left-radius:0;border-bottom-right-radius:0}.slesson-date{display:flex;flex-direction:column;min-width:84px;font-size:14px}.slesson-date span{font-size:12px;color:var(--ink-muted)}.slesson-what{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slesson-state.st-unmarked{background:var(--warn-soft);color:var(--warn);font-weight:600}.slesson-state.st-cancelled{text-decoration:line-through}.slesson.st-cancelled .slesson-what,.slesson.st-cancelled .slesson-date{opacity:.55}.slesson-detail{padding:10px 12px 12px;border:1px solid var(--accent);border-top:0;border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--ground)}.slesson-detail .kv{display:grid;grid-template-columns:70px minmax(0,1fr);gap:4px 10px;margin:0}.slesson-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px}.switch-inline{display:inline-flex;align-items:center;gap:7px;font-size:14px}.switch-inline input{width:18px;height:18px;accent-color:var(--accent)}.slessons-add{padding:12px;margin-bottom:12px;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--ground)}.slessons-add-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.slessons-add-row .field{display:flex;flex-direction:column;gap:3px;margin:0}.slessons-add-row .field-input{width:100%;height:40px;font-size:16px}@media(max-width:640px){.slessons-add-row{grid-template-columns:1fr 1fr}.slessons-add-row .field:last-child{grid-column:1 / -1}.slesson-date{min-width:76px}}.agenda{flex:1;min-height:0;overflow-y:auto;padding:8px 12px 24px;background:var(--ground)}.agenda-day{margin-bottom:10px}.agenda-head{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 2px 6px;background:none;border:0;cursor:pointer;color:var(--ink)}.agenda-dow{font-family:var(--font-display);font-size:18px;font-weight:700}.agenda-day.today .agenda-dow{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.agenda-n{font-size:12px;color:var(--ink-faint)}.agenda-item{width:100%;display:flex;align-items:center;gap:12px;min-height:56px;margin-top:6px;padding:8px 12px;border:1px solid;border-radius:var(--radius-md);text-align:left;cursor:pointer}.agenda-item.done{opacity:.6}.agenda-item.cancelled{opacity:.45;text-decoration:line-through}.agenda-time{display:flex;flex-direction:column;min-width:48px;font-size:15px;font-weight:600}.agenda-time small{font-size:11px;font-weight:400;opacity:.75}.agenda-name{display:flex;flex-direction:column;min-width:0;font-size:15px;font-weight:600}.agenda-name small{font-size:12px;font-weight:400;opacity:.8}.agenda-note{position:sticky;bottom:0}@media(max-width:640px){.tbl-cards thead{display:none}.tbl-cards,.tbl-cards tbody{display:block;width:100%}.tbl-cards tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:3px;padding:12px 14px;border-bottom:1px solid var(--line)}.tbl-cards td{display:block;padding:0;border:0;min-width:0}.tbl-cards td.num{text-align:right}.tbl-cards .col-opt{display:none}.tbl-cards tr.tbl-section{display:block;padding:10px 14px 6px}.tbl-cards tr.tbl-section td{padding:0}.tbl-inbox td:nth-child(2){grid-area:1 / 1}.tbl-inbox td:nth-child(6){grid-area:1 / 2;justify-self:end}.tbl-inbox td:nth-child(3){grid-area:2 / 1}.tbl-inbox td:nth-child(5){grid-area:2 / 2;font-weight:600}.tbl-inbox td:nth-child(1){grid-area:3 / 1 / 4 / 3;text-align:left;font-size:11px;color:var(--ink-faint)}.tbl-handled td:nth-child(2){grid-area:1 / 1}.tbl-handled td:nth-child(5){grid-area:1 / 2}.tbl-handled td:nth-child(3){grid-area:2 / 1 / 3 / 3}.tbl-handled td:nth-child(4){grid-area:3 / 1 / 4 / 3}.tbl-handled td:nth-child(1){grid-area:4 / 1 / 5 / 3;text-align:left;font-size:11px;color:var(--ink-faint)}.tbl-credits td:nth-child(1){grid-area:1 / 1}.tbl-credits td:nth-child(3){grid-area:1 / 2;font-size:22px;font-weight:700}.tbl-credits td:nth-child(2){grid-area:2 / 1}.tbl-credits td:nth-child(5){grid-area:2 / 2}.tbl-credits td:nth-child(6){grid-area:3 / 1 / 4 / 3;margin-top:6px}.tbl-credits td:nth-child(6) .row-actions{justify-content:flex-start}}.stepper{display:inline-flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.stepper-btn{width:44px;min-height:44px;border:0;background:var(--surface-sunken);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;touch-action:manipulation}.stepper-btn:active{background:var(--accent-soft)}.stepper-btn:disabled{opacity:.35}.stepper-val{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:64px;padding:0 6px}.stepper-val input{width:3.2em;border:0;background:none;text-align:center;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);padding:0}.stepper-suffix{font-size:13px;color:var(--ink-muted)}.bulk{flex:1;min-height:0;overflow-y:auto;padding:12px 16px 28px;background:var(--ground)}.bulk-head{display:flex;gap:8px;align-items:center;position:sticky;top:-12px;padding:12px 0 8px;margin-top:-12px;background:var(--ground);z-index:2}.bulk-head .roster-search{flex:1;height:44px;font-size:16px}.bulk-hint{color:var(--ink-faint);margin:0 0 8px}.bulk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-width:720px}.bulk-row{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.bulk-row.empty .bulk-val{color:var(--warn)}.bulk-who{flex:1;min-width:0;display:flex;flex-direction:column}.bulk-who b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bulk-who small{font-size:12px;color:var(--ink-faint)}.bulk-err{color:var(--warn)!important}.bulk-merge{align-self:flex-start;margin-top:4px;padding:3px 8px;border-radius:var(--radius-pill);border:1px solid var(--warn);background:var(--warn-soft);color:var(--warn);font-size:12px;cursor:pointer}.bulk-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface-sunken);font-size:26px;line-height:1;color:var(--ink);cursor:pointer;touch-action:manipulation;flex-shrink:0}.bulk-val{min-width:40px;text-align:center;font-family:var(--font-display);font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}@media(max-width:640px){.credits-csv{display:none}}.stat-quick{display:flex;align-items:center;gap:12px;margin:4px 0}.stat-quick .t-metric-xl{min-width:44px;text-align:center}.stats.stats-2{grid-template-columns:minmax(0,1fr);max-width:420px}@keyframes ss-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ss-pop{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:none}}@keyframes ss-slide-in{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@keyframes ss-sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@keyframes ss-fade{0%{opacity:0}to{opacity:1}}.btn,.rail-item,.seg-btn,.chip-click,.roster-item,.slesson,.agenda-item,.bulk-btn,.stepper-btn,.month-cell,.cal-strip-day,.gmember,.prow-click,.hm-cta,.bk-slot,.bk-day,.gcard-toggle,.cal-lesson{transition:transform var(--motion-fast) var(--motion-spring),background-color var(--motion-base) var(--motion-easing),box-shadow var(--motion-base) var(--motion-easing),color var(--motion-base) var(--motion-easing),border-color var(--motion-base) var(--motion-easing)}.btn:active,.rail-item:active,.seg-btn:active,.chip-click:active,.roster-item:active,.slesson:active,.agenda-item:active,.bulk-btn:active,.stepper-btn:active,.month-cell:active,.cal-strip-day:active,.gmember:active,.prow-click:active,.hm-cta:active,.bk-slot:active,.bk-day:active{transform:scale(.965)}.card,.stat,.gcard,.agenda-day,.bulk-row,.slesson,.month-cell,.waiting,.portal-card,.hm-card{animation:ss-rise var(--motion-slow) var(--motion-easing) both}.bulk-row:nth-child(2),.agenda-day:nth-child(2),.gcard:nth-child(2),.stat:nth-child(2){animation-delay:30ms}.bulk-row:nth-child(3),.agenda-day:nth-child(3),.gcard:nth-child(3),.stat:nth-child(3){animation-delay:60ms}.bulk-row:nth-child(4),.agenda-day:nth-child(4),.gcard:nth-child(4),.stat:nth-child(4){animation-delay:90ms}.bulk-row:nth-child(5),.agenda-day:nth-child(5),.gcard:nth-child(5){animation-delay:.12s}.bulk-row:nth-child(n+6),.agenda-day:nth-child(n+6),.gcard:nth-child(n+6){animation-delay:.15s}.drawer{animation:ss-slide-in var(--motion-slow) var(--motion-spring) both}.modal{animation:ss-pop var(--motion-slow) var(--motion-spring) both}.modal-backdrop{animation:ss-fade var(--motion-base) var(--motion-easing) both;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#3a2a1f47}.slesson-detail,.gdetail,.inote,.slessons-add{animation:ss-rise var(--motion-base) var(--motion-easing) both}.movebar{animation:ss-sheet-up var(--motion-slow) var(--motion-spring) both}.shell-main{background:var(--ground)}.topbar{min-height:68px;height:auto;padding:12px 28px;gap:14px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}.topbar h1.t-display-s,.topbar .t-display-s{font-size:24px;line-height:30px}.subbar{min-height:48px;height:auto;padding:8px 28px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;row-gap:6px}.profile-body{padding:24px 28px 48px}.state{padding:32px 28px;font-size:15px;color:var(--ink-muted)}.rail{width:88px;background:var(--surface);border-right:1px solid var(--line);padding:20px 0 16px;gap:4px}.rail-mark{width:42px;height:42px;border-radius:12px;margin-bottom:20px}.rail-item{width:68px;height:60px;border-radius:16px;gap:4px;color:var(--rail-ink-muted)}.rail-item:hover{background:var(--surface-sunken);color:var(--rail-ink)}.rail-item.active{background:var(--pink-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--pink)}.rail-label{font-size:11.5px;font-weight:500;letter-spacing:0}.rail-item.active .rail-label{font-weight:600}.rail-icon{height:22px}.rail-icon svg{width:22px;height:22px}.rail-badge{top:4px;right:10px;min-width:18px;height:18px;border-radius:9px;font-size:11px;background:var(--pink-strong)}.btn{height:42px;padding:0 18px;border-radius:var(--radius-pill);font-size:15px;font-weight:600;background:var(--pink-soft);border:1px solid var(--pink);color:var(--accent);gap:8px}.btn:hover{background:var(--pink)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 2px 8px -2px #4a342659}.btn-primary:hover{background:#3a2a1f}.btn-sm{height:36px;padding:0 14px;font-size:14px}.btn-icon{width:42px;padding:0;font-size:18px}.btn-danger,.btn.btn-danger{background:var(--warn);border-color:var(--warn);color:#fff}.btn-warnish{background:var(--warn-soft);border-color:#ebc4c0;color:var(--warn)}.chip{height:28px;padding:0 12px;font-size:13px;background:var(--surface-sunken);color:var(--ink-muted);border:1px solid transparent}.chip-good{background:var(--good-soft);color:var(--good)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-parity{background:var(--pink-soft);border-color:var(--pink);color:var(--accent)}.chip-click:hover{background:var(--pink-soft)}.card,.stat,.gcard,.waiting{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-card);background:var(--surface)}.card{padding:20px 22px}.card-head{margin-bottom:14px}.card-head h2,.card-head .t-title-m{font-size:18px}.stat{padding:16px 18px}.stat .t-label{color:var(--ink-faint)}.cols{gap:20px;margin-top:20px}.col{gap:20px}.field>label,.field label{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}.field-input,.roster-search,.portal-input,.inote-area{height:46px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);font-size:16px;color:var(--ink);padding:0 14px;transition:border-color var(--motion-base) var(--motion-easing),box-shadow var(--motion-base) var(--motion-easing)}.inote-area{height:auto;padding:12px 14px}select.field-input{padding-right:32px}.field-input:focus,.roster-search:focus,.portal-input:focus,.inote-area:focus{outline:none;border-color:var(--pink-strong);box-shadow:0 0 0 4px var(--pink-soft)}.field-hint{font-size:13px;line-height:18px;margin-top:6px;color:var(--ink-faint)}.modal .field{margin-bottom:18px}.seg{padding:4px;background:var(--surface-sunken);border-color:var(--line)}.seg-btn{height:34px;padding:0 16px;font-size:14px}.seg-btn.on{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #3a2a1f1f,0 0 0 1px var(--pink)}.drawer{background:var(--surface);box-shadow:var(--shadow-drawer);border-left:1px solid var(--line)}.drawer-head{padding:20px 22px 16px}.drawer-body{padding:18px 22px}.drawer-foot{padding:14px 22px calc(14px + env(safe-area-inset-bottom));gap:10px;background:var(--surface)}.modal{border-radius:22px;width:min(480px,100%);box-shadow:0 24px 60px -20px #3a2a1f73}.modal .drawer-foot .btn{height:46px}.callout{border-radius:var(--radius-md);padding:12px 14px;font-size:14px}.tbl th{font-size:11.5px;letter-spacing:.06em;padding:12px 18px;color:var(--ink-faint);background:var(--surface-sunken);border-bottom:1px solid var(--line)}.tbl td{padding:14px 18px;border-bottom:1px solid var(--line);font-size:15px}.tbl tbody tr:hover{background:var(--pink-soft)}.tbl tbody tr.sel{background:var(--pink-soft);box-shadow:inset 3px 0 0 var(--pink-strong)}.roster{width:320px;border-right:1px solid var(--line)}.roster-head{padding:16px 18px}.roster-item{min-height:64px;padding:10px 18px;border-left:3px solid transparent}.roster-item:hover{background:var(--surface-sunken)}.roster-item.on{background:var(--pink-soft);border-left-color:var(--pink-strong)}.roster-filters .chip{height:32px}.cal{background:var(--surface)}.cal-head-day{padding:10px 10px 8px;border-left-color:var(--line)}.cal-dow{font-size:12px;color:var(--ink-faint)}.cal-dom{font-size:20px}.cal-note{font-size:11px}.cal-head-day.today{background:var(--pink-soft);box-shadow:inset 0 -3px 0 var(--pink-strong)}.cal-head-day.today .cal-dom,.cal-head-day.today .cal-dow{color:var(--accent)}.cal-day{border-left-color:var(--line)}.cal-day.today{background:#fef8f7}.cal-hour{font-size:12px;color:var(--ink-faint)}.cal-now{background:var(--pink-strong);height:2px}.cal-block{border-radius:var(--cal-block-radius)}.cal-lesson{border-width:1px;box-shadow:0 1px 2px #3a2a1f14;padding:5px 8px}.cal-lesson:hover{box-shadow:0 4px 12px -4px #3a2a1f40}.cal-lesson .cal-block-name{font-size:13px}.cal-lesson .cal-block-meta{font-size:12px}.cal-block.selected,.cal-lesson[aria-pressed=true]{box-shadow:0 0 0 2px var(--pink-strong),0 6px 16px -6px #3a2a1f59}.cal-strip-day.on{background:var(--accent);border-color:var(--accent)}.cal-strip-day.today:not(.on){background:var(--pink-soft)}.cal-strip-day.today .cal-strip-dom{color:var(--pink-strong);text-decoration:none}.cal-strip-day.on .cal-strip-dom{color:var(--accent-ink)}.agenda{background:var(--ground);padding:8px 16px 32px}.agenda-item{min-height:62px;border-radius:14px;box-shadow:0 1px 2px #3a2a1f0f}.agenda-day.today .agenda-dow{color:var(--pink-strong);text-decoration:none}.agenda-day.today .agenda-head:after{content:"dnes";margin-left:8px;font-size:12px;font-weight:600;color:var(--pink-strong)}.month{background:var(--ground)}.month-cell{border-radius:14px;border-color:var(--line)}.month-cell.closed{background:var(--surface-sunken)}.month-cell.today{border-color:var(--pink-strong);box-shadow:inset 0 0 0 1px var(--pink-strong);background:#fef8f7}.month-cell.today .month-date{color:var(--pink-strong)}.movebar{border-radius:16px;margin:0 12px 12px;box-shadow:0 12px 30px -10px #3a2a1f66}.slesson,.bulk-row,.agenda-item{border-color:var(--line)}.slesson{border-radius:14px;min-height:58px}.slesson[aria-expanded=true]{border-color:var(--pink-strong)}.slesson-detail{border-color:var(--pink-strong);background:#fef8f7}.slesson-state.st-taught{background:var(--good-soft);color:var(--good)}.bulk{background:var(--ground)}.bulk-row{border-radius:16px;box-shadow:0 1px 2px #3a2a1f0d}.bulk-btn{background:var(--pink-soft);border-color:var(--pink);color:var(--accent)}.bulk-btn:active{background:var(--accent);color:var(--accent-ink)}.stepper{border-color:var(--line-strong);border-radius:14px}.stepper-btn{background:var(--pink-soft);color:var(--accent)}.gcard{border-top:4px solid var(--lt-group-on-fill)}.gmember{border-radius:12px;min-height:48px}.gmember:hover{background:var(--pink-soft)}@media(max-width:640px){.topbar{padding:12px 16px;min-height:60px}.topbar h1.t-display-s,.topbar .t-display-s{font-size:22px}.subbar{padding:8px 16px}.profile-body{padding:16px 16px 40px}.card{padding:16px}.rail{width:100%;height:auto;border-right:0;border-top:1px solid var(--line);box-shadow:0 -6px 20px -12px #3a2a1f40;padding:6px max(20px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom))}.rail-item{flex:1;width:auto;max-width:64px;height:54px;border-radius:14px}.rail-label{font-size:10.5px}.rail-icon svg{width:21px;height:21px}.drawer{animation-name:ss-sheet-up}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:92vh;border-radius:22px 22px 0 0;animation-name:ss-sheet-up}.roster{width:100%}}@media(max-width:640px){.cal-topbar .cal-nav{gap:6px}.cal-topbar .cal-nav .btn{height:38px;font-size:14px}.cal-topbar .cal-nav .btn-icon{width:38px}.cal-topbar .cal-nav .btn:not(.btn-icon){padding:0 12px}.cal-topbar .seg-btn{height:32px;padding:0 10px;font-size:13.5px}.cal-topbar .cal-new{width:42px;height:42px;font-size:22px}.profile-head .btn{height:38px;font-size:14px}}@media(max-width:640px){.tbl.tbl-cards td{border:0;padding:0;font-size:15px}.tbl.tbl-cards tr{padding:14px 16px;row-gap:4px}.tbl.tbl-credits td:nth-child(3){font-size:24px;font-weight:700;font-family:var(--font-display)}.tbl.tbl-inbox td:nth-child(1),.tbl.tbl-handled td:nth-child(1){font-size:12px}.stat .t-metric-xl{font-size:28px;line-height:32px;white-space:nowrap}.stats{gap:10px}}@media(max-width:640px){.tbl.tbl-cards .t-num-s,.tbl.tbl-cards .t-num-m{font-family:var(--font-body);font-size:14px}}
