.essay-planner { padding: clamp(1rem, 3vw, 1.75rem); margin-block: 1.5rem 2.8rem; border: 1px solid #d8d0c1; border-radius: 1rem; background: #f4f0e7; }
.planner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1rem; }
.essay-planner label { display: flex; flex-direction: column; gap: .4rem; font-size: .95rem; font-weight: 600; line-height: 1.5; min-width: 0; }
.essay-planner input:not([type=checkbox]) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; padding: .65rem; border: 1px solid #a99dab; border-radius: .5rem; background: #fffdf8; color: #352438; font: inherit; font-size: 1rem; }
.essay-planner fieldset { min-width: 0; padding: 1rem; margin-block: 1rem; border: 1px solid #cfc5c9; border-radius: .65rem; }
.essay-planner legend { font-weight: 600; padding-inline: .4rem; }
.planner-weekdays { display: flex; flex-wrap: wrap; gap: .3rem 1rem; }
.planner-weekdays label { flex-direction: row; align-items: center; min-height: 44px; }
.planner-weekdays input { width: 1.1rem; height: 1.1rem; accent-color: #71328f; }
.essay-planner .planner-help, .essay-planner .planner-status { font-size: .88rem; line-height: 1.6; margin-block: .5rem 1rem; }
.essay-planner summary { padding-block: .8rem; cursor: pointer; font-weight: 600; }
.essay-planner button { min-height: 44px; padding: .75rem 1rem; border: 1px solid #71328f; border-radius: 999px; background: #71328f; color: #fffdf8; font: inherit; font-size: .95rem; font-weight: 600; cursor: pointer; transition: background-color .15s, border-color .15s; }
.essay-planner button:hover { background: #4b1b63; border-color: #4b1b63; }
.essay-planner :is(button, input, summary):focus-visible { outline: 3px solid #806396; outline-offset: 3px; }
.essay-planner [aria-invalid=true] { border-color: #9b382c; }
.essay-planner .planner-error { padding: 1rem; color: #79291d; border: 1px solid #aa5646; border-radius: .6rem; background: #fff1e5; }
.planner-days { padding-left: 1.4rem; }
.planner-days > li { padding: 1rem; margin-bottom: .75rem; background: #fffdf8; border: 1px solid #d8d0c1; border-radius: .6rem; }
.essay-planner .planner-days h4 { margin: 0 0 .5rem; font-size: 1.05rem; }
.essay-planner .planner-days p { margin: .3rem 0; font-size: .95rem; }
.essay-planner [hidden] { display: none !important; }
@media (max-width: 540px) { .planner-grid { grid-template-columns: minmax(0,1fr); } .essay-planner fieldset { padding: .7rem; } }
@media (prefers-reduced-motion: reduce) { .essay-planner button { transition: none; } }
