.routine-art{width:64px;height:64px;flex-shrink:0;display:block}.routine-field{display:grid;gap:12px;margin:22px 0;font-weight:700}.routine-field input,.routine-task-edit input[type=text],.routine-task-edit input:not([type]),.routine-task-edit select{width:100%;min-width:0;font:inherit;padding:14px;border:2px solid #d8c3e1;border-radius:12px;background:#fff;color:#452453;min-height:48px}.routine-task-edit{padding:24px;border:1px solid #ddc9e5;border-radius:18px;margin:22px 0;background:#fffcf5}.routine-task-title{display:flex;gap:20px;align-items:center;margin-bottom:22px}.routine-task-title label{display:grid;gap:12px;flex:1;min-width:0;font-weight:700}.routine-task-edit>label{display:grid;gap:12px}.routine-days{display:flex;gap:16px;flex-wrap:wrap;border:0;padding:0;margin:24px 0 0}.routine-days legend{font-weight:700;margin-bottom:14px}.routine-days label{display:flex;align-items:center;gap:8px}.routine-days input,.routine-switch input{width:20px;height:20px;accent-color:#8653b5}.routine-actions{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}.routine-actions button{margin:0}.routine-prize-editor{padding:26px;background:#f2e9f8;border-radius:20px;margin:30px 0}.routine-switch{display:flex;align-items:center;gap:14px;line-height:1.7}.routine-preview{margin-top:28px!important}.routine-notice{padding:20px;border:1px solid #dfc8e5;background:#f8eff9;border-radius:14px;line-height:1.7;margin:22px 0}.routine-week-nav{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:28px 0}.routine-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.routine-calendar button{display:grid;justify-items:center;gap:10px;padding:18px 8px;min-width:0;border:1px solid #d8c3e1;border-radius:16px;background:#fffdf7;color:#533267;box-shadow:none}.routine-calendar button[aria-pressed=true]{border:2px solid #8653b5;background:#eee2f7}.routine-calendar small{font-size:12px}.routine-count{font-size:18px;line-height:1.7;margin:24px 0}.routine-task{border:1px solid #dfcbe6;border-radius:20px;padding:24px;margin:20px 0;background:#fffdf8}.routine-task-main{display:flex;align-items:center;gap:22px}.routine-task-main h2{font-size:23px;line-height:1.5;flex:1;margin:0!important}.routine-sticker-button{width:92px;min-height:92px;display:grid;place-items:center;background:#f5eaf9;border:2px dashed #c6a8d4;border-radius:20px;box-shadow:none;padding:10px;font-size:15px;line-height:1.4}.routine-sticker-button:disabled{opacity:.7}.sticker-picker{padding:24px 0 0;border-top:1px solid #e4d6e9;margin-top:24px}.sticker-picker>p{font-weight:700;margin:0 0 18px}.sticker-shapes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.sticker-shapes button{display:grid;place-items:center;border:2px solid #e4d7e8;border-radius:16px;background:white;padding:12px;min-width:0;box-shadow:none}.sticker-shapes button[aria-pressed=true]{border-color:#8653b5;background:#f0e3f8}.sticker-shapes .routine-art{width:52px;height:52px}.sticker-colors{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0}.sticker-colors button{width:42px;height:42px;border:4px solid white;outline:2px solid transparent;border-radius:50%;background:var(--swatch);box-shadow:none;padding:0}.sticker-colors button[aria-pressed=true]{outline-color:#513261}.routine-prize{padding:28px;border:1px solid #dbc4e2;background:linear-gradient(135deg,#fff4da,#efe1f5);border-radius:22px;margin-top:30px;line-height:1.7}.routine-prize>img{width:160px;height:160px;object-fit:contain;background:white;border-radius:16px}.routine-prize .bigbutton{margin:22px 0 0}.routine-prize h2{margin-top:0}.routine-editor #routine-status,.routine-chart #routine-status{line-height:1.7;margin:22px 0}.routine-editor form[aria-busy=true]{opacity:.7}
@media(max-width:640px){.routine-task-edit,.routine-task{padding:18px}.routine-task-title{flex-wrap:wrap;gap:14px}.routine-task-title>.routine-art{width:48px;height:48px}.routine-task-title>button{margin-left:auto}.routine-calendar{gap:5px}.routine-calendar button{padding:14px 2px;border-radius:10px;font-size:11px}.routine-calendar small{font-size:9px}.routine-calendar button strong{font-size:11px}.routine-task-main{gap:12px}.routine-task-main>.routine-art{width:42px;height:42px}.routine-task-main h2{font-size:18px}.routine-sticker-button{width:68px;min-height:68px;font-size:12px;padding:6px}.routine-sticker-button .routine-art{width:52px;height:52px}.sticker-shapes{grid-template-columns:repeat(3,minmax(0,1fr))}.sticker-colors{gap:16px}.routine-actions{gap:14px}.routine-actions button{width:100%}.routine-prize-editor{padding:20px}.routine-week-nav{justify-content:center}.routine-week-nav strong{order:-1;width:100%;text-align:center}.routine-week-nav button{font-size:13px;min-width:0;padding:12px 16px}.routine-editor,.routine-chart{padding:24px!important}}
@media(prefers-reduced-motion:no-preference){.routine-sticker-button.sticker-just-placed .routine-art{animation:sticker-settle .25s ease-out}@keyframes sticker-settle{from{transform:scale(.82) rotate(-6deg)}to{transform:scale(1) rotate(0)}}}
/* Compact parent workspace. Child charts keep their larger touch targets. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.routine-admin-heading{display:flex;gap:28px;align-items:flex-end;margin-bottom:20px}.routine-admin-heading h1{margin:4px 0 0!important;font-size:34px!important}.routine-admin-heading .tiny{margin:0;font-size:10px}.routine-admin-heading>.note{max-width:390px;margin:0!important;font-size:13px}.routine-editor .reward-tabs{margin:22px 0!important}.routine-period-row{display:flex;gap:24px;align-items:center;margin:22px 0}.routine-period-row>label{display:grid;gap:8px;font-size:12px;font-weight:700}.routine-period-row input{font:inherit;padding:10px 12px;border:1px solid #cfbfda;border-radius:9px;background:white;min-height:38px}.routine-period-row .note{font-size:12px;line-height:1.6;max-width:360px;margin:0}.routine-editor-panel{border:1px solid #ddd1e4;border-radius:14px;background:#fffdf8;overflow:hidden}.routine-list-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #e8dfed;background:#f7f3fa}.routine-list-toolbar>div{display:flex;gap:10px}.routine-editor .routine-list-toolbar .back{font-size:12px;padding:8px 12px;min-height:34px;border-radius:9px;box-shadow:none;margin:0}.routine-task-scroll{max-height:min(58vh,610px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.routine-editor .routine-task-edit{display:grid;grid-template-columns:20px 42px minmax(130px,1fr) 130px 196px 28px;gap:10px;align-items:center;margin:0;padding:12px 14px;border:0;border-bottom:1px solid #eee6f1;border-radius:0;background:transparent}.routine-editor .routine-task-edit>label{gap:0;margin:0;min-width:0}.routine-editor .routine-task-edit input[data-task-title],.routine-editor .routine-task-edit select{font-size:13px;line-height:1.4;min-height:38px;height:38px;max-height:38px;padding:8px 10px;border-width:1px;border-radius:8px}.routine-editor .routine-row-art>.routine-art{width:40px;height:40px;object-fit:contain}.routine-row-number{font-size:11px;color:#9a89a3;text-align:center}.routine-editor .routine-days{display:flex;gap:3px;margin:0;min-width:0;justify-content:center}.routine-editor .routine-days label{display:block;position:relative;margin:0;min-width:0}.routine-editor .routine-days input{position:absolute;opacity:0;width:1px;height:1px}.routine-editor .routine-days span{display:grid;place-items:center;width:24px;height:30px;font-size:11px;font-weight:700;border:1px solid #e1d6e7;border-radius:6px;color:#85738f;background:#fff}.routine-editor .routine-days input:checked+span{background:#e9dff4;border-color:#c2a8d7;color:#593773}.routine-editor .routine-days input:focus-visible+span{outline:2px solid #6f38a2;outline-offset:2px}.routine-editor .routine-remove{font:20px/1 Arial;background:transparent;box-shadow:none;border:0;min-height:30px;width:28px;padding:4px;color:#927e9f;border-radius:6px}.routine-editor .routine-remove:hover{background:#fff0f1;color:#bc3653}.routine-add-bottom{display:block;width:100%;background:none;border:0;box-shadow:none;text-align:left;padding:14px 24px;font-size:13px;font-weight:700;color:#74449b;min-height:44px}.routine-add-bottom:hover{background:#f5effa}.routine-empty-editor{padding:26px}.routine-empty-editor h2{font-size:20px;margin:0 0 10px}.routine-empty-editor p{font-size:13px;line-height:1.6;margin:0}.routine-editor .routine-prize-editor{padding:18px 20px;margin:22px 0;background:#faf6fb;border:1px solid #e4d7eb;border-radius:14px}.routine-prize-editor summary{font-size:15px;font-weight:700;cursor:pointer;line-height:1.5}.routine-prize-editor summary>span{font-weight:400;color:#8c7a96;margin-left:10px}.routine-prize-editor[open] summary{margin-bottom:18px}.routine-prize-editor .routine-switch{font-size:13px}.routine-prize-editor #routine-prize-fields:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.routine-prize-editor .routine-field{margin:0;font-size:12px;gap:8px}.routine-prize-editor .routine-field input{font-size:13px;min-height:38px;padding:9px 11px;border-width:1px}.routine-savebar{position:sticky;bottom:12px;z-index:5;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:14px 18px;background:#fffdf5f5;border:1px solid #ddcde6;border-radius:14px;box-shadow:0 8px 28px #3c1e5815;backdrop-filter:blur(10px)}.routine-editor .routine-savebar #routine-status{margin:0!important;font-size:13px;line-height:1.5;flex:1}.routine-savebar .save-success{color:#247150;font-weight:700}.routine-editor .routine-savebar .bigbutton{margin:0;padding:12px 18px;font-size:14px;min-height:44px;white-space:nowrap;box-shadow:0 3px 0 #b28ba7}.routine-editor .routine-preview{font-size:13px;min-height:38px;padding:10px 14px;margin-top:20px!important}
body .routine-chart .sticker-colors{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:24px 0}
body .routine-chart .sticker-colors button{box-sizing:border-box!important;display:block!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;flex:0 0 48px!important;aspect-ratio:1!important;border-radius:50%!important;border:4px solid white!important;padding:0!important;margin:0!important;line-height:0!important;background:var(--swatch)!important;box-shadow:0 2px 8px #3e225522!important;outline:3px solid transparent!important;outline-offset:3px}
body .routine-chart .sticker-colors button[aria-pressed=true]{outline-color:#513261!important;box-shadow:0 3px 12px #704bb535!important}
.approval-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.approval-choice{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #e1d3e8;border-radius:12px;background:#fffdf8;min-width:0}.approval-choice>input{width:22px;height:22px;accent-color:#8150aa;flex-shrink:0}.approval-choice>span{display:grid;gap:7px;flex:1;font-size:14px}.approval-choice small{font-size:12px;color:#84708e}.approval-choice .text-button{font-size:12px;min-height:32px;padding:6px;max-width:110px;line-height:1.5}.approval-actions{display:flex;gap:16px;flex-wrap:wrap}.approval-actions button{margin:0}.save-action{margin-top:18px}.save-action .form-message{margin:0 0 14px!important}.reward-plan-feedback:empty{display:none}.reward-plan-feedback:not(:empty){padding:16px;background:#e9f5ec;color:#285f43;border-radius:12px;line-height:1.6}.save-toast{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:20;max-width:min(520px,calc(100vw - 32px));padding:14px 22px;background:#302040;color:white;border-radius:14px;box-shadow:0 8px 28px #27123640;font-size:14px;line-height:1.5}
form[aria-busy=true] button[type=submit]::before{content:'';display:inline-block;width:14px;height:14px;margin-right:9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:save-spin .7s linear infinite}@keyframes save-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.routine-editor .routine-task-edit{grid-template-columns:18px 36px minmax(120px,1fr) 116px 174px 26px;gap:8px;padding:12px 10px}.routine-editor .routine-days span{width:21px}.routine-editor .routine-row-art>.routine-art{width:34px;height:34px}}
@media(max-width:700px){.routine-admin-heading{display:block}.routine-admin-heading h1{font-size:28px!important}.routine-admin-heading>.note{margin-top:12px!important}.routine-period-row{align-items:flex-start;gap:14px;flex-direction:column}.routine-editor .routine-task-edit{grid-template-columns:18px 36px minmax(0,1fr) 26px;padding:12px;gap:9px}.routine-row-title{grid-column:3}.routine-row-graphic{grid-row:2;grid-column:2/4}.routine-editor .routine-days{grid-row:3;grid-column:2/5;justify-content:flex-start}.routine-editor .routine-days span{width:27px;height:29px}.routine-remove{grid-row:1;grid-column:4}.routine-editor .routine-prize-editor #routine-prize-fields:not([hidden]){grid-template-columns:1fr}.routine-editor .routine-savebar{gap:12px;padding:12px;flex-wrap:wrap;bottom:8px}.routine-editor .routine-savebar #routine-status{flex-basis:100%}.routine-editor .routine-savebar .bigbutton{width:100%}.approval-selection{grid-template-columns:1fr}.approval-actions button{width:100%}.routine-chart .sticker-shapes{gap:10px}}
@media(prefers-reduced-motion:reduce){form[aria-busy=true] button[type=submit]::before{animation:none}}
/* Illustrated task art and collectible stickers. */
.routine-art{object-fit:contain}.routine-task-main>.task-graphic{width:76px;height:76px;padding:7px;border-radius:22px;background:radial-gradient(circle at 30% 20%,#fff3a8,#ece4ff 80%)}.sticker-color-definitions{position:absolute;pointer-events:none;overflow:hidden}.routine-chart .sticker-shapes button{height:110px;border-radius:22px;padding:8px;background:linear-gradient(150deg,#fff,#f3edff);box-shadow:0 3px 12px #7844ab0c;border-color:#e4daf0}.routine-chart .sticker-shapes button[aria-pressed=true]{border:2px solid #9c42fa;background:linear-gradient(145deg,#f5e3ff,#e9edff);box-shadow:0 4px 16px #9c42fa22}.routine-chart .sticker-shapes .routine-art{width:88px;height:88px;max-width:100%}.routine-sticker-button .routine-art{width:78px;height:78px}.routine-chart .routine-sticker-button{background:linear-gradient(145deg,#f7ebff,#e8f5ff);border-color:#c6a6ec}.sticker-save-feedback:empty{display:none}.sticker-save-feedback:not(:empty){font-size:13px;line-height:1.5;margin:12px 0;color:#69437c}.routine-chart .routine-calendar button[aria-pressed=true]{background:linear-gradient(155deg,#ede0ff,#e0f3ff);border-color:#a15bfd}.routine-chart .routine-count{color:#704196;font-weight:700}.routine-task:has(.sticker-render){border-color:#ccb4e6}.routine-editor .routine-row-art>.task-graphic{background:#f1ecfa;border-radius:10px;padding:2px}
@media(max-width:640px){.routine-task-main>.task-graphic{width:52px;height:52px;padding:4px;border-radius:15px}.routine-chart .sticker-shapes button{height:98px}.routine-chart .sticker-shapes .routine-art{width:76px;height:76px}.routine-sticker-button .routine-art{width:58px;height:58px}}
.routine-art{background-size:400% 400%;background-repeat:no-repeat}.routine-task-main>.task-graphic{padding:0;background-color:transparent}.routine-editor .routine-row-art>.task-graphic{padding:0;background-color:transparent}.routine-art.sticker-render{border-radius:0}.routine-chart .sticker-shapes button .routine-art{height:88px;width:88px}.routine-sticker-button .routine-art{height:78px;width:78px}
@media(max-width:640px){.routine-chart .sticker-shapes button .routine-art{height:76px;width:76px}.routine-sticker-button .routine-art{height:58px;width:58px}}

/* Routines: one place to activate, edit and celebrate. */
.routine-availability{padding:16px 18px;border:1px solid #d9c9e5;border-radius:14px;background:#faf6ff;margin:20px 0}.routine-availability>label{display:flex;align-items:center;gap:14px;cursor:pointer}.routine-availability input{width:22px;height:22px;accent-color:#8444d0;flex-shrink:0}.routine-availability span{display:grid;gap:7px}.routine-availability strong{font-size:15px;line-height:1.5}.routine-availability small{font-size:12px;line-height:1.6;color:#7d658d}.routine-availability p{font-size:12px;line-height:1.6;margin:10px 0 0;color:#386e51}.routine-availability p:empty{display:none}
.routine-editor .routine-task-edit{grid-template-columns:18px 40px minmax(140px,1fr) 124px 86px 186px 26px;gap:8px}.routine-editor .routine-days span{width:23px}.routine-row-kind{min-width:0}.routine-bonus-label{display:block;width:fit-content;margin-top:8px;padding:3px 10px;border-radius:20px;background:#f0e0ff;color:#7834ad;font:700 12px/1.5 system-ui,sans-serif;letter-spacing:.03em}.routine-bonus-task{background:linear-gradient(120deg,#fffdf8,#faf1ff);border-color:#d8b9ef}.sticker-render{filter:none!important}.sticker-color-label{margin-top:24px!important}
@media(max-width:1050px) and (min-width:701px){.routine-editor .routine-task-edit{grid-template-columns:18px 36px minmax(100px,1fr) 110px 80px 26px}.routine-editor .routine-days{grid-row:2;grid-column:3/6;justify-content:flex-start}.routine-editor .routine-remove{grid-column:6;grid-row:1}.routine-editor .routine-days span{width:25px}}
@media(max-width:700px){.routine-editor .routine-task-edit{grid-template-columns:18px 36px minmax(0,1fr) 26px;gap:9px}.routine-editor .routine-row-graphic{grid-row:2;grid-column:2/4}.routine-editor .routine-row-kind{grid-row:3;grid-column:2/4}.routine-editor .routine-days{grid-row:4;grid-column:2/5}.routine-editor .routine-remove{grid-row:1;grid-column:4}.routine-availability{padding:14px}.routine-task-main h2{min-width:0;overflow-wrap:anywhere}.routine-sticker-button{flex-shrink:0}}

/* Compact rewards and routines, with space reserved for readable touch controls. */
body .rewards-page{padding:28px 32px!important;max-width:1080px}body .rewards-page>h1{font-size:32px;margin:18px 0 22px!important}body .reward-heading{gap:18px;margin-bottom:18px}body .reward-heading h2{font-size:clamp(24px,2.5vw,30px);margin:8px 0 10px}body .reward-heading p{font-size:14px}body .reward-sticker-count{width:74px;height:88px;padding:8px;gap:2px;border-radius:20px}body .reward-sticker-count>.ui-icon{width:22px;height:22px}body .reward-sticker-count strong{font-size:25px}body .reward-prize{padding:18px 22px;gap:22px;margin:20px 0 24px}body .reward-prize>.reward-picture{width:116px;height:116px;flex:0 0 116px}body .reward-prize>div:last-child{min-width:0}body .reward-prize h3{font-size:21px;line-height:1.35;margin:7px 0 10px;overflow-wrap:anywhere}body .reward-prize p{font-size:14px;margin:0;line-height:1.55}body .reward-week{margin:22px 0;gap:10px}body .reward-day{padding:12px 5px 10px;gap:7px;border-radius:16px}body .reward-sticker{width:38px;height:38px;min-height:38px}body .reward-sticker>.ui-icon{width:29px;height:29px}body .reward-day>small.parent-sticker{min-height:18px;font-size:9px}body .reward-today{margin:22px 0;padding:16px 20px}body .reward-meter{margin-top:12px}body .reward-today p{margin-top:12px;font-size:13px}body .rewards-page>.note{font-size:13px;margin-top:20px!important}
body .routine-chart{padding:28px 32px!important;max-width:1080px}body .routine-chart>h1{font-size:32px;margin:0 0 12px!important}body .routine-chart>.note{margin:0 0 16px;font-size:14px}body .routine-week-nav{margin:18px 0;gap:12px}body .routine-calendar button{padding:10px 6px;gap:6px}body .routine-count{margin:14px 0;font-size:15px}body .routine-chart #routine-status:empty{display:none}body .routine-task{padding:12px 16px;margin:10px 0;border-radius:16px}body .routine-task-main{gap:16px}body .routine-task-main>.task-graphic{width:52px;height:52px}body .routine-task-main h2{font-size:18px;line-height:1.4}body .routine-chart .routine-sticker-button{width:64px;min-height:64px;height:64px;border-radius:16px;padding:6px;font-size:12px}body .routine-sticker-button .routine-art{width:50px;height:50px}body .routine-bonus-label{display:inline-block;margin:0 0 0 10px;vertical-align:middle;font-size:10px}
.routine-list-label{display:grid;gap:4px}.routine-list-label small{font-size:11px;color:#80678e}.routine-editor .routine-task-edit{grid-template-columns:26px 34px minmax(120px,1fr) 106px 74px 186px 80px 26px;gap:7px;padding:8px 10px}.routine-editor .routine-row-art>.routine-art{width:32px;height:32px}.routine-editor .routine-task-edit select,.routine-editor .routine-task-edit input[data-task-title]{padding:7px;font-size:12px;min-height:36px;height:36px;max-height:36px}.routine-editor .routine-drag-handle{display:grid;place-items:center;min-height:36px;height:36px;width:26px;padding:2px;margin:0;border:0;border-radius:6px;background:transparent;color:#997cab;box-shadow:none;cursor:grab;touch-action:none;user-select:none}.routine-drag-handle svg{width:16px;height:24px}.routine-drag-handle:hover,.routine-drag-handle:focus-visible{background:#eee1fb!important;color:#70349d!important}.routine-editor .routine-dragging{opacity:.55;background:#f0e4ff}.routine-editor .routine-drop-before{box-shadow:inset 0 3px #924bdb}.routine-editor .routine-drop-after{box-shadow:inset 0 -3px #924bdb}.routine-row-move{min-width:0}
@media(max-width:1100px) and (min-width:701px){.routine-editor .routine-task-edit{grid-template-columns:26px 32px minmax(100px,1fr) 108px 74px 80px 26px}.routine-editor .routine-days{grid-row:2;grid-column:3/7;justify-content:flex-start}.routine-editor .routine-remove{grid-row:1;grid-column:7}}
@media(max-width:700px){.routine-editor .routine-task-edit{grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 26px;gap:8px;padding:10px}.routine-editor .routine-drag-handle{grid-row:1;grid-column:1}.routine-editor .routine-row-art{display:none}.routine-editor .routine-row-title{grid-row:1;grid-column:2/4}.routine-editor .routine-row-graphic{grid-row:2;grid-column:2}.routine-editor .routine-row-kind{grid-row:2;grid-column:3}.routine-editor .routine-row-move{grid-row:4;grid-column:2/4}.routine-editor .routine-days{grid-row:3;grid-column:2/5;gap:3px}.routine-editor .routine-days span{width:24px}.routine-editor .routine-remove{grid-row:1;grid-column:4}.routine-list-label small{max-width:130px;line-height:1.4}body .rewards-page,body .routine-chart{padding:22px 18px!important}body .reward-prize{flex-direction:row;align-items:flex-start;padding:16px;gap:14px}body .reward-prize>.reward-picture{width:82px;height:82px;flex-basis:82px}body .reward-prize h3{font-size:17px;margin:5px 0 10px}body .reward-prize p{font-size:12px}body .reward-prize .bookeyebrow{font-size:9px;letter-spacing:.06em}body .reward-week{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}body .reward-day>span{font-size:12px}body .reward-day>strong{font-size:10px}body .reward-day time{font-size:9px}body .routine-task{padding:10px 12px}body .routine-task-main{gap:10px}body .routine-task-main>.task-graphic{width:44px;height:44px}body .routine-task-main h2{font-size:16px}body .routine-chart .routine-sticker-button{width:56px;height:56px;min-height:56px}body .routine-sticker-button .routine-art{width:44px;height:44px}body .routine-bonus-label{display:block;width:fit-content;margin:5px 0 0}}

.reward-week-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 20px}.reward-week-nav label{flex:1;min-width:180px}.reward-week-nav select{width:100%;min-height:42px;padding:9px 12px;border:1px solid #d9c4e4;border-radius:10px;background:#fffdf8;color:#57346b;font:inherit;font-size:13px}.reward-week-nav .back{font-size:12px;min-height:42px;padding:9px 12px;margin:0;box-shadow:none}.reward-week-status{display:inline-block;font:700 12px/1.5 system-ui,sans-serif;border-radius:20px;padding:4px 10px;margin-top:10px;background:#ede3f6;color:#744592}.reward-week-status.week-complete{background:#daf3e3;color:#26704b}@media(max-width:640px){.reward-week-nav{gap:8px}.reward-week-nav label{order:-1;flex-basis:100%}.reward-week-nav .back{flex:1;padding-inline:8px}}

.parent-reader-grid:has(>.parent-reader:only-child){grid-template-columns:minmax(0,1fr);max-width:540px}.parent-reader-grid>.parent-reader:only-child .parent-reader-actions{display:flex;flex-wrap:wrap;gap:12px}.parent-reader:only-child .parent-reader-actions button{flex:1 1 150px}

/* Completed routine days count daily tasks only, regardless of bonus stickers. */
body .routine-calendar button.routine-day-complete{background:#e8f5e9;border-color:#8cbe99;color:#265b3a}
body .routine-calendar button.routine-day-complete[aria-pressed=true]{border:2px solid #43865b;background:#dff1e3;box-shadow:0 0 0 2px #43865b22}
.routine-day-state{display:flex;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:700}.routine-day-state .ui-icon{width:13px;height:13px}
.routine-day-celebration{display:flex;align-items:center;gap:16px;padding:18px 20px;margin:16px 0 20px;border:1px solid #a8cfb2;background:#e8f5e9;border-radius:16px;color:#265b3a}.routine-day-celebration>.ui-icon{width:34px;height:34px;flex:none}.routine-day-celebration strong{font-size:20px}.routine-day-celebration p{font-size:14px;line-height:1.6;margin:5px 0 0}
/* Keep all five child navigation buttons together, in both age editions. */
@media(max-width:740px){body .top nav:not(:has(.return-child)){display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:8px;width:auto;margin-left:0}body .top nav:not(:has(.return-child)) button{box-sizing:border-box;flex:0 0 48px;width:48px;min-width:48px;height:48px;min-height:48px;padding:10px;margin:0;border-radius:14px}body .top nav:not(:has(.return-child)) .navlabel{display:none}body .top nav:not(:has(.return-child)) .navicon{margin:0}body .top{row-gap:16px}body .routine-day-state{font-size:9px;gap:1px}body .routine-day-state .ui-icon{width:10px;height:10px}}

@media(max-width:640px){body .routine-calendar .routine-day-state{font-size:0;gap:0}body .routine-calendar .routine-day-state .ui-icon{width:14px;height:14px}}

/* A modal sheet keeps Save reachable while choices scroll independently. */
dialog.sticker-picker{box-sizing:border-box;position:fixed;inset:auto 0 0;width:min(640px,100vw);max-width:100vw;max-height:min(85dvh,720px);margin:auto auto 0;padding:0;border:1px solid #d6bce5;border-radius:26px 26px 0 0;background:#fffaf0;color:#452453;box-shadow:0 -12px 60px #24123d33;overflow:hidden}
dialog.sticker-picker[open]{display:flex;flex-direction:column}dialog.sticker-picker::backdrop{background:#29163e88;backdrop-filter:blur(3px)}.sticker-picker-scroll{padding:24px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.sticker-picker-scroll h2{margin:0 0 22px!important;font-size:24px}.sticker-picker-scroll>p{font-weight:700;line-height:1.6}.sticker-picker-savebar{position:relative;flex:none;padding:16px 24px max(20px,env(safe-area-inset-bottom));margin:0!important;background:#fffaf0;border-top:1px solid #e6d9e9;display:flex;align-items:center;gap:12px;box-shadow:0 -8px 16px #45245308}.sticker-picker-savebar .bigbutton{flex:1;min-height:48px;font-size:17px;margin:0!important}.sticker-picker-savebar .back{min-height:48px;font-size:14px;padding:12px 16px;margin:0!important}.sticker-picker-savebar button:disabled{opacity:.5}.sticker-picker .sticker-shapes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sticker-picker .sticker-shapes button{height:100px}.sticker-picker .sticker-colors{gap:12px;margin-bottom:4px}
@media(max-width:480px){.sticker-picker-scroll{padding:20px}.sticker-picker-savebar{padding:14px 16px max(18px,env(safe-area-inset-bottom));gap:10px}.sticker-picker-savebar .bigbutton{flex-basis:140px}.sticker-picker-savebar .back{padding:10px 12px}.sticker-picker .sticker-shapes button{height:88px}.sticker-picker .sticker-shapes .routine-art{width:72px;height:72px}.sticker-picker .sticker-colors button{flex:0 0 38px;width:38px;height:38px}}

/* v70: clear captions and picture-led navigation, compact at every child viewport. */
body .top nav.picture-navigation{gap:12px;align-items:stretch}
body .top nav.picture-navigation button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:100px;padding:10px 16px 12px;border-radius:22px}
body .top nav.picture-navigation .navicon{display:block;margin:0;width:64px;height:66px}
body .top nav.picture-navigation .navicon img{display:block;width:100%;height:100%;object-fit:contain}
body .top nav.picture-navigation .navlabel{display:block;font-size:14px;line-height:1.2}
body .routine-chart>.routine-week-nav{margin:32px 0 18px;padding-top:24px;border-top:1px solid #dfcbe7}
body .routine-chart>.routine-calendar{margin-top:18px}
.sticker-x-note{font-size:13px;font-weight:400!important;margin:0 0 18px!important;color:#78527e}
.routine-sticker-button:disabled:has(img[alt^="X"]){opacity:1;cursor:default}
@media(max-width:740px){
 body .top nav.text-navigation:not(:has(.return-child)),body .top nav.picture-navigation{display:flex;flex-wrap:nowrap;width:100%;gap:5px}
 body .top nav.text-navigation:not(:has(.return-child)) button,body .top nav.picture-navigation button{flex:1 1 0;min-width:0;width:auto;max-width:90px;height:62px;min-height:62px;padding:7px 3px;gap:5px;border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center}
 body .top nav.text-navigation:not(:has(.return-child)) .navlabel,body .top nav.picture-navigation .navlabel{display:block;font-size:9px;line-height:1.2;white-space:nowrap}
 body .top nav.picture-navigation button{height:80px;min-height:80px}
 body .top nav.picture-navigation .navicon{width:44px;height:46px;margin:0}
 body .top nav.text-navigation .navicon{margin:0}
 body .top nav.text-navigation .ui-icon{width:23px;height:23px}
}

body .rewards-page>.reward-week-nav{margin:28px 0 0;padding-top:24px;border-top:1px solid #dfcbe7}

/* Compact parent reward workspace: current week first, editing on demand. */
body .reward-manager-compact{padding:clamp(20px,4vw,46px)!important;max-width:1100px;margin-inline:auto}
.parent-rewards-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.parent-rewards-heading h1{font-size:32px!important;margin:0 0 8px!important}.parent-rewards-heading .note{margin:0!important;font-size:14px}.parent-rewards-heading>.back{margin:0;flex-shrink:0;font-size:13px;padding:12px 18px;min-height:44px}
.reward-manager-compact .reward-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 12px!important}.reward-manager-compact .reward-tabs button{font-size:13px;padding:10px 18px;min-height:40px;box-shadow:none;margin:0}.parent-reward-feedback:empty,.parent-save-status:empty,.reward-manager-compact .form-message:empty,.reward-plan-feedback:empty{display:none}.parent-reward-feedback{font-size:13px;line-height:1.5;margin:12px 0 18px;color:#387451}.reward-visibility-note{font-size:12px;line-height:1.5;color:#80698e;margin:8px 0 0}
.parent-reward-current{padding:22px;border:1px solid #ddcde7;border-radius:18px;background:#fffcf6}.parent-reward-summary{display:flex;align-items:center;gap:18px;margin-bottom:22px}.parent-reward-summary>.reward-picture{width:84px;height:84px;flex:0 0 84px;border-radius:14px;border:1px solid #ead9e8;padding:8px;background:white}.parent-reward-summary>.reward-picture img{width:100%;height:100%;object-fit:contain}.parent-reward-summary>div:not(.reward-picture){flex:1;min-width:0}.parent-reward-summary h2{font:700 20px/1.35 system-ui,sans-serif;margin:6px 0 8px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.parent-reward-summary p{font-size:12px;margin:0 0 8px;line-height:1.5}.parent-reward-summary .bookeyebrow{font-size:9px;letter-spacing:.12em}.parent-reward-summary>.back{align-self:flex-start;margin:0;font-size:12px;min-height:38px;padding:9px 14px;box-shadow:none}.parent-reward-status{display:inline-block;background:#eee5f7;color:#6c4482;border-radius:20px;padding:4px 9px;font-size:11px;line-height:1.4}
.parent-reading-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.parent-reading-day{border:1px solid #e2d6eb;background:#fffefa;border-radius:12px;text-align:center;min-width:0}.parent-reading-day label{display:flex!important;flex-direction:column;align-items:center;gap:5px;padding:10px 4px!important;cursor:pointer;font-size:12px!important}.parent-reading-day input[type=checkbox]{width:18px!important;height:18px;min-height:0!important;accent-color:#8a55b0;margin:5px 0!important;padding:0!important}.parent-reading-day strong{font-size:12px}.parent-reading-day small{font-size:9px;color:#80698e;line-height:1.3}.parent-reading-day.today{border-color:#a781c1}.parent-reading-day.earned{background:#eef7ec;border-color:#b0cfa7}.parent-reading-day:has(input:checked:not(:disabled)){background:#eee4fa;border-color:#a374c5;box-shadow:0 0 0 1px #a374c5}.parent-reading-day button{font-size:10px;padding:0 4px 8px;min-height:0;margin:0;box-shadow:none}.parent-reading-approvals{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 0}.parent-reading-approvals p{font-size:12px;line-height:1.5;margin:0 0 4px;max-width:410px}.parent-reading-approvals .text-button{font-size:12px;padding:4px 0;min-height:30px;margin:0;box-shadow:none}.parent-reading-approvals .bigbutton{font-size:13px!important;padding:12px 16px!important;min-height:42px!important;margin:0!important;white-space:nowrap;box-shadow:none}.parent-save-status{font-size:12px;margin:14px 0 0}
.parent-reward-tools{display:grid;gap:10px;margin:20px 0}.reward-parent-panel{border:1px solid #dfd1e8;border-radius:13px;background:#fffcf6;overflow:hidden}.reward-parent-panel>summary{cursor:pointer;display:flex;align-items:center;gap:16px;justify-content:space-between;padding:16px 18px;font-size:14px;font-weight:700;list-style:none}.reward-parent-panel>summary:after{content:'+';font-size:20px;font-weight:400}.reward-parent-panel[open]>summary:after{content:'−'}.reward-parent-panel>summary>span{flex:1}.reward-parent-panel>summary small{font-size:11px;font-weight:400;color:#80698e}.reward-parent-panel>form,.reward-parent-panel>.reward-shelf,.reward-parent-panel>.reward-plan-feedback,.reward-parent-panel>.parent-field-help,.reward-parent-panel>p{margin:0 18px 18px!important}.reward-parent-panel[open]>summary{border-bottom:1px solid #eee4f2;margin-bottom:18px}.reward-manager-compact form label{display:grid;gap:8px!important;font-size:13px!important;margin:0 0 16px!important}.reward-manager-compact label>span{font-size:11px;color:#80698e}.reward-manager-compact input:not([type=checkbox]),.reward-manager-compact select{box-sizing:border-box;width:100%;min-width:0;min-height:42px!important;font:inherit!important;font-size:13px!important;padding:10px 12px!important;border:1px solid #d4bfdc;border-radius:9px;background:white;color:#452453}.reward-manager-compact form .bigbutton{width:auto;font-size:13px!important;min-height:42px!important;padding:12px 18px!important;box-shadow:none;margin:0!important}.reward-link-row{display:flex;gap:10px}.reward-link-row input{flex:1}.reward-link-row .back{flex-shrink:0;font-size:12px;min-height:42px;margin:0;padding:10px 14px;box-shadow:none}.reward-picture-options{margin:0 0 18px}.reward-picture-options summary{font-size:13px;cursor:pointer}.reward-picture-options summary small{font-size:11px;color:#80698e}.reward-picture-inputs{display:grid;grid-template-columns:1fr 1fr 72px;gap:14px;align-items:end;margin-top:16px}.reward-picture-inputs .reward-picture{width:64px;height:64px;min-width:0}.reward-picture-inputs .reward-picture img{max-width:100%;max-height:100%;object-fit:contain}.parent-field-help{font-size:11px!important;line-height:1.6;color:#80698e;margin:12px 0 0!important}.reward-manager-compact .reward-plan-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(100px,1fr) minmax(140px,1fr);gap:14px;align-items:start}.reward-manager-compact .reward-plan-form>button{grid-column:1/-1;justify-self:start}.reward-manager-compact .reward-shelf{display:grid;grid-template-columns:1fr;gap:8px}.reward-manager-compact .reward-shelf article{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #eadfec;border-radius:10px}.reward-manager-compact .reward-shelf .reward-picture{width:42px;height:42px;flex:0 0 42px}.reward-manager-compact .reward-shelf h3{flex:1;margin:0;font-size:13px;font-family:inherit}.reward-manager-compact .reward-shelf .back,.reward-manager-compact .reward-shelf .reward-archive{font-size:11px;min-height:34px;margin:0;padding:7px 10px;box-shadow:none}.parent-reward-explainer{font-size:12px;color:#80698e;margin-top:20px}.parent-reward-explainer summary{cursor:pointer}.parent-reward-explainer p{font-size:12px;line-height:1.7;max-width:700px;margin:12px 0 0}.parent-reward-empty{padding:20px;border:1px dashed #d4bfdc;border-radius:14px}.parent-reward-empty h2{font-size:20px;margin:0 0 8px}.parent-reward-empty p{font-size:13px;margin:0;line-height:1.6}
@media(max-width:700px){.parent-reward-current{padding:16px}.parent-reward-summary{gap:12px}.parent-reward-summary>.reward-picture{width:64px;height:64px;flex-basis:64px}.parent-reward-summary h2{font-size:16px}.parent-reading-days{grid-template-columns:repeat(4,minmax(0,1fr))}.parent-reading-approvals{align-items:stretch;flex-direction:column;gap:12px}.parent-reading-approvals .bigbutton{align-self:flex-start}.reward-manager-compact .reward-plan-form{grid-template-columns:1fr 1fr}.reward-manager-compact .reward-plan-form>label:first-child{grid-column:1/-1}.reward-picture-inputs{grid-template-columns:1fr}.reward-link-row{flex-direction:column}.reward-link-row .back{align-self:flex-start}.reward-parent-panel>summary{padding:14px}.reward-parent-panel>summary small{max-width:140px;text-align:right}.parent-rewards-heading{gap:10px}.parent-rewards-heading h1{font-size:26px!important}.parent-rewards-heading>.back{padding:10px 12px;font-size:12px}.parent-rewards-heading .note{font-size:12px}.reward-manager-compact .reward-shelf article{gap:8px;flex-wrap:wrap}.reward-manager-compact .reward-shelf h3{flex-basis:calc(100% - 64px)}}
