.plan-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:24px; padding-bottom:24px; }
.plan-header .brand { display:flex; align-items:center; gap:10px; font-weight:800; color:var(--text-primary); text-decoration:none; }
.plan-header .brand img { border-radius:10px; }
.plan-header nav { display:flex; gap:20px; flex-wrap:wrap; }
.plan-header nav a, .plan-footer a { color:#c3b2ff; }
.plan-main { max-width:1100px; padding-top:36px; }
.plan-main h1 { font-size:clamp(2rem,5vw,3.3rem); }
.plan-settings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:24px; background:var(--surface); border:1px solid var(--glass-border); border-radius:20px; }
.plan-settings label, .week-controls label { display:grid; gap:8px; font-size:14px; font-weight:600; }
.plan-main select, .plan-main input[type=date], .plan-main button { font:inherit; color:var(--text-primary); background:#181132; border:1px solid var(--glass-border-hi); border-radius:10px; padding:12px; min-height:44px; }
.plan-main input[type=date] { color-scheme:dark; min-width:0; width:100%; }
.plan-main button { cursor:pointer; }
.plan-main button:hover { border-color:#a78bfa; }
.plan-main button:disabled { opacity:.4; cursor:default; }
.plan-main :focus-visible { outline:3px solid #34e3c0; outline-offset:3px; }
.plan-note { color:var(--text-secondary); font-size:14px; line-height:1.7; margin:20px 0; }
.plan-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:30px 0; padding:0; }
.plan-summary h2 { font-size:20px; margin-bottom:8px; }
.plan-summary p { color:var(--text-secondary); }
.plan-summary progress { width:35%; height:12px; accent-color:#00d4aa; }
.week-controls { display:flex; gap:16px; align-items:end; margin-bottom:20px; }
.week-controls label { flex:1; }
.plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.plan-day { border:1px solid var(--glass-border); border-radius:18px; background:var(--surface); padding:22px; }
.plan-day.today { border-color:#00d4aa; }
.plan-day.done { background:rgba(0,212,170,.06); }
.plan-day h3 { font-size:17px; margin-bottom:8px; }
.plan-date { color:var(--text-secondary); font-size:13px; margin-bottom:14px; }
.plan-task { display:flex; align-items:start; gap:10px; padding:10px 0; line-height:1.55; font-size:14px; cursor:pointer; }
.plan-task input { flex-shrink:0; width:20px; height:20px; margin-top:1px; accent-color:#00d4aa; }
.plan-task input:checked + span { text-decoration:line-through; color:var(--text-secondary); }
.plan-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.plan-footer { padding-top:20px; padding-bottom:36px; }
@media(max-width:600px) {
  .plan-header { align-items:start; flex-direction:column; }
  .plan-settings, .plan-grid { grid-template-columns:1fr; }
  .plan-summary { align-items:start; flex-direction:column; }
  .plan-summary progress { width:100%; }
  .week-controls { gap:8px; flex-wrap:wrap; }
  .week-controls label { min-width:100px; }
  .week-controls button { font-size:13px; padding:10px; }
}
@media print {
  body { background:white; color:black; }
  .plan-header, .plan-settings, .week-controls, .plan-actions, .plan-footer, #saveStatus { display:none; }
  .plan-main { padding:0; max-width:none; }
  .plan-day { break-inside:avoid; background:white; border:1px solid #aaa; color:black; }
  .plan-date, .plan-note, .plan-summary p, .plan-task input:checked + span { color:#444; }
  .grad-text { background:none; color:black; -webkit-text-fill-color:black; }
  .section-header { margin-bottom:20px; }
}
