/* Frosted workspace: keep existing component behavior and semantic states. */
:root{color-scheme:dark;color:#f1f6fa;background:#0b1220;--accent:#ccf59a;--muted:#b3c3ce;--line:rgba(207,231,255,.16)}
body{min-height:100vh;background:radial-gradient(ellipse at 6% 12%,rgba(49,121,139,.32),transparent 48%),radial-gradient(ellipse at 92% 34%,rgba(95,84,168,.26),transparent 48%),radial-gradient(ellipse at 45% 95%,rgba(45,110,99,.22),transparent 50%),#0b1220;background-attachment:fixed}
.page-shell{max-width:1600px;padding:0 clamp(16px,3vw,48px)}
.topbar{height:82px;border-color:var(--line)}
.brand{font-size:.875rem;letter-spacing:.12em}.brand-light{color:#bacbd5}.brand-mark{border-radius:9px;background:rgba(204,245,154,.07);transform:none;box-shadow:inset 0 1px 0 #ffffff20}
.private-pill{font-size:.75rem;color:#dcebcf;border-color:#c9f29b30;background:#c9f29b0c;padding:10px 15px}.private-dot{box-shadow:none}
.intro{padding:36px 0 12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,410px);column-gap:30px;align-items:center}
.eyebrow{grid-column:1/-1;font-size:.75rem;letter-spacing:.14em;color:#bcd4cf}.eyebrow-line{background:#9fc7bb}
.intro h1{font-size:clamp(32px,4vw,56px);line-height:1.12;letter-spacing:-.05em;margin:13px 0}.intro h1 br{display:none}.intro h1 em:before{content:' '}.intro em{color:var(--accent)}
.intro>p{font-size:1rem;line-height:1.65;color:var(--muted);max-width:410px;margin:10px 0}
.workbench{grid-template-columns:minmax(0,1.9fr) minmax(355px,.9fr);gap:22px;padding:22px 0 38px}
.config-area,.summary,.editor-pane,.catalog-pane{background:linear-gradient(140deg,rgba(50,70,86,.61),rgba(22,33,49,.73));border:1px solid rgba(206,230,249,.2);border-top-color:rgba(227,244,255,.31);border-radius:24px;box-shadow:inset 0 1px 0 #ffffff08,0 22px 65px #00000026;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%)}
.config-area,.summary{padding:26px}.summary{background:linear-gradient(150deg,rgba(57,80,83,.68),rgba(27,36,57,.75));top:20px}
.step-label{font-size:.75rem;letter-spacing:.11em;color:#c2d3cf}.section-top{align-items:center}.section-top h2,.summary h2{font-size:1.625rem;letter-spacing:-.035em;margin-top:8px}
.text-button{font-size:.875rem;color:#c2d2da;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff04;white-space:normal}.text-button:hover{background:#ffffff0c;color:#fff}
.builder-grid{grid-template-columns:180px minmax(0,1fr);gap:18px;margin-top:25px}
.tabs{padding:6px;gap:4px;border-color:#d1e8ff13;border-radius:17px;background:rgba(8,19,31,.29)}
.tab{padding:11px 9px;gap:7px;border-radius:12px;min-height:60px;color:#becdd5;transition:background .18s,border-color .18s,color .18s}.tab:hover{background:#ffffff08;color:#fff}.tab.active{background:linear-gradient(125deg,#b9e88a27,#b9e88a0a);border-color:#c9f29b57;color:#e3ffc3;box-shadow:inset 0 1px 0 #e9ffd416}
.tab-title{font-size:.875rem}.tab-number{font-size:.75rem;width:19px;color:#9eafba}.tab-current{font-size:.75rem;color:#9eafba;max-width:135px;margin-top:4px}.tab.active .tab-current{color:#bccdb7}
.category-intro{margin:3px 0 18px}.category-intro h3{font-size:1rem}.category-intro p{font-size:.875rem;line-height:1.55;color:var(--muted)}
.options{gap:12px}.option{padding:16px;background:rgba(211,232,255,.035);border-color:var(--line);border-radius:16px;box-shadow:inset 0 1px 0 #ffffff05;transition:background .18s,border-color .18s,box-shadow .18s}.option:hover{background:#c6e4ff09;border-color:#d3e8ff4d}.option.selected{background:linear-gradient(125deg,#b9e88a1a,#b9e88a05);border-color:#c9f29b80;box-shadow:inset 0 1px 0 #e2ffc617,0 6px 22px #00000012}
.option-main{flex-wrap:wrap;gap:11px}.radio{height:20px;width:20px;flex-basis:20px;border-color:#a7bac5}.option-pick{flex-basis:calc(100% - 34px)}.option-title{font-size:.9375rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.option-meta{font-size:.8125rem;line-height:1.5;color:#b5c5cd;white-space:normal}
.option-price{margin-left:31px;flex-basis:145px;height:40px;font-size:.8125rem;background:#08131d60;border-color:#c9e0f029;border-radius:10px;color:#b9cbd0}.option-price input{font-size:.9375rem;color:#f2f8ee}.option-price:focus-within{outline:2px solid var(--accent);outline-offset:2px}.option-foot{margin:10px 0 0 31px;align-items:center}.option-foot span{font-size:.75rem;color:#a1b6bf}.edit-button{font-size:.875rem;color:#d4f4ab;padding:8px 0;min-height:36px}
.add-option{font-size:.875rem;min-height:46px;border-color:#cde1ee40;border-radius:13px;margin-top:14px;background:#ffffff02;color:#d4eac3}.add-option:hover{background:#c6ee9c10;border-color:#c6ee9c65}
.hint{font-size:.75rem;color:#a3b6c1;line-height:1.65;margin-top:22px}.hint-icon{margin-top:3px;border-color:#91a9b5;color:#ccdde2}
.summary-head{flex-wrap:wrap}.live-indicator{font-size:.75rem;letter-spacing:.05em;color:#cbdfba}.live-indicator span{box-shadow:0 0 10px #c8ed7340;width:5px;height:5px}
.total-wrap{margin-top:22px;padding:24px 0;border-color:var(--line)}.total-label{font-size:.875rem;color:#c0d0d4}.total{font-size:clamp(38px,3.5vw,56px);color:#e0ffb8;font-variant-numeric:tabular-nums;margin:8px 0;line-height:1.15}.total-sub{font-size:.75rem;color:#b0c0c7;line-height:1.5}
.breakdown{border-color:var(--line);scrollbar-color:#748e9655 transparent;padding:17px 0;max-height:350px}.breakdown-row{grid-template-columns:86px minmax(0,1fr) auto;gap:8px;font-size:.8125rem;padding:9px 0;line-height:1.4}.breakdown-row .category{color:#adbfca}.breakdown-row .name{color:#e2eaee}.breakdown-row .money{font-variant-numeric:tabular-nums;color:#f2f7ed}
.checks-title{font-size:.9375rem}.check-overview{font-size:.875rem;border-radius:12px;padding:12px 14px}.check-group h3,.budget-notice h3{font-size:.875rem;color:#dde8ec}.check-group h3 span{color:#b5c5cb}.concern{border-radius:12px;padding:13px 14px;font-size:.8125rem;line-height:1.6}.concern strong{font-size:.875rem}.concern.blocker,.check-overview.has-blockers{background:#ad5b5424;border-color:#ee928a48;color:#ffdad5}.concern.verify,.concern.warn{background:#ac834a22;border-color:#eac1833d;color:#f5dfb5}.concern.advice,.concern.info,.check-overview.needs-review{background:#67acc41a;border-color:#9acde23b;color:#d0e8f2}.concern.budget,.concern.good,.check-overview.clear{background:#83b97818;border-color:#b5dfa13b;color:#d8eccd}.next-step{border-color:#ffffff1f;opacity:1}.budget-notice{border-color:var(--line)}.summary-note{font-size:.75rem;color:#a8bcc5;line-height:1.65}
footer{font-size:.75rem;letter-spacing:.05em;color:#a1b4c0;border-color:var(--line);padding:24px 0 32px}
dialog::backdrop{background:#060b17a1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.editor-pane,.catalog-pane{background:linear-gradient(145deg,#253b4df2,#192535f5)}.dialog-head h2{font-size:1.5rem}.close{height:40px;width:40px;border-radius:10px;color:#d0dce3}.close:hover{background:#ffffff0d}.dialog-intro,.catalog-intro{font-size:.875rem;line-height:1.6;color:#b7c9d3}.field label,.catalog-search-label{font-size:.875rem;color:#d0dce3}.field input,.field select,.catalog-search{font-size:1rem;background:#08132180;border-color:#bddeec35;border-radius:10px;padding:11px 12px;color:#f4f8fa}.catalog-search::placeholder{color:#a5b9c5}.field-divider{font-size:.75rem;color:#d1e9b9;border-color:var(--line)}.dialog-actions button{font-size:.875rem;padding:12px 15px;border-radius:10px}.cancel{color:#d4e0e9;border-color:#c9deed38;background:#ffffff05}.save{background:linear-gradient(135deg,#e0fcb9,#bde98d);border-color:#d1f1ab;color:#182619;box-shadow:0 5px 18px #bce89015}.save:hover{filter:brightness(1.06)}.delete{color:#ffb9b9}.catalog-count{font-size:.75rem;color:#d5edbc;border-color:var(--line)}.catalog-group{font-size:.75rem;background:#253745;color:#d9efbf}.catalog-pane .suggestion-row{border-bottom-color:var(--line)}.catalog-pane .suggestion-name{font-size:.875rem}.catalog-pane .suggestion-meta{font-size:.75rem;color:#b7c8d1}.suggestion-row button:hover,.suggestion-row button[aria-selected=true],.suggestion-row a:hover{background:#c7e1f213}.suggestion-row a{color:#d3f1b4}.catalog-foot,.source-note{font-size:.75rem;color:#b0c3ce;border-color:var(--line)}.catalog-empty{font-size:.875rem;color:#c1d0d8}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #d6fda8;outline-offset:4px}
@supports not (backdrop-filter:blur(1px)){.config-area,.summary{background:#1a2a3b}.editor-pane,.catalog-pane{background:#1e3041}}
@media(min-width:1700px){.option-pick{flex-basis:0}.option-price{margin-left:0}}
@media(max-width:1180px){.workbench{grid-template-columns:minmax(0,1fr) 340px;gap:18px}.builder-grid{grid-template-columns:1fr}.tabs{flex-direction:row;overflow-x:auto;scrollbar-width:thin}.tab{flex:0 0 auto;width:auto;min-height:44px;padding:10px 13px}.tab-current,.tab-number{display:none}.summary{position:sticky;order:initial}}
@media(max-width:900px){.workbench{grid-template-columns:1fr}.summary{position:static;order:initial}.intro{grid-template-columns:1fr;padding-top:28px}.intro>p{max-width:610px;margin:0 0 4px}.builder-grid{grid-template-columns:180px minmax(0,1fr)}.tabs{flex-direction:column;overflow:visible}.tab{width:100%;min-height:58px}.tab-current,.tab-number{display:block}.option-pick{flex-basis:0}.option-price{margin-left:0;flex-basis:124px}.intro h1{font-size:44px}}
@media(max-width:650px){.topbar{height:72px}.brand{font-size:.75rem}.private-pill{font-size:.75rem;padding:8px 10px;gap:6px}.intro h1{font-size:38px}.intro>p{font-size:1rem}.workbench{padding-top:18px;gap:18px}.config-area,.summary{padding:20px;border-radius:20px}.section-top{align-items:start;gap:12px}.section-top h2,.summary h2{font-size:1.5rem}.text-button{max-width:118px;font-size:.8125rem;line-height:1.4}.builder-grid{display:block;margin-top:20px}.tabs{flex-direction:row;overflow-x:auto;margin-bottom:20px;padding:5px;gap:4px}.tab{width:auto;min-height:44px;padding:10px 12px}.tab-current,.tab-number{display:none}.tab-title{font-size:.875rem}.option-pick{flex-basis:calc(100% - 34px)}.option-price{margin-left:31px;flex-basis:145px}.option{padding:15px}.option-title{font-size:.9375rem}.option-meta{font-size:.8125rem}.total{font-size:48px}.fields{grid-template-columns:1fr}.field.wide{grid-column:auto}.dialog-actions{gap:7px}.dialog-actions button{padding:11px 12px}.breakdown-row{grid-template-columns:80px minmax(0,1fr) auto;font-size:.8125rem}footer{flex-direction:column;gap:10px}}
@media(max-width:380px){.private-pill{font-size:.6875rem}.brand{letter-spacing:.06em;gap:7px}.config-area,.summary{padding:16px}.intro h1{font-size:34px}.summary-head{gap:8px}.total{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media(prefers-reduced-transparency:reduce){.config-area,.summary,.editor-pane,.catalog-pane{background:#1c2d3e;backdrop-filter:none;-webkit-backdrop-filter:none}}
.config-area,.summary{min-width:0}.section-top>div{min-width:0}.tabs{min-width:0;max-width:100%}

.empty-category{padding:28px 22px;border:1px dashed #ffffff25;border-radius:18px;color:#b5c5cf}.empty-category h4{margin:0 0 10px;color:#e9f1f4}.empty-category p,.empty-summary{line-height:1.6;color:#aebdc7}
