/* Shared visual system for parent and child cabinets; role actions stay in their templates. */
.dashboard-body,.admin-auth { --page:#fff2e9; --surface:#fffdfa; --ink:#3d2d28; --teal:#2e7074; --cabinet-gap:18px; }
.dashboard-body .dashboard-topline { min-height:80px; }
.dashboard-body .dashboard-menu a { font-size:16px; padding:0 12px; }
.dashboard-body .coin-value { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; font-weight:650; }
.dashboard-body .coin-value .ui-icon { width:20px; height:20px; flex:none; }
.dashboard-body .page-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:22px; }
.dashboard-body .page-heading h2,.dashboard-body .child-school-heading h2 { margin:0; font-size:28px; line-height:1.25; }
.dashboard-body .page-heading p { font-size:14px; color:var(--muted); margin:8px 0 0; line-height:1.5; }
.dashboard-body .cabinet-card { padding:22px; border-radius:14px; }
.dashboard-body .cabinet-card h3 { font-size:20px; }
.dashboard-body .card-heading { flex-wrap:wrap; }
.dashboard-body .big-balance { font-size:44px; }
.dashboard-body .big-balance > .coin-value { font-size:inherit; }
.dashboard-body .big-balance .coin-value > span { font-size:inherit; }
.dashboard-body .big-balance .coin-value .ui-icon { width:32px; height:32px; }
.child-dashboard .child-big-balance .coin-value .ui-icon { width:32px; height:32px; }
.dashboard-body .rules-preview span.coin-value { display:inline-flex; margin:0; font-size:16px; }
.dashboard-body .rules-preview > div > span { margin-top:8px; }
.dashboard-body .grade-row { gap:12px; }
.dashboard-body .grade-row .coin-value { font-size:14px; }
.dashboard-body .grade-meta .coin-value { font-size:12px; }
.dashboard-body .grade-meta .coin-value .ui-icon { width:15px; height:15px; }
.dashboard-body .period-flow .coin-value { font-size:20px; }
.dashboard-body .reward-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--cabinet-gap); }
.dashboard-body .reward-card { display:grid; grid-template-columns:64px minmax(0,1fr); gap:8px 14px; align-content:start; }
.dashboard-body .reward-card .reward-art { grid-column:1; grid-row:1 / 3; }
.dashboard-body .reward-card h3 { grid-column:2; margin:0; font-size:18px; overflow-wrap:anywhere; }
.dashboard-body .reward-card > strong { grid-column:2; }
.dashboard-body .reward-card > form,.dashboard-body .reward-card > small,.dashboard-body .reward-card > .named-disclosure,.dashboard-body .reward-card > .record-controls { grid-column:1 / -1; }
.dashboard-body .reward-card > form { margin-top:6px; }
.dashboard-body .reward-card button { min-height:44px; }
.dashboard-body .goal-card h3 { font-size:20px; }
.dashboard-body .cabinet-filter-icon { display:inline-grid; place-items:center; width:44px; min-height:44px; padding:10px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--teal); text-decoration:none; }
.cabinet-filter-icon .ui-icon { width:22px; height:22px; }
.dashboard-body .ledger-filters { align-items:end; }
.dashboard-body .ledger-filters label { font-size:13px; }
.dashboard-body .ledger-filters input,.dashboard-body .ledger-filters select { min-height:44px; padding:10px; font-size:14px; }
.dashboard-body .ledger-entry { gap:12px; padding:14px 0; }
.dashboard-body .ledger-entry > div { min-width:0; overflow-wrap:anywhere; }
.dashboard-body .ledger-amount { font-size:16px; }
.ledger-day-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }
.dashboard-body .ledger-day-grid .ledger-entry { grid-template-columns:32px minmax(0,1fr) 36px; gap:6px 10px; padding:12px; border:1px solid var(--line); border-radius:12px; align-items:start; }
.ledger-day-grid .ledger-icon { width:32px; height:32px; grid-row:1 / 3; }
.ledger-day-grid .ledger-entry > div:not(.ledger-correction) { grid-column:2; grid-row:1; }
.dashboard-body .ledger-day-grid .ledger-amount { grid-column:2; grid-row:2; }
.dashboard-body .ledger-day-grid .ledger-edit { grid-column:3; grid-row:1 / 3; width:36px; min-height:36px; padding:8px; }
.ledger-day-grid .ledger-entry .ledger-correction { grid-column:1 / -1; grid-row:auto; }
.ledger-day-grid .ledger-entry > div > strong { font-size:14px; }
.ledger-day-grid .ledger-entry small { font-size:11px; }
.child-dashboard .family-overview { display:block; }
.child-dashboard .family-strip { margin:0 0 18px; padding:18px 0; }
.child-dashboard .strip-block { padding:0 18px; gap:12px; }
.child-dashboard .strip-icon { width:48px; height:48px; }
.child-dashboard .strip-icon .ui-picture { width:44px; height:44px; }
.child-dashboard .strip-balance .coin-value > span { font-size:32px; }
.child-dashboard .overview-board { gap:18px; margin-top:18px; }
.child-dashboard .overview-board .board-column { min-height:0; }
.child-dashboard .board-empty { min-height:160px; }
.child-dashboard .preview-task { min-height:80px; padding:12px; }
.child-dashboard .overview-board .board-heading h3 { font-size:19px; }
.child-dashboard .board-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.child-dashboard .board-filter { padding:10px 12px; min-height:44px; color:var(--ink); background:transparent; }
.child-dashboard .board-filter[aria-pressed=true] { color:var(--teal); background:var(--teal-soft); }
.dashboard-body.dashboard-enhanced .empty-completed:not([hidden]) { display:block; }
.child-dashboard.dashboard-enhanced .task-board { display:block; }
.child-dashboard.dashboard-enhanced .task-board .board-column { border:0; padding:0; min-height:0; background:transparent; }
.child-dashboard.dashboard-enhanced .task-board .board-heading { display:none; }
.child-dashboard.dashboard-enhanced .task-board .board-column:not([hidden]) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.child-dashboard .task-card { margin:0; padding:16px; }
.child-dashboard .task-card h3 { overflow-wrap:anywhere; }
.child-dashboard #rewards { padding:22px; }
.dashboard-body :is(button,a,input,select,textarea):focus-visible { outline:3px solid #ad6e30; outline-offset:3px; }
@media(min-width:901px) and (max-width:1150px) { .dashboard-body .dashboard-menu a { font-size:14px; padding:0 8px; } }
@media(max-width:900px) {
  .dashboard-body .dashboard-topline { min-height:70px; }
  .dashboard-body .dashboard-menu a { padding:12px; }
  .child-dashboard.dashboard-enhanced .task-board .board-column:not([hidden]) { grid-template-columns:1fr; }
  .dashboard-body .reward-grid { grid-template-columns:1fr; }
  .ledger-day-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .dashboard-body .page-heading { display:block; margin-bottom:18px; }
  .dashboard-body .page-heading h2,.dashboard-body .child-school-heading h2 { font-size:24px; }
  .dashboard-body .page-heading > .button-link,.dashboard-body .page-heading > button { margin-top:12px; width:100%; }
  .dashboard-body .cabinet-card,.child-dashboard #rewards { padding:16px; }
  .dashboard-body .big-balance { font-size:36px; }
  .dashboard-body .grade-rules .rules-preview { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .dashboard-body .ledger-entry { grid-template-columns:32px minmax(0,1fr) auto; }
  .dashboard-body .ledger-entry > .text-button { grid-column:2 / -1; }
  .dashboard-body .ledger-icon { width:32px; height:32px; }
  .dashboard-body .ledger-amount { grid-column:2; }
  .dashboard-body .ledger-filters label { min-width:0; flex-basis:calc(50% - 12px); }
  .child-dashboard .family-strip { padding:0; }
  .child-dashboard .strip-block { padding:14px; }
  .child-dashboard .overview-board .board-heading { gap:8px; }
  .child-dashboard .overview-board .board-heading h3 { font-size:17px; }
  .child-dashboard .task-card { grid-template-columns:42px minmax(0,1fr) auto; gap:8px; }
  .child-dashboard .task-symbol { width:42px; height:48px; }
  .child-dashboard .task-symbol .ui-picture { width:40px; height:40px; }
  .child-dashboard .task-meta .coin-value { font-size:14px; }
}
/* Identity at left, actions at right, expanded forms across the card. */
.dashboard-body .reward-card {grid-template-columns:64px minmax(0,1fr) minmax(155px,.9fr);gap:8px 14px;}
.dashboard-body .reward-card .reward-art {grid-column:1;grid-row:1 / 4;}
.dashboard-body .reward-card h3 {grid-column:2;grid-row:1;}
.dashboard-body .reward-card > strong {grid-column:2;grid-row:2;}
.dashboard-body .reward-card > form {grid-column:3;grid-row:1;margin:0;}
.dashboard-body .reward-card > form + form {grid-row:2;}
.dashboard-body .reward-card > small {grid-column:3;grid-row:3;line-height:1.5;}
.dashboard-body .reward-card > .record-controls {display:contents;}
.dashboard-body .reward-card > .record-controls > .record-buttons {grid-column:3;grid-row:2;display:flex;flex-direction:column;gap:6px;}
.dashboard-body .reward-card > .record-controls > [data-disclosure-panel] {grid-column:1 / -1;grid-row:auto;min-width:0;}
.dashboard-body .reward-card button {width:100%;padding:10px;font-size:13px;white-space:normal;}
.dashboard-body .task-card {grid-template-columns:48px minmax(0,1fr) minmax(145px,.8fr);gap:8px 12px;}
.dashboard-body .task-card .task-symbol {width:48px;height:56px;grid-column:1;grid-row:1 / 4;background:transparent;align-self:start;}
.dashboard-body .task-card h3 {grid-column:2;grid-row:1;align-self:start;font-size:18px;}
.dashboard-body .task-card .task-meta > strong {grid-column:2;grid-row:2;}
.dashboard-body .task-card > small {grid-column:2;grid-row:3;}
.dashboard-body .task-card > form {grid-column:3;grid-row:1; margin:0;}
.dashboard-body .task-card .task-return {display:contents;}
.dashboard-body .task-card .task-return > button {grid-column:3;grid-row:2;}
.dashboard-body .task-card .task-return > [data-disclosure-panel] {grid-column:1 / -1;grid-row:auto;}
.dashboard-body .task-card > .record-controls {display:contents;}
.dashboard-body .task-card > .record-controls > .record-buttons {grid-column:3;grid-row:3;display:flex;flex-direction:column;gap:6px;}
.dashboard-body .task-card > .record-controls > .record-buttons > button {width:100%;}
.dashboard-body .task-card > .record-controls > [data-disclosure-panel] {grid-column:1 / -1;grid-row:auto;min-width:0;}
.dashboard-body .exchange-open {display:grid;grid-template-columns:64px minmax(0,1fr) minmax(200px,.8fr);gap:8px 16px;align-content:start;}
.dashboard-body .exchange-open > .request-art {grid-column:1;grid-row:1 / 5;margin:0;float:none;}
.dashboard-body .exchange-open > h3 {grid-column:2;grid-row:1;margin:0;}
.dashboard-body .exchange-open > strong {grid-column:2;grid-row:2;}
.dashboard-body .exchange-open > .form-note {grid-column:2;grid-row:3;margin:0;}
.dashboard-body .exchange-open > small,.dashboard-body .exchange-open > p:not(.form-note) {grid-column:2;grid-row:auto;}
.dashboard-body .exchange-open > form {grid-column:3;grid-row:1 / 4;display:flex;flex-direction:column;gap:10px;margin:0;}
.dashboard-body .exchange-open > form .checkbox {font-size:12px;}
.dashboard-body .exchange-open > form > button {width:100%;}
.dashboard-body .exchange-open > .named-disclosure {display:contents;}
.dashboard-body .exchange-open > .named-disclosure > button {grid-column:3;grid-row:4;}
.dashboard-body .exchange-open > .named-disclosure > [data-disclosure-panel] {grid-column:1 / -1;grid-row:auto;}
@media(max-width:600px){
 .dashboard-body .reward-card {grid-template-columns:44px minmax(0,1fr);gap:8px 10px;}
 .dashboard-body .reward-card .reward-art {grid-row:1 / 6;}
 .dashboard-body .reward-card .reward-art .reward-picture {width:44px;height:44px;}
 .dashboard-body .reward-card > form {grid-column:2;grid-row:3;}
 .dashboard-body .reward-card > form + form {grid-row:4;}
 .dashboard-body .reward-card > small {grid-column:2;grid-row:5;}
 .dashboard-body .reward-card > .record-controls > .record-buttons {grid-column:2;grid-row:4;}
 .dashboard-body .task-card {grid-template-columns:44px minmax(0,1fr);gap:8px 10px;}
 .dashboard-body .task-card .task-symbol {width:44px;height:48px;grid-row:1 / 7;}
 .dashboard-body .task-card > form {grid-column:2;grid-row:4;}
 .dashboard-body .task-card .task-return > button {grid-column:2;grid-row:5;}
 .dashboard-body .task-card > .record-controls > .record-buttons {grid-column:2;grid-row:6;}
 .dashboard-body .exchange-open {grid-template-columns:44px minmax(0,1fr);gap:8px 10px;}
 .dashboard-body .exchange-open > .request-art .reward-picture {width:44px;height:44px;}
 .dashboard-body .exchange-open > form {grid-column:2;grid-row:5;}
 .dashboard-body .exchange-open > .named-disclosure > button {grid-column:2;grid-row:6;}
}
@media(min-width:1000px){
 .dashboard-body {--card-art-size:96px;--task-art-size:80px;--goal-art-size:128px;}
 .dashboard-body .reward-card {grid-template-columns:var(--card-art-size) minmax(0,1fr) minmax(155px,.9fr);}
 .dashboard-body .reward-card .reward-art .reward-picture {width:var(--card-art-size);height:var(--card-art-size);}
 .dashboard-body .task-card {grid-template-columns:var(--task-art-size) minmax(0,1fr) minmax(145px,.8fr);}
 .dashboard-body .task-card .task-symbol {width:var(--task-art-size);height:var(--task-art-size);}
 .dashboard-body .preview-task .task-symbol {width:var(--task-art-size);height:var(--task-art-size);background:transparent;}
 .dashboard-body .exchange-open {grid-template-columns:var(--card-art-size) minmax(0,1fr) minmax(200px,.8fr);}
 .dashboard-body .exchange-card > .request-art .reward-picture {width:var(--card-art-size);height:var(--card-art-size);}
 .dashboard-body .goal-card .wish-goal-art .reward-picture,.dashboard-body .goal-illustration .reward-picture {width:var(--goal-art-size);height:var(--goal-art-size);}
 .parent-cabinet .goal-card:has(.wish-goal-art) {grid-template-columns:var(--goal-art-size) minmax(0,1fr);}
 .dashboard-body .attention-row {grid-template-columns:var(--task-art-size) minmax(0,1fr) auto;}
 .dashboard-body .row-icon .task-picture,.dashboard-body .row-icon .reward-picture {width:var(--task-art-size);height:var(--task-art-size);}
}
@media(min-width:1200px){.dashboard-body {--card-art-size:112px;--task-art-size:96px;--goal-art-size:144px;}}
@media(min-width:1600px){.dashboard-body {--card-art-size:128px;--task-art-size:112px;--goal-art-size:160px;}}
