/* V1.5: local everyday tools, sharing Studio SMB theme tokens. */
.everyday-page .everyday-field {display:grid;gap:8px;min-width:0;margin:14px 0;}
.everyday-page .everyday-field input,.everyday-page .everyday-field select,.everyday-page input[type="file"] {width:100%;max-width:100%;min-height:46px;background:var(--panel);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font:inherit;}
.everyday-page input[aria-invalid="true"] {border-color:var(--danger);}
.everyday-page label {font-size:.9rem;font-weight:650;line-height:1.5;}
.everyday-page .everyday-field input:focus-visible,.everyday-page select:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}
.everyday-page .price-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.everyday-page .price-product,.everyday-page .everyday-result,.everyday-page .budget-section {padding:clamp(20px,3vw,32px);min-width:0;}
.everyday-page .price-product {margin:0;border:1px solid var(--line);}
.everyday-page .price-product legend {padding:0 12px;font-weight:800;font-size:1.2rem;}
.everyday-page .everyday-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.everyday-page .everyday-result {margin-top:24px;}
.everyday-page .everyday-result h2,.everyday-page .budget-section h2 {font-size:clamp(1.3rem,2.5vw,1.8rem);margin:0 0 20px;}
.everyday-page .everyday-winner {font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--accent);overflow-wrap:anywhere;}
.everyday-page .everyday-saving {border-top:1px solid var(--line);padding-top:20px;font-weight:700;}
.everyday-page .everyday-error {color:var(--danger);}
.everyday-page .everyday-note {border-left:3px solid var(--accent);padding:16px 20px;line-height:1.7;background:rgba(var(--accent-rgb),.05);color:var(--muted);}
.everyday-page .budget-layout {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;align-items:start;}
.everyday-page .budget-sections {display:grid;gap:24px;min-width:0;}
.everyday-page .budget-row {border:0;border-top:1px solid var(--line);padding:18px 0;margin:20px 0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;}
.everyday-page .budget-row legend {font-size:.8rem;color:var(--muted);padding-right:12px;}
.everyday-page .budget-row > button {grid-column:1/-1;justify-self:start;margin-top:10px;}
.everyday-page .budget-summary {position:sticky;top:calc(var(--header-h) + 16px);}
.everyday-page .budget-metrics {margin:0;display:grid;gap:20px;}
.everyday-page .budget-metrics > div {border-bottom:1px solid var(--line);padding-bottom:16px;}
.everyday-page .budget-metrics dt {font-size:.85rem;color:var(--muted);line-height:1.6;}
.everyday-page .budget-metrics dd {font-size:clamp(1.5rem,3vw,2.2rem);margin:5px 0 0;font-weight:800;overflow-wrap:anywhere;}
.everyday-page .budget-bars {display:grid;gap:20px;margin:26px 0;}
.everyday-page .budget-bars > div > span {font-size:.8rem;color:var(--muted);}
.everyday-page .budget-track {height:10px;background:var(--line);border-radius:10px;overflow:hidden;margin-top:10px;}
.everyday-page .budget-track > span {display:block;height:100%;background:var(--accent);}
.everyday-page .budget-track > span.savings {background:var(--accent-2,var(--accent));opacity:.65;}
.everyday-page .budget-controls {margin-top:32px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.everyday-page .budget-import {flex:1 1 100%;max-width:480px;}
.everyday-page .budget-controls .btn {white-space:normal;}
.everyday-page #budgetStatus {margin:20px 0;line-height:1.6;}
.tools-category-title {margin-top:48px;}
.tools-library-item.tool-featured {border-color:var(--accent);}
@media(max-width:1040px){.everyday-page .budget-layout {grid-template-columns:1fr;}.everyday-page .budget-summary {position:static;}}
@media(max-width:650px){.everyday-page .price-grid,.everyday-page .budget-row,.everyday-page .everyday-pair {grid-template-columns:1fr;}.everyday-page .budget-controls .btn {width:100%;}.everyday-page .budget-import {max-width:100%;}}

.budget-confirm {max-width:min(540px,calc(100vw - 32px));background:var(--panel);color:var(--text);border:1px solid var(--line-strong);border-radius:22px;padding:28px;box-shadow:0 24px 80px #0008;}
.budget-confirm::backdrop {background:#000b;backdrop-filter:blur(4px);}
.budget-confirm h2 {font-size:1.4rem;margin-top:0;}
.budget-confirm p {color:var(--muted);line-height:1.7;}
/* V1.6: focused family budget and project enhancements. */
.everyday-page .budget-entry {border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0;}
.everyday-page .budget-entry summary {cursor:pointer;font-weight:650;line-height:1.6;overflow-wrap:anywhere;}
.everyday-page .budget-entry .budget-row {border:0;padding-bottom:0;}
.everyday-page .budget-config-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;}
.everyday-page .budget-cards {display:grid;gap:20px;}
.everyday-page #budgetMonths .budget-cards {grid-template-columns:repeat(3,minmax(0,1fr));}
.everyday-page #budgetMonths .budget-metrics {padding:18px;border:1px solid var(--line);border-radius:14px;}
.everyday-page #budgetMonths dd,.everyday-page #budgetPeriods dd {font-size:1.1rem;}
.everyday-page .budget-palette {padding:18px;border-radius:12px;background:#E0F2FE;color:#164E63;border-left:8px solid #0369A1;}
.everyday-page .budget-palette[data-palette="forest"] {background:#DCFCE7;color:#14532D;border-color:#166534;}
.everyday-page .budget-palette[data-palette="lavender"] {background:#EDE9FE;color:#5B21B6;border-color:#6D28D9;}
.everyday-page .budget-palette[data-palette="sand"] {background:#FEF3C7;color:#78350F;border-color:#92400E;}
.everyday-page .price-ranking {padding-left:24px;display:grid;gap:22px;}
.everyday-page .price-ranking li {border-bottom:1px solid var(--line);padding:16px;overflow-wrap:anywhere;}
.everyday-page .price-ranking .everyday-winner {font-size:1rem;}
.everyday-page .project-fields {padding:28px;}
.everyday-page .project-fields h2 {font-size:1.4rem;margin-top:24px;}
.everyday-page .project-fields textarea {width:100%;min-height:90px;background:var(--panel);color:var(--text);font:inherit;padding:12px;border:1px solid var(--line-strong);border-radius:12px;}
.everyday-page #clientEstimate {padding:clamp(22px,4vw,44px);margin-top:30px;white-space:pre-line;}
@media(max-width:760px){.everyday-page .budget-config-grid,.everyday-page #budgetMonths .budget-cards{grid-template-columns:1fr;}}
@media print {
 body.project-page {background:#fff!important;color:#111!important;font-family:Arial,sans-serif;}
 .project-page .site-header,.project-page .site-footer,.project-page .skip-link,.project-page .application-hero,.project-page #projectEstimateForm,.project-page #projectResult,.project-page .project-help,.project-page #projectPrint,.project-page .analytics-consent {display:none!important;}
 .project-page main,.project-page .section,.project-page .container,.project-page #projectApp {padding:0!important;margin:0!important;max-width:none!important;}
 .project-page #clientEstimate {color:#111!important;background:#fff!important;border:0!important;box-shadow:none!important;padding:16mm!important;margin:0!important;}
 .project-page #clientEstimate * {color:#111!important;}
 @page {size:A4;margin:10mm;}
}
/* V1.7: compact family-budget assistant, isolated from the other tools. */
#budgetApp [hidden] { display: none !important; }
.budget-step-nav { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0; }
.budget-step-nav [aria-current="step"] { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.budget-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0; }
.budget-choice { display:flex; gap:10px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.budget-choice input { width:20px; height:20px; flex-shrink:0; accent-color:var(--accent); }
.budget-custom { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.budget-entry-card { min-width:0; border:1px solid var(--line); border-radius:16px; margin:18px 0; padding:18px; }
.budget-entry-card legend { padding:0 8px; font-weight:700; }
.budget-backups { margin:24px 0; padding:18px; border:1px solid var(--line); border-radius:16px; }
.budget-backups summary { cursor:pointer; }
#palettePreview { overflow-x:auto; margin:22px 0; }
#palettePreview table { width:100%; border-collapse:collapse; font-size:.85rem; margin-top:16px; }
#palettePreview th, #palettePreview td { text-align:left; padding:10px; border-bottom:1px solid currentColor; }
#palettePreview p { font-size:.85rem; margin-bottom:0; }
@media(max-width:700px) { .budget-choices { grid-template-columns:repeat(2,minmax(0,1fr)); } .budget-step-nav .btn { flex:1 1 140px; } #budgetApp .budget-row { grid-template-columns:1fr; } }
@media(max-width:420px) { .budget-choices { grid-template-columns:1fr; } .budget-entry-card { padding:12px; } }
