:root{--bg:var(--tg-theme-bg-color,#f3f5f8);--surface:var(--tg-theme-secondary-bg-color,#fff);--surface-strong:#e8edf3;--text:var(--tg-theme-text-color,#17212b);--muted:var(--tg-theme-hint-color,#6d7a88);--border:#53657b29;--accent:var(--tg-theme-button-color,#2a8cff);--accent-text:var(--tg-theme-button-text-color,#fff);--accent-bg:#2a8cff1c;--accent-soft:#2a8cff73;--danger:#d9304f;--danger-bg:#d9304f1a;--warning:#a46800;--warning-bg:#a468001f;--success:#168753;--success-bg:#1687531a;--shadow:0 1px 2px #0e1c2b14;--tg-viewport-height:100svh;--sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font:16px/1.45 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--bg:var(--tg-theme-bg-color,#101820);--surface:var(--tg-theme-secondary-bg-color,#182430);--surface-strong:#223140;--text:var(--tg-theme-text-color,#eef3f8);--muted:var(--tg-theme-hint-color,#94a3b3);--border:#d3deeb1f;--accent-bg:#2a8cff2e;--danger:#ff6b85;--danger-bg:#ff6b8526;--warning:#ffbf47;--warning-bg:#ffbf4726;--success:#52d08b;--success-bg:#52d08b26;--shadow:0 1px 2px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{background:var(--bg);min-height:var(--tg-viewport-height);width:100%;overflow-x:hidden}body{background:var(--bg);min-height:var(--tg-viewport-height);width:100%;margin:0;overflow-x:hidden}#root{min-height:var(--tg-viewport-height);width:100%;overflow-x:hidden}h1,h2{font-weight:800}.app-shell{max-width:580px;min-height:var(--tg-viewport-height);width:100%;margin:0 auto;padding:20px 14px 28px;overflow-x:hidden}.app-header{justify-content:space-between;align-items:center;gap:14px;min-width:0;margin-bottom:18px;display:flex}.app-header>div{min-width:0}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:12px;font-weight:700;line-height:1.2}.app-header h1{color:var(--text);margin:0;font-size:30px;line-height:1}.current-user{color:var(--muted);margin:7px 0 0;font-size:13px;font-weight:700;line-height:1.2}.create-task-button{background:var(--accent);color:var(--accent-text);font:inherit;white-space:nowrap;border:0;border-radius:8px;flex:none;min-height:40px;padding:0 14px;font-size:15px;font-weight:700}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:10px 8px}.stat-card span{color:var(--muted);overflow-wrap:anywhere;font-size:11px;font-weight:700;line-height:1.1;display:block}.stat-card strong{color:var(--text);margin-top:7px;font-size:24px;line-height:1;display:block}.stat-card--overdue strong{color:var(--danger)}.stat-card--waiting strong{color:var(--warning)}.stat-card--active strong{color:var(--success)}.filter-tabs{background:var(--surface-strong);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:14px;padding:4px;display:grid}.filter-tab{color:var(--muted);font:inherit;overflow-wrap:anywhere;background:0 0;border:0;border-radius:6px;min-width:0;min-height:34px;font-size:14px;font-weight:700}.filter-tab[aria-selected=true]{background:var(--surface);box-shadow:var(--shadow);color:var(--text)}.task-list{gap:10px;display:grid}.task-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent-soft);cursor:pointer;text-align:left;border-radius:8px;padding:13px 13px 12px}.task-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-card h2{color:var(--text);overflow-wrap:anywhere;margin:10px 0 0;font-size:18px;line-height:1.22}.task-card__topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;display:flex}.priority-pill,.status-pill{white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.priority-pill--urgent{background:var(--danger-bg);color:var(--danger)}.priority-pill--normal{background:var(--accent-bg);color:var(--accent)}.priority-pill--low{background:var(--success-bg);color:var(--success)}.status-pill{background:var(--surface-strong);color:var(--muted)}.status-pill--in_progress,.status-pill--new{color:var(--accent)}.status-pill--waiting{color:var(--warning)}.status-pill--done{color:var(--success)}.status-pill--cancelled{color:var(--muted)}.priority-urgent{border-left-color:var(--danger)}.priority-normal{border-left-color:var(--accent)}.priority-low{border-left-color:var(--success)}.task-description{color:var(--muted);overflow-wrap:anywhere;margin:7px 0 0;font-size:14px;line-height:1.45}.task-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 0;display:grid}.task-meta div{min-width:0}.task-meta dt{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:700;line-height:1.2}.task-meta dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:700;line-height:1.25}.task-meta .is-overdue{color:var(--danger)}.state-message{background:var(--surface);border:1px solid var(--border);color:var(--muted);text-align:center;border-radius:8px;margin:0;padding:18px 14px;font-size:14px;font-weight:700}.state-message--error{color:var(--danger)}.auth-state,.access-denied{min-height:min(70svh, var(--tg-viewport-height));text-align:center;place-content:center;gap:12px;display:grid}.auth-state h1,.access-denied h1{color:var(--text);margin:0;font-size:30px;line-height:1.12}.access-denied p{color:var(--muted);margin:0;font-size:15px;line-height:1.45}.access-denied__reason{background:var(--danger-bg);border-radius:8px;padding:10px 12px;font-weight:700;color:var(--danger)!important}.telegram-diagnostics{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:8px;gap:8px;margin:0;padding:12px;display:grid}.telegram-diagnostics div{justify-content:space-between;gap:10px;display:flex}.telegram-diagnostics dt,.telegram-diagnostics dd{color:var(--muted);margin:0;font-size:12px;font-weight:700;line-height:1.2}.telegram-diagnostics dd{color:var(--text)}.sheet-backdrop{z-index:20;background:#050d166b;justify-content:center;align-items:flex-end;padding:18px 10px 0;display:flex;position:fixed;inset:0}.task-sheet{background:var(--surface);border:1px solid var(--border);max-height:calc(var(--tg-viewport-height) - 18px);border-radius:16px 16px 0 0;width:100%;max-width:580px;padding:14px;overflow:auto;box-shadow:0 -14px 45px #06122038}.sheet-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin:0 -14px 14px;padding:0 14px 12px;display:flex}.sheet-header h2{color:var(--text);margin:0;font-size:20px;line-height:1.2}.sheet-close-button{background:var(--surface-strong);color:var(--muted);font:inherit;border:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:800;line-height:1;display:inline-flex}.task-form{gap:12px;display:grid}.form-field{gap:6px;display:grid}.form-field span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.2}.form-field input,.form-field select,.form-field textarea{appearance:none;background:var(--bg);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:8px;width:100%;min-height:46px;padding:11px 12px;font-size:16px}.form-field textarea{resize:vertical;min-height:92px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);outline:none}.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled,button:disabled{cursor:not-allowed;opacity:.58}.form-error{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin:0;padding:10px 12px;font-size:14px;font-weight:700}.form-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px;padding-top:4px;display:grid}.primary-button,.secondary-button{font:inherit;border:0;border-radius:8px;min-height:46px;padding:0 14px;font-size:15px;font-weight:800}.primary-button{background:var(--accent);color:var(--accent-text)}.secondary-button{background:var(--surface-strong);color:var(--text)}.full-width-button{width:100%;margin-top:16px}.task-details{text-align:left}.task-details__badges{justify-content:flex-start;align-items:center;gap:8px;display:flex}.task-details h3{color:var(--text);overflow-wrap:anywhere;margin:12px 0 8px;font-size:22px;line-height:1.2}.task-details__description{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.45}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0;display:grid}.details-grid div{background:var(--bg);border:1px solid var(--border);border-radius:8px;min-width:0;padding:10px}.details-grid dt{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;line-height:1.2}.details-grid dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:700;line-height:1.25}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width>=620px){.app-shell{padding-inline:22px}}
