:root{--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #1f1f1f);--hint: var(--tg-theme-hint-color, #8a8a8e);--link: var(--tg-theme-link-color, #2481cc);--accent: var(--tg-theme-button-color, #2481cc);--accent-text: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #f1f1f4);--section-bg: var(--tg-theme-section-bg-color, var(--bg));--destructive: var(--tg-theme-destructive-text-color, #e53935);--separator: var(--tg-theme-section-separator-color, rgba(128, 128, 128, .18));--success: #2fb36b;--radius: 16px;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .05);--ease: cubic-bezier(.22, 1, .36, 1);--accent-soft: rgba(36, 129, 204, .12);--accent-soft: color-mix(in srgb, var(--accent) 13%, transparent);--accent-line: rgba(36, 129, 204, .25);--accent-line: color-mix(in srgb, var(--accent) 28%, transparent)}@media(prefers-color-scheme:dark){:root{--bg: var(--tg-theme-bg-color, #17212b);--text: var(--tg-theme-text-color, #f5f5f5);--hint: var(--tg-theme-hint-color, #708499);--link: var(--tg-theme-link-color, #6ab3f3);--accent: var(--tg-theme-button-color, #5288c1);--secondary-bg: var(--tg-theme-secondary-bg-color, #0e1621);--section-bg: var(--tg-theme-section-bg-color, #17212b);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25)}}:root[data-theme=light]{color-scheme:light;--bg: #ffffff;--text: #1f1f1f;--hint: #8a8a8e;--link: #2481cc;--accent: #2481cc;--accent-text: #ffffff;--secondary-bg: #f1f1f4;--section-bg: #ffffff;--destructive: #e53935;--separator: rgba(128, 128, 128, .18);--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .05)}:root[data-theme=dark]{color-scheme:dark;--bg: #17212b;--text: #f5f5f5;--hint: #708499;--link: #6ab3f3;--accent: #5288c1;--accent-text: #ffffff;--secondary-bg: #0e1621;--section-bg: #17212b;--destructive: #ec3942;--separator: rgba(255, 255, 255, .08);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25)}*{box-sizing:border-box}html,body{transition:background-color .3s var(--ease, ease),color .3s var(--ease, ease)}html,body{margin:0;background:var(--secondary-bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.38;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}.page{max-width:640px;margin:0 auto;padding:12px 12px 40px}.header{padding:4px 4px 12px}.title{font-size:22px;font-weight:700;letter-spacing:-.01em}.hint{color:var(--hint)}.small{font-size:13px}.center{text-align:center}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.96)}60%{opacity:1;transform:scale(1.01)}to{transform:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%{box-shadow:0 0 #2fb36b8c}70%{box-shadow:0 0 0 8px #2fb36b00}to{box-shadow:0 0 #2fb36b00}}.fade-in,.tab-content{animation:fade-up .38s var(--ease) both}.pop-in{animation:pop .32s var(--ease) both}.row-in{animation:fade-up .3s var(--ease) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}.tabs{position:relative;display:grid;grid-template-columns:repeat(var(--tab-count, 4),1fr);padding:4px;margin-bottom:14px;background:var(--section-bg);border-radius:18px;box-shadow:var(--shadow)}.tab-indicator{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--tab-count, 4));border-radius:14px;background:var(--accent);transform:translate(calc(var(--tab-index, 0) * 100%));transition:transform .35s var(--ease)}.tab{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;border:none;background:none;padding:7px 2px 6px;border-radius:14px;color:var(--hint);transition:color .25s var(--ease),transform .12s var(--ease)}.tab:active{transform:scale(.95)}.tab.active{color:var(--accent-text)}.tab-icon{font-size:18px;line-height:1.1}.tab-label{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card{background:var(--section-bg);border-radius:var(--radius);padding:14px;margin-bottom:10px;box-shadow:var(--shadow)}.card.error{color:var(--destructive)}.card.warning{border-left:4px solid #f5a623}.card.empty{color:var(--hint);text-align:center;padding:22px 16px}.empty-icon,.hero-emoji{font-size:34px;margin-bottom:6px}.card.hero{text-align:center;padding:26px 18px}.card.list{padding:4px 14px}.section{margin-top:18px}.section-title{display:flex;justify-content:space-between;align-items:center;color:var(--hint);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:0 6px 8px}.label{color:var(--hint);font-size:13px;margin:14px 6px 6px}.week-title{font-weight:700;font-size:16px;margin:12px 4px 8px}.day-title{font-weight:700;margin:14px 4px 8px;display:flex;align-items:center;gap:8px}.segmented{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0 4px;margin-bottom:6px}.segmented::-webkit-scrollbar{display:none}.segment{flex:1 0 auto;min-width:48px;border:none;border-radius:12px;padding:9px 10px;background:var(--section-bg);box-shadow:var(--shadow);transition:background-color .25s var(--ease),color .25s var(--ease),transform .12s var(--ease)}.segment:active{transform:scale(.96)}.segment.active{background:var(--accent);color:var(--accent-text)}.segment.muted:not(.active){color:var(--hint)}.day-chip{display:flex;flex-direction:column;align-items:center;line-height:1.15}.day-chip small{font-size:11px;opacity:.8}.lesson{border-left:3px solid var(--accent)}.lesson-head{display:flex;gap:8px;align-items:center;font-weight:700}.lesson-time{color:var(--accent)}.lesson-subject{margin-top:5px;font-weight:500}.lesson-place{margin-top:5px;color:var(--hint);font-size:14px}.button{display:block;width:100%;margin-top:12px;border:none;border-radius:14px;padding:13px;background:var(--accent);color:var(--accent-text);font-weight:600;transition:transform .12s var(--ease),opacity .2s,filter .2s}.button:active:not(:disabled){transform:scale(.98);filter:brightness(.95)}.button.small{display:inline-block;width:auto;margin:0;padding:8px 12px;font-size:14px;font-weight:500;border-radius:11px}.button.secondary{background:var(--accent-soft);color:var(--link)}.button.ghost{background:transparent;color:var(--link);box-shadow:inset 0 0 0 1px var(--accent-line)}.button.danger{background:var(--secondary-bg);color:var(--destructive)}.button:disabled{opacity:.5;cursor:default}.link{border:none;background:none;color:var(--link);padding:4px}.link.back{margin-bottom:4px}.center-block{display:block;margin:8px auto 0}.input{width:100%;border:1px solid var(--separator);border-radius:12px;padding:11px 13px;margin-bottom:8px;background:var(--section-bg);color:var(--text);font:inherit;transition:border-color .2s,box-shadow .2s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.check-row{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--separator)}.check-row:last-child{border-bottom:none}.check-row input{margin-top:3px;accent-color:var(--accent);width:17px;height:17px}.check-row.disabled{color:var(--hint)}.actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:none;border-radius:999px;padding:6px 11px;background:var(--secondary-bg);color:var(--link);font-size:13.5px;transition:transform .12s var(--ease)}.chip:active{transform:scale(.95)}.badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--accent-soft);color:var(--accent)}.badge.open{background:#2fb36b24;color:var(--success)}.badge.role-starosta{background:#f5a62329;color:#e0901a}.badge.closed{background:var(--secondary-bg);color:var(--hint)}.person{display:flex;justify-content:space-between;align-items:center;gap:8px}.person .actions{margin-top:0}.poll-row{display:flex;flex-direction:column;gap:8px}.poll-row-main{border:none;background:none;padding:0;text-align:left}.vote-card{border:1px solid var(--accent-line)}.vote-title{font-weight:700;font-size:16px;margin-bottom:2px}.vote-options{margin-top:10px}.option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--separator);border-radius:14px;padding:11px 12px;margin-bottom:8px;background:var(--bg);transition:border-color .25s var(--ease),background-color .25s var(--ease),transform .12s var(--ease)}.option:active{transform:scale(.985)}.option .check{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;border:2px solid var(--separator);color:transparent;font-size:14px;font-weight:800;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s,transform .25s var(--ease)}.option.checked{border-color:var(--accent);background:var(--accent-soft)}.option.checked .check{background:var(--accent);border-color:var(--accent);color:var(--accent-text);transform:scale(1.08)}.option.no.checked{border-color:var(--destructive);background:#e5393514}.option.no.checked .check{background:var(--destructive);border-color:var(--destructive)}.option-text{min-width:0}.option-sub{display:block;font-size:13px;color:var(--hint);margin-top:1px}.option-divider{height:1px;background:var(--separator);margin:6px 4px 12px}.vote-result{margin-top:12px}.vote-answer{font-weight:600;padding:12px;border-radius:12px;background:var(--accent-soft);margin-bottom:6px}.results-head .chips{margin-top:10px}.progress{height:6px;margin:10px 4px 0;border-radius:999px;background:var(--separator);overflow:hidden}.progress-bar{height:100%;border-radius:inherit;background:var(--accent);transition:width .6s var(--ease)}.chip.mark-yes{color:var(--success);background:#2fb36b1f}.chip.mark-no{color:var(--destructive);background:#e539351a}.chip.mark-none{color:var(--hint)}.table-wrap{overflow-x:auto;background:var(--section-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--separator);text-align:left;white-space:nowrap}.table th{font-size:13px;color:var(--hint);font-weight:600}.table th:not(:first-child),.table td:not(:first-child){width:44px;min-width:44px;padding-left:4px;padding-right:4px;text-align:center}.table tr:last-child td{border-bottom:none}.table.roster th:first-child,.table.roster td:first-child{white-space:normal;word-break:break-word;width:auto;padding-right:6px}.table.roster th:not(:first-child),.table.roster td:not(:first-child){width:40px;min-width:40px}.mark{font-weight:800;font-size:16px}.mark-yes{color:var(--success)}.mark-no{color:var(--destructive)}.mark-none{color:var(--hint)}.mark-button,.name-link{border:none;background:none;padding:2px 6px;border-radius:8px;color:inherit;font:inherit;transition:background-color .2s}.mark-button:active,.name-link:active{background:var(--accent-soft)}.name-link{color:var(--link);padding:0;text-align:left;text-decoration:underline dotted;text-underline-offset:3px}.tag{margin-left:6px;font-size:12px}.tag.warn{color:#d9822b;font-weight:600}.legend{margin:4px 6px 0;line-height:1.5}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.stat-card{position:relative;overflow:hidden;border-radius:20px;padding:16px;background:var(--section-bg);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 16%,var(--section-bg)),var(--section-bg) 70%);border:1px solid var(--accent-line);box-shadow:var(--shadow)}.stat-wide{margin-top:10px}.stat-label{display:flex;align-items:center;gap:6px;color:var(--hint);font-size:13px}.stat-value{margin-top:8px;font-size:32px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-title{font-weight:700;font-size:17px;margin-bottom:12px}.stat-pairs{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.stat-accent{font-size:26px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse 1.8s infinite}.skeleton-list{padding:4px 0}.skeleton{height:64px;margin-bottom:10px;border-radius:var(--radius);background:linear-gradient(90deg,var(--section-bg) 25%,var(--secondary-bg) 50%,var(--section-bg) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite,fade-up .3s var(--ease) both}.error-text{white-space:pre-wrap;font-size:12px;color:var(--destructive);margin:6px 0 0}.header-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.theme-toggle{flex:none;border:none;border-radius:999px;padding:6px 11px;background:var(--section-bg);box-shadow:var(--shadow);color:var(--text);font-size:13px;font-weight:600;transition:transform .12s var(--ease),background-color .3s var(--ease)}.theme-toggle:active{transform:scale(.94)}.pair-choice{border:1px solid var(--separator);border-radius:14px;padding:10px 12px;margin-bottom:8px;background:var(--bg);transition:border-color .25s var(--ease),background-color .25s var(--ease)}.pair-choice.has-attend{border-color:#2fb36b8c}.pair-choice.has-mark_me,.pair-choice.has-excused{border-color:#e5393573}.pair-choice-title{margin-bottom:8px}.pair-choice-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.status-button{border:1px solid var(--separator);border-radius:11px;padding:8px 4px;background:var(--section-bg);font-size:13.5px;font-weight:500;white-space:nowrap;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s,transform .15s var(--ease)}.status-button:active{transform:scale(.95)}.status-button.selected{transform:scale(1.03);font-weight:700}.status-button.status-attend.selected{background:#2fb36b29;border-color:var(--success);color:var(--success)}.status-button.status-mark_me.selected,.status-button.status-excused.selected{background:#e539351f;border-color:var(--destructive);color:var(--destructive)}.bulk-buttons{display:flex;flex-wrap:wrap;gap:6px}.mark-attend{color:var(--success)}.mark-mark_me,.mark-excused{font-size:15px}
