.calendar-page{width:min(1280px,100%);max-width:100%;min-width:0;margin:0 auto;padding:10px 0 28px;overflow:hidden}.calendar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.calendar-head h1,.manual-head h1{font:800 clamp(2rem,5vw,4.2rem) "Manrope";letter-spacing:-.055em;margin:8px 0}.calendar-head p{margin:0;color:var(--muted)}.calendar-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.calendar-toolbar span{padding:7px 10px;border:1px solid var(--line);background:var(--surface);border-radius:999px;color:var(--muted);font-size:.82rem;font-weight:700}.calendar-scroll{position:relative;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-soft);isolation:isolate;scroll-padding-left:0}.schedule-grid{display:grid;grid-template-columns:92px repeat(var(--cal-cols),minmax(140px,1fr)) 58px;width:max-content;min-width:100%;background:var(--surface)}.cal-corner,.cal-day,.cal-time,.cal-cell,.cal-add-axis,.cal-axis-spacer{min-height:76px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-corner,.cal-day{position:sticky;top:0;z-index:3;background:var(--surface-2);display:grid;place-items:center;font-weight:800}.cal-corner{left:0;z-index:6;box-shadow:1px 0 0 var(--line)}.cal-time{position:sticky;left:0;z-index:5;background:var(--surface-2);display:grid;place-items:center;padding:8px;text-align:center;font-size:.8rem;color:var(--muted);font-weight:700;box-shadow:1px 0 0 var(--line);white-space:nowrap}.cal-head-button{appearance:none;color:var(--text);border-top:0;border-left:0;transition:.18s ease}.cal-head-button:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));color:var(--text)}.cal-head-button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.cal-cell{appearance:none;background:var(--surface);color:var(--text);padding:9px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:4px;border-top:0;border-left:0}.cal-cell:hover{background:var(--surface-2)}.cal-cell.filled{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.cal-cell strong{font-size:.9rem}.cal-cell span{font-size:.76rem;color:var(--muted)}.cal-empty-dot{font-size:1rem!important;opacity:.35}.cal-add-axis{appearance:none;background:var(--surface-2);color:var(--text);border-top:0;border-left:0;font-size:1.25rem;font-weight:900;display:grid;place-items:center;transition:.18s ease}.cal-add-axis:hover{background:var(--accent);color:var(--accent-ink)}.cal-add-column{position:static;top:auto;right:auto;z-index:3;box-shadow:none}.cal-add-row{position:sticky;left:0;bottom:0;z-index:6}.cal-axis-spacer{background:var(--surface)}.cal-axis-bottom-spacer{background:var(--surface-2)}.cal-axis-plus-corner{background:var(--surface-2)}.calendar-notes{margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow-soft)}.calendar-notes-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.calendar-notes-head h2{margin:0;font:800 1.1rem "Manrope"}.calendar-notes-head span{font-size:.78rem;color:var(--muted)}.calendar-notes textarea,.calendar-form textarea{width:100%;min-height:120px;resize:vertical;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:14px;padding:13px;outline:none}.calendar-choice{max-width:520px}.calendar-choice-list{display:grid;gap:12px}.calendar-choice-card{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;text-align:left}.calendar-choice-card:hover{border-color:rgba(200,255,77,.45)}.choice-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:900}.calendar-choice-card strong{display:block;margin-bottom:4px}.calendar-choice-card p{margin:0;color:var(--muted);font-size:.88rem}.calendar-axis-sheet{max-width:500px}.axis-sheet-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px}.axis-sheet-actions .btn{min-width:130px}.btn-danger{background:#ef4444;color:#fff;border-color:#ef4444}.btn-danger:hover{border-color:#dc2626;background:#dc2626}.manual-page{max-width:760px}.manual-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:20px}.calendar-form{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-soft)}.calendar-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calendar-form small{display:block;margin-top:6px;color:var(--muted)}
body:has(.calendar-page){overflow-x:hidden}.workspace:has(.calendar-page),.workspace-main:has(.calendar-page){min-width:0;max-width:100%;overflow-x:hidden}.workspace-main:has(.calendar-page){display:block;place-items:unset}
@media(max-width:720px){.calendar-page{width:100%;max-width:100%;padding-bottom:12px}.calendar-head{align-items:flex-start}.calendar-head h1{font-size:2.25rem}.calendar-head .subject-add strong{display:none}.calendar-head .subject-add{width:46px;height:46px;padding:0;justify-content:center;border-radius:15px;flex:0 0 auto}.calendar-scroll{width:100%;max-width:100%;margin:0;border-radius:16px;border-left:1px solid var(--line);border-right:1px solid var(--line);scrollbar-width:thin}.calendar-notes{border-radius:16px}.calendar-form-grid{grid-template-columns:1fr}.manual-head{display:block}.manual-head .btn{margin-bottom:14px}.schedule-grid{grid-template-columns:88px repeat(var(--cal-cols),130px) 52px;width:max-content;min-width:100%}.cal-corner,.cal-day,.cal-time,.cal-cell,.cal-add-axis,.cal-axis-spacer{min-height:68px}.cal-corner,.cal-time{padding-left:10px;padding-right:10px}.cal-add-column{position:static;right:auto;top:auto;z-index:3}.axis-sheet-actions{display:grid;grid-template-columns:1fr 1fr}.axis-sheet-actions .btn{min-width:0}.calendar-axis-sheet{max-width:none}}