:root{color:#1f2b25;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ui-paper:#e8ece8;--ui-surface:#fff;--ui-ink:#182620;--ui-muted:#7a8880;--ui-rule:#dde3db;--ui-accent:#267a58;--ui-accent-soft:#daeee5;--ui-callout:#e8f2eb;--ui-callout-rule:#c2d8c8;--ui-alert:#b85450;--ui-orange:#c07838;--ui-orange-soft:#f8eddc;--ui-mint:#38907a;--ui-top-bg:#182620;--ui-top-copy:#b8cebf;background:#f4f6f2;font-family:Microsoft YaHei,Segoe UI,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:#f4f6f2;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#276749;border:0;border-radius:8px;min-height:38px;padding:0 16px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s}button:hover{background:#21583f;transform:translateY(-1px);box-shadow:0 8px 18px #27674929}button:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #65a77b52}button:disabled{box-shadow:none;cursor:default;background:#b8c5bc;transform:none}button.active,.filters button.active,.switcher button.active,.bottom-nav button.active{color:#18231d;background:#f5bd4f;border-color:#f5bd4f}input,select,textarea{color:#1f2b25;background:#fff;border:1px solid #d9e0d8;border-radius:8px;outline:none;width:100%;padding:10px 12px;transition:border-color .16s,box-shadow .16s,background .16s}input:focus,select:focus,textarea:focus{background:#fff;border-color:#65a77b;box-shadow:0 0 0 3px #65a77b29}textarea{resize:vertical;min-height:92px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}p{color:#65756b}.app-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:24px 24px 40px}.login-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#ffffffe6;border:1px solid #e0e7dfe6;border-radius:8px;width:min(440px,100%);padding:26px;box-shadow:0 24px 70px #3f524624}.login-card h1{margin-bottom:12px}.sticky-header{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f6f2f7;border-bottom:1px solid #d9e0d8c7;gap:10px;margin:-24px -24px 16px;padding:16px 24px 10px;display:grid;position:sticky;top:0;box-shadow:0 10px 22px #1e2d2414}.topbar{background:#fff;border:1px solid #dfe6de;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;padding:10px 14px;display:flex;box-shadow:0 8px 26px #1e2d240f}.topbar-identity{align-items:center;gap:8px;min-width:0;display:flex}.topbar-mark{background:var(--ui-accent);color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;line-height:1;display:grid}.topbar-title{color:#14231b;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;line-height:1;overflow:hidden}.eyebrow{color:#276749;background:#e9f5ed;border-radius:999px;align-items:center;width:fit-content;margin-bottom:8px;padding:4px 10px;font-size:13px;font-weight:800;display:inline-flex}.switcher,.hero-actions,.inline-actions,.filters{flex-wrap:wrap;gap:8px;display:flex}.switcher button,.filters button,.bottom-nav button{color:#274236;background:#fff;border:1px solid #d9e0d8}.switcher button:hover,.filters button:hover,.bottom-nav button:hover{color:#24312b;background:#f8fbf3}.switcher button.active,.filters button.active,.bottom-nav button.active{color:#18231d;background:#f5bd4f;border-color:#f5bd4f}.toast{color:#694b15;white-space:pre-wrap;background:#fff7df;border:1px solid #efd58d;border-radius:8px;margin-bottom:16px;padding:12px 14px;box-shadow:0 10px 22px #97691c14}.modal-backdrop{z-index:70;background:#14231b57;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border:1px solid #d9e0d8;border-radius:8px;width:min(720px,100%);max-height:min(760px,100vh - 48px);padding:18px;display:grid;position:relative;overflow:auto;box-shadow:0 28px 80px #14231b3d}.modal-header{border-bottom:1px solid #e1e8df;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.modal-header h2{color:#14231b;margin-bottom:0}.icon-action{color:#274236;background:#fff;border:1px solid #d9e0d8;place-items:center;width:38px;min-width:38px;min-height:38px;padding:0;font-size:22px;line-height:1;display:inline-grid}.icon-action:hover{box-shadow:none;background:#f8fbf3}.modal-task-editor{background:0 0;border:0;padding:0}.modal-task-editor .task-title-field,.modal-task-editor .task-editor-wide,.modal-task-editor .modal-actions{grid-column:1/-1}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.compact-reason-modal{width:min(520px,100%)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.evidence-section{gap:12px;display:grid}.evidence-uploader,.evidence-preview-list{color:#526159;border:1px solid #d9e5dc;border-radius:8px;outline:none;gap:12px;padding:12px;transition:border-color .18s,background-color .18s,box-shadow .18s;display:grid}.evidence-uploader{background:#fff}.evidence-preview-list{background:#fbfdfb}.evidence-uploader>div,.evidence-preview-title{gap:4px;display:grid}.evidence-uploader strong,.evidence-preview-title strong{color:#13251b;font-size:15px;display:block}.evidence-uploader span,.evidence-preview-title span{font-size:14px;font-weight:700;line-height:1.5;display:block}.evidence-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:10px;width:100%;display:grid}.evidence-tile{background:#fff;border:1px solid #dbe5dd;border-radius:8px;gap:8px;margin:0;display:grid;position:relative;overflow:hidden}.media-thumb{background:0 0;border:0;border-radius:0;width:100%;min-height:0;padding:0;display:block;overflow:hidden}.media-thumb:hover{box-shadow:none;background:0 0;transform:none}.evidence-tile .media-thumb img,.evidence-tile .media-thumb video{object-fit:cover;background:#eef4ef;width:100%;height:118px}.evidence-remove{color:#fff;background:#14231bb8;border:1px solid #ffffffd6;border-radius:999px;place-items:center;width:28px;height:28px;min-height:28px;padding:0;font-size:18px;line-height:1;display:grid;position:absolute;top:6px;right:6px}.evidence-remove:hover{box-shadow:none;background:#276749}.evidence-tile figcaption{text-align:left;padding:0 8px 8px}.evidence-tile figcaption span{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.evidence-empty{color:#276749;text-align:center;background:#f8fbf7;border:1px dashed #bfd2c5;border-radius:8px;place-items:center;gap:4px;min-height:96px;padding:14px;display:grid}.evidence-empty:hover{color:#276749;box-shadow:none;background:#f8fbf7;transform:none}.evidence-empty span{color:#526159;font-size:13px;font-weight:800}.evidence-empty strong{color:#13251b;font-size:16px}.evidence-form .summary,.evidence-form label,.evidence-form .evidence-section,.evidence-form .modal-actions{grid-column:1/-1}.file-hint{color:#526159;margin:0;font-weight:800}.submission-preview{gap:8px;margin-top:10px;display:grid}.submission-summary{color:#526159;background:#eef4ef;border-radius:999px;width:fit-content;padding:4px 9px;font-size:13px;font-weight:900}.submitted-media-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.submitted-media-item{gap:6px;margin:0;display:grid}.submitted-media-item .media-thumb img,.submitted-media-item .media-thumb video{object-fit:contain;background:#eef4ef;border-radius:8px;width:100%;max-height:220px}.submitted-media-item figcaption{color:#526159;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.submission-preview p{color:#405146;margin-bottom:0}.submission-preview>img,.submission-preview>video{object-fit:contain;background:#f8faf7;border:1px solid #dfe6de;border-radius:8px;width:min(320px,100%);max-height:240px;display:block}.media-viewer-backdrop{z-index:80;background:#09120dc7;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.media-viewer{justify-items:center;gap:10px;width:min(960px,100%);max-height:calc(100vh - 36px);display:grid;position:relative}.media-viewer .icon-action{z-index:1;background:#fffffff0;position:absolute;top:10px;right:10px}.media-viewer img,.media-viewer video{object-fit:contain;background:#fff;border-radius:8px;max-width:100%;max-height:calc(100vh - 110px)}.media-viewer p{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:800;overflow:hidden}.parent-feedback{background:#eef7f0;border-left:4px solid #276749;border-radius:8px;padding:8px 10px}.review-layout{gap:16px;display:grid}.review-layout .submission-preview img,.review-layout .submission-preview video{width:min(100%,520px);max-height:420px}.page-grid{gap:16px;display:grid}.learning-page{grid-template-columns:1fr}.learning-summary{gap:16px;display:grid}.range-toolbar{border-bottom:1px solid #dfe6de;justify-content:flex-end;padding-bottom:12px;display:flex;position:relative}.range-trigger{color:#274236;background:#fff;border:1px solid #d9e0d8;border-radius:999px;grid-template-columns:auto auto auto;align-items:center;gap:8px;min-height:36px;padding:0 12px;display:inline-grid}.range-trigger:hover{background:#f8faf7;box-shadow:0 6px 14px #1e2d2414}.range-trigger span,.range-trigger b{color:#65756b;font-size:13px;font-weight:800}.range-trigger strong{color:#14231b}.range-popover{z-index:20;background:#fff;border:1px solid #d9e0d8;border-radius:8px;gap:10px;width:min(520px,100vw - 48px);padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px #1e2d2429}.range-tabs{background:#f8faf7;border:1px solid #d9e0d8;border-radius:8px;flex:none;gap:4px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow:hidden}.range-tabs button{color:#274236;white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:72px;min-width:64px;min-height:34px;padding:0 12px}.range-tabs button.active{color:#18231d;background:#f5bd4f;box-shadow:0 4px 10px #b27c1629}.date-inputs{color:#65756b;background:#fff;border:1px solid #d9e0d8;border-radius:8px;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:6px;padding:6px;font-weight:800;display:grid}.date-inputs label{color:#65756b;gap:2px;font-size:12px;font-weight:800;display:grid}.date-inputs label span{padding-left:6px}.date-inputs input{background:#f8faf7;border:0;width:136px;padding:8px 10px}.range-separator{color:#8a978e;align-self:end;padding:0 4px 8px}.summary-chart{grid-template-columns:190px 1fr auto;align-items:center;gap:22px;display:grid}.parent-summary{grid-template-columns:170px 1fr auto}.parent-workspace{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:16px;display:grid}.donut{border-radius:50%;place-items:center;width:168px;height:168px;display:grid;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;width:112px;height:112px;position:absolute}.donut-content{z-index:1;text-align:center;gap:2px;display:grid;position:relative}.donut-content strong{color:#14231b;font-size:28px;line-height:1}.donut-content span{color:#65756b;font-size:13px;font-weight:800}.summary-copy strong{color:#14231b;margin-bottom:6px;font-size:30px;line-height:1.18;display:block}.summary-copy p{margin-bottom:0}.summary-action{min-width:116px}.task-group-heading{color:#17241d;justify-content:space-between;align-items:center;gap:12px;padding:2px 0;font-weight:900;display:flex}.task-group-heading span{color:#65756b;font-size:13px}.task-row-card{background:#fff;border:1px solid #dfe6de;border-radius:8px;grid-template-columns:84px 1fr auto;align-items:center;gap:14px;min-height:88px;padding:12px 14px;display:grid}.task-row-card.urgent{background:#fffaf0;border-color:#efc16b}.task-row-card.done{background:#f8faf7}.task-row-card.done h3,.task-row-card.done p{color:#8a978e}.task-row-card h3{margin-bottom:4px}.task-title-line{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.task-title-line h3{margin-bottom:0}.status-pill{color:#526159;background:#eef2eb;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;font-weight:900;display:inline-flex}.review-pending{background:#fffaf0;border-color:#efc16b}.review-pending .status-pill{color:#8a5a12;background:#fff1cc}.review-reviewed .status-pill{color:#276749;background:#e7f4ed}.review-returned{background:#fff7f5;border-color:#e2a3a3}.review-returned .status-pill{color:#9b3b2f;background:#ffe7e2}.task-row-card p{margin-bottom:0}.task-time{color:#526159;text-align:center;font-size:13px;font-weight:900;display:grid}.task-time strong{color:#14231b;font-size:17px}.planbook-list{gap:14px;display:grid}.planbook-section{background:#fffdf8;border:1px solid #dce4da;border-radius:8px;display:grid;overflow:visible;box-shadow:0 10px 24px #1e2d240e}.planbook-subject{color:#1d3a30;background:#dce9e4;border-bottom:1px solid #d8e1d7;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 16px;display:flex}.planbook-subject strong{font-size:18px;font-weight:900}.planbook-subject>span{color:#526159;background:#ffffffb8;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:900}.subject-progress{color:#526159;font-size:13px;font-weight:800}.subject-tone-1 .planbook-subject{color:#5a3225;background:#f1e4dc}.subject-tone-2 .planbook-subject{color:#254d2f;background:#e5f0e1}.subject-tone-3 .planbook-subject{color:#59451f;background:#f1ecd9}.planbook-lines{display:grid}.planbook-row{background:linear-gradient(#ffffffa8,#ffffffa8),linear-gradient(#0000 calc(100% - 11px),#78857a29 calc(100% - 10px),#0000 calc(100% - 8px));border-bottom:1px solid #dfe6de;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:74px;padding:10px 14px;display:grid}.parent-planbook-list .planbook-row{grid-template-columns:104px minmax(0,1fr) auto}.planbook-row:last-child{border-bottom:0}.planbook-row.urgent,.planbook-row.review-pending{box-shadow:inset 4px 0 #efc16b}.planbook-row.done{background-color:#f8faf7}.planbook-content{gap:4px;min-width:0;display:grid}.planbook-line-main{grid-template-columns:auto minmax(32px,1fr) auto;align-items:end;gap:8px;display:grid}.planbook-line-main strong{color:#14231b;font-size:18px;line-height:1.25}.planbook-line-main i{border-bottom:2px dotted #9aa69d;min-width:32px;display:block;transform:translateY(-5px)}.planbook-check{color:#276749;background:#fff;border:2px solid #aab5ad;border-radius:4px;place-items:center;width:20px;height:20px;font-size:16px;font-weight:900;line-height:1;display:inline-grid}.planbook-checks{justify-content:flex-start;align-items:center;gap:8px;display:inline-flex}.check-pair{align-items:center;gap:4px;display:inline-flex}.check-pair b{color:#65756b;font-size:12px;font-weight:900}.child-pair b{color:#1f6f49}.parent-pair b{color:#8a5a12}.planbook-check.checked{color:#276749;background:#e8f4ed;border-color:#276749}.child-pair .planbook-check{background:#f4fbf2;border-color:#8ec6a2}.parent-check.checked{color:#8a5a12;background:#fff1cc;border-color:#8a5a12}.parent-pair .planbook-check{background:#fffaf0;border-color:#d9b46c}.planbook-content p{color:#526159;margin-bottom:0;font-size:15px;line-height:1.45}.planbook-content small{color:#65756b;font-size:13px;font-weight:800}.planbook-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:234px;display:flex}.action-check{margin-right:2px}.planbook-actions button{border-radius:7px;min-height:34px;padding:0 12px}.planbook-actions button+button{color:#276749;background:#fff;border:1px solid #d9e0d8}.planbook-actions button+button:hover{background:#f4fbf2}.row-actions{align-items:center;gap:6px;display:flex}.row-action-btn{border:1px solid var(--ui-rule);background:var(--ui-surface);width:32px;height:32px;min-height:0;color:var(--ui-muted);cursor:pointer;box-shadow:none;border-radius:8px;flex:none;place-items:center;padding:0;transition:background-color .14s,color .14s,border-color .14s;display:inline-grid}.row-action-btn svg{width:15px;height:15px;display:block}.row-action-btn:hover{background:var(--ui-accent-soft);border-color:var(--ui-accent-soft);color:var(--ui-accent);box-shadow:none;transform:none}.row-action-btn.danger:hover{color:#c0392b;background:#fdecea;border-color:#f5cdc6}.row-action-btn.armed{color:#c0392b;background:#fdecea;border-color:#f5cdc6;width:auto;padding:0 10px;font-size:12px;font-weight:800;line-height:1}.row-action-btn:disabled{opacity:.55;cursor:default}.hero-panel,.panel{background:#fff;border:1px solid #dfe6de;border-radius:8px;padding:20px;position:relative;overflow:hidden;box-shadow:0 8px 24px #1e2d240e}.hero-panel{background:#f4fbf2;border-color:#cfe5d5;justify-content:space-between;align-items:center;gap:18px;display:flex}.hero-panel h2{color:#183325;margin-bottom:8px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-title h2{color:#14231b;margin-bottom:0;font-size:21px}.section-title span{color:#526159;white-space:nowrap;background:#eef2eb;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:800}.section-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section-actions .range-toolbar{border-bottom:0;padding-bottom:0}.section-actions .range-trigger{min-height:32px}.subtle-action{color:#276749;background:#fff;border:1px solid #d9e0d8;min-height:32px;padding:0 12px}.subtle-action:hover{background:#f4fbf2;box-shadow:0 6px 14px #1e2d2414}.card-list{gap:12px;display:grid}.day-plan-list{gap:8px;display:grid}.plan-page{gap:16px;display:grid}.plan-main{min-width:0}.plan-main-layout{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.plan-audit-strip{width:100%;padding:20px 24px}.plan-audit-empty{background:#fbfcf9;border:1px solid #dfe6de;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.plan-page>.plan-audit-empty{display:none}.plan-audit-empty div{gap:3px;display:grid}.plan-audit-empty strong{color:#284234}.plan-audit-empty span{color:#65756b;font-size:13px;font-weight:700}.plan-audit-strip .section-title{max-width:760px;margin-inline:auto}.audit-strip-layout{grid-template-columns:auto minmax(220px,320px);justify-content:center;align-items:center;gap:32px;display:grid}.audit-pie-wrap{justify-items:center;gap:16px;display:grid}.audit-pie{border-radius:50%;place-items:center;width:150px;height:150px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #1e2d240f}.audit-pie:after{content:"";background:#fff;border-radius:50%;width:96px;height:96px;position:absolute}.audit-pie div{z-index:1;text-align:center;gap:2px;display:grid;position:relative}.audit-pie strong{color:#14231b;font-size:30px;line-height:1}.audit-pie span{color:#65756b;font-size:13px;font-weight:900}.audit-legend{grid-template-columns:1fr;gap:10px;width:100%;display:grid}.audit-legend span{color:#526159;background:0 0;border:0;border-bottom:1px solid #e5ece3;border-radius:0;justify-content:space-between;align-items:center;padding:0 0 8px;font-weight:900;display:flex}.audit-legend i{border-radius:999px;width:10px;height:10px;margin-right:8px;display:inline-block}.reviewed-dot{background:#276749}.pending-dot{background:#efc16b}.unfinished-dot{background:#dfe7df}.plan-date-panel{padding:16px;position:sticky;top:88px}.compact-title{margin-bottom:0}.plan-editor{background:#fbfcf9;padding:16px;position:static}.plan-main>.section-title{border-bottom:1px solid #e1e8df;padding-bottom:14px}.plan-editor .section-title,.plan-editor label:nth-of-type(5),.plan-editor .task-editor-wide,.plan-editor button[type=submit]{grid-column:1/-1}.day-plan{background:#fff;border:1px solid #dfe6de;border-radius:8px;overflow:hidden}.day-plan.expanded{border-color:#8fbea0;box-shadow:0 12px 28px #2767491f}.day-plan-header{color:#1f2b25;text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px 10px 16px;display:flex}.day-plan-header:hover{box-shadow:none;background:#f7faf5;transform:none}.day-plan-header span{gap:2px;padding-left:12px;display:grid;position:relative}.day-plan-header span:before{content:"";background:#cfdad0;border-radius:99px;width:4px;height:28px;position:absolute;top:5px;left:0}.day-plan.expanded .day-plan-header span:before{background:#276749}.day-plan-header strong{color:#14231b;font-size:18px}.day-plan-header small{color:#5f6f65;font-weight:700}.day-plan-header b{color:#276749;white-space:nowrap}.compact-day{background:#fff;border:1px solid #dfe6de;border-radius:8px;padding:10px 12px}.compact-day.active{background:#f4fbf2;border-color:#8fbea0;box-shadow:inset 4px 0 #276749}.compact-day:hover{box-shadow:none;background:#f8fbf6;border-color:#bad5c2;transform:none}.day-plan-detail{background:#f7faf5;border-top:1px solid #dfe6de;gap:14px;padding:14px;display:grid}.task-editor{background:#fff;border:1px solid #dfe6de;border-radius:8px;gap:12px;padding:14px;display:grid}.task-editor label{color:#34443a;gap:6px;font-weight:800;display:grid}.child-task-editor{background:#fbfcf9;margin-bottom:14px}.child-task-editor .section-title,.child-task-editor .task-editor-wide,.child-task-editor button[type=submit]{grid-column:1/-1}.empty-state{color:#526159;text-align:center;background:#fff;border:1px dashed #cbd8cb;border-radius:8px;gap:6px;padding:18px;display:grid}.empty-state strong{color:#24312b}.empty-state p{margin-bottom:0}.task-card,.mistake-card,.compact-card,.stat-card{border-radius:var(--r-sm);background:#fff;border:1px solid #dfe6de;padding:11px 13px}.task-card,.mistake-card,.compact-card{justify-content:space-between;align-items:center;gap:14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.task-card h3,.mistake-card h3{color:#1d2d24;margin:8px 0 6px}.task-card p,.mistake-card p{color:#65756b;margin-bottom:8px}.task-card small,.mistake-card small,.compact-card small{color:#76837a}.subject-badge{color:#276749;background:#e9f5ed;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:800;display:inline-flex}.mistake-card:nth-child(3n+1) .subject-badge{color:#4261a6;background:#eaf0ff}.mistake-card:nth-child(3n+2) .subject-badge{color:#9a5b1f;background:#fff0e0}.mistake-image{object-fit:contain;background:#fff;border:1px solid #dfe8dc;border-radius:8px;width:min(360px,100%);max-height:220px;margin:10px 0;display:block}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-card{background:#fffdf8}.stat-card:nth-child(2){background:#f3f7ff}.stat-card:nth-child(3){background:#fff7e8}.stat-card:nth-child(4){background:#f0faf4}.stat-card span{color:#66736a;margin-bottom:8px;display:block}.stat-card strong{color:#18261e;letter-spacing:-.5px;font-size:21px;line-height:1}.form-grid{gap:14px;display:grid}.form-grid label{color:#34443a;gap:6px;font-weight:800;display:grid}.checkbox-row{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.checkbox-row input{width:auto}.check-group{background:#fbfdf8;border:1px solid #d7dfd8;border-radius:8px;flex-wrap:wrap;gap:8px 14px;padding:12px;display:flex}.check-group legend{color:#526159;padding:0 4px;font-weight:800}.check-group label,.toggle-row{align-items:center;gap:6px;font-weight:700;display:inline-flex!important}.check-group input,.toggle-row input{width:auto}.summary{color:#314338;background:#eef7f0;border-left:4px solid #2f7d57;border-radius:8px;padding:12px}.suggestions{padding-left:22px}.suggestions li{color:#405146;margin:8px 0}.config-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.textbook-card{grid-template-columns:minmax(150px,220px) 1fr;align-items:stretch;display:grid}.textbook-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.textbook-form label{color:#34443a;gap:6px;font-weight:800;display:grid}.textbook-form textarea,.textbook-form .checkbox-row,.textbook-form button{grid-column:1/-1}.trend-layout{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:16px;display:grid}.trend-layout>div:last-child{grid-column:1/-1}.sort-toggle{color:#526159;background:#fff;border:1px solid #d9e0d8;border-radius:999px;min-height:34px;padding:0 11px;font-size:13px;font-weight:800}.sort-toggle.active{color:#276749;background:#eef6ef;border-color:#d6e6d9}.task-history{margin-top:16px}.task-history h3{margin-bottom:8px;font-size:15px}.task-history ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.task-history li{color:#526159;border-left:2px solid #b8d4bf;grid-template-columns:auto 1fr;gap:3px 10px;padding-left:9px;font-size:13px;display:grid}.task-history li strong{color:#276749}.task-history li span{color:#65756b;font-variant-numeric:tabular-nums}.task-history li small{grid-column:1/-1}.trend-layout h3{margin-bottom:10px;font-size:16px}.bar-list{gap:8px;display:grid}.bar-row{color:#526159;grid-template-columns:44px 1fr 46px;align-items:center;gap:8px;font-size:13px;display:grid}.bar-row strong{color:#24312b;text-align:right}.bar-track{background:#e5eee5;border-radius:999px;height:10px;overflow:hidden}.bar-track i{border-radius:inherit;background:#2f7d57;min-width:4px;height:100%;display:block}.bar-track.mistake i{background:#d98b3a}.pill-list{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.pill-list span{color:#2f7d57;background:#eef7f0;border-radius:999px;padding:5px 10px;font-weight:800}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #d9e0d8;border-radius:8px;gap:8px;width:100%;margin:0;padding:8px;display:flex;transform:none;box-shadow:0 8px 24px #1e2d2414}.bottom-nav button{white-space:nowrap;flex:1;min-width:0}.bottom-nav.compact-nav{width:fit-content;max-width:100%;box-shadow:none}.bottom-nav.compact-nav button{flex:none;min-width:84px}.bottom-nav.parent-nav button{min-width:104px}@media (width>=860px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid textarea,.form-grid .inline-actions,.form-grid .check-group,.form-grid .toggle-row,.form-grid button[type=submit]{grid-column:1/-1}.page-grid>.panel:first-child .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.task-editor{grid-template-columns:repeat(4,minmax(0,1fr))}.task-editor label:nth-child(5){grid-column:span 3}.task-editor-wide{grid-column:1/-1}}@media (width<=720px){.app-shell{padding:14px 12px 28px}.sticky-header{margin:-14px -12px 12px;padding:10px 12px 8px}.topbar,.hero-panel,.task-card,.mistake-card,.compact-card{flex-direction:column;align-items:stretch}.topbar{padding:16px}.switcher button{flex:96px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-layout,.summary-chart,.parent-summary,.parent-workspace{grid-template-columns:1fr}.learning-summary{gap:12px}.learning-summary .summary-chart{grid-template-columns:106px 1fr;gap:14px}.learning-summary .summary-chart.summary-zero{grid-template-columns:1fr;gap:8px}.learning-summary .summary-chart.summary-zero .donut{display:none}.learning-summary .summary-action{grid-column:1/-1;width:100%}.learning-summary .donut{width:104px;height:104px}.learning-summary .donut:after{width:70px;height:70px}.learning-summary .donut-content strong{font-size:22px}.range-toolbar,.summary-chart,.parent-summary,.parent-workspace{width:100%}.range-trigger{grid-template-columns:auto 1fr auto;width:100%}.range-popover{width:100%;left:0;right:0}.date-inputs{grid-template-columns:1fr;width:100%;display:grid}.date-inputs input{width:100%}.range-tabs{flex-wrap:wrap;width:100%}.modal-backdrop{align-items:end;padding:12px}.modal-panel{width:100%;max-height:calc(100vh - 24px)}.modal-actions{grid-template-columns:1fr;display:grid}.modal-actions button{width:100%}.summary-copy strong{font-size:22px}.task-row-card{grid-template-columns:auto 1fr}.task-row-card .inline-actions,.task-row-card>button{grid-column:1/-1}.textbook-card,.textbook-form,.plan-workbench,.plan-page,.plan-main-layout{grid-template-columns:1fr}.plan-date-panel,.plan-editor,.plan-audit-panel{position:static}.section-title{flex-direction:column;align-items:flex-start}.bottom-nav{scrollbar-width:thin;width:100%;margin:0;overflow-x:auto;box-shadow:0 10px 22px #1e2d241a}.bottom-nav button{flex:none;min-width:92px}.bottom-nav.compact-nav{width:100%}.bottom-nav.parent-nav{display:flex;overflow-x:auto}.bottom-nav.parent-nav button{flex:none;min-width:96px;padding-inline:10px;font-size:14px}.inline-actions,.hero-actions,.filters{width:100%}.inline-actions button,.hero-actions button,.filters button{flex:120px}.task-card>div:first-child,.mistake-card>div:first-child,.compact-card>div:first-child{min-width:0}.task-card h3,.mistake-card h3,.task-card p,.mistake-card p{overflow-wrap:anywhere}.task-row-card{gap:10px;padding:12px}.planbook-section{grid-template-columns:1fr}.planbook-subject{min-height:40px;padding:0 12px}.planbook-subject strong{font-size:16px}.planbook-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}.planbook-line-main{grid-template-columns:minmax(0,auto) minmax(18px,1fr) auto;gap:6px}.planbook-line-main strong{font-size:16px}.planbook-content p{overflow-wrap:anywhere}.planbook-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;display:grid}.parent-planbook-list .planbook-actions{grid-template-columns:minmax(0,1fr) auto}.parent-planbook-list .planbook-row{background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:12px}.parent-planbook-list .planbook-row>.planbook-checks{grid-area:1/1;justify-self:start}.parent-planbook-list .planbook-row>.planbook-content{grid-column:1/-1}.parent-planbook-list .planbook-checks{flex-wrap:wrap;gap:8px}.parent-planbook-list .check-pair{background:#fbfcf9;border:1px solid #dfe6de;border-radius:999px;min-height:26px;padding:2px 8px 2px 4px}.parent-planbook-list .parent-pair{background:#fffaf0;border-color:#ead7ac}.parent-planbook-list .planbook-check{border-radius:5px;width:18px;height:18px;font-size:14px}.parent-planbook-list .planbook-content{gap:5px;padding-top:2px}.parent-planbook-list .planbook-actions{gap:7px}.parent-planbook-list .planbook-actions button{min-height:38px;padding:0 8px;font-size:14px}.media-viewer-backdrop{padding:10px}.media-viewer{max-height:calc(100vh - 20px)}.media-viewer img,.media-viewer video{max-height:calc(100vh - 82px)}.audit-strip-layout{grid-template-columns:1fr;justify-items:center}.audit-legend{grid-template-columns:1fr}.planbook-actions button{width:100%}.plan-audit-empty{flex-direction:column;align-items:flex-start}.task-time{text-align:left}.plan-main>.section-title{gap:10px}.section-actions{width:100%}.section-actions>span,.section-actions .range-toolbar,.section-actions .subtle-action{flex:100%}}:root{--ui-paper:#e8ece8;--ui-surface:#fff;--ui-ink:#182620;--ui-muted:#7a8880;--ui-rule:#dde3db;--ui-accent:#267a58;--ui-accent-soft:#daeee5;--ui-callout:#e8f2eb;--ui-callout-rule:#c2d8c8;--ui-alert:#b85450;--ui-orange:#c07838;--ui-orange-soft:#f8eddc;--ui-mint:#38907a;--ui-top-bg:#182620;--ui-top-copy:#b8cebf;--r-sm:8px;--r-md:10px;--r-lg:14px;--sh-sm:0 1px 3px #1826200d, 0 3px 8px #1826200d;--sh-md:0 4px 14px #18262014;--sp-1:8px;--sp-2:12px;--sp-3:16px;--sp-4:22px}html,body{overflow-x:clip}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{background:var(--ui-paper);color:var(--ui-ink);background-image:radial-gradient(at 25% 0,#dceae0 0%,#0000 55%),radial-gradient(at 80% 100%,#e0e8e4 0%,#0000 45%)}button{background:var(--ui-accent);box-shadow:none;border-radius:6px;transition:background-color .16s,color .16s,border-color .16s}button:hover{box-shadow:none;background:#1e6348;transform:none}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #267a5847}input:focus,select:focus,textarea:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px #267a5824}.login-shell{background:var(--ui-paper);align-items:center;padding:16px 20px}.login-card{border:1px solid var(--ui-rule);background:var(--ui-surface);border-radius:10px;width:min(420px,100%);overflow:hidden;box-shadow:0 2px 4px #0000000f,0 8px 16px #00000014,0 24px 48px #0000001f}.login-brandbar{border-bottom:1px solid var(--ui-rule);background:var(--ui-top-bg);align-items:center;gap:10px;min-height:56px;padding:0 20px;display:flex}.login-mark{color:#fff;background:#ffffff24;border-radius:8px;place-items:center;width:32px;height:32px;font-size:16px;font-weight:800;display:grid}.login-brandbar strong{color:#fff;font-size:16px}.login-brandbar small{color:var(--ui-top-copy);margin-left:auto;font-size:10px}.login-intro{border-left:3px solid var(--ui-accent);margin:20px 20px 0;padding:4px 0 4px 14px}.login-intro h1{color:var(--ui-ink);margin-bottom:5px;font-size:20px;font-weight:800;line-height:1.15}.login-intro p:not(.login-kicker){color:var(--ui-muted);margin-bottom:0;font-size:12px;line-height:1.7}.login-form{gap:0;margin:20px 20px 0;display:grid}.login-form label{gap:6px;margin-top:14px;display:grid}.login-form label>span{color:var(--ui-ink);font-size:11px;font-weight:800}.login-form input{border-color:var(--ui-rule);background:#f4f7f4;border-radius:6px;height:44px;font-size:13px}.login-form button{background:var(--ui-ink);border-radius:6px;min-height:46px;margin-top:18px;font-size:13px;font-weight:800}.login-form button:hover{background:#0f1e18}.login-form button span{margin-left:10px}.login-support{color:var(--ui-muted);justify-content:space-between;margin-top:14px;font-size:11px;display:flex}.login-support strong{color:var(--ui-accent)}.login-footnote{border-top:1px solid var(--ui-rule);color:var(--ui-muted);margin:20px;padding-top:14px;font-size:11px;line-height:1.6}.login-footnote strong{color:var(--ui-ink)}.modal-panel{scrollbar-width:none}.modal-panel::-webkit-scrollbar{display:none}.modal-panel .modal-actions{background:var(--ui-surface);padding-top:10px;position:sticky;bottom:0}.app-shell{background:0 0;width:min(1180px,100%)}.sticky-header{border-color:var(--ui-rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#e8ece8f7;box-shadow:0 8px 18px #18262012}.topbar,.panel,.task-card,.mistake-card,.compact-card,.task-row-card,.planbook-section,.day-plan,.task-editor,.stat-card{border-color:var(--ui-rule);border-radius:var(--r-sm);box-shadow:var(--sh-sm)}.topbar{background:var(--ui-top-bg)}.topbar-title{color:#fff}.topbar .eyebrow{color:#fffc;background:#ffffff1f}.section-title h2,.task-card h3,.mistake-card h3,.planbook-line-main strong{color:var(--ui-ink)}.eyebrow{background:var(--ui-accent-soft);color:var(--ui-accent);border-radius:4px}.switcher button,.filters button,.bottom-nav button,.subtle-action,.sort-toggle{border-color:var(--ui-rule);color:var(--ui-ink);border-radius:6px}.switcher button.active,.filters button.active,.bottom-nav button.active,.sort-toggle.active{border-color:var(--ui-accent);background:var(--ui-accent);color:#fff}.planbook-subject{background:var(--ui-paper);color:var(--ui-ink)}.planbook-row{background:var(--ui-surface)}.planbook-row.urgent,.planbook-row.review-pending{box-shadow:inset 4px 0 0 var(--ui-orange)}.planbook-row.review-returned{box-shadow:inset 4px 0 0 var(--ui-alert)}.planbook-check.checked,.child-pair .planbook-check.checked{border-color:var(--ui-accent);background:var(--ui-accent-soft);color:var(--ui-accent)}.parent-feedback,.summary{border:1px solid var(--ui-callout-rule);border-left:4px solid var(--ui-accent);background:var(--ui-callout);color:var(--ui-ink)}.hero-panel{border-color:var(--ui-callout-rule);background:var(--ui-callout);box-shadow:0 1px 3px #0000000a,0 4px 10px #0000000d}.hero-panel h2,.summary-copy strong,.task-group-heading,.empty-state strong{color:var(--ui-ink)}.panel,.task-card,.mistake-card,.compact-card,.task-row-card,.day-plan,.task-editor,.stat-card,.empty-state{background:var(--ui-surface);color:var(--ui-ink)}.task-card p,.mistake-card p,.task-card small,.mistake-card small,.compact-card small,.empty-state{color:var(--ui-muted)}.submission-summary,.subject-badge{background:var(--ui-accent-soft);color:var(--ui-accent)}.planbook-subject,.subject-tone-1 .planbook-subject,.subject-tone-2 .planbook-subject,.subject-tone-3 .planbook-subject{border-bottom-color:var(--ui-rule);background:var(--ui-paper);color:var(--ui-muted)}.planbook-subject>span,.subject-progress{color:var(--ui-muted)}.task-card:hover,.mistake-card:hover,.compact-card:hover{border-color:var(--ui-callout-rule);transform:translateY(-1px);box-shadow:0 6px 16px #1826201a}@media (width<=720px){body{background:var(--ui-paper)}.app-shell{padding:12px 12px 92px}.sticky-header{gap:0;margin:-12px -12px 18px;padding:0;position:sticky}.topbar{border:0;border-bottom:1px solid #ffffff1a;border-radius:0;flex-direction:row;align-items:center;min-height:0;padding:10px 16px;box-shadow:0 4px 16px #0000002e}.topbar-title{color:#fff;font-size:14px}.topbar .eyebrow{color:var(--ui-top-copy);background:#ffffff1f;border-radius:3px;margin-bottom:3px;padding:2px 7px;font-size:9px}.switcher{justify-content:flex-end;gap:4px;width:auto}.switcher button{color:#fff;background:#ffffff2e;border:1px solid #ffffff59;border-radius:5px;flex:none;min-height:30px;padding:0 9px;font-size:12px}.switcher button:hover{background:#ffffff47}.switcher button.active{color:#fff;background:#ffffff61;border-color:#ffffff8c;font-weight:700}.bottom-nav{z-index:60;border:0;border-top:1px solid var(--ui-rule);background:var(--ui-surface);border-radius:0;gap:0;width:100%;padding:6px 4px 8px;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -4px 16px #1826201a}.bottom-nav button,.bottom-nav.compact-nav button,.bottom-nav.parent-nav button{min-width:0;min-height:52px;color:var(--ui-muted);letter-spacing:.2px;background:0 0;border:0;border-radius:0;flex:1 1 0;padding:18px 3px 4px;font-size:11px;font-weight:600;position:relative}.bottom-nav button.active{color:var(--ui-ink);background:0 0;font-weight:800}.bottom-nav button.active:before{content:"";background:var(--ui-accent);border-radius:0 0 3px 3px;width:36px;height:2.5px;position:absolute;top:4px;left:calc(50% - 18px)}.panel{border-radius:6px;padding:16px;box-shadow:0 1px 3px #0000000a,0 4px 10px #0000000d}.learning-summary .summary-chart{grid-template-columns:1fr;gap:10px}.learning-summary .donut{display:none}.summary-copy strong{font-size:22px}.learning-summary .summary-action{width:100%}.planbook-section{box-shadow:none;background:0 0;border:0}.planbook-subject{background:0 0;border:0;min-height:34px;padding:0 2px 8px}.planbook-subject strong{color:var(--ui-muted);font-size:12px}.subject-progress{color:var(--ui-muted);font-size:11px}.planbook-lines{gap:10px;display:grid}.planbook-row,.parent-planbook-list .planbook-row{border:1px solid var(--ui-rule);background:var(--ui-surface);border-radius:6px;padding:12px;box-shadow:0 1px 3px #0000000a}.planbook-line-main strong{font-size:16px}.planbook-line-main i{display:none}.planbook-actions{margin-top:4px}.planbook-actions button{min-height:38px}.task-card,.mistake-card,.compact-card{border-radius:6px}.stats-grid{gap:8px}.stat-card{padding:12px;box-shadow:0 1px 3px #0000000a;background:var(--ui-surface)!important}}.view-child-today .learning-summary,.view-child-mistakes .child-mistakes-page,.view-child-reviews .child-reviews-page{border-color:var(--ui-callout-rule)}.view-child-mistakes .child-mistakes-page>.section-title,.view-child-reviews .child-reviews-page>.section-title{border-bottom:1px solid var(--ui-rule);align-items:flex-start;margin-bottom:14px;padding-bottom:14px}.view-child-mistakes .child-mistakes-page>.section-title h2,.view-child-reviews .child-reviews-page>.section-title h2{color:var(--ui-ink);font-size:20px}.view-child-mistakes .filters{gap:8px}.view-child-mistakes .filters button{border-color:var(--ui-rule);background:var(--ui-surface);min-height:34px;color:var(--ui-muted)}.view-child-mistakes .filters button.active{border-color:var(--ui-accent);background:var(--ui-accent);color:#fff}.view-child-reviews .section-title>span,.view-parent-dashboard .section-title>span{background:var(--ui-accent-soft);color:var(--ui-accent);border-radius:999px;padding:5px 9px;font-weight:800}.view-child-reviews .mistake-card{border-color:var(--ui-rule);align-items:stretch}.view-child-reviews .inline-actions{align-items:stretch}.view-child-reviews .inline-actions button:first-child{border-color:var(--ui-accent);background:var(--ui-accent)}.view-child-reviews .inline-actions button:last-child{color:var(--ui-alert);background:#fbf4f2;border-color:#ead6d3}.view-parent-dashboard .learning-summary,.view-parent-plan .plan-audit-strip,.view-parent-plan .plan-audit-empty{border-color:var(--ui-callout-rule);background:var(--ui-callout);box-shadow:none}.view-parent-plan .plan-audit-empty{border-left:4px solid var(--ui-accent)}@media (width<=720px){.child-today-page{gap:18px}.child-today-page .learning-summary{background:0 0;border:0;padding:0}.child-today-page .learning-summary .range-toolbar{border:1px solid var(--ui-rule);background:var(--ui-surface);border-radius:5px;padding:0}.child-today-page .summary-chart{border:1px solid var(--ui-callout-rule);border-left:4px solid var(--ui-accent);background:var(--ui-callout);border-radius:5px;padding:16px}.child-today-page .summary-copy strong{font-size:23px;line-height:1.25}.child-today-page .summary-action{margin-top:4px}.child-today-page>.panel:nth-child(2){background:0 0;border:0;padding:0}.child-today-page>.panel:nth-child(2) .section-title{margin-bottom:12px;padding:0 2px}.child-today-page .planbook-row{border-color:var(--ui-rule);background:var(--ui-surface)}.child-mistakes-page,.child-reviews-page{background:0 0;border:0;padding:0}.child-mistakes-page>.section-title,.child-reviews-page>.section-title{border:1px solid var(--ui-callout-rule);border-left:4px solid var(--ui-accent);background:var(--ui-callout);border-radius:5px;gap:12px;padding:16px;display:grid}.child-mistakes-page>.section-title>div,.child-reviews-page>.section-title>div{min-width:0}.child-mistakes-page>.section-title button{width:100%}.child-mistakes-page .filters{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0;display:grid}.child-mistakes-page .filters button{width:100%}.child-mistakes-page .mistake-card,.child-reviews-page .mistake-card{border-radius:5px;gap:12px;padding:14px;display:grid}.child-reviews-page .inline-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.child-reviews-page .inline-actions button{width:100%;min-height:42px}.parent-plan-page .plan-main{background:0 0;border:0;padding:0}.parent-plan-page .plan-main>.section-title{border:1px solid var(--ui-callout-rule);border-left:4px solid var(--ui-accent);background:var(--ui-callout);border-radius:5px;padding:14px}.parent-plan-page .planbook-list{margin-top:16px}.parent-report-page{background:0 0;border:0;padding:0}.parent-report-page>.section-title{border:1px solid var(--ui-callout-rule);border-left:4px solid var(--ui-accent);background:var(--ui-callout);border-radius:5px;gap:12px;padding:16px;display:grid}.parent-report-page>.section-title button{width:100%}.parent-report-page>.summary{margin:14px 0}.parent-report-page>.stats-grid{gap:8px}.parent-report-page>h3{color:var(--ui-ink);margin:20px 2px 10px}.parent-report-page>.suggestions{border:1px solid var(--ui-rule);background:var(--ui-surface);border-radius:5px;margin:0;padding:12px 16px 12px 30px}}.child-hero{margin-bottom:10px}.eyebrow{letter-spacing:1px;text-transform:uppercase;color:var(--ui-muted);opacity:.72;margin-bottom:7px;font-size:8px;font-weight:600;display:inline-block}.eyebrow.mint{color:var(--ui-mint)}.eyebrow.orange{color:var(--ui-orange)}.eyebrow.red{color:var(--ui-alert)}.child-hero h1{letter-spacing:-.4px;color:var(--ui-ink);margin:0 0 3px;font-size:21px;font-weight:800;line-height:1.3}.child-hero .sub{color:var(--ui-muted);margin:8px 0;font-size:11px;line-height:1.5}.progress-track{background:var(--ui-rule);border-radius:8px;width:100%;height:6px;margin:14px 0 8px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--ui-mint) 0%, var(--ui-accent) 100%);border-radius:8px;height:100%;transition:width .3s}.progress-meta{text-align:right;color:var(--ui-muted);margin:0;font-size:10px;font-weight:600}.prototype-task,.prototype-mistake,.prototype-review{border:1px solid var(--ui-rule);background:var(--ui-surface);border-radius:8px;grid-template-columns:4px 1fr auto;align-items:center;gap:12px;min-height:76px;margin-top:10px;padding:13px 14px 13px 0;transition:box-shadow .15s;display:grid;box-shadow:0 1px 3px #0000000a,0 4px 8px #0000000a}.prototype-task:hover,.prototype-mistake:hover,.prototype-review:hover{box-shadow:0 2px 6px #00000014,0 8px 16px #0000000f}.card-rail{background:var(--ui-accent);border-radius:0 2px 2px 0;align-self:stretch}.card-rail.blue{background:#3b82f6}.card-rail.orange{background:var(--ui-orange)}.card-rail.teal{background:#0d9488}.card-rail.violet{background:#8b5cf6}.card-rail.red{background:var(--ui-alert)}.card-rail.amber{background:#d97706}.card-rail.mint{background:var(--ui-mint)}.card-rail.task-c0{background:#f59e0b}.card-rail.task-c1{background:#10b981}.card-rail.task-c2{background:#3b82f6}.card-rail.task-c3{background:#8b5cf6}.card-rail.task-c4{background:#ef4444}.card-subject{color:var(--ui-accent);letter-spacing:.4px;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:700}.card-subject.blue{color:#3b82f6}.card-subject.orange{color:var(--ui-orange)}.card-subject.teal{color:#0d9488}.card-subject.violet{color:#8b5cf6}.card-subject.red{color:var(--ui-alert)}.card-subject.amber{color:#d97706}.card-subject.mint{color:var(--ui-mint)}.card-title{color:var(--ui-ink);font-size:13px;font-weight:700;line-height:1.3}.card-subtitle{color:var(--ui-muted);margin-top:4px;font-size:10px;line-height:1.45}.card-time{white-space:nowrap;flex-direction:column;align-self:center;align-items:flex-end;gap:4px;display:flex}.card-min{color:var(--ui-muted);font-size:10px;line-height:1}.status-chip{background:var(--ui-accent-soft);min-height:0;color:var(--ui-accent);white-space:nowrap;letter-spacing:.2px;cursor:pointer;border:0;border-radius:20px;padding:4px 9px;font-size:10px;font-weight:800;line-height:1.2;transition:all .15s;display:inline-block}.status-chip:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.status-chip.mint{background:var(--ui-accent-soft);color:var(--ui-mint)}.status-chip.orange{background:var(--ui-orange-soft);color:var(--ui-orange)}.status-chip.red{color:var(--ui-alert);background:#fde8e8}.status-chip.violet{color:#8b5cf6;background:#f3f0ff}.next-callout,.capture-callout{border:1px solid var(--ui-callout-rule);border-left:4px solid var(--ui-accent);background:var(--ui-callout);border-radius:8px;margin-top:18px;padding:12px 14px}.next-callout h3,.capture-callout strong{color:var(--ui-ink);margin:8px 0 5px;font-size:17px;font-weight:800;line-height:1.3;display:block}.capture-callout strong{margin:0 0 5px;font-size:16px}.next-callout p,.capture-callout small{color:var(--ui-muted);margin:0;font-size:10px;line-height:1.6}.capture-callout small{margin-top:5px;line-height:1.55;display:block}.cta-button{background:var(--ui-ink);color:#fff;text-align:center;letter-spacing:.3px;cursor:pointer;border:0;border-radius:6px;width:100%;margin-top:10px;padding:8px 12px;font-size:11px;font-weight:700;transition:all .15s;display:block}.cta-button:hover{background:var(--ui-accent);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.filter-row{flex-wrap:wrap;gap:7px;margin:15px 0 12px;display:flex}.filter-pill{background:var(--ui-surface);color:var(--ui-muted);letter-spacing:.2px;border:1px solid var(--ui-rule);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:600;transition:all .15s}.filter-pill.active{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.filter-pill:hover:not(.active){border-color:var(--ui-accent);color:var(--ui-accent)}.sort-toggle{background:var(--ui-accent-soft);border-radius:20px;gap:3px;width:fit-content;padding:3px;display:flex}.sort-toggle-btn{letter-spacing:.3px;white-space:nowrap;color:var(--ui-muted);cursor:pointer;background:0 0;border:none;border-radius:16px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .2s}.sort-toggle-btn.active{color:var(--ui-ink);background:#fff;box-shadow:0 1px 4px #00000024}.sort-toggle-btn:hover:not(.active){color:var(--ui-accent)}.task-controls{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.plan-summary-line{color:var(--ui-muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;display:flex}.copy-day-btn{border:1px solid var(--ui-rule);background:var(--ui-surface);color:var(--ui-ink);white-space:nowrap;cursor:pointer;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600;transition:background .15s}.copy-day-btn:hover{background:var(--ui-accent-soft)}.add-task-btn{background:var(--ui-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;min-height:0;padding:0;font-size:18px;font-weight:700;line-height:1;transition:opacity .15s;display:grid}.add-task-btn:hover{opacity:.85}.subject-group{border-radius:var(--r-md);border:1px solid var(--ui-rule);box-shadow:none;background:var(--ui-surface);margin-bottom:14px;padding-bottom:8px;overflow:hidden}.subject-group-header{border-left:4px solid var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 7%, var(--ui-surface));justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.subject-group-header.blue{background:color-mix(in srgb, #3b82f6 8%, var(--ui-surface));border-left-color:#3b82f6}.subject-group-header.orange{border-left-color:var(--ui-orange);background:color-mix(in srgb, var(--ui-orange) 8%, var(--ui-surface))}.subject-group-header.teal{background:color-mix(in srgb, #0d9488 8%, var(--ui-surface));border-left-color:#0d9488}.subject-group-header.violet{background:color-mix(in srgb, #6c5ce7 7%, var(--ui-surface));border-left-color:#6c5ce7}.subject-group-header.red{border-left-color:var(--ui-alert);background:color-mix(in srgb, var(--ui-alert) 7%, var(--ui-surface))}.subject-group-header.amber{background:color-mix(in srgb, #d97706 8%, var(--ui-surface));border-left-color:#d97706}.subject-group-name{color:var(--ui-ink);letter-spacing:.3px;font-size:13px;font-weight:800}.subject-group-meta{color:var(--ui-muted);border:1px solid var(--ui-rule);letter-spacing:.2px;background:#ffffffbf;border-radius:20px;padding:2px 9px;font-size:10px;font-weight:700}.subject-group .card-rail{display:none}.subject-group .prototype-task{box-shadow:none;border:none;border-radius:6px;grid-template-columns:1fr auto;min-height:0;margin:4px 8px 0;padding:8px 10px 8px 12px}.subject-group .prototype-task:last-child{margin-bottom:0}.subject-group .prototype-task.row-0{background:#f59e0b1c}.subject-group .prototype-task.row-1{background:#10b9811a}.subject-group .prototype-task.row-2{background:#3b82f61a}.subject-group .prototype-task.row-3{background:#8b5cf61a}.subject-group .prototype-task.row-4{background:#ef444417}.subject-group .prototype-task:hover{filter:brightness(.97);box-shadow:none}.subject-group .prototype-plan-row{box-shadow:none;border:none;border-radius:6px;grid-template-columns:1fr auto;min-height:0;margin:4px 8px 0;padding:10px 10px 10px 12px}.subject-group .prototype-plan-row:last-child{margin-bottom:0}.subject-group .prototype-plan-row.row-0{background:#f59e0b1c}.subject-group .prototype-plan-row.row-1{background:#10b9811a}.subject-group .prototype-plan-row.row-2{background:#3b82f61a}.subject-group .prototype-plan-row.row-3{background:#8b5cf61a}.subject-group .prototype-plan-row.row-4{background:#ef444417}.subject-group .prototype-plan-row:hover{filter:brightness(.96);box-shadow:0 1px 3px #0000000f}.review-hero{border:1px solid var(--ui-rule);background:var(--ui-surface);border-radius:8px;margin-top:18px;padding:16px;box-shadow:0 2px 8px #0000000f}.review-hero h3{color:var(--ui-ink);margin:12px 0 7px;font-size:16px;font-weight:800;line-height:1.45}.review-hero p{color:var(--ui-muted);margin:0;font-size:10px;line-height:1.55}.outcome-row{border:1px solid var(--ui-rule);background:var(--ui-surface);cursor:pointer;border-radius:8px;grid-template-columns:1fr auto;align-items:center;margin-top:10px;padding:13px 14px;transition:all .15s;display:grid;box-shadow:0 1px 3px #0000000a}.outcome-row:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.outcome-row strong{font-size:13px;font-weight:700}.outcome-row small{color:var(--ui-muted);margin-top:4px;font-size:10px;display:block}.child-today-page,.child-mistakes-page,.child-reviews-page{max-width:100%;padding:20px}@media (width<=720px){.child-today-page,.child-mistakes-page,.child-reviews-page{padding:16px}.child-hero h1{font-size:19px}}.parent-dashboard-page,.parent-plan-page,.parent-report-page{max-width:720px;margin:0 auto;padding:14px 20px}.summary-block{border:1px solid var(--ui-callout-rule);border-left:4px solid var(--ui-accent);background:var(--ui-callout);border-radius:8px;margin-top:18px;padding:16px;position:relative;overflow:hidden}.summary-block strong{color:var(--ui-ink);letter-spacing:-.5px;margin:10px 0 4px;font-size:26px;font-weight:800;line-height:1.2;display:block}.summary-block p{color:var(--ui-muted);margin:0;font-size:10px;line-height:1.6}.summary-block .status-chip{position:absolute;top:16px;right:16px}.check-row{border:1px solid var(--ui-rule);background:var(--ui-surface);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;width:100%;min-height:68px;margin-top:10px;padding:13px 14px;transition:box-shadow .15s,transform .15s;display:grid;box-shadow:0 1px 3px #0000000a,0 4px 8px #0000000a}.check-row:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014,0 8px 16px #0000000f}.check-index{color:var(--ui-orange);font-size:12px;font-weight:800}.check-index.red{color:var(--ui-alert)}.check-arrow{color:var(--ui-accent);font-size:18px;font-weight:700}.next-list{background:var(--ui-surface);border:1px solid var(--ui-rule);border-radius:8px;margin-top:16px;padding:15px;box-shadow:0 1px 4px #0000000d}.next-list b{color:var(--ui-ink);font-size:14px;font-weight:800;display:block}.next-list p{color:var(--ui-ink);margin:9px 0 0;font-size:11px;line-height:2}.next-list p span{color:var(--ui-orange);opacity:.75;margin-right:6px;font-weight:600}.suggestion-block{border:1px solid var(--ui-callout-rule);border-left:4px solid var(--ui-mint);background:var(--ui-callout);border-radius:8px;margin-top:16px;padding:15px}.suggestion-block b{color:var(--ui-ink);margin:7px 0 4px;font-size:14px;font-weight:800;display:block}.suggestion-block small{color:var(--ui-muted);font-size:11px;line-height:1.6}.week-strip{grid-template-columns:repeat(7,1fr);gap:4px;margin:18px 0 16px;display:grid}.week-day{color:var(--ui-muted);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 0 6px;font-size:9px;font-weight:600;transition:background .15s}.week-day:hover{background:var(--ui-accent-soft)}.week-day b{color:var(--ui-ink);margin-top:5px;font-size:15px;font-weight:700;display:block}.week-day.current{color:var(--ui-accent);background:0 0}.week-day.current b{background:var(--ui-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin:3px auto 0;font-weight:800;display:flex}.week-day.today{position:relative}.week-day.today b:after{content:"";background:var(--ui-accent);border-radius:50%;width:4px;height:4px;margin:3px auto 0;display:block}.week-day.current.today b:after{background:var(--ui-accent)}.rhythm-bars{align-items:flex-end;gap:10px;height:76px;margin:16px 0 6px;display:flex}.rhythm-bar{background:var(--ui-rule);border-radius:4px 4px 0 0;flex-direction:column;flex:1;justify-content:flex-end;height:100%;display:flex;overflow:hidden}.rhythm-bar i{background:linear-gradient(180deg, var(--ui-accent) 0%, var(--ui-mint) 100%);border-radius:4px 4px 0 0;display:block}.rhythm-days{color:var(--ui-muted);text-align:center;grid-template-columns:repeat(7,1fr);gap:10px;font-size:9px;font-weight:600;display:grid}.prototype-plan-row{border:1px solid var(--ui-rule);background:var(--ui-surface);border-radius:8px;grid-template-columns:4px 1fr auto;align-items:center;gap:12px;min-height:60px;margin-top:10px;padding:13px 14px 13px 0;transition:box-shadow .15s;display:grid;box-shadow:0 1px 3px #0000000a,0 4px 8px #0000000a}.prototype-plan-row:hover{box-shadow:0 2px 6px #00000014,0 8px 16px #0000000f}.plan-checks{align-items:center;gap:10px;display:flex}.plan-check-pair{flex-direction:column;align-items:center;gap:2px;display:flex}.plan-check-pair b{color:var(--ui-muted);font-size:8px;font-weight:600}.plan-check-dot{border:1.5px solid var(--ui-rule);color:#0000;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.plan-check-dot.checked{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.plan-check-dot.parent.checked{background:var(--ui-mint);border-color:var(--ui-mint)}@media (width<=720px){.parent-dashboard-page,.parent-plan-page,.parent-report-page{padding:4px 16px 16px}.child-hero h1{font-size:19px}}.week-strip-nav{align-items:center;gap:6px;margin:0 0 10px;display:flex}.week-strip-nav .week-strip{flex:1;margin:0}.week-nav-btn{border:1px solid var(--ui-rule);background:var(--ui-surface);width:28px;height:28px;min-height:0;color:var(--ui-muted);cursor:pointer;box-shadow:none;border-radius:6px;flex-shrink:0;place-items:center;padding:0;font-size:16px;font-weight:400;line-height:1;transition:background .15s,border-color .15s,color .15s;display:grid}.week-nav-btn:hover{background:var(--ui-accent-soft);border-color:var(--ui-accent-soft);color:var(--ui-accent);box-shadow:none;transform:none}.status-chip.plain{background:var(--ui-paper);color:var(--ui-muted);cursor:default;border:1px solid var(--ui-rule)}.status-chip.plain:hover{box-shadow:none;transform:none}.subject-group .prototype-plan-row .card-time{align-self:flex-start}.card-desc{color:var(--ui-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:10px;line-height:1.45;display:-webkit-box;overflow:hidden}
