.record-message{margin-top:10px;padding:11px 14px;border-radius:10px;font-size:13px;font-weight:800}.record-message.error{color:#9b2f18;background:#fff0eb;border:1px solid #ffc9b9}.record-message.success{color:#12653f;background:#eaf8f0;border:1px solid #afe1c4}.plan-saved{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:11px 13px;color:#dff8e9;background:#173e2b;border:1px solid #2d7654;border-radius:10px;font-size:12px}.plan-saved span{color:#b9d9c7}.suggestion-note{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;color:#ddc8bc;background:#3a241c;border:1px solid #5b3a2d;border-radius:10px;font-size:12px}.suggestion-note b{color:#ffb341}.shopping-total{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:14px 16px;color:#7b351f;background:#fff3e7;border:1px solid #ffd9b5;border-radius:11px;font-weight:800}.shopping-total strong{color:#a8320f;font-size:20px}.setup-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;margin:25px 0}.setup-grid select{width:100%;border:1px solid #ddcfc3;background:#fffcf8;color:#24150f;border-radius:10px;padding:12px;outline:none}@media(max-width:600px){.setup-grid{grid-template-columns:1fr}}.account-bar{max-width:1180px;margin:14px auto 0;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px}.account-bar>div:first-child{display:flex;flex-direction:column;gap:3px}.account-bar b{font-size:13px}.account-bar span{font-size:11px;color:var(--muted)}.account-bar>button,.account-actions button{padding:9px 13px;border-radius:9px;font-weight:800}.account-actions{display:flex;align-items:center;gap:10px}.account-actions button{border:1px solid #ddcfc3;background:#fff;color:var(--ink)}.auth-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#24120db8}.auth-card{position:relative;width:min(430px,100%);padding:28px;background:#fff;border-radius:18px;box-shadow:0 30px 80px #0000004d}.auth-card h2{margin:8px 0;font-family:Georgia,serif;font-size:29px}.auth-card>p{margin:0 0 20px;color:var(--muted);line-height:1.5}.auth-card .field{margin-top:13px}.auth-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#8e7669;font-size:27px}.auth-submit{width:100%;margin-top:18px;padding:13px;border-radius:10px;font-weight:800}.auth-status{margin-top:12px;padding:10px;border-radius:9px;background:#fff3e7;color:#7b351f;font-size:13px}.auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.auth-links button{border:0;background:transparent;color:var(--orange);font-weight:800;font-size:12px}.search-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.mode-picker button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:11px;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}.mode-picker button>span{grid-row:1/3;font-size:27px}.mode-picker button>b{font-size:15px}.mode-picker button>small{color:var(--muted)}.mode-picker button.active{border:2px solid var(--orange);background:#fff3e7;box-shadow:0 5px 18px #e64a191f}.grocery-budget{padding:27px}.grocery-budget .section-heading p{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:400}.grocery-budget-inputs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.grocery-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.grocery-metrics>div{display:flex;flex-direction:column;gap:7px;padding:18px;border-radius:13px;background:#fff3e7;border:1px solid #ffd9b5}.grocery-metrics span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.grocery-metrics strong{font-size:24px}.grocery-metrics .remaining{background:#eaf8f1;border-color:#b9e4ce}.grocery-metrics .remaining strong{color:var(--green)}.grocery-metrics .over{background:#fff0ec;border-color:#f3c1b4}.grocery-metrics .over strong{color:#b63b20}:root{--ink:#24150f;--muted:#745f55;--cream:#fffaf2;--orange:#e64a19;--gold:#f4a22e;--green:#167c4d;--line:#eadfd5}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:14px max(24px,calc((100% - 1180px)/2));background:#24120d;color:#fff;border-bottom:4px solid var(--orange)}.topbar p{color:#dcc9bd;margin:0;font-size:14px}.brand{display:flex;align-items:center;gap:12px;font-size:22px;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;width:49px;height:49px;color:#fff;background:var(--orange);border-radius:50%;font-size:13px;font-weight:900;letter-spacing:1px;box-shadow:inset 0 -5px #b9320b}.brand b{color:#ff773f}.app-shell{max-width:1180px;margin:auto;padding:42px 24px 70px}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px}.eyebrow{color:var(--orange);font-size:12px;font-weight:900;letter-spacing:1.8px}h1{margin:7px 0 8px;font-family:Georgia,serif;font-size:clamp(34px,5vw,57px);line-height:1;letter-spacing:-2px}.intro p{margin:0;max-width:650px;color:var(--muted);font-size:17px;line-height:1.55}.intro-badge{display:flex;align-items:center;gap:12px;padding:13px 17px;background:#fff1df;border:1px solid #ffd8a3;border-radius:16px;color:#7b351f;font-size:13px}.intro-badge span{font-size:30px}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);align-items:start;gap:24px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 13px 40px #4b271714;overflow:hidden}.calculator,.results{padding:27px}.section-heading,.section-heading>div{display:flex;align-items:center;justify-content:space-between}.section-heading>div{gap:11px}.section-heading h2{font-family:Georgia,serif;font-size:22px;margin:0}.step{display:grid;place-items:center;width:30px;height:30px;color:#fff;background:var(--orange);border-radius:50%;font-weight:800}.reset{border:0;background:transparent;color:var(--orange);font-size:13px;font-weight:800}.field{display:flex;flex-direction:column;gap:7px}.field>span,.cost-header{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.field input,.cost-row input{min-width:0;width:100%;border:1px solid #ddcfc3;background:#fffcf8;color:var(--ink);border-radius:10px;padding:12px;outline:none}input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #e64a191f}.full{margin:25px 0}.cost-header{display:grid;grid-template-columns:1fr 130px;gap:12px;padding:0 36px 8px 4px}.cost-header span:last-child{text-align:right}.cost-list{display:flex;flex-direction:column;gap:8px}.cost-row{display:grid;grid-template-columns:1fr 130px 25px;align-items:center;gap:10px}.cost-row>button{border:0;background:transparent;color:#a78f82;font-size:23px;padding:0}.money-input,.prefixed,.suffixed{display:flex;align-items:center;border:1px solid #ddcfc3;background:#fffcf8;border-radius:10px;padding-left:11px}.money-input input,.prefixed input,.suffixed input{border:0;background:transparent;box-shadow:none}.money-input:focus-within,.prefixed:focus-within,.suffixed:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px #e64a191f}.add-cost{margin:13px 0 21px;border:0;background:transparent;color:var(--orange);font-weight:800;font-size:13px}.total-cost{display:flex;justify-content:space-between;align-items:center;padding:17px 18px;background:#fff3e7;border:1px solid #ffd9b5;border-radius:12px;font-weight:800}.total-cost strong{font-size:21px;color:#a8320f}.inputs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.suffixed{padding-left:0;padding-right:11px}.results{position:sticky;top:20px;color:#fff;background:#2c1710;border-color:#2c1710}.results .step{background:var(--gold);color:#2c1710}.event-title{margin:20px 0 12px;text-align:center;color:#dbc7ba;font-size:13px}.price-callout{padding:21px;text-align:center;background:linear-gradient(135deg,#f6aa34,#e7641f);border-radius:16px}.price-callout span,.price-callout small{display:block}.price-callout span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.price-callout strong{display:block;margin:5px 0 2px;font-family:Georgia,serif;font-size:45px;line-height:1}.price-callout small{color:#fff3e4}.metrics{margin-top:18px;border-top:1px solid #56372b}.metrics>div,.margin-block>div:first-child{display:flex;justify-content:space-between;padding:12px 2px;border-bottom:1px solid #56372b;color:#dac8bd}.metrics b{color:#fff}.metrics .profit{color:#fff;font-size:17px}.metrics .profit b{color:#ffb341;font-size:22px}.margin-block{margin:15px 0}.margin-block>div:first-child{border:0;padding:0 2px 8px}.margin-block .good{color:#55d58d}.margin-block .warn{color:#ffb341}.track{height:8px;overflow:hidden;background:#57372b;border-radius:9px}.track span{display:block;height:100%;background:linear-gradient(90deg,#f5a327,#45c67e);border-radius:9px;transition:width .25s}.break-even{display:flex;gap:10px;align-items:flex-start;padding:13px;background:#3a241c;border-radius:12px;color:#d9c7bc;font-size:12px;line-height:1.5}.break-even span{display:grid;place-items:center;min-width:22px;height:22px;background:var(--green);color:#fff;border-radius:50%}.break-even p{margin:0}.break-even strong{color:#fff}.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.actions button{border-radius:10px;padding:13px 8px;font-weight:800;font-size:13px}.primary{color:#fff;border:1px solid var(--orange);background:var(--orange)}.secondary{color:#fff;border:1px solid #755444;background:transparent}.tips{margin-top:25px;padding:25px;background:#fff5e7;border:1px solid #f3d8b5;border-radius:16px}.tips h2{margin:0 0 14px;font-family:Georgia,serif;font-size:20px}.tips>div{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.tips p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.tips b{color:var(--ink)}footer{padding:22px;text-align:center;background:#24120d;color:#bfa99d;font-size:12px}.shopping{margin-top:25px;padding:27px}.shopping .section-heading p{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:400}.search-strip{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;margin-top:24px;padding:18px;background:#fff3e7;border:1px solid #ffd9b5;border-radius:14px}.search-button,.record-button{border:0;border-radius:10px;padding:13px 18px;background:var(--orange);color:#fff;font-weight:800;white-space:nowrap}.purchase-form{display:grid;grid-template-columns:1.4fr .65fr .8fr 1fr 1fr auto;align-items:end;gap:10px;margin-top:17px}.field select{width:100%;border:1px solid #ddcfc3;background:#fffcf8;color:var(--ink);border-radius:10px;padding:12px;outline:none}.record-button{background:#24120d}.purchase-history{margin-top:26px}.history-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.history-head h3{margin:0;font-family:Georgia,serif;font-size:18px}.history-head span{color:var(--muted);font-size:12px}.empty-history{display:flex;flex-direction:column;align-items:center;gap:6px;padding:34px;color:var(--muted);background:#fffcf8;border:1px dashed #ddcfc3;border-radius:12px;margin-top:12px;font-size:13px}.history-list{display:flex;flex-direction:column}.history-row{display:grid;grid-template-columns:1.5fr 1fr .75fr 24px;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line)}.history-row>div{display:flex;flex-direction:column;gap:4px}.history-row span{color:var(--muted);font-size:12px}.history-row>div:nth-child(2){text-align:right}.history-row .neutral,.history-row .up,.history-row .down{font-size:12px;font-weight:800;text-align:right}.history-row .neutral{color:var(--muted)}.history-row .up{color:#b63b20}.history-row .down{color:var(--green)}.history-row>button{border:0;background:transparent;color:#a78f82;font-size:22px}.purchase-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.purchase-actions button{padding:12px 17px;border-radius:10px;font-weight:800}.purchase-actions button:disabled{opacity:.45;cursor:not-allowed}.purchase-actions small{color:var(--muted)}.purchase-report{display:none}.store-search-panel{margin-top:12px;padding:18px;border:1px solid #ffd9b5;border-radius:14px;background:#fffaf2}.store-search-heading{display:flex;justify-content:space-between;gap:12px}.store-search-heading>div{display:flex;flex-direction:column;gap:5px}.store-search-heading span{color:var(--muted);font-size:12px;line-height:1.4}.store-search-heading>button{align-self:start;border:0;background:transparent;color:#8e7669;font-size:23px}.store-links{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.store-links a{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border:1px solid #ddcfc3;border-radius:10px;background:#fff;color:var(--ink);font-weight:800;text-decoration:none}.store-links a span{color:var(--orange)}.copy-search{display:flex;align-items:center;gap:10px;margin-top:13px;padding:10px;background:#fff;border:1px dashed #ddcfc3;border-radius:10px}.copy-search code{flex:1;overflow-wrap:anywhere;color:#745f55;font-size:12px}.copy-search button{border:0;border-radius:8px;padding:10px 12px;background:#24120d;color:#fff;font-weight:800;white-space:nowrap}@media(max-width:980px){.purchase-form{grid-template-columns:repeat(3,1fr)}.record-button{height:44px}}@media(max-width:820px){.topbar p,.intro-badge{display:none}.app-shell{padding:28px 14px 50px}.workspace{grid-template-columns:1fr}.results{position:static}.intro{margin-bottom:20px}.inputs-grid,.tips>div{grid-template-columns:1fr}.calculator,.results,.shopping{padding:20px}.search-strip{grid-template-columns:1fr}.purchase-form{grid-template-columns:1fr 1fr}.record-button{grid-column:1/-1}.history-row{grid-template-columns:1.2fr .8fr .7fr 20px}}@media(max-width:480px){.cost-header{grid-template-columns:1fr 105px}.cost-row{grid-template-columns:1fr 105px 20px}.actions{grid-template-columns:1fr}.purchase-actions{align-items:stretch;flex-direction:column}h1{font-size:38px}.topbar{padding:12px 16px}.purchase-form{grid-template-columns:1fr}.record-button{grid-column:auto}.history-row{grid-template-columns:1fr auto 20px}.history-row .neutral,.history-row .up,.history-row .down{display:none}}@media print{body{background:#fff}.no-print,.topbar,footer{display:none!important}.app-shell{padding:0}.workspace{display:block}.card{box-shadow:none;border:1px solid #bbb}.calculator{margin-bottom:16px}.results{position:static;background:#2c1710;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cost-row button{display:none}.cost-row{grid-template-columns:1fr 130px}.intro,.printing-purchases .app-shell{display:none}.printing-purchases .purchase-report{display:block;padding:8px 14px;color:#24150f}.report-brand{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:4px solid #e64a19}.report-brand>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e64a19;color:#fff;font-weight:900}.report-brand h1{margin:0;font-size:28px;letter-spacing:-.5px}.report-brand p{margin:3px 0 0;color:#745f55}.report-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.report-meta>div{display:flex;flex-direction:column;gap:4px;padding:10px;background:#fff3e7}.report-meta b{font-size:10px;text-transform:uppercase;color:#745f55}.report-row{display:grid;grid-template-columns:1.5fr .8fr .8fr .9fr .9fr;gap:10px;align-items:center;padding:11px 8px;border-bottom:1px solid #ddd;font-size:12px}.report-row>span:first-child{display:flex;flex-direction:column;gap:3px}.report-row small{color:#745f55}.report-head{background:#2c1710;color:#fff;font-weight:800;text-transform:uppercase;font-size:9px}.report-total{display:flex;justify-content:flex-end;align-items:center;gap:28px;padding:18px 8px;font-size:16px}.report-total strong{font-size:22px;color:#a8320f}.report-note{margin-top:20px;padding-top:10px;border-top:1px solid #ddd;color:#745f55;font-size:10px;text-align:center}}@media(max-width:600px){.mode-picker,.grocery-budget-inputs,.grocery-metrics,.store-links{grid-template-columns:1fr}.grocery-budget{padding:20px}.copy-search{align-items:stretch;flex-direction:column}.copy-search button{width:100%}}
