/* GoBrownie shared design tokens. Canonical source for HA and standalone views. */
:root,:host{
 --gb-primary:#6B3F2A;--gb-primary-dark:#3D241A;--gb-primary-light:#B9784B;--gb-on-primary:#fff;
 --gb-background:#FAF7F2;--gb-surface:#fff;--gb-border:#E9E0D5;--gb-text:#292522;--gb-text-secondary:#756D67;
 --gb-gold:#E7A928;--gb-green:#65A66B;--gb-orange:#E58A42;--gb-blue:#5D9BD3;--gb-lavender:#9676C9;--gb-terracotta:#E46F51;
 --gb-danger:#C94B4B;--gb-danger-text:#A82F36;--gb-danger-bg:#FCEAEA;--gb-points-text:#805600;--gb-success-text:#326B3A;
 --gb-radius-sm:8px;--gb-radius-md:12px;--gb-radius-lg:16px;--gb-radius-xl:24px;--gb-radius-pill:9999px;
 --gb-font:'Nunito Sans','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--gb-shadow:0 2px 8px rgb(61 36 26 / 6%);--gb-section:var(--gb-green);
 --color-background:var(--gb-background);--color-surface:var(--gb-surface);--color-primary:var(--gb-primary);--color-text-primary:var(--gb-text);
 color-scheme:light;
}
@media(prefers-color-scheme:dark){:root:not([data-gb-theme=light]),:host:not([data-gb-theme=light]){
 --gb-background:#1E1B19;--gb-surface:#292522;--gb-border:#443C37;--gb-text:#F5F0EA;--gb-text-secondary:#B9AEA6;--gb-primary:#C4875E;--gb-primary-dark:#D49A73;--gb-primary-light:#9E6847;--gb-on-primary:#1E1B19;--gb-points-text:#E7A928;--gb-success-text:#96C69B;--gb-danger-text:#FFA2A2;--gb-danger-bg:#40292A;color-scheme:dark;
}}
:root[data-gb-theme=dark],:host([data-gb-theme=dark]){
 --gb-background:#1E1B19;--gb-surface:#292522;--gb-border:#443C37;--gb-text:#F5F0EA;--gb-text-secondary:#B9AEA6;--gb-primary:#C4875E;--gb-primary-dark:#D49A73;--gb-primary-light:#9E6847;--gb-on-primary:#1E1B19;--gb-points-text:#E7A928;--gb-success-text:#96C69B;--gb-danger-text:#FFA2A2;--gb-danger-bg:#40292A;color-scheme:dark;
}
body,:host{font-family:var(--gb-font)!important;color:var(--gb-text)!important;background:var(--gb-background)!important;line-height:1.5}
*{box-sizing:border-box}
button,input,select,textarea{font-family:var(--gb-font)!important;font-size:15px!important}
button,.btn{min-height:44px;border-radius:var(--gb-radius-md)!important;transition:background .18s ease,box-shadow .18s ease;color:var(--gb-primary)!important;background:var(--gb-surface)!important;border-color:var(--gb-border)!important;font-weight:650!important}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gb-primary)!important;outline-offset:3px}
button:disabled{opacity:.5!important;cursor:not-allowed!important}
input:not([type=checkbox]):not([type=radio]),textarea,select{background:var(--gb-surface)!important;color:var(--gb-text)!important;border:1px solid var(--gb-border)!important;border-radius:var(--gb-radius-sm)!important;min-height:44px}
input[type=checkbox],input[type=radio]{accent-color:var(--gb-primary)}
h1,h2,h3,h4{font-family:var(--gb-font)!important;color:var(--gb-text)!important;letter-spacing:-.02em}
h1{font-size:30px!important;line-height:1.2!important}h2{font-size:24px!important;line-height:1.3!important}h3{font-size:19px!important;line-height:1.4!important}
.primary,.choose-meal,.ideas-tools button,.btn-primary{background:var(--gb-primary)!important;color:var(--gb-on-primary)!important;border-color:var(--gb-primary)!important}
.primary:hover,.choose-meal:hover,.btn-primary:hover{background:var(--gb-primary-dark)!important}
.danger,.remove-meal{color:var(--gb-danger-text)!important;background:var(--gb-danger-bg)!important}
.error,.message{color:var(--gb-danger-text)!important}.success{color:var(--gb-success-text)!important}
.muted,.meta,.subtle,.hint,.meal-meta,.meal-reason,.hero p,.grocery-amount,.plan-progress span,.ideas-tools,.week-picker,small{color:var(--gb-text-secondary)!important}
.gb-card,.item,.child-card,.child-tab,.meal-card,.suggestion-row,.notification-group,.pending-row,.management button,.grocery-row{background:var(--gb-surface)!important;color:var(--gb-text)!important;border:1px solid var(--gb-border)!important;border-radius:var(--gb-radius-lg)!important;box-shadow:var(--gb-shadow)!important}
.item,.pending-row,.notification-group,.suggestion-row{padding:16px!important}
.parent-overview,.management{--gb-section:var(--gb-lavender)}
.planner{--gb-section:var(--gb-orange);color:var(--gb-text)!important}
.store-page{--gb-section:var(--gb-terracotta);background:var(--gb-background)!important;color:var(--gb-text)!important;font-family:var(--gb-font)!important}
.hero,.toolbar,.date-controls,.plan-progress,.section,.sale-notice,.notification-note{background:var(--gb-surface)!important;color:var(--gb-text)!important;border-color:var(--gb-border)!important;box-shadow:none!important}
.store-page .hero{border:1px solid var(--gb-border);border-top:4px solid var(--gb-section);padding:20px;border-radius:16px}
.planner .eyebrow{color:var(--gb-primary)!important;font-size:13px!important}
.planner .hero{background:transparent!important}.plan-progress{border:1px solid var(--gb-border);border-left:4px solid var(--gb-orange)}
.planner-nav{border-color:var(--gb-border)!important;gap:8px}.planner-nav button.active,.tabs [aria-pressed=true],.child-tab.is-active{background:var(--gb-surface)!important;color:var(--gb-text)!important;box-shadow:inset 0 -4px var(--gb-section)!important}
.child-tab{border-top:3px solid var(--gb-green)!important}.child-tab.is-complete{border-top-color:var(--gb-green)!important}.tab-name{color:var(--gb-text)!important}
.tab-progress-fill,.daily-fill,.weekly-fill{background:var(--gb-green)!important}.daily-progress,.weekly-progress,.tab-progress{background:var(--gb-border)!important}
progress{accent-color:var(--gb-section)!important}
.score-points,.tab-stars,.balance,.cost,.request-cost,.score,.leader-item{color:var(--gb-points-text)!important;font-weight:750!important}.balance{font-size:28px!important}
.chore-row,.extra-choice{background:var(--gb-surface)!important;border-color:var(--gb-border)!important;color:var(--gb-text)!important;box-shadow:none!important}.chore-row.is-done{border-left:4px solid var(--gb-green)!important}
.chore-location,.chore-done-means,.chore-meta{color:var(--gb-text-secondary)!important}
.art{background:var(--gb-background)!important;border:1px solid var(--gb-border);border-radius:12px!important}
.editor,dialog,.modal-box,.extra-claim-dialog,.star-adjust-dialog{background:var(--gb-surface)!important;color:var(--gb-text)!important;font-family:var(--gb-font)!important;border-color:var(--gb-border)!important}
dialog::backdrop{background:rgb(30 27 25 / 55%)!important}.child-dialog:not(.popup){background:transparent!important}
.parent-overview .dashboard-grid.popup-open{background:var(--gb-background)!important}.dialog-heading{border-color:var(--gb-border)!important}
.pending-row{border-left:4px solid var(--gb-lavender)!important}.pending-row strong{color:var(--gb-primary)!important}.management button{border-top:3px solid var(--gb-lavender)!important}.management small{color:var(--gb-text-secondary)!important}
.simple-badge{background:var(--gb-background)!important;color:var(--gb-success-text)!important;border:1px solid var(--gb-border)}
.feedback-actions [aria-pressed=true]{background:var(--gb-primary)!important;color:var(--gb-on-primary)!important}.empty-meal,.meal-photo{background:var(--gb-background)!important;color:var(--gb-text-secondary)!important}
@media(max-width:600px){h1{font-size:28px!important}.planner-nav{gap:4px}.planner-nav button{min-height:48px;font-size:14px!important;padding:10px!important}.store-page .store-grid{grid-template-columns:1fr!important}.store-page button,.extra-choice{min-height:48px}.management{grid-template-columns:1fr 1fr!important}.recipe-dialog{padding:16px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Chore-board details formerly styled by per-child blue/purple palettes. */
.leader-strip,.section-block,.section-block.is-complete,.extra-star-stepper,.chore-extra-badge,.picker-empty,.extra-claim-card,.modal,.empty{background:var(--gb-surface)!important;border-color:var(--gb-border)!important;color:var(--gb-text)!important;box-shadow:none!important}
.leader-strip{border-left:4px solid var(--gb-gold)!important}.leader-item{background:var(--gb-background)!important;border-color:var(--gb-border)!important}
.panel-accent,.section-progress-fill{background:var(--gb-green)!important}
.section-progress-track,.tab-progress-track{background:var(--gb-border)!important;border-color:var(--gb-border)!important}
.row-check{background:var(--gb-background)!important;border-color:var(--gb-border)!important}
.chore-row.is-success .row-check{background:var(--gb-background)!important;border-color:var(--gb-green)!important;color:var(--gb-success-text)!important}
.child-subline,.tab-meta,.tab-status-icon,.progress-count,.due-note,.picker-empty-title,.extra-star-value,.empty{color:var(--gb-text-secondary)!important}
.chore-row:hover,.extra-choice:hover,.extra-choice-row.is-unavailable .extra-choice{background:var(--gb-background)!important;border-color:var(--gb-border)!important}
.chore-row:focus-visible,.extra-choice:focus-visible{outline:3px solid var(--gb-primary)!important;outline-offset:2px}
.daily-celebration,.celebrate-badge,.weekly-complete{background:var(--gb-background)!important;color:var(--gb-success-text)!important;border-color:var(--gb-green)!important}
.toolbar h1{font-size:19px!important}.store-page .hero{border-top-color:var(--gb-terracotta)!important}
.gb-page-header{display:block!important;background:var(--gb-surface)!important;border:1px solid var(--gb-border)!important;border-top:4px solid var(--gb-section)!important;border-radius:16px!important;padding:20px 24px!important;margin:0 0 20px!important;box-shadow:var(--gb-shadow)!important;text-align:left!important}.gb-page-header h1,.gb-page-header h2{font-size:28px!important;line-height:1.25!important;margin:0!important}.gb-page-footer{display:block;text-align:center;padding:24px 12px;margin-top:24px;border-top:1px solid var(--gb-border);color:var(--gb-text-secondary);font:600 13px/20px var(--gb-font);letter-spacing:.04em}.gb-board-page-header{--gb-section:var(--gb-green)}.gb-store-page-header{--gb-section:var(--gb-terracotta)}.gb-bites-page-header{--gb-section:var(--gb-orange)}.planner .hero h2{margin:0 0 8px}.planner .hero{margin-top:0}@media(max-width:600px){.gb-page-header{padding:18px!important}.gb-page-header h1,.gb-page-header h2{font-size:26px!important}}

/* Global page frame and header: shared by HA cards and standalone pages. */
.gb-page-body{margin:0!important;padding:0!important}
.gb-page-shell,:host(.gb-page-shell){box-sizing:border-box!important;display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:16px!important;border-radius:0!important}
.gb-page-shell>.gb-page-header,:host(.gb-page-shell)>.gb-page-header,.gb-page-header{box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:0!important;width:100%!important;min-height:80px!important;margin:0 0 20px!important;padding:20px 24px!important;border-radius:16px!important;text-align:left!important;flex-shrink:0!important}
.gb-page-header>h1,.gb-page-header>h2{display:block!important;flex:1!important;min-width:0!important;margin:0!important;padding:0!important;font:700 28px/35px var(--gb-font)!important;letter-spacing:-.02em!important;text-align:left!important;color:var(--gb-text)!important;text-transform:none!important}
@media(max-width:600px){.gb-page-shell,:host(.gb-page-shell){padding:12px!important}.gb-page-shell>.gb-page-header,:host(.gb-page-shell)>.gb-page-header,.gb-page-header{min-height:74px!important;padding:18px!important}.gb-page-header>h1,.gb-page-header>h2{font-size:26px!important;line-height:33px!important}}
