:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#23352f;background:#f5f4ef;line-height:1.5}*{box-sizing:border-box}body{margin:0}main{max-width:1250px;margin:auto;padding:24px}h1,h2,h3,p{margin:0 0 12px}h1{font-size:2rem;letter-spacing:-.04em}h2{font-size:1.3rem;margin-top:22px}h3{font-size:1.1rem}button,input,select,textarea{font:inherit}button{background:#fff;border:1px solid #a9b7af;border-radius:9px;padding:9px 14px;cursor:pointer;color:inherit;min-height:42px}button:hover{background:#edf1eb}button:disabled{opacity:.55;cursor:not-allowed}.primary,nav button[aria-current],button[aria-pressed=true]{background:#285847;color:#fff;border-color:#285847}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #aa6621;outline-offset:2px}input,select,textarea{width:100%;padding:9px;border:1px solid #a9b7af;border-radius:7px;background:#fff;color:inherit;min-height:42px}textarea{min-height:90px;resize:vertical}label{display:grid;gap:5px;font-size:.9rem;font-weight:550;margin:8px 0}fieldset{border:1px solid #c6cec7;border-radius:10px;margin:16px 0;padding:15px}legend{font-weight:650}form>fieldset.form-body{border:0;padding:0}.app-header,.context-bar,.toolbar,.actions,.dialog header,.dialog footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.app-header{justify-content:space-between;border-bottom:1px solid #d8ded6;padding-bottom:16px}.eyebrow{font-size:.74rem;letter-spacing:.14em;font-weight:750;color:#4b6658}.context-bar{margin:18px 0;justify-content:space-between}.context-bar label{display:flex;align-items:center}.muted,small{color:#56675e;font-size:.85rem}nav{display:flex;gap:8px;margin:20px 0}nav button{text-transform:capitalize;min-width:90px}.panel,.task{background:#fff;border:1px solid #d1dad1;border-radius:16px;padding:20px}.login{max-width:440px;margin:40px auto}.day-header{padding:26px;border-radius:18px;margin:18px 0}.day-school_day{background:#c7dec2}.day-hbl{background:#bed7ec}.day-no_school{background:#eee0a9}.day-school_holiday{background:#edc7a6}.day-travel{background:#d6c4e6}.day-weekend{background:#cfd4d8}.day-rest{background:#dfcfbf}.day-unknown{background:#ecebe4}.day-label,.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:.77rem;font-weight:650;border:1px solid #68766e66;margin:2px 5px 2px 0}.day-label{background:#fff5}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.stats>div{background:#fff;border:1px solid #d1dad1;border-radius:14px;padding:18px}.stats strong{font-size:1.7rem;display:block}.stats span{font-size:.85rem}.all-done{padding:18px;background:#d3e8c9;border:1px solid #8aac79;border-radius:12px;font-weight:650}.day-layout{display:grid;grid-template-columns:1fr 290px;gap:22px;align-items:start}.task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:14px}.task-top{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;margin-bottom:12px}.task.finished{border-left:5px solid #6b9361}.task p{overflow-wrap:anywhere}.task .actions{margin-top:14px}.task button{font-size:.86rem}.event{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid #b2c1b0}.event span{font-size:.8rem}.notice{background:#f3e5bd;padding:9px;border-radius:7px;font-size:.84rem}.error{background:#f9ded7;border:1px solid #b6604e;padding:14px;border-radius:10px;margin:12px 0}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-cell{padding:12px;border:1px solid #78827755;border-radius:12px;min-height:145px;overflow-wrap:anywhere}.calendar-cell small{display:block}.date-button{padding:3px 5px;min-height:32px;background:#fff6;font-weight:650;font-size:.8rem}.calendar-cell .day-label{font-size:.68rem;padding:2px 4px}.toolbar{margin:16px 0}.toolbar label{max-width:190px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.check{display:flex;align-items:center;font-weight:450;gap:8px}.check input{width:18px;min-height:18px;height:18px}.weekday-input{display:flex;flex-wrap:wrap;gap:12px}.modal-backdrop{position:fixed;inset:0;background:#14292088;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:24px;z-index:10}.dialog{width:min(760px,100%);background:#fafbf7;border-radius:18px;padding:24px;box-shadow:0 15px 50px #0004}.dialog header,.dialog footer{justify-content:space-between}.dialog header h2{margin:0}.dialog footer{border-top:1px solid #c5cec3;padding-top:15px;margin-top:20px}.dialog details{background:#fff;border:1px solid #c5cec3;padding:12px;margin:12px 0;border-radius:10px}summary{cursor:pointer;font-weight:600}.period{padding:14px;border:1px solid #c5cec3;border-radius:10px;margin:10px 0}dt{font-weight:600}dd{margin-left:0;overflow-wrap:anywhere}.actions select{width:auto;max-width:250px}@media(max-width:850px){.day-layout{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}main{padding:16px}.stats strong{font-size:1.4rem}}@media(max-width:500px){.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-grid{grid-template-columns:1fr}.stats{gap:6px}.stats>div{padding:12px}.app-header h1{font-size:1.7rem}.task-grid{grid-template-columns:1fr}.modal-backdrop{padding:8px}.dialog{padding:17px}.actions>*{flex-grow:1}.context-bar{align-items:flex-start}.day-header{padding:20px}nav{overflow:auto}nav button{min-width:70px;padding:8px}}.primary:hover,nav button[aria-current]:hover,button[aria-pressed=true]:hover{background:#1f493a;color:#fff}.child-daybook{--child-ink:#4b4160}.child-daybook h1,.child-daybook h2{color:var(--child-ink)}.child-daybook .task{border-color:#dcd4e6;box-shadow:0 3px 12px #63597809;border-top:4px solid #d9c8e9}.child-daybook .task:nth-child(3n+2){border-top-color:#bddce7}.child-daybook .task:nth-child(3n){border-top-color:#bfe0d1}.child-daybook .task.finished{background:#f1f8f3;border-left-color:#81ac98}.child-daybook .primary,.child-daybook nav button[aria-current]{background:#655080;border-color:#655080}.child-daybook .primary:hover{background:#4e3d65}.coin-strip{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 22px;background:#f8e8bf;border:1px solid #dbc695;border-radius:18px;margin:18px 0}.coin-strip strong{font-size:1.4rem}.coin-strip button{margin-left:auto}.completion-toast{padding:14px 20px;border-radius:14px;background:#dceee3;font-weight:650}.tomorrow-preview{border-radius:12px;background:#eee9f5;padding:16px;margin-bottom:22px}.tomorrow-preview h2{margin-top:0}.coin-entry{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid #e2daca}.coin-entry strong{color:#765715;min-width:36px}.coin-entry small{margin-left:auto}.coin-history{max-width:760px;background:#fffcf4}.reading-progress{padding:10px;background:#f0eaf7;border-radius:9px;font-size:.86rem}.completion-inputs{border:0;padding:0}.dialog details{padding:12px}.child-daybook .all-done{background:#dbeee4;border-color:#abcbbb;font-size:1.06rem}.day-public_holiday{background:#efd2a6}.day-term_break{background:#edd9bc}.evidence-preview{display:block;max-width:100%;max-height:420px;object-fit:contain;margin:12px 0}.evidence-inputs{border-top:1px solid #cbd5d1;padding-top:12px}progress{width:100%;height:20px}.evidence-item{margin:0;padding:16px;border:1px solid #d0d9d3;border-radius:12px;background:#fff}.evidence-item figcaption{font-weight:650}.evidence-grid{display:grid;gap:16px}.review-dialog{width:min(960px,100%)}.review-dialog .evidence-preview{width:100%;max-height:520px}.submission{margin:18px 0}.written-answer{white-space:pre-wrap;background:#eef3ec;padding:14px;border-radius:10px;margin-bottom:16px}.image-enlarged{position:fixed;inset:0;z-index:30;background:#f7f7f1;overflow:auto;padding:20px}.image-enlarged img{display:block;max-width:none}.image-enlarged button{position:sticky;top:0;z-index:1}.reward-photo-editor{margin:20px 0;padding:16px;background:#f0f3ee;border-radius:12px}.reward-photo-editor h3{margin:0}.reward-photo-editor .evidence-preview{max-height:240px;border-radius:8px}.coin-entry span{overflow-wrap:anywhere}.coin-entry small{flex-shrink:0}.calendar-scroll{overflow-x:auto;margin:16px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px;gap:4px}.calendar-cell{min-width:0;overflow-wrap:anywhere;padding:10px}.calendar-cell p{font-size:.8rem;margin:8px 0}.weekday-heading{text-align:center;padding:8px}.outside-month{opacity:.5}.calendar-event{border-left:3px solid #466992;background:#ffffff90;border-radius:3px;padding:4px}.calendar-task{border-bottom:1px solid #23352f18;padding-bottom:4px}.homework-dates{border-left:3px solid #8c78a7;padding-left:10px;margin:10px 0}.homework-dates p{margin:3px 0}.completion-record{background:#ffffffa0;border:1px solid #c8d4cb;border-radius:8px;padding:10px;margin:12px 0}.completion-record section{border-bottom:1px solid #dde3dc}.calendar-range{font-weight:600}
