:root{--bg:#fff8f3;--panel:#ffffff;--text:#1f1c19;--muted:#80756a;--line:#f0dccd;--brand:#ff7a1a;--brand-strong:#ef5e00;--brand-soft:#fff0e3;--ok:#2f7d4c;--warn:#a35d16;--radius:24px;--shadow:0 18px 50px rgba(255,122,26,0.08);--tg-bg:var(--bg);--tg-panel:var(--panel);--tg-text:var(--text);--tg-muted:var(--muted);--tg-brand:var(--brand);--tg-brand-text:#ffffff}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(circle at top right,rgba(255,154,84,.18),transparent 30%),linear-gradient(180deg,#fffaf7 0,var(--bg) 48%,#fff4ec 100%);color:var(--text);font-family:Segoe UI,sans-serif}html[data-telegram=true] body{background:linear-gradient(180deg,color-mix(in srgb,var(--tg-bg) 80%,#ffffff) 0,var(--tg-bg) 55%,color-mix(in srgb,var(--tg-bg) 92%,#fff0e6) 100%);color:var(--tg-text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,p,pre{margin-top:0}.page-shell{max-width:1120px;margin:0 auto;padding:24px}.admin-shell{padding-bottom:40px}.mobile-app,.mobile-frame{min-height:100vh}.mobile-frame{width:100%;max-width:460px;margin:0 auto;position:relative;padding:18px 16px 104px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.app-header-copy h1{margin-bottom:4px;font-size:30px;line-height:1.05}.screen-subtitle{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.header-admin-link{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:13px;color:var(--brand-strong);box-shadow:var(--shadow)}.app-content{display:grid;grid-gap:16px;gap:16px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px}.main-nav{display:flex;gap:10px;flex-wrap:wrap}.button,.main-nav a{border:1px solid var(--line);background:var(--panel);padding:10px 14px;border-radius:999px;box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;color:var(--brand-strong);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.card,.hero,.metric,.panel{background:var(--panel);border:1px solid rgba(255,122,26,.12);border-radius:var(--radius);box-shadow:var(--shadow)}html[data-telegram=true] .button,html[data-telegram=true] .card,html[data-telegram=true] .header-admin-link,html[data-telegram=true] .hero,html[data-telegram=true] .main-nav a,html[data-telegram=true] .metric,html[data-telegram=true] .panel{background:var(--tg-panel);color:var(--tg-text)}.hero,.panel{padding:20px}.hero-mobile{background:linear-gradient(140deg,rgba(255,122,26,.98),rgba(255,147,75,.98));color:#fff;overflow:hidden;position:relative}.hero-mobile:after{content:"";position:absolute;inset:auto -40px -60px auto;width:180px;height:180px;background:rgba(255,255,255,.14);border-radius:50%}.hero-mobile .muted{color:rgba(255,255,255,.82)}.hero-actions{display:grid;grid-gap:12px;gap:12px}.quick-link{display:grid;grid-gap:6px;gap:6px;padding:16px;border-radius:20px;background:rgba(255,255,255,.88);color:var(--text)}.quick-link span{font-size:13px;color:var(--muted)}.quick-link strong{font-size:17px}.quick-link-primary{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.24)}.quick-link-primary span{color:rgba(255,255,255,.76)}.grid{display:grid;grid-gap:16px;gap:16px}.grid.columns-2,.grid.columns-3{grid-template-columns:1fr}.card,.metric{padding:16px}.list{display:grid;grid-gap:12px;gap:12px}.muted{color:var(--muted)}html[data-telegram=true] .muted{color:var(--tg-muted)}.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:12px;font-weight:700;width:-moz-fit-content;width:fit-content}.badge-accent{background:rgba(255,255,255,.18);color:#fff}.badge-soft{background:#fff4ea;color:var(--brand-strong)}.badge-file{background:#fff8f4;color:#b95b12}html[data-telegram=true] .badge{background:color-mix(in srgb,var(--tg-brand) 14%,var(--tg-panel));color:var(--tg-text)}.status-success{color:var(--ok)}.status-warning{color:var(--warn)}.form{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:8px;gap:8px}.field input,.field select,.field textarea,.mobile-search{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#fff}.button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}html[data-telegram=true] .button.primary{background:var(--tg-brand);color:var(--tg-brand-text);border-color:var(--tg-brand)}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.empty-state{padding:28px 20px;text-align:center;color:var(--muted)}.mobile-grid-top,.mobile-section-gap{margin-top:4px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.section-heading h3{margin-bottom:0}.text-link{color:var(--brand-strong);font-size:14px;font-weight:700}.library-card,.library-tile,.mobile-schedule-card,.profile-row,.schedule-card{border-radius:20px}.mobile-schedule-card,.schedule-card{display:flex;gap:12px;align-items:flex-start}.schedule-date-badge,.schedule-date-pill{background:var(--brand-soft);color:var(--brand-strong);border-radius:16px;min-width:62px;text-align:center;font-weight:800}.schedule-date-pill{padding:12px 10px}.schedule-date-badge{padding:10px 8px;display:grid;grid-gap:2px;gap:2px}.schedule-date-badge strong{font-size:20px;line-height:1}.schedule-date-badge span{font-size:11px;text-transform:uppercase}.schedule-card-top{display:flex;gap:12px}.library-card h3,.library-tile h3,.mobile-schedule-card h3{margin-bottom:6px}.card-meta{margin-bottom:0;font-size:13px;color:var(--muted)}.mobile-chip-row,.mobile-chip-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.mobile-chip-row::-webkit-scrollbar,.mobile-chip-scroll::-webkit-scrollbar{display:none}.mobile-chip{white-space:nowrap;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--muted)}.mobile-chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}.mobile-search{display:flex;align-items:center;gap:10px;margin-bottom:14px}.mobile-search-icon{color:var(--brand-strong);font-size:18px}.content-preview{margin:0;padding:14px;border-radius:16px;background:#fff8f3;border:1px solid var(--line);overflow:auto;font-size:12px;line-height:1.45}.schedule-table-wrap{overflow-x:auto;border-radius:18px;border:1px solid var(--line);background:#fff}.schedule-table{width:100%;min-width:1040px;border-collapse:collapse;font-size:13px}.schedule-table td,.schedule-table th{padding:12px 14px;text-align:left;border-bottom:1px solid #f3e6db;vertical-align:top}.schedule-table th{position:-webkit-sticky;position:sticky;top:0;background:#fff8f3;color:var(--brand-strong);font-size:12px;font-weight:800;white-space:nowrap}.schedule-table td{color:var(--text);background:#fff}.schedule-table tbody tr:nth-child(2n) td{background:#fffaf7}.profile-hero{display:flex;align-items:center;gap:16px}.profile-avatar-large{width:72px;height:72px;border-radius:50%;background:linear-gradient(180deg,var(--brand),var(--brand-strong));color:#fff;display:grid;place-items:center;font-size:22px;font-weight:800;box-shadow:0 16px 36px rgba(255,122,26,.24)}.profile-person{font-size:28px}.profile-row{display:flex;justify-content:space-between;align-items:center}.tab-bar{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),428px);display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;padding:10px;border-radius:28px;background:rgba(255,255,255,.92);border:1px solid rgba(255,122,26,.12);box-shadow:0 16px 44px rgba(255,122,26,.18);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20}html[data-telegram=true] .tab-bar{background:color-mix(in srgb,var(--tg-panel) 86%,#ffffff)}.tab-icon{height:56px;display:grid;place-items:center;border-radius:20px;color:#8a8178}.tab-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab-icon.is-active{color:var(--brand-strong);background:var(--brand-soft)}.tab-icon.is-profile{position:relative}.tab-icon.is-profile:before{content:"";position:absolute;inset:10px;border-radius:50%;border:1.5px solid;opacity:.7}@media (min-width:768px){.mobile-frame{max-width:430px}}