.planner-workspace{min-height:calc(100vh - 72px);background:linear-gradient(180deg,#eef6f1 0,#f9fbfa 260px,#fff 100%);padding:42px 0 72px}.app-nav .compact{padding:10px 16px}.workspace-head{display:flex;align-items:end;justify-content:space-between;gap:32px}.workspace-head h1{font-size:clamp(2.25rem,5vw,4.5rem);margin:.35rem 0}.workspace-head p{margin:0;color:var(--muted)}.trip-picker{min-width:260px}.trip-picker label,.section-kicker{display:block;font-size:.76rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--green)}select,input,textarea{font:inherit;color:inherit}.trip-picker select,.field select{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);padding:12px}.workspace-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;margin-top:34px}.module-nav{display:flex;flex-direction:column;gap:8px;position:sticky;top:92px;align-self:start}.module-tab{display:flex;align-items:center;gap:12px;border:0;border-radius:12px;background:transparent;padding:13px 14px;text-align:left;font:inherit;font-weight:750;color:#456057;cursor:pointer}.module-tab span{font-size:.72rem;letter-spacing:.08em;color:#789087}.module-tab:hover,.module-tab.active{background:var(--green);color:#fff}.module-tab.active span{color:var(--gold)}.module-content{min-width:0}.planner-panel{display:none;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 18px 50px rgba(24,55,38,.09)}.planner-panel.active{display:block}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.panel-heading h2{font-size:clamp(1.65rem,3vw,2.35rem);margin:.25rem 0}.save-state{font-size:.82rem;color:var(--muted);white-space:nowrap;transition:color .2s}.save-state.flash{color:var(--green);font-weight:750}.sample-badge{margin-top:10px;background:var(--gold);color:#5c4a00;white-space:normal;text-align:left}.planner-form.flat{padding:0;border:0;box-shadow:none}.planner-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:750}.field input,.field textarea,.dialog-fields input,.dialog-fields select,.quick-add input{font:inherit;border:1px solid #cbd5d1;border-radius:10px;padding:12px;background:var(--white);color:var(--ink);width:100%}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.quick-add input:focus{outline:3px solid rgba(0,90,43,.16);border-color:var(--green)}.snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px}.snapshot-card,.summary-card{background:var(--mist);border-radius:14px;padding:16px}.snapshot-card span,.summary-card span{display:block;color:var(--muted);font-size:.82rem}.snapshot-card strong,.summary-card strong{display:block;color:var(--green);font-size:1.3rem;margin-top:5px}.budget-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.summary-card{padding:18px}.summary-card.highlight{background:var(--gold)}.summary-card strong{font-size:1.55rem}.summary-card strong.over{color:#9b1c1c}.inline-form{max-width:300px;margin-bottom:20px}.item-list,.check-list{display:grid;gap:10px}.list-empty{border:1px dashed #b9c9c2;border-radius:14px;padding:28px;text-align:center;color:var(--muted);background:#fbfdfc}.list-empty p{margin:.4rem 0 0}.list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:16px}.list-item h3{font-size:1rem;margin:0 0 4px}.list-item p{font-size:.9rem;color:var(--muted);margin:0}.list-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--mist);font-size:.76rem;font-weight:750;color:var(--green)}.item-actions{display:flex;align-items:center;gap:8px}.money-value{font-weight:850;color:var(--green);white-space:nowrap}.icon-button,.text-button{border:0;background:transparent;font:inherit;cursor:pointer}.icon-button{width:38px;height:38px;border-radius:10px;color:var(--muted)}.icon-button:hover{background:var(--mist);color:var(--green)}.danger{color:#9b1c1c}.panel-actions{display:flex;justify-content:flex-end;margin-top:26px}.privacy-callout{padding:14px 16px;border-radius:12px;background:#fff7d6;margin:-6px 0 20px}.resource-callout{padding:14px 16px;border-radius:12px;background:var(--mist);margin:0 0 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.resource-callout span{color:var(--ink)}.packing-progress{margin-bottom:18px}.progress-track{height:10px;border-radius:999px;background:#dfe9e4;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--green);transition:width .2s}.progress-copy{display:flex;justify-content:space-between;font-size:.88rem;color:var(--muted);margin-bottom:7px}.quick-add{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:18px}.check-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 4px}.check-item input{width:20px;height:20px;accent-color:var(--green);transition:transform .15s ease}.check-item input:checked{transform:scale(1.15)}.check-item.done{animation:packDone .3s ease}.check-item.done .check-label{text-decoration:line-through;color:var(--muted)}@keyframes packDone{0%{background:rgba(0,90,43,.16)}100%{background:transparent}}@media(prefers-reduced-motion:reduce){.check-item input,.check-item.done{animation:none;transition:none}}dialog{border:0;padding:0;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.26);width:min(92vw,560px);background:var(--white);color:var(--ink)}dialog::backdrop{background:rgba(7,45,34,.55);backdrop-filter:blur(3px)}.dialog-card{padding:26px}.dialog-head{display:flex;justify-content:space-between;gap:16px}.dialog-head h2{margin:.3rem 0 1rem}.dialog-fields{display:grid;gap:14px}.dialog-fields label{display:grid;gap:6px;font-weight:750}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.workspace-head{align-items:stretch;flex-direction:column}.trip-picker{min-width:0}.workspace-grid{grid-template-columns:1fr}.module-nav{position:static;display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));overflow-x:auto;padding-bottom:4px}.module-tab{justify-content:center}.module-tab span{display:none}.snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.planner-workspace{padding-top:26px}.workspace-head h1{font-size:2.45rem}.planner-panel{padding:21px;border-radius:16px}.planner-form .form-grid,.budget-summary{grid-template-columns:1fr}.field.full{grid-column:auto}.panel-heading{align-items:stretch;flex-direction:column}.panel-heading .button{align-self:flex-start}.save-state{white-space:normal}.list-item{grid-template-columns:1fr}.item-actions{justify-content:space-between}.snapshot-grid{grid-template-columns:1fr 1fr}.links a:not(.button){display:none}}
[data-theme="dark"] .planner-workspace{background:linear-gradient(180deg,#151f19 0,#121814 260px,var(--white) 100%)}[data-theme="dark"] .module-tab{color:#a9c2b3}[data-theme="dark"] .module-tab span{color:#7f9c8b}[data-theme="dark"] .module-tab:hover{background:var(--mist)}[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .dialog-fields input,[data-theme="dark"] .dialog-fields select,[data-theme="dark"] .quick-add input,[data-theme="dark"] .trip-picker select{border-color:#37453c}[data-theme="dark"] .list-empty{background:#182019;border-color:#3a493f}[data-theme="dark"] .progress-track{background:#28352d}[data-theme="dark"] .summary-card.highlight span,[data-theme="dark"] .summary-card.highlight strong{color:#3a2f0c}[data-theme="dark"] .privacy-callout{color:#4a3d10}[data-theme="dark"] .danger{color:#ff8080}[data-theme="dark"] .icon-button:hover{background:var(--mist)}

