:root{--bg:#f4f7fb;--card:#fff;--text:#14213d;--muted:#6f7b91;--line:#e7ebf2;--blue:#2767f2;--blue2:#1f55cf;--green:#19a974;--red:#e5484d;--shadow:0 14px 36px rgba(35,55,90,.08);--radius:20px}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#12213e;color:#fff;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 26px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#70a3ff,#356ff6);display:grid;place-items:center;font-size:22px;font-weight:800;box-shadow:0 8px 22px #07142c}.brand b{display:block;font-size:14px}.brand span{display:block;margin-top:3px;font-size:12px;color:#9fb0cd}.sidebar nav{display:grid;gap:7px}.nav-btn{border:0;background:transparent;color:#aebbd1;text-align:left;padding:11px 13px;border-radius:12px;cursor:pointer;transition:.18s}.nav-btn:hover,.nav-btn.active{background:#203454;color:white;transform:translateX(2px)}.sidebar-footer{margin-top:auto;color:#92a2bd;font-size:12px;line-height:1.5;padding:16px 10px}.sidebar-footer small{color:#657895}main{padding:30px 36px 60px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:#7c89a0;font-size:11px;font-weight:800}.topbar h1{margin:6px 0 0;font-size:30px}.tab{display:none}.tab.active{display:block}.panel{background:var(--card);border:1px solid #edf0f5;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.panel h3{margin:0 0 6px}.panel p{margin:0;color:var(--muted)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.hero{background:linear-gradient(135deg,#132b58 0%,#1e5bd7 70%,#4384ff 100%);color:white;border-radius:26px;padding:34px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;box-shadow:0 20px 45px rgba(39,103,242,.22);overflow:hidden}.hero h2{font-size:34px;line-height:1.08;max-width:650px;margin:14px 0 14px}.hero p{color:#d9e5ff;max-width:680px;line-height:1.65}.pill{display:inline-flex;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:7px 10px;border-radius:999px;font-size:12px}.hero-art{display:flex;align-items:center;justify-content:center}.mini-grid{width:100%;max-width:330px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;transform:rotate(-3deg)}.mini-grid span{height:44px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)}.mini-grid span:nth-child(3n){background:rgba(255,255,255,.25)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat{background:white;border:1px solid #edf0f5;border-radius:18px;padding:18px;box-shadow:0 8px 25px rgba(35,55,90,.05)}.stat b{font-size:28px;display:block}.stat span{font-size:12px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.steps div{border:1px solid var(--line);padding:14px;border-radius:14px;min-height:90px}.steps b{display:grid;place-items:center;width:27px;height:27px;background:#edf3ff;color:var(--blue);border-radius:9px;margin-bottom:10px}.steps span{font-size:13px}.primary,.secondary,.ghost{border:0;border-radius:12px;padding:11px 15px;cursor:pointer;font-weight:700}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue2)}.secondary{background:#edf3ff;color:#245bc5}.ghost{background:white;border:1px solid var(--line);color:#4e5e77}.big{padding:14px 18px;width:100%;margin-top:6px}.split{display:grid;grid-template-columns:340px 1fr;gap:18px}.form-panel{height:max-content}.form-panel form,.generator-layout form{display:grid;gap:14px;margin-top:18px}label{display:grid;gap:7px;font-size:12px;color:#66748c;font-weight:700}input,select{width:100%;border:1px solid #dfe5ee;border-radius:11px;padding:11px 12px;background:#fff;color:#18263f;outline:0}input:focus,select:focus{border-color:#8eb0ff;box-shadow:0 0 0 3px #eaf1ff}.cards{display:grid;gap:10px}.card-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:13px 14px;border-radius:14px}.card-row .meta{color:var(--muted);font-size:12px;margin-top:3px}.danger{border:0;background:#fff0f0;color:#c83131;border-radius:9px;padding:8px 10px;cursor:pointer}.chips{display:flex;gap:9px;flex-wrap:wrap}.chip{display:flex;align-items:center;gap:10px;background:#f4f7fb;border:1px solid var(--line);border-radius:999px;padding:9px 12px}.chip button{border:0;background:transparent;color:#9a5c5c;cursor:pointer}.inline-form{display:grid;grid-template-columns:1fr 1.2fr 1.5fr .75fr .75fr auto;gap:10px;align-items:end;margin-bottom:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;font-size:13px}th{font-size:11px;color:#7a879d;text-transform:uppercase;letter-spacing:.05em}.compact{min-width:240px}.availability-grid{display:grid;grid-template-columns:115px repeat(7,1fr);gap:7px}.ag-head,.ag-day,.ag-cell{min-height:48px;border-radius:10px;display:grid;place-items:center;font-size:12px}.ag-head{background:#f5f7fb;color:#77859a;font-weight:800}.ag-day{justify-items:start;padding-left:12px;background:#f5f7fb;font-weight:800}.ag-cell{border:1px solid #dfe6ef;background:#f3fbf7;color:#238b61;cursor:pointer;transition:.12s}.ag-cell.off{background:#fff1f1;color:#c24444;border-color:#ffd6d6}.ag-cell:hover{transform:translateY(-1px)}.generator-layout{display:grid;grid-template-columns:390px 1fr;gap:18px}.generator-info{position:relative;overflow:hidden}.generator-info .orb{position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:#edf3ff;color:#2767f2;font-size:38px;font-weight:900;display:grid;place-items:center}.generator-info ul{line-height:2;color:#596981;padding-left:20px}.result-box{border-radius:14px;padding:15px;margin-top:18px;background:#f4f7fb;white-space:pre-line}.result-box.success{background:#edf9f4;color:#197653}.result-box.error{background:#fff1f1;color:#b63434}.muted{color:#718096}.segmented{background:#f1f4f8;border-radius:12px;padding:4px;display:flex}.segmented button{border:0;background:transparent;padding:8px 11px;border-radius:9px;color:#6f7c91;cursor:pointer}.segmented button.active{background:#fff;color:#1f4fa8;box-shadow:0 3px 10px rgba(35,55,90,.08)}.schedule-block{margin:20px 0 28px}.schedule-block h4{font-size:18px;margin:0 0 12px}.schedule-grid{display:grid;grid-template-columns:110px repeat(5,minmax(170px,1fr));gap:8px;overflow:auto}.schedule-header,.lesson-no,.schedule-cell{border-radius:12px;padding:11px;min-height:62px}.schedule-header{background:#142a52;color:white;font-size:12px;font-weight:800;display:flex;align-items:center}.lesson-no{background:#f3f6fa;color:#7a879c;font-weight:800;display:flex;align-items:center}.schedule-cell{border:1px solid var(--line);background:#fff}.schedule-cell b{font-size:13px;display:block}.schedule-cell small{display:block;color:#718096;margin-top:5px;line-height:1.3}.empty{color:#aab3c1;display:flex;align-items:center}.toast{position:fixed;right:26px;bottom:26px;background:#15294c;color:white;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;max-width:360px}.toast.show{opacity:1;transform:none}@media(max-width:1000px){.shell{grid-template-columns:82px 1fr}.sidebar{padding:18px 10px}.brand div:last-child,.nav-btn{font-size:0}.brand-mark{margin:auto}.nav-btn:before{font-size:16px;content:"•"}.sidebar-footer{display:none}.hero{grid-template-columns:1fr}.hero-art{display:none}.stats{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr)}.split,.generator-layout{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr 1fr}}@media(max-width:650px){main{padding:20px 14px}.shell{display:block}.sidebar{position:static;height:auto;display:block}.sidebar nav{grid-template-columns:repeat(4,1fr)}.nav-btn{display:block}.topbar{align-items:flex-start}.hero{padding:24px}.hero h2{font-size:27px}.stats{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.inline-form{grid-template-columns:1fr}.availability-grid{grid-template-columns:90px repeat(7,70px);overflow:auto}}
