:root{--background:#0d1013;--foreground:#f4efe5;--card:#191c20;--card-foreground:#f4efe5;--popover:#191c20;--popover-foreground:#f4efe5;--primary:#c99d5c;--primary-foreground:#111215;--secondary:#25282b;--secondary-foreground:#f4efe5;--muted:#25282b;--muted-foreground:#aaa59c;--accent:#2a2424;--accent-foreground:#f4efe5;--destructive:#bf6868;--border:#3b3733;--input:#4a4540;--ring:#c99d5c;--radius:.5rem}
*{box-sizing:border-box}body{margin:0;background:#0d1013;color:#eee9df;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-shell{min-height:100vh;background:radial-gradient(ellipse 62% 24% at 49% 0%,#32241b55,transparent 75%),#0d1013}.topbar{height:88px;border-bottom:1px solid #34302d;display:flex;align-items:center;justify-content:space-between;padding:0 max(30px,calc((100vw - 1450px)/2));background:#111316c9}.brand{display:flex;align-items:center;gap:16px}.brand-mark{font-size:31px;color:#d8af6f;border:1px solid #957451;width:48px;height:48px;display:grid;place-items:center;transform:rotate(45deg)}.brand-mark::first-letter{transform:rotate(-45deg)}.brand-name{font:600 25px Georgia,serif;letter-spacing:.26em;color:#f4e9d3}.brand-small{font-size:10px;letter-spacing:.31em;color:#aa8e64;margin-top:4px}.top-label{font-size:11px;letter-spacing:.24em;color:#9e8e78}.top-star{color:#bd9460;margin:0 17px}.workspace{max-width:1510px;margin:auto;padding:56px 30px 38px}.heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.eyebrow{font-size:11px;letter-spacing:.25em;color:#c8a576;font-weight:700;display:flex;align-items:center;gap:14px}.eyebrow-line{width:30px;height:1px;background:#c8a576}.heading h1{font:normal clamp(48px,5vw,72px)/1 Georgia,'Times New Roman',serif;letter-spacing:-.045em;margin:17px 0 13px;color:#f6f0e4}.heading-dot{color:#bd9259}.heading p{color:#a9a59f;margin:0;font-size:16px;line-height:1.5}.primary-btn{border:1px solid #d5ae70;background:#c9a166;color:#181611;font-weight:700;padding:15px 23px;min-height:52px;white-space:nowrap;transition:background .2s,transform .2s}.primary-btn:hover{background:#e1bb7e;transform:translateY(-1px)}.primary-btn span{font-size:22px;vertical-align:-2px;margin-right:8px;font-weight:400}.primary-btn:disabled{opacity:.55;cursor:wait}.statline{display:flex;align-items:center;gap:16px;padding:17px 21px;background:#191b1e;border:1px solid #39332c;border-bottom:0;color:#a6a29b;font-size:14px}.statline strong{color:#eee5d7;font-weight:600}.status-glyph{color:#c9a166;font-size:20px}.divider{width:1px;height:19px;background:#47413a}.legend{margin-left:auto;letter-spacing:.15em;font-size:11px;color:#9c917f;display:flex;align-items:center;gap:9px}.legend i{height:9px;width:9px;background:#ab7651;border-radius:50%}.calendar-scroll{overflow:auto;border:1px solid #39332c;background:#151719}.calendar{display:grid;grid-template-columns:78px repeat(7,minmax(160px,1fr));min-width:1200px}.grid-head{height:64px;border-right:1px solid #34312e;border-bottom:1px solid #504133;background:#21201f;display:flex;align-items:center}.time-head{justify-content:center;font-size:11px;letter-spacing:.16em;color:#8d8377}.day-head{padding:0 13px;gap:10px;color:#f0e6d8;font:18px Georgia,serif}.day-head:last-child,.day-column:last-child{border-right:0}.day-index{color:#9a7955;font:11px Arial,sans-serif;letter-spacing:.08em}.day-head button{margin-left:auto;border:1px solid #4c4135;background:transparent;color:#c7a471;font-size:18px;width:27px;height:27px;display:grid;place-items:center;line-height:1}.day-head button:hover{background:#423528}.time-column,.day-column{height:1344px;position:relative}.time-column{border-right:1px solid #34312e;background:#191b1c}.time-slot{height:84px;border-bottom:1px solid #2c2e2e;color:#a3998b;font-size:12px;letter-spacing:.05em;padding:9px 10px}.day-column{border-right:1px solid #34312e;background:#161819}.hour-cell{height:84px;border-bottom:1px solid #292c2d}.day-column:nth-child(even){background:#191a1b}.lesson{position:absolute;z-index:1;left:6px;right:6px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;overflow:hidden;border:1px solid #876546;border-left:3px solid #d7ad75;background:linear-gradient(135deg,#50392c,#332923);color:#f7ecdb;padding:9px 10px;gap:4px;box-shadow:0 5px 15px #0004;transition:filter .2s,transform .2s}.lesson:hover{filter:brightness(1.18);transform:translateY(-2px)}.lesson-time{font-size:11px;font-weight:700;color:#e0ba83;letter-spacing:.05em}.lesson strong{font:16px/1.15 Georgia,serif}.lesson-prof,.lesson-room{font-size:12px;color:#decdbc}.lesson-room{margin-top:auto}.empty-day{position:absolute;top:27px;left:50%;transform:translateX(-50%);border:1px dashed #4e463b;background:#242320;color:#a79174;padding:10px 8px;font-size:13px;white-space:nowrap;opacity:.75}.empty-day:hover{opacity:1;color:#e8c48d}.error-banner{padding:14px;background:#4a2929;color:#fff;border:1px solid #965a55}.error-banner button{margin-left:12px;text-decoration:underline}footer{text-align:center;color:#8c7d69;font-size:11px;letter-spacing:.2em;padding:35px 0}footer span{margin:0 10px}.mobile-days{display:none}.form-dialog{background:#1a1c1f!important;border:1px solid #705838!important;color:#f5eadb!important;max-height:90vh;overflow:auto}.form-dialog h2{font:30px Georgia,serif}.dialog-help{color:#aaa199;font-size:14px;margin-top:-4px}.lesson-form{display:grid;gap:18px;margin-top:4px}.lesson-form label{display:grid;gap:7px;font-size:14px;color:#e1d5c5;font-weight:600}.lesson-form small{color:#8f877c;font-weight:400}.lesson-form input,.lesson-form select,.lesson-form textarea{width:100%;min-width:0;background:#111315;color:#f5eadb;border:1px solid #51483e;border-radius:3px;padding:11px 12px;outline:none}.lesson-form input:focus,.lesson-form textarea:focus,.lesson-form select:focus{border-color:#d0a56d}.lesson-form input::placeholder,.lesson-form textarea::placeholder{color:#807970}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:8px}.delete-btn{background:none;border:1px solid #795047;color:#e59b8e;padding:13px 16px;margin-right:auto}.form-error{color:#ffb3a2;font-size:14px;margin:0}
@media(max-width:800px){.topbar{padding:0 20px;height:76px}.top-label{display:none}.workspace{padding:35px 16px}.heading{display:block;margin-bottom:30px}.heading h1{font-size:53px}.heading p{margin-bottom:22px}.heading .primary-btn{width:100%}.statline{gap:8px;flex-wrap:wrap}.legend{display:none}.mobile-days{display:flex;gap:7px;overflow:auto;margin:0 0 12px;padding-bottom:2px}.mobile-days button{padding:9px 12px;background:#202124;color:#aa9b89;border:1px solid #3e3831;min-width:45px}.mobile-days button.active{background:#58432f;color:#f8e8cf;border-color:#b48c5a}.calendar{min-width:0;grid-template-columns:65px repeat(7,minmax(0,1fr))}.calendar:has(.mobile-days){min-width:0}.grid-head,.time-column,.day-column{min-width:0}.mobile-hidden{display:none}.calendar{grid-template-columns:65px 1fr}.day-head{font-size:18px}.day-head:not(.mobile-hidden){grid-column:2}.day-column:not(.mobile-hidden){grid-column:2}.time-slot{padding:9px 6px}.calendar-scroll{overflow:hidden}.lesson{left:7px;right:7px}.brand-name{font-size:21px}}
@media(max-width:520px){.form-row{grid-template-columns:1fr}.brand-mark{width:42px;height:42px}.statline{font-size:13px}}

.heading-actions{display:flex;gap:10px;align-items:center}.secondary-btn{border:1px solid #a18258;background:#26221e;color:#e8d2b1;text-decoration:none;padding:15px 20px;min-height:52px;font-size:14px;display:inline-flex;align-items:center;justify-content:center}.secondary-btn:hover{background:#423528}.teacher-list{border-top:1px solid #554537;padding-top:18px;margin-top:8px;display:grid;gap:12px}.teacher-list>strong{font:19px Georgia,serif}.teacher-list>p{color:#aaa199;font-size:14px}.teacher-row{border:1px solid #4c4135;background:#22211f;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-row b{display:block;font-size:14px}.teacher-row small{display:block;font-size:13px;color:#a99b8a;margin-top:4px}.teacher-row button{color:#e7a397;background:none;border:1px solid #77544b;padding:8px 10px}.day-column .lesson{cursor:pointer}@media(max-width:800px){.heading-actions{display:grid;grid-template-columns:1fr;gap:9px}.heading-actions .primary-btn,.heading-actions .secondary-btn{width:100%}}

.brand-logo{height:67px;width:50px;object-fit:contain}.heading{position:relative;padding-right:170px;min-height:180px}.heading-logo{position:absolute;right:0;top:-24px;width:158px;height:230px;object-fit:contain;filter:drop-shadow(0 8px 20px #0008)}@media(max-width:1050px){.heading{padding-right:0}.heading-logo{display:none}}@media(max-width:800px){.brand-logo{height:62px;width:44px}.heading{min-height:0}}

.lesson:disabled{cursor:default;opacity:1}.lesson:disabled:hover{filter:none;transform:none}
.modal{width:min(540px,calc(100% - 28px));max-height:90vh;overflow:auto;background:#1a1c1f;color:#f5eadb;border:1px solid #705838;padding:28px;box-shadow:0 25px 70px #000a}.modal::backdrop{background:#000a}.modal h2{font:30px Georgia,serif;margin:0 0 10px}.modal p{color:#aaa199;font-size:14px;line-height:1.5}.modal form{display:grid;gap:16px}.modal label{display:grid;gap:7px;font-size:14px;color:#e1d5c5;font-weight:600}.modal small{font-weight:400;color:#a89a89}.modal input,.modal select,.modal textarea{width:100%;min-width:0;background:#111315;color:#f5eadb;border:1px solid #51483e;border-radius:3px;padding:11px 12px;outline:none}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#d0a56d}.modal input::placeholder,.modal textarea::placeholder{color:#807970}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px}.modal-actions button:not(.primary-btn):not(.delete-btn){background:none;color:#d9c7b2;border:1px solid #5e5144;padding:12px 14px}.modal-error{color:#ffb3a2!important;background:#442622;padding:10px;margin:0!important}.teacher-list{margin:24px 0 0}.teacher-list #teacher-rows{display:grid;gap:8px;color:#aaa199;font-size:14px;margin-top:10px}.brand-logo{display:block}.heading-logo{display:block}@media(max-width:1050px){.heading-logo{display:none}}.lesson:disabled{cursor:default}.lesson:disabled:hover{transform:none;filter:none}
