:root{--admin-blue:#002fa7;--admin-ink:#171b24;--admin-soft:#677083;--admin-line:#e1e5ee;--admin-wash:#f5f7fb}
.admin-page{margin:0;background:var(--admin-wash);color:var(--admin-ink);overflow:auto;font-family:var(--font-sans,Arial,sans-serif)}[hidden]{display:none!important}
.admin-page button,.admin-page input,.admin-page select{font:inherit}.admin-page button,.admin-page a,.admin-page input,.admin-page select{outline-offset:4px}.admin-page :focus-visible{outline:2px solid var(--admin-blue)}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#eef2fc}.login-panel{width:min(460px,100%);padding:40px;background:white;border:1px solid var(--admin-line);border-radius:16px;display:grid;gap:24px}.login-panel h1{margin:0;font-size:34px;letter-spacing:-.04em}.login-help{color:var(--admin-soft);line-height:1.6;margin:0}.google-login-list{display:grid;gap:12px}.google-login{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;align-items:center;padding:16px;border:1px solid var(--admin-line);border-radius:8px;color:inherit;text-decoration:none}.google-login:hover{border-color:var(--admin-blue);background:var(--admin-wash)}.google-login>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;background:#eaf0ff;color:var(--admin-blue);border-radius:50%}.google-login small{color:var(--admin-soft)}
.admin-shell:not([hidden]){display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100dvh}.admin-nav{position:sticky;top:0;height:100dvh;padding:30px 18px 24px;background:white;border-right:1px solid var(--admin-line);display:flex;flex-direction:column;gap:16px}.admin-nav .brand{padding:0 10px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--admin-ink)}.brand span{font-size:28px;font-weight:600;letter-spacing:-1.3px}.brand img{object-fit:contain}.nav-caption{font-size:11px;color:var(--admin-soft);margin:30px 10px 0;letter-spacing:.04em}.admin-nav nav{display:grid;gap:5px}.admin-nav nav button,.admin-nav nav a{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:12px;border:0;border-radius:7px;background:transparent;color:#424b5e;font-size:14px;text-decoration:none;text-align:left;cursor:pointer}.admin-nav nav .is-active{background:var(--admin-blue);color:white}.admin-nav nav :hover:not(.is-active){background:#f0f3fa}.admin-nav nav b{font-size:11px;min-width:21px;padding:2px 5px;border-radius:5px;background:#ffffff26;text-align:center}.site-link{font-size:13px;color:var(--admin-soft);padding:10px;margin-top:8px}.admin-account{margin-top:auto;padding:20px 10px 0;border-top:1px solid var(--admin-line)}.admin-account p{margin:0 0 12px;font-size:12px;line-height:1.6}.admin-account button{border:0;padding:0;color:var(--admin-soft);background:none;font-size:12px;cursor:pointer}
.calendar-area{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 288px;grid-template-rows:auto auto 1fr;align-content:start}.calendar-toolbar{grid-column:1/-1;padding:30px 32px 24px;border-bottom:1px solid var(--admin-line);background:white;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.calendar-toolbar h1{margin:6px 0 10px;font-size:34px;line-height:1.1;font-weight:600;letter-spacing:-.04em}.zip-eyebrow{font-family:var(--font-mono,monospace);font-size:10px;color:var(--admin-blue);text-transform:uppercase;letter-spacing:.07em}.toolbar-hint{font-size:13px;color:var(--admin-soft);margin:0}.toolbar-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.week-controls{display:flex;align-items:center;gap:6px}.week-controls strong{font-size:12px;min-width:166px;text-align:center}.icon-button,.today-button{border:1px solid var(--admin-line);background:white;border-radius:6px;height:38px;cursor:pointer;color:var(--admin-ink);padding:0 10px}.icon-button{width:36px}.today-button{font-size:12px!important;margin-right:5px}.toolbar-controls select{width:170px;min-height:40px;font-size:13px;border:1px solid var(--admin-line);border-radius:6px;background:white;color:var(--admin-ink);padding:8px}.admin-status{grid-column:1/-1;background:#eaf0ff;padding:16px 32px;color:var(--admin-blue);margin:0;font-size:14px}
.calendar-wrap{min-width:0;overflow:auto;background:white;max-height:calc(100dvh - 165px);grid-column:1;grid-row:3}.week-calendar{min-width:640px;display:grid;grid-template-columns:52px repeat(7,minmax(84px,1fr));grid-template-rows:64px repeat(26,32px);position:relative;align-content:start;background-image:linear-gradient(#e9edf4 1px,transparent 1px);background-size:100% 32px;background-position:0 64px}.day-head,.calendar-corner{position:sticky;top:0;z-index:3;background:white;border-bottom:1px solid var(--admin-line);font-size:12px;line-height:1.8;text-align:center;padding:10px 4px}.day-head{border-left:1px solid var(--admin-line)}.day-head.is-weekend{color:#7d8595;background:#fafbfe}.time-label{padding:7px 5px;color:var(--admin-soft);font-size:10px;font-family:var(--font-mono,monospace)}.lesson-block{z-index:1;margin:2px;padding:8px 6px;border:0;border-left:3px solid var(--admin-blue);border-radius:5px;background:#eaf0ff;text-align:left;color:#002571;overflow:hidden;cursor:pointer;min-width:0}.lesson-block:hover{background:#dce6ff}.lesson-block[data-teacher=marina]{background:#fff0e8;border-color:#b45424;color:#813611}.lesson-block.is-cancelled{opacity:.5;text-decoration:line-through}.lesson-block time,.lesson-block strong,.lesson-block span{display:block;overflow:hidden;text-overflow:ellipsis}.lesson-block time{font-size:10px}.lesson-block strong{font-size:12px;line-height:1.3;margin:6px 0}.lesson-block span{font-size:10px;white-space:nowrap}
.detail-panel{grid-column:2;grid-row:3;background:white;padding:26px 22px;border-left:1px solid var(--admin-line);overflow:auto;max-height:calc(100dvh - 165px);font-size:14px;line-height:1.6;min-width:0}.detail-panel h2{font-size:23px;line-height:1.25;letter-spacing:-.035em;margin:0 0 14px}.detail-panel h3{font-size:17px;line-height:1.4}.detail-panel p{color:var(--admin-soft)}.week-summary{padding-top:20px}.week-summary>strong{font:500 72px/1.3 var(--font-mono,monospace);color:var(--admin-blue)}.week-summary h2{font-size:20px}.week-summary a{display:inline-block;margin-top:18px;color:var(--admin-blue)}.empty-detail{background:var(--admin-wash);padding:20px;border-radius:8px}.detail-list{margin:0}.detail-list>div{padding:13px 0;border-bottom:1px solid var(--admin-line)}.detail-list dt{color:var(--admin-soft);font-size:12px}.detail-list dd{margin:4px 0 0;overflow-wrap:anywhere}.detail-status{display:inline-block;margin:6px 0 20px;padding:5px 9px;background:#e8f5ef;color:#246347;border-radius:5px;font-size:12px}.detail-actions{display:grid;gap:10px;margin:24px 0}.detail-panel .button{font:500 13px/1.4 var(--font-sans,Arial,sans-serif);min-height:42px;padding:10px 14px;margin:10px 0 0;border-radius:6px;white-space:normal;display:inline-flex;align-items:center;justify-content:center;width:auto}.detail-panel .primary{background:var(--admin-blue);color:white;border:1px solid var(--admin-blue)}.detail-panel .ghost{background:white;color:var(--admin-blue);border:1px solid var(--admin-line)}.detail-panel .button:disabled{opacity:.45;cursor:not-allowed}.detail-panel label{display:grid;gap:7px;font-size:13px;margin:14px 0;color:var(--admin-ink)}.detail-panel input:not([type=checkbox]),.detail-panel select{width:100%;min-height:44px;border:1px solid #cdd4e0;background:white;color:var(--admin-ink);padding:10px 12px;border-radius:6px;font-size:14px}.detail-panel label:has(input[type=checkbox]){display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border:1px solid var(--admin-line);border-radius:6px}.detail-panel input[type=checkbox]{width:18px;height:18px;accent-color:var(--admin-blue)}.detail-panel small{color:var(--admin-soft);line-height:1.5}.detail-panel .close-detail{border:0;background:transparent;color:var(--admin-soft);float:right;padding:0 0 15px;cursor:pointer;font-size:12px}.reminder-list{border-top:1px solid var(--admin-line);margin-top:24px}.reminder-list ul{padding-left:18px;font-size:13px;color:var(--admin-soft)}
.admin-shell:not([data-view=calendar]) .calendar-area{grid-template-columns:1fr}.admin-shell:not([data-view=calendar]) .detail-panel{grid-column:1;grid-row:3;margin:28px 32px;padding:32px;border:1px solid var(--admin-line);border-radius:12px;max-height:none;max-width:1040px}.teacher-settings{padding:24px 0;display:grid;grid-template-columns:64px minmax(0,640px);gap:20px;border-bottom:1px solid var(--admin-line)}.teacher-settings img{width:64px;height:76px;object-fit:cover;border-radius:8px}.teacher-settings h3{margin:0 0 12px}.teacher-settings .button{margin-right:8px}.account-card{padding:24px;margin-top:20px;border:1px solid var(--admin-line);border-radius:8px}.account-card form{border-top:1px solid var(--admin-line);margin-top:20px}.account-card button{margin-right:8px!important}#weeklySchedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;max-width:720px}#weeklySchedule button{grid-column:1/-1;justify-self:start}#daySchedule,#createGroup{max-width:720px}.col-1{grid-column:1}.col-2{grid-column:2}.col-3{grid-column:3}.col-4{grid-column:4}.col-5{grid-column:5}.col-6{grid-column:6}.col-7{grid-column:7}.col-8{grid-column:8}.row-1{grid-row:1}
@media(max-width:1250px){.calendar-area{grid-template-columns:minmax(0,1fr)}.detail-panel{display:none}.detail-panel.is-open{display:block;position:fixed;right:0;top:0;bottom:0;z-index:20;width:min(390px,100%);max-height:100dvh;box-shadow:-10px 0 40px #171b2420}.admin-shell:not([data-view=calendar]) .detail-panel{display:block}.calendar-wrap{max-height:none}.calendar-toolbar{padding:24px}.admin-shell:not([data-view=calendar]) .detail-panel{margin:24px}}
@media(max-width:760px){.admin-shell:not([hidden]){display:block}.admin-nav{position:static;height:auto;padding:16px;gap:12px;border-right:0;border-bottom:1px solid var(--admin-line)}.admin-nav .brand{padding:0}.nav-caption,.site-link{display:none}.admin-nav nav{display:flex;overflow:auto;gap:6px;order:3;margin:0 -16px;padding:0 16px}.admin-nav nav button,.admin-nav nav a{white-space:nowrap;min-height:42px;font-size:12px;gap:8px;flex-shrink:0}.admin-account{position:absolute;right:16px;top:18px;padding:0;border:0;max-width:180px;text-align:right}.admin-account p{font-size:10px;margin:0 0 4px}.admin-account button{font-size:11px}.calendar-toolbar{padding:24px 16px;gap:20px}.calendar-toolbar h1{font-size:29px}.toolbar-controls{width:100%;gap:12px}.week-controls{flex:1}.week-controls strong{min-width:0;flex:1;font-size:11px}.toolbar-controls select{width:100%}.admin-shell:not([data-view=calendar]) .detail-panel{margin:16px;padding:20px}.teacher-settings{grid-template-columns:1fr}.teacher-settings img{display:none}#weeklySchedule{grid-template-columns:1fr}.login-panel{padding:26px}.calendar-wrap{max-height:65dvh}.admin-status{padding:16px}.detail-panel.is-open{padding:24px}}
