*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background-color:#bbffbc;min-height:100vh;font-family:sans-serif}.site-header{text-align:center;padding:3rem 1rem 2rem}.site-header h1{margin-bottom:.5rem;font-size:2.5rem}.site-header--dashboard{justify-content:space-between;align-items:center;gap:1rem;width:min(100% - 2rem,900px);margin:0 auto;display:flex}.site-footer{text-align:center;color:#333;margin-top:3rem;padding:2rem 1rem;font-size:.9rem}.auth-section,.dashboard{width:min(100% - 2rem,900px);margin:0 auto}.auth-section{gap:1.5rem;display:grid}.dashboard{margin-top:2rem}.planner-section{margin-top:1rem}@media (width>=700px){.auth-section{grid-template-columns:repeat(2,1fr)}}.dashboard-layout{gap:1.5rem;width:min(100% - 2rem,900px);margin:0 auto;display:grid}.week-section{gap:1.5rem;display:grid}.section-heading{gap:1rem;display:grid}.week-heading{text-align:center;flex-direction:column;align-items:center;display:flex}.week-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(.3rem,2vw,1rem);display:flex}#previousWeekButton,#nextWeekButton,#currentWeekButton{white-space:nowrap;padding:clamp(.3rem,1vw,.6rem) clamp(.5rem,2vw,1rem);font-size:clamp(.75rem,2vw,1rem)}#currentWeekLabel{font-size:clamp(.8rem,2vw,1rem)}.current-week-info{flex-direction:column;align-items:center;gap:.5rem;display:flex}.week-planner{gap:1rem;display:grid}.todo-panel{margin-top:1.5rem}@media (width>=900px){.dashboard-layout{grid-template-columns:2fr 1fr;align-items:start}.todo-panel{margin-top:0}}.auth-card,.planner-section,.week-section,.todo-panel{background-color:#ffddf1d0;border-radius:1.5rem;padding:1.5rem;box-shadow:0 8px 24px #00000014}.day-card{background-color:#b0c3fa;border-radius:1.5rem;gap:.75rem;padding:1.5rem;display:grid;box-shadow:0 8px 24px #00000014}.event-item{background-color:#f9f09d;border-radius:1.5rem;margin-top:.75rem;padding:1rem;box-shadow:0 8px 16px #00000014}.event-item h4{margin-bottom:.4rem}.event-item--highlight{animation:.8s eventPlaced}@keyframes eventPlaced{0%{opacity:.4;transform:translateY(-.5rem)}60%{opacity:1;transform:translateY(.15rem)}to{transform:translateY(0)}}.event-edit,.event-delete{opacity:.7;background-color:#0000;border-radius:0;margin-top:.75rem;margin-left:1rem;padding:0;font-size:.85rem;font-weight:400;text-decoration:underline}-event-edit:hover,.event-delete:hover{opacity:1}.todos-list{gap:.75rem;margin-top:1rem;display:grid}.todo-item{border-bottom:1px solid #5d5d5d;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.7rem 0;display:grid}.todo-item p{margin:0}.todo-item--completed p{opacity:.6;text-decoration:line-through}.todo-check{background-color:#0000;border:2px solid #ffb703;border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;padding:0;font-size:.9rem;line-height:1;display:grid}.todo-delete{opacity:.7;background-color:#0000;border-radius:0;padding:0;font-size:.85rem;font-weight:400;text-decoration:underline}.todo-delete:hover{opacity:1}form{gap:.75rem;margin-top:1rem;display:grid}.status-message{color:#c94b4b;min-height:1.2rem;margin-top:.75rem;font-size:.95rem}.status-message--error{color:#c0392b}.status-message--success{color:#4c9c68}.input-error{background-color:#fff5f5;outline:none;border:2px solid #c0392b!important}input,select,textarea{font:inherit;border:1px solid #5d5d5d;border-radius:999px;padding:.8rem 1rem}textarea{resize:vertical;border-radius:1.5rem}.planner-form{gap:.75rem;display:grid}.toggle-form-btn{margin-bottom:1rem}#currentWeekButton{opacity:.7;background-color:#0000;border-radius:0;margin-top:.75rem;padding:0;font-size:.85rem;font-weight:400;text-decoration:underline}#currentWeekButton:hover{opacity:1}.loading-overlay{z-index:999;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-card{text-align:center;background-color:#fff;border-radius:1rem;min-width:250px;padding:2rem}.loading-card p{margin-bottom:1.5rem;font-size:1.2rem}.hidden{display:none}button{appearance:none;font:inherit;cursor:pointer;color:#333;background-color:#ffb703;border:none;border-radius:999px;padding:.8rem 1rem;font-weight:700;box-shadow:0 4px 6px -1px #00000014,0 2px 4px -1px #00000014}.account-danger-zone{text-align:center;border-top:1px solid #ddd;margin-top:4rem;padding-top:2rem}#deleteAccountButton{color:#822;margin-top:1rem}
