:root{--ink:#12151a;--muted:#5a6472;--line:#dfe3ea;--paper:#fff;--ground:#f5f6f9;--brand:#12467d;--brand-ink:#fff;--danger:#8c1d1d;--danger-ground:#fdf0f0;--ok:#14532d;--ok-ground:#f0f7f2}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);margin:0;padding:2rem 1rem 4rem;font-family:system-ui,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.65}main{max-width:34rem;margin:0 auto}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:1.25rem;padding:1.75rem}h1{margin:0 0 .75rem;font-size:1.5rem}h2{margin:0 0 .5rem;font-size:1.15rem}p{margin:0 0 .85rem}.muted{color:var(--muted);font-size:.92rem}label{margin-bottom:.35rem;font-weight:600;display:block}input{border:1px solid var(--line);width:100%;font:inherit;text-align:left;direction:ltr;border-radius:8px;margin-bottom:1rem;padding:.65rem .75rem}button{background:var(--brand);width:100%;color:var(--brand-ink);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:.7rem 1rem;font-weight:600}button:disabled{opacity:.6;cursor:progress}.notice{white-space:pre-line;border-radius:8px;margin-bottom:1rem;padding:.75rem .9rem}.notice-error{background:var(--danger-ground);color:var(--danger)}.notice-ok{background:var(--ok-ground);color:var(--ok)}.offer{border:2px solid var(--brand)}.price{font-size:1.6rem;font-weight:700}a{color:var(--brand)}.link-button{text-align:center;background:var(--brand);color:var(--brand-ink);border-radius:8px;padding:.7rem 1rem;font-weight:600;text-decoration:none;display:block}main:has(.admin-page){max-width:62rem}.logout button{width:auto}.table-scroll{overflow-x:auto}table.lessons{border-collapse:collapse;width:100%}.lessons th,.lessons td{text-align:right;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem .5rem}.lessons th{color:var(--muted);font-size:.9rem;font-weight:600}.pill{white-space:nowrap;border-radius:999px;padding:.15rem .65rem;font-size:.85rem;font-weight:600;display:inline-block}.pill-none{background:var(--ground);color:var(--muted)}.pill-uploading,.pill-processing{color:#8a5600;background:#fff4e2}.pill-ready{background:var(--ok-ground);color:var(--ok)}.pill-failed{background:var(--danger-ground);color:var(--danger)}.reason{margin-top:.3rem;display:inline-block}.upload{min-width:13rem}.upload input[type=file]{text-align:right;direction:rtl;width:100%;margin-bottom:.35rem;padding:.35rem;font-size:.9rem}.upload .notice{padding:.5rem .6rem;font-size:.85rem}progress{width:100%;height:.8rem}
