:root{--color-primary: #1479d1;--color-primary-strong: #0b65b5;--color-sky: #eaf8ff;--color-surface: #ffffff;--color-warm-bg: #fffefa;--color-text-primary: #0b2d5c;--color-text-secondary: #5e7697;--color-border: #d9e8f5;--color-leaf: #2eae72;--color-gold: #f5a900;--color-coral: #f05b5d;--color-disabled: #b8c7d9;--badge-submitted-bg: #fff2d2;--badge-submitted-text: #845200;--badge-approved-bg: #e3f7ee;--badge-approved-text: #17764d;--badge-rejected-bg: #fff0ef;--badge-rejected-text: #af333c;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--radius-control: 12px;--radius-card: 16px;--radius-featured: 24px;--radius-pill: 999px;--font-display: 36px;--font-h1: 28px;--font-h2: 22px;--font-body: 16px;--font-secondary: 14px;--font-caption: 12px;--status-pending: var(--color-primary);--status-submitted: var(--color-gold);--status-approved: var(--color-leaf);--status-rejected: var(--color-coral);--status-cancelled: var(--color-disabled)}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans SC,system-ui,sans-serif;font-size:var(--font-body);line-height:1.5;color:var(--color-text-primary);background:var(--color-warm-bg)}main{max-width:1280px;margin:auto;padding:var(--space-48) var(--space-24)}.brand{font-weight:700;font-size:var(--font-h2)}.brand span{font-size:var(--font-secondary);color:var(--color-text-secondary);margin-left:var(--space-12)}section{margin-top:var(--space-48);padding:var(--space-48);border:1px solid var(--color-border);border-radius:var(--radius-featured);background:var(--color-sky)}h1{font-size:var(--font-display);line-height:1.5;margin:var(--space-16) 0}p{color:var(--color-text-secondary)}.eyebrow{color:var(--color-primary-strong)}a{display:inline-flex;min-height:40px;align-items:center;color:var(--color-primary-strong)}a:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}@media(max-width:600px){section{padding:var(--space-24)}h1{font-size:var(--font-h1)}}header{display:flex;align-items:center;justify-content:space-between;padding:20px 4%;background:#fff;border-bottom:1px solid var(--color-border)}header a{text-decoration:none}.account,.actions{display:flex;align-items:center;gap:12px}.auth-layout{display:grid;grid-template-columns:48% 52%;max-width:1120px;min-height:700px;margin:0 auto;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 12px 48px #1938520b}.island{background:#dff3fb url(/assets/island-welcome.png) center bottom / cover no-repeat;padding:48px 28px;text-align:center}.island h1{color:#286176;font-size:40px;letter-spacing:4px;margin:0 0 12px}.island p{color:#356277;margin:8px 0}.island .island-caption{font-size:14px}.form-card{margin:0;background:#fff;border:0;padding:64px 56px;align-self:center}.auth-submit,.auth-switch{width:100%;margin:12px 0 0}.auth-switch{background:transparent}.onboarding{max-width:760px;margin:0 auto;background:#fff}section{background:#fff;margin-top:20px;padding:32px;border-radius:24px}h1{font-size:32px}h2{font-size:24px}h3{margin:0}small{font-size:15px;color:var(--color-text-secondary)}form{max-width:500px}fieldset{border:0;padding:0;margin:0}label{display:flex;flex-direction:column;gap:8px;margin:20px 0;font-weight:600}input,select{font:inherit;color:inherit;border:1px solid var(--color-border);border-radius:12px;padding:13px 14px;background:#fff;width:100%;min-height:48px}button{font:inherit;cursor:pointer;border:0;border-radius:12px;background:var(--color-primary);color:#fff;padding:12px 20px;min-height:44px;font-weight:600}button.secondary{background:var(--color-sky);color:var(--color-primary-strong)}button:disabled{opacity:.45;cursor:default}button+button{margin-left:8px}fieldset>button{margin:12px 8px 0 0}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.page-title{display:flex;align-items:center;justify-content:space-between}.management{display:grid;grid-template-columns:340px 1fr;gap:24px}.row{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--color-border);padding:20px 0}.row p{margin:4px 0}.grow{flex:1}.avatar{background:var(--color-sky);color:#e6a934;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;font-size:30px}.alert{padding:16px;border-radius:12px;background:#fff0ec;color:#9a352d;margin-bottom:20px}.info{background:var(--color-sky);padding:16px;border-radius:12px}.code{background:var(--color-sky);padding:24px;border-radius:20px;margin:24px 0}.code strong{letter-spacing:12px;font-size:42px}.actions{margin-top:24px;justify-content:flex-end}footer{text-align:center;padding:24px;color:var(--color-text-secondary)}@media(max-width:800px){.auth-layout,.management{grid-template-columns:1fr}.island{min-height:360px;background-size:cover;background-position:center top;padding:24px}.form-card{padding:24px}main{padding:24px 16px}.row{flex-wrap:wrap}header .brand span{display:none}section{padding:24px}.code strong{font-size:32px;letter-spacing:8px}}.task-heading,.task-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.task-heading{justify-content:space-between}.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.task-form,.task-filters{max-width:none}.task-filters fieldset{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.task-filters label{min-width:150px}.task-table{overflow-x:auto;margin:24px 0;border:1px solid var(--color-border);border-radius:16px;background:#fff}.task-table table{border-collapse:collapse;width:100%;min-width:720px;text-align:left}.task-table th,.task-table td{padding:16px;border-bottom:1px solid var(--color-border)}.task-table th{background:var(--color-sky)}.weekdays{display:flex;flex-wrap:wrap;gap:8px}.weekdays label{display:flex;align-items:center;gap:4px}.weekdays input{width:auto}textarea,select{font:inherit;color:inherit;border:1px solid var(--color-border);border-radius:12px;padding:12px;background:#fff}@media(max-width:700px){.task-grid{grid-template-columns:1fr}}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.dashboard-grid strong{font-size:28px;color:var(--color-primary, #1479d1)}@media(min-width:1100px){.workspace-main{position:relative;padding-left:224px}.workspace-main>nav{position:absolute;top:48px;left:24px;width:168px;display:flex;flex-direction:column;align-items:stretch}.workspace-main>section{margin-top:0}}@media(max-width:700px){.account{flex-wrap:wrap}table{display:block;overflow-x:auto}}.task-actions [aria-current=page]{background:var(--color-sky);color:var(--color-primary-strong);font-weight:700}.redemption-progress{display:flex;flex-wrap:wrap;list-style:none;gap:16px;padding:0}.redemption-progress li{border:1px solid var(--color-border);border-radius:16px;padding:8px 16px}.redemption-progress [aria-current=step]{color:var(--color-primary-strong);background:var(--color-sky);font-weight:700}.workspace-main>section{background:var(--color-surface);padding:24px}.workspace-main article.card{padding:20px;border:1px solid var(--color-border);border-radius:16px;margin:16px 0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-primary-strong);outline-offset:3px}button,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}button:disabled{cursor:not-allowed}textarea{min-height:104px;resize:vertical}fieldset{min-width:0}.workspace-main p,.workspace-main h3,.workspace-main td{overflow-wrap:anywhere}@media(min-width:1100px){.workspace-main>nav{position:sticky;top:24px;float:left;margin-left:-200px;gap:8px}}@media(max-width:700px){.workspace-main>section{padding:16px}.task-actions{gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:24px}.workspace-main .reward-grid article.card{margin:0}.workspace-main article.notice-card.is-unread{border-left:4px solid var(--color-primary);background:var(--color-sky)}.notice-card.is-read{background:var(--color-surface)}.family-onboarding{max-width:760px;padding:48px 64px}.family-steps{display:flex;align-items:flex-start;justify-content:center;gap:24px;list-style:none;margin:0 0 40px;padding:0;color:var(--color-text-secondary)}.family-steps li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.family-steps li[aria-current=step]{color:var(--color-primary-strong);font-weight:700}.family-steps span{border:1px solid var(--color-border);border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.family-steps [aria-current=step] span{background:var(--color-primary-strong);color:#fff;border-color:transparent}.family-steps small{flex-basis:100%;text-align:center}.onboarding-complete{text-align:center}.onboarding-summary{padding:24px;background:var(--color-sky);border-radius:16px;text-align:left}.onboarding-summary div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;margin:12px 0}.onboarding-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}.onboarding-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media(max-width:600px){.family-onboarding{padding:28px 20px}.family-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;justify-content:space-between}.family-steps li{flex-direction:column;text-align:center;font-size:12px}.onboarding-actions button{width:100%}}.task-status{display:inline-block;padding:4px 10px;border-radius:8px;font-size:14px;white-space:nowrap;background:#eef1f4;color:#4b5969}.status-pending,.status-submitted{background:#eaf5ff;color:#24598b}.status-approved,.status-active{background:#eaf6ee;color:#326744}.status-rejected,.status-paused{background:#fff3db;color:#805611}.task-table:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.task-detail{margin-top:20px;padding:24px}.task-filters fieldset{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto}.task-filters fieldset>button{margin:0;min-width:80px;white-space:nowrap}@media(max-width:800px){.task-filters fieldset{grid-template-columns:1fr}.task-filters label{min-width:0}}.app-shell{min-height:100vh;background:#f3faff}.app-shell>header{min-height:80px;padding:16px 32px}.brand{gap:8px}.workspace-main{max-width:1440px;min-height:calc(100vh - 160px)}.workspace-main>nav button{display:flex;gap:14px;align-items:center;justify-content:flex-start;background:transparent;color:var(--color-text-primary);margin:0;font-weight:500}.workspace-main>nav button[aria-current=page]{background:#dff3ff;color:var(--color-primary-strong);font-weight:700}.workspace-main>nav button:hover{background:var(--color-sky)}.workspace-main>section{border-radius:16px;min-height:720px;padding:28px 32px}.workspace-main h2{font-size:28px;margin:0 0 8px;line-height:1.4}.workspace-main .task-heading{margin-top:0}.workspace-main .page-description{margin:0 0 24px;font-size:14px}p[role=status]:empty{display:none}p[role=status]:not(:empty){border-radius:12px;background:var(--color-sky);padding:12px 16px}.page-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;align-items:center}.page-toolbar button+button{margin-left:0}.inline-filter{display:flex;align-items:end;gap:12px;margin:16px 0}.inline-filter label{margin:0;width:min(320px,100%)}.workspace-main input,.workspace-main select{padding:9px 12px;border-radius:8px}.workspace-main label{margin:16px 0;font-size:14px}.workspace-main .task-table{border-radius:12px}.task-table th{font-weight:600;color:var(--color-text-primary);background:#f3f8fc;font-size:14px;white-space:nowrap}.task-table td{font-size:14px}.task-table tbody tr:last-child td{border-bottom:0}.task-table tbody tr:hover{background:#f8fcff}.task-table td button{background:transparent;color:var(--color-primary-strong);padding:8px 12px;font-size:14px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workspace-main .dashboard-grid .metric-card{margin:0;display:flex;flex-direction:column-reverse;gap:8px;padding:24px}.metric-card h3{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.metric-card strong{color:var(--color-text-primary);font-size:32px;line-height:1.2}.section-heading{margin:32px 0 12px;font-size:20px}.notice-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}.notice-heading h3{font-size:18px}.notice-card p{margin:12px 0 8px}.notice-card small{display:block;margin-bottom:12px;font-size:14px}.reward-card-heading{display:flex;align-items:center;gap:12px}.reward-emoji{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:16px;background:var(--color-sky);font-size:28px}.points-value{color:#946000;margin-right:12px}.status-submitted{background:#fff2d2;color:#845200}.status-rejected{background:#fff0ef;color:#af333c}.status-approved,.status-active{background:#e3f7ee;color:#17764d}.task-status{border-radius:24px}.point-credit{color:#17764d;font-weight:700}.point-debit{color:#af333c;font-weight:700}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.workspace-main .settings-grid .card{margin:0}.settings-details>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--color-border)}.settings-details dt{color:var(--color-text-secondary)}.settings-details dd{margin:0;overflow-wrap:anywhere;text-align:right}.redemption-progress{gap:0}.redemption-progress li{border:0;border-radius:0;padding:8px 24px 8px 0;display:flex;gap:8px;align-items:center;font-size:14px;color:var(--color-text-secondary)}.redemption-progress [aria-current=step]{background:transparent}.step-number{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#eef3f8}[aria-current=step] .step-number{background:var(--color-primary);color:#fff}.review-workspace>article{max-width:760px;padding:24px;margin-top:24px;border:1px solid var(--color-border);border-radius:16px}.review-workspace>article>h3{margin:12px 0}.points-workspace>label,.review-workspace>label{max-width:320px}.reward-editor{padding:24px;border:1px solid var(--color-border);border-radius:16px;background:#fff;box-shadow:0 8px 28px #0b2d5c0d}.reward-editor legend{font-size:22px;font-weight:700}@media(min-width:1100px){.workspace-main{padding:32px 32px 32px 240px}.workspace-main>nav{top:24px;margin:0 0 0 -216px;width:184px;gap:6px}.workspace-main>nav button{border-radius:10px;padding:12px 16px}.hub-rewards:has(.reward-editor){display:flow-root}.reward-editor{float:right;width:360px;margin-left:24px;position:sticky;top:24px}.hub-rewards:has(.reward-editor) .reward-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:1099px){.workspace-main>nav{margin:0 0 20px;gap:4px}.workspace-main>nav button{font-size:14px;padding:10px 12px}.reward-editor{max-width:none;margin:20px 0}}@media(max-width:700px){.app-shell>header{padding:16px}.workspace-main>section{padding:20px 16px;min-height:0}.workspace-main h2{font-size:24px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workspace-main .dashboard-grid .metric-card{padding:16px}.settings-grid{grid-template-columns:1fr}.notice-heading{align-items:flex-start}.notice-heading .task-status{flex-shrink:0}.redemption-progress li{padding-right:12px}.inline-filter{flex-wrap:wrap}.review-workspace>article{padding:16px}}.reward-table table{min-width:580px}.reward-table h3{font-size:16px}.reward-table p{font-size:13px;margin:8px 0 0}.reward-table .points-value{white-space:nowrap}.reward-table td:last-child{min-width:180px}.hub-rewards:has(.reward-editor) .reward-table{overflow:auto}.app-shell{background:#f3faff url(/assets/island-footer.png) center bottom / 100% auto no-repeat}.workspace-main h1{font-size:28px}@media(min-width:900px){.redemption-card{display:grid;grid-template-columns:minmax(200px,1fr) auto;column-gap:24px;align-items:center}.redemption-card h3,.redemption-card>p{grid-column:1}.redemption-card .redemption-progress{grid-column:2;grid-row:1 / 3}.redemption-card>button{grid-column:2;grid-row:3;justify-self:end}}.review-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;margin-top:24px}.review-queue{border-right:1px solid var(--color-border);padding-right:20px}.review-queue h3{font-size:16px;margin-bottom:16px}.review-queue button{width:100%;margin:0 0 12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;background:#fff;border:1px solid var(--color-border)}.review-queue button[aria-current=true]{background:var(--color-sky);border-color:var(--color-primary)}.review-queue button small{font-size:12px}.review-detail{min-width:0;padding:20px;border:1px solid var(--color-border);border-radius:16px}.review-detail>h3{margin:12px 0}@media(max-width:900px){.review-layout{grid-template-columns:minmax(0,1fr)}.review-queue{border-right:0;border-bottom:1px solid var(--color-border);padding:0 0 16px}}.image-upload>img{display:block;width:100%;height:160px;object-fit:contain;object-position:left center;margin-bottom:12px}.task-detail-media{display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border, #e4e7ec)}.task-detail-media audio{width:100%}.task-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.task-media-grid img{width:100%;height:180px;object-fit:contain}.dashboard-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:16px;margin-top:24px}.dashboard-content>.card{margin:0;min-width:0}.dashboard-task-row{display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid var(--color-border)}.dashboard-task-row>div{flex:1;min-width:0}.dashboard-row-icon{width:44px;height:44px;flex:0 0 44px;display:inline-grid;place-items:center;border-radius:14px;color:var(--color-primary-strong);background:var(--color-sky)}.dashboard-task-row h4,.dashboard-review-row h4{margin:0 0 8px;overflow-wrap:anywhere}.dashboard-review-row{padding:16px 0;border-top:1px solid var(--color-border)}.dashboard-review-heading{display:flex;align-items:center;gap:12px}.dashboard-review-row p{color:var(--color-text-secondary);margin:0}.dashboard-review-row button{display:flex;align-items:center;margin-top:12px}@media(max-width:900px){.dashboard-content{grid-template-columns:minmax(0,1fr)}}.hub-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.hub-heading h2{margin:0}.hub-heading-copy{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.hub-heading-copy time{color:var(--color-text-secondary);font-size:14px}.hub-feedback:empty{margin:0}.hub-dashboard .hub-tools{margin:12px 0}.hub-dashboard .dashboard-filter{margin:16px 0 12px;gap:8px}.hub-dashboard .dashboard-filter label{width:auto;flex-direction:row;display:flex;align-items:center;gap:12px;margin:0}.hub-dashboard .dashboard-filter select{width:200px;margin:0}.hub-dashboard .dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.workspace-main .hub-dashboard .dashboard-grid .metric-card{padding:20px 12px;border:0;border-radius:0;box-shadow:none;text-align:center;display:grid;grid-template-columns:1fr;justify-items:center;gap:4px}.hub-dashboard .metric-card>svg{color:var(--color-primary)}.hub-dashboard .metric-card:last-child>svg{color:var(--color-gold)}.hub-dashboard .metric-card strong{color:var(--color-text-primary);font-size:30px}.hub-dashboard .metric-card h3{color:var(--color-text-secondary);font-size:13px;font-weight:500}.hub-dashboard .metric-card+.metric-card{border-left:1px solid var(--color-border)!important}.dashboard-secondary-stats{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:12px;color:var(--color-text-secondary)}.dashboard-secondary-stats strong{color:var(--color-text-primary)}.dashboard-secondary-stats span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#f4f9fd}.dashboard-secondary-stats span svg{color:var(--color-gold)}.dashboard-secondary-stats button:first-of-type{margin-left:auto}.dashboard-secondary-stats button+button{margin-left:0}.dashboard-family{margin:0 0 10px;color:var(--color-text-secondary);font-size:14px}.dashboard-refresh{display:inline-flex;align-items:center;gap:6px}.dashboard-task-row .points-value,.dashboard-review-row .points-value{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.hub-dashboard .notice-card{padding:16px 18px}.hub-dashboard .notice-card+.notice-card{margin-top:10px}@media(max-width:700px){.hub-dashboard .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-main .hub-dashboard .dashboard-grid .metric-card{padding:16px 8px}.dashboard-secondary-stats{gap:12px}.dashboard-secondary-stats span,.dashboard-secondary-stats button,.dashboard-secondary-stats button:first-of-type{flex:1 1 calc(50% - 6px);margin-left:0}.hub-dashboard .dashboard-filter select{width:160px}.hub-dashboard .dashboard-filter{align-items:stretch}.hub-dashboard .dashboard-filter label{width:100%}.hub-dashboard .dashboard-filter select{flex:1;min-width:0}.dashboard-task-row{align-items:flex-start;flex-wrap:wrap}.dashboard-task-row>div{flex-basis:calc(100% - 60px)}.dashboard-task-row .points-value{margin-left:60px}.dashboard-task-open{margin-left:auto}}.dashboard-task-open{flex-shrink:0;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.review-workspace{padding:28px}.review-heading,.review-tools,.review-detail-header,.review-child-line,.review-section-title,.review-actions,.review-pagination{display:flex;align-items:center}.review-heading{justify-content:space-between;gap:24px}.review-heading h2,.review-heading p{margin:4px 0 0}.review-heading .eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em}.review-tools{align-items:flex-end;gap:10px}.review-tools label{min-width:180px;margin:0;gap:5px;font-size:13px}.review-tools select{min-height:42px;padding-block:8px}.review-refresh,.review-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.review-feedback{margin:18px 0 0}.review-layout{grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);gap:0;overflow:hidden;border:1px solid var(--color-border);border-radius:18px;background:#fff;box-shadow:0 10px 32px #0b2d5c0b}.review-queue{padding:0;border:0;border-right:1px solid var(--color-border);background:#fbfdff}.review-tabs{display:flex;align-items:center;gap:8px;min-height:54px;padding:0 18px;border-bottom:1px solid var(--color-border);color:var(--color-primary-strong)}.review-tabs strong{align-self:stretch;display:inline-flex;align-items:center;border-bottom:3px solid var(--color-primary)}.review-tabs span{min-width:24px;padding:2px 7px;border-radius:99px;background:var(--color-sky);text-align:center;font-size:12px}.review-queue button{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;width:calc(100% - 20px);margin:10px;padding:13px 12px;color:var(--color-text-primary);border:1px solid transparent;border-radius:12px;background:transparent;text-align:left}.review-queue button:hover,.review-queue button[aria-current=true]{background:#eaf7fc;border-color:#cce9f6}.review-queue-icon,.review-avatar{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;color:var(--color-primary-strong);background:var(--color-sky)}.review-queue-icon{width:38px;height:38px}.review-queue-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.review-queue-copy strong,.review-queue-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-queue-copy small{font-size:12px}.review-queue .task-status{align-self:start;font-size:12px}.review-queue-empty{padding:40px 20px;text-align:center;color:var(--color-primary-strong)}.review-pagination{justify-content:center;flex-wrap:wrap;gap:6px;padding:12px;border-top:1px solid var(--color-border)}.review-pagination button{display:inline-flex;width:auto;margin:0;padding:8px 10px}.review-detail{min-width:0;padding:22px 24px 26px;border:0;border-radius:0}.review-detail-header{justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.review-detail-header h3,.review-detail-header p{margin:0}.review-detail-header p{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:13px}.review-child-line{gap:9px;margin:15px 0 12px;color:var(--color-text-secondary)}.review-child-line strong{color:var(--color-text-primary)}.review-avatar{width:36px;height:36px;overflow:hidden}.review-avatar .review-avatar-image{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.review-submission-copy{margin:12px 0 16px;padding:14px 16px;border-radius:12px;background:#f7fbfe}.review-submission-copy p{margin:6px 0 0}.review-section-title{gap:7px;margin-bottom:10px}.review-section-title span{color:var(--color-text-secondary);font-size:13px}.review-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:18px}.review-evidence-grid .review-evidence-image{width:100%;height:210px;max-width:none;max-height:none;object-fit:contain;border:1px solid var(--color-border);border-radius:12px;background:#f6f8fa}.review-form{margin-top:18px;padding-top:16px;border-top:1px solid var(--color-border)}.review-form legend{padding:0 10px 0 0;font-size:16px;font-weight:700}.review-rating-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}.review-rating-options label{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;border:1px solid var(--color-border);border-radius:12px;background:#fff;cursor:pointer}.review-rating-options label:has(input:checked){border-color:var(--color-primary);color:var(--color-primary-strong);background:var(--color-sky)}.review-rating-options input{width:18px;min-height:18px;accent-color:var(--color-primary)}.review-form-row{display:grid;grid-template-columns:minmax(160px,.34fr) minmax(240px,1fr);gap:16px}.review-form-row label{margin:0}.review-points-input{display:grid;grid-template-columns:auto minmax(80px,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:0 12px;border:1px solid var(--color-border);border-radius:12px;color:#edaa1d;background:#fff}.review-points-input input{min-height:42px;padding:0;border:0;border-radius:0}.review-comment{position:relative}.review-comment textarea{min-height:92px;padding-bottom:26px}.review-comment>small{position:absolute;right:11px;bottom:8px}.review-actions{justify-content:flex-end;gap:10px;margin-top:18px}.review-actions button+button{margin:0}.review-reject{color:#c6453c;border:1px solid #f1b9b4;background:#fff6f5}.review-result{display:flex;gap:12px;margin-top:18px;padding:18px;border-radius:14px;color:#26845d;background:#ecfbf4}.review-result p{margin:5px 0;color:inherit}.review-history{margin-top:18px;padding-top:14px;border-top:1px solid var(--color-border)}.review-history summary{cursor:pointer;color:var(--color-primary-strong);font-weight:600}.review-history div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.review-history button+button{margin-left:0}.review-empty{margin-top:24px;padding:64px 24px;border:1px dashed #bfd9e6;border-radius:18px;background:#f7fcff;text-align:center;color:var(--color-primary-strong)}.review-empty h3,.review-empty p{margin:8px 0 0}@media(max-width:900px){.review-heading{align-items:flex-start;flex-direction:column}.review-tools{width:100%}.review-tools label{flex:1}.review-layout{grid-template-columns:minmax(0,1fr)}.review-queue{border-right:0;border-bottom:1px solid var(--color-border)}.review-form-row{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.review-workspace{padding:18px 14px}.review-tools{align-items:stretch;flex-direction:column}.review-refresh{width:100%}.review-queue button{grid-template-columns:36px minmax(0,1fr)}.review-queue .task-status{grid-column:2;justify-self:start}.review-detail{padding:18px 14px 20px}.review-detail-header{align-items:flex-start}.review-evidence-grid,.review-rating-options{grid-template-columns:minmax(0,1fr)}.review-evidence-grid .review-evidence-image{height:auto;max-height:320px}.review-actions{align-items:stretch;flex-direction:column-reverse}.review-actions button{width:100%}}.task-filters fieldset{display:flex;flex-wrap:wrap;align-items:flex-end;padding:16px 0}.task-filters label{margin:0;flex:1 1 150px}.task-filters fieldset>button{margin:0;flex:0 0 auto;min-height:48px}@media(max-width:800px){.task-filters fieldset{display:grid;grid-template-columns:1fr}}.weekdays label{flex-direction:row;margin:0;padding:10px 12px;min-height:48px;border:1px solid var(--color-border);border-radius:12px;cursor:pointer}.weekdays label:has(input:checked){background:var(--color-sky);border-color:var(--color-primary)}.weekdays input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--color-primary)}.field-error{color:#af333c;flex-basis:100%}.sticky-actions{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;padding:16px 0;background:#fff;border-top:1px solid var(--color-border)}.sticky-actions button,.dialog-actions button{margin:0}.reward-editor{float:none;width:100%;max-width:760px;position:static;margin:24px 0}.rule-summary{display:block;white-space:normal;margin-top:6px}button.danger{color:#a82d34;background:#fff1f1;border:1px solid #d98186}.confirm-dialog{width:min(520px,calc(100% - 32px));max-height:85vh;border:1px solid var(--color-border);border-radius:20px;padding:24px;box-shadow:0 24px 80px #19385240}.confirm-dialog::backdrop{background:#182b4a70}.confirm-dialog p{white-space:pre-wrap;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.image-picker{margin:16px 0;padding:16px;border:2px dashed #b7d6e7;border-radius:14px}.image-picker:focus-visible{outline:3px solid var(--color-primary-strong);outline-offset:3px}.image-picker label{margin:8px 0}.image-picker img{width:100%;max-height:240px;object-fit:contain;margin-bottom:12px}.points-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.points-summary article{background:var(--color-sky);padding:16px;border-radius:14px}.points-summary strong{display:block;font-size:26px}.points-adjustment{margin:24px 0}.points-adjustment summary{cursor:pointer;min-height:44px;font-weight:600}@media(max-width:700px){.workspace-main>nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.workspace-main>nav button{flex-shrink:0;margin:0}.task-table table{min-width:0;display:table}.task-table thead{display:none}.task-table tbody,.task-table tr{display:block}.task-table tr{padding:12px;border-bottom:1px solid var(--color-border)}.task-table td{display:block;padding:6px 0;border:0;overflow-wrap:anywhere}.task-table td:last-child{min-width:0;padding-top:12px}.task-table td:before{content:attr(data-label);color:var(--color-text-secondary);margin-right:12px;font-size:13px}.points-summary{grid-template-columns:1fr}}.task-actions.plan-actions{display:grid;grid-template-columns:76px 76px;gap:8px;margin:0}.plan-actions button{min-height:44px;margin:0}.plan-status-actions{grid-column:1 / -1;display:grid;grid-template-columns:76px 76px;gap:8px}.plan-status-actions button:last-child{grid-column:2}.plan-status-actions button{width:76px;padding-inline:12px}@media(max-width:700px){.task-workspace td:nth-child(1):before{content:"任务"}.task-workspace td:nth-child(2):before{content:"孩子"}.task-workspace td:nth-child(3):before{content:"日期 / 周期"}.task-workspace td:nth-child(4):before{content:"提醒 / 截止"}.task-workspace td:nth-child(5):before{content:"状态"}.task-workspace td:nth-child(6):before{content:"积分"}.points-workspace td:nth-child(1):before{content:"时间"}.points-workspace td:nth-child(2):before{content:"类型"}.points-workspace td:nth-child(3):before{content:"说明"}.points-workspace td:nth-child(4):before{content:"变动"}.points-workspace td:nth-child(5):before{content:"余额"}}.task-filters input,.task-filters select{height:48px;min-height:48px}.optional-image{margin:16px 0}.optional-image summary{cursor:pointer;font-weight:600;min-height:44px;padding:10px 0}.management.management-editing{grid-template-columns:minmax(0,1fr)}.review-workspace>.review-queue,.review-workspace>.review-detail{margin-top:24px;border:1px solid var(--color-border);border-radius:18px;overflow:hidden}.task-sort-handle{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;margin-right:10px;min-width:40px}.task-sort-handle:active{cursor:grabbing}.task-drop-target{outline:2px solid var(--color-primary, #36766b);outline-offset:-2px}.task-order-buttons{display:inline-flex;gap:4px;margin-left:10px}
