:root{--couple-green:#264d3c}
.hero h1{white-space:pre-line}
.trip-dashboard{max-width:1100px;margin:0 auto 36px;padding:0 24px}
.trip-intro{font-size:15px;line-height:1.8;color:#58665a}
.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.quick-facts div{padding:20px;border-radius:18px;background:#e5ece2}
.quick-facts b{display:block;font-size:24px;color:var(--couple-green)}
.quick-facts span{font-size:12px;color:#667260}
.app-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.app-toolbar button,.app-toolbar a,.couple-button{border:1px solid #ccd7c8;background:white;color:#264d3c;border-radius:999px;padding:11px 16px;font:inherit;font-size:13px;text-decoration:none;cursor:pointer}
.app-toolbar .primary,.couple-button.primary{background:#264d3c;color:white}
.app-message{font-size:13px;color:#51634d;line-height:1.7;min-height:1.5em}
.trip-detail{border-top:1px solid #d9dfd4;padding:17px 0}
.trip-detail>summary{font-weight:650;cursor:pointer;line-height:1.6}
.trip-detail p,.trip-detail li{font-size:14px;line-height:1.85}
.hotel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.hotel-card{padding:18px;background:white;border:1px solid #e0e6dc;border-radius:16px}
.hotel-card h3{font-size:16px;margin:8px 0}.hotel-card p{margin:5px 0}
.hotel-card small{color:#6b7866}
.hotel-card a{display:inline-block;margin-top:8px;color:#264d3c}
.couple-book{max-width:850px;margin:auto;padding:30px 22px 110px}
.couple-book h1{font-size:30px}
.couple-total{background:#264d3c;color:white;border-radius:24px;padding:25px}
.couple-total strong{font-size:36px;display:block;margin:10px 0}
.couple-total p{opacity:.8;font-size:13px;line-height:1.7}
.couple-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.couple-form label{font-size:13px;color:#506049}
.couple-form input,.couple-form select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #cdd6c8;border-radius:12px;background:white;color:#233421;font:inherit;box-sizing:border-box}
.couple-form .wide{grid-column:1/-1}
.expense-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #dfe4db}
.expense-row .expense-label{flex:1;min-width:0}.expense-row small{display:block;font-size:12px;color:#78816f;margin-top:5px}
.expense-row button{border:0;background:none;color:#8b4942;padding:10px;cursor:pointer}
.pending-costs{background:#f5eddb;border:1px solid #e4d3ad;border-radius:18px;padding:18px;margin:20px 0}.pending-costs h2,.couple-book h2{font-size:18px}.expense-row{flex-wrap:wrap}.expense-row .expense-label{min-width:140px}
.mini-nav{position:fixed;z-index:50;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:6px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(245,248,241,.97);border-top:1px solid #dce2d6;backdrop-filter:blur(14px)}
.mini-nav a{font-size:12px;min-width:46px;text-align:center;text-decoration:none;color:#264d3c;padding:8px;border-radius:12px}
.mini-nav a:hover{background:#e2eadb}
body{padding-bottom:90px}.schedule-text{line-height:1.8}.schedule-ticket small{line-height:1.7}
.backup-input{display:none}
@media(max-width:600px){.quick-facts{gap:7px}.quick-facts div{padding:14px 10px}.quick-facts b{font-size:21px}.trip-dashboard{padding:0 18px}.hotel-grid{grid-template-columns:1fr}.couple-form{gap:10px}.mini-nav{gap:0}.mini-nav a{padding:7px 5px}.hero h1{font-size:52px}.trip-detail li{margin-bottom:8px}}
@media print{.mini-nav,.topbar,.app-toolbar{display:none}.day-detail{display:block!important}.day-card{break-inside:avoid}body{padding:0}}
