.workspace-nav{display:flex;gap:8px;margin:30px 0 22px;padding:7px;border:1px solid var(--line);border-radius:13px;background:#eeefe7;width:max-content}.workspace-nav button{min-width:108px;border:0;background:transparent}.workspace-nav .active{background:var(--ink);color:white}.budget-top,.ledger-top,.budget-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.budget-top h2{font-size:36px;letter-spacing:-1px}.budget-top p{margin:0;font-size:13px}.budget-kicker{color:#92624a;font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:700}.budget-overview{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin:23px 0}.budget-focus{background:#233e36;color:#fcf9e9;padding:26px;border-radius:17px}.budget-focus p{color:#d5dfd2;margin:7px 0 0;font-size:13px}.budget-focus strong{font:clamp(30px,4vw,48px) Georgia,serif;display:block;margin:10px 0;overflow-wrap:anywhere}.budget-focus strong.over-budget{color:#ffd1b8}.budget-focus .budget-kicker{color:#cbdac8}.budget-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.budget-metric,.budget-box,.expense-row{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px}.budget-metric span{font-size:11px;color:#687467}.budget-metric strong{display:block;margin-top:7px;font-size:17px;overflow-wrap:anywhere}.budget-forecast{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;margin-bottom:24px}.budget-forecast span{color:#637063}.budget-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,.45fr);gap:24px}.ledger-top{margin-bottom:13px}.ledger-top h3,.budget-box h3{font:22px Georgia,serif;margin:0}.ledger-top select{width:auto;margin:0;font-size:12px;padding:9px}.expense-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:10px}.expense-row h3{font-size:15px;margin:8px 0 4px;overflow-wrap:anywhere}.expense-row p,.budget-box p{font-size:12px;margin:4px 0;line-height:1.55;overflow-wrap:anywhere}.expense-status{font-size:10px;font-weight:700;padding:4px 8px;border-radius:5px;background:#eeefe7}.expense-status.booked{background:#f7e8da;color:#744832}.expense-status.paid{background:#e4efdf;color:#315b41}.expense-actions{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.expense-actions button{min-height:36px;font-size:11px;padding:6px 10px}.expense-notes{white-space:pre-wrap}.budget-empty{background:#eff1e9;border:1px dashed #cdd6c9;border-radius:13px;padding:26px;color:#61705e;font-size:13px}.budget-box{margin-bottom:12px}.budget-box h3{margin-bottom:12px}.category{margin:12px 0}.category>div,.balance{display:flex;justify-content:space-between;gap:10px;font-size:12px}.category progress{width:100%;height:7px;accent-color:#54725e}.balance{border-top:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}.budget-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.budget-form-row label{margin:7px 0}.budget-checks{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:12px 0;font-size:12px}.budget-checks legend{font-weight:700}.check{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:12px}.check input{width:16px;height:16px;margin:0;accent-color:var(--ink)}.form-error{color:#943e2c;margin:0;font-size:12px}.budget-dialog .buttons{position:static}.budget-dialog h2{margin-bottom:8px}.day-picker #tabs{flex-wrap:nowrap;overflow:auto;scrollbar-width:thin}.day-picker #tabs button{flex:0 0 auto;white-space:nowrap}@media(max-width:720px){.workspace-nav{width:100%;margin-top:22px}.workspace-nav button{flex:1}.budget-overview,.budget-body{grid-template-columns:1fr}.budget-top h2{font-size:29px}.budget-focus{padding:20px}.budget-controls button{flex:1}.budget-controls{width:100%}.day-picker #tabs{display:flex}.budget-metric{padding:12px}}
.home-logo{border:0;background:none;padding:0;color:var(--ink);min-width:44px;text-align:left}.home-logo:hover{background:none}.saved-trips{margin:10px 0 28px}.saved-trips h2{margin-bottom:12px}.saved-trip{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;text-align:left;padding:16px 19px;margin-bottom:8px}.saved-trip strong,.saved-trip small{display:block}.saved-trip strong{font-size:15px}.saved-trip small{margin-top:6px;letter-spacing:.3px;text-transform:none;font-size:12px}.saved-trip span{min-width:0;overflow-wrap:anywhere}

.trip-tool{margin:1rem 0 2rem;background:#fff;border:1px solid #ddd9ce;border-radius:20px;padding:clamp(1rem,4vw,2rem)}
.trip-tool h2{margin-top:0}
.tool-controls{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin:1rem 0}
.tool-controls label{display:grid;gap:.35rem;min-width:0}
.tool-controls select,.tool-controls input{max-width:100%;padding:.65rem;border:1px solid #aaa;border-radius:8px;background:white;color:#233c32}
.trip-tool a{color:#245846;text-decoration:underline;text-underline-offset:.15em}
#trip-map{height:clamp(260px,52vh,540px);border-radius:12px;background:#eeeee7;isolation:isolate}
#route-links{display:grid;gap:.5rem}
.pack-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #ddd9ce;padding:.65rem 0}
.pack-row label{display:flex;align-items:center;gap:.6rem;overflow-wrap:anywhere}
.pack-row input{width:1.2rem;height:1.2rem;flex:none;accent-color:#245846}
#pack-essentials{margin-top:1rem}

#shared-status:empty{display:none}
#shared-status{padding:.75rem 1rem;border-radius:8px;background:#eef3ed}
#shared-trip-list{display:grid;gap:.6rem}
#shared-invite-url{margin-top:1rem}
#shared-access .pack-row{flex-wrap:wrap;overflow-wrap:anywhere}

.personal-budget { margin: 1rem 0; }
.personal-budget .budget-controls { margin-block: .75rem; }
.personal-budget #personal-traveler-label { margin-block-end: .75rem; }
.personal-budget #personal-expenses .balance { gap: .75rem; }

#budget-outlook.budget-projection-warning { font-weight: 750; }
