:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f3ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f7f3ea;min-height:100%}body{background:radial-gradient(circle at 0 0,#f3c89257,#0000 32rem),linear-gradient(#f7f3ea 0%,#efe7d8 100%);min-width:320px;min-height:100vh;margin:0}button{cursor:pointer}::selection{color:#17483c;background:#f3c892}.app{width:min(1120px,100% - 32px);margin:0 auto;padding:40px 0 56px}.page{flex-direction:column;gap:20px;display:flex}.auth-layout{grid-template-columns:minmax(0,.95fr) minmax(320px,420px);align-items:center;gap:56px;min-height:calc(100vh - 96px);display:grid}.brand-panel{max-width:500px}.brand-panel h1,.page-header h1{color:#17483c;margin:0;font-size:clamp(2.1rem,5vw,4.15rem);line-height:1}.brand-panel p:last-child,.page-subtitle{color:#6b7280;margin:16px 0 0;font-size:1.05rem;line-height:1.7}.eyebrow{color:#d98c45;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}.auth-card,.panel,.trip-card{background:#fff;border:1px solid #ded6c8;border-radius:8px;box-shadow:0 16px 42px #1f293312}.auth-card{padding:32px}.auth-column{flex-direction:column;gap:14px;display:flex}.auth-card h2,.panel h2,.section-heading h2{color:#1f2933;margin:0;font-size:1.45rem}.auth-switch{justify-self:stretch}.form-stack{flex-direction:column;gap:16px;display:flex}label{color:#1f2933;flex-direction:column;gap:8px;font-size:.92rem;font-weight:700;display:flex}input,textarea{color:#1f2933;width:100%;font:inherit;background:#fff;border:1px solid #ded6c8;border-radius:8px;outline:none;padding:11px 12px;font-weight:500;transition:border-color .14s,box-shadow .14s,background-color .14s}textarea{resize:vertical;min-height:104px}select{color:#1f2933;width:100%;font:inherit;background:#fff;border:1px solid #ded6c8;border-radius:8px;outline:none;padding:11px 12px;font-weight:500}input:focus,textarea:focus,select:focus{border-color:#256d5a;box-shadow:0 0 0 3px #256d5a21}button{font:inherit;border:1px solid #0000;border-radius:8px;padding:11px 16px;font-weight:800;transition:background-color .14s,border-color .14s,color .14s,opacity .14s}button:disabled{cursor:not-allowed;opacity:.62}.primary-button{color:#fff;background:#256d5a}.primary-button:hover:not(:disabled){background:#17483c}.secondary-button,.link-button{color:#17483c;background:#fff;border-color:#ded6c8}.secondary-button:hover,.link-button:hover{background:#efe7d8}.link-button{width:100%}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.trips-page{gap:28px}.trips-layout{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start;gap:24px;display:grid}.panel{padding:24px}.create-trip-card{position:sticky;top:24px}.date-inputs{grid-template-columns:1fr 1fr;gap:14px;display:grid}.trip-list-section{flex-direction:column;gap:14px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading span{color:#6b7280;font-size:.9rem;font-weight:700}.trip-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.trip-card{border-color:#ded6c8f2;flex-direction:column;gap:20px;padding:22px;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex;box-shadow:0 14px 34px #1f293311}.clickable-trip-card{cursor:pointer}.trip-card:hover,.trip-card:focus-visible{border-color:#256d5a3d;transform:translateY(-2px);box-shadow:0 18px 44px #1f29331a}.trip-card:focus-visible{outline-offset:3px;outline:3px solid #256d5a2e}.trip-card strong{color:#17483c;font-size:1.18rem;line-height:1.3;display:block}.trip-card p{color:#6b7280;margin:10px 0 0;line-height:1.6}.trip-dates{flex-wrap:wrap;gap:10px;padding-top:2px;display:flex}.trip-dates span{color:#17483c;background:#f3c89238;border:1px solid #d98c4547;border-radius:999px;padding:9px 11px;font-size:.84rem;font-weight:800;line-height:1}.trip-card-participants{border-top:1px solid #ded6c8bf;gap:9px;padding-top:2px;display:grid}.trip-card-participants p{color:#6b7280;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:900}.trip-card-participants div{flex-wrap:wrap;gap:8px;display:flex}.trip-card-participants span{color:#17483c;background:#256d5a14;border:1px solid #256d5a2e;border-radius:999px;padding:8px 10px;font-size:.82rem;font-weight:800;line-height:1}.empty-state,.loading-state{color:#6b7280;text-align:center;background:#efe7d8c2;border:1px dashed #d98c455c;border-radius:8px;margin:0;padding:28px;line-height:1.6}.loading-state{color:#17483c;background:#fff;border-style:solid;font-weight:800}.loading-state:before{content:"";vertical-align:1px;background:#d98c45;border-radius:999px;width:8px;height:8px;margin-right:10px;display:inline-block}.trip-details-page{gap:24px}.details-hero{background:linear-gradient(135deg,#ffffffeb,#efe7d8c7),#fff;border:1px solid #ded6c8e6;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:24px;padding:30px;display:flex;box-shadow:0 18px 48px #1f293314}.details-hero h1{color:#17483c;margin:0;font-size:clamp(2rem,5vw,3.8rem);line-height:1}.details-hero p:last-child,.trip-info-card p{color:#6b7280;max-width:680px;margin:14px 0 0;line-height:1.7}.details-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start;gap:24px;display:grid}.summary-section{flex-direction:column;gap:14px;display:flex}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.summary-card{background:#fff;border:1px solid #ded6c8f2;border-radius:8px;padding:20px;box-shadow:0 14px 34px #1f293311}.summary-card p{color:#6b7280;margin:0;font-size:.86rem;font-weight:800}.summary-card strong{color:#17483c;margin-top:10px;font-size:clamp(1.45rem,3vw,2.15rem);line-height:1;display:block}.itinerary-layout,.participants-layout,.invites-layout,.expenses-layout{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start;gap:24px;display:grid}.trip-info-card{min-height:220px}.trip-info-card h2,.metadata-card h2,.participant-form-card h2,.invite-form-card h2,.itinerary-form-card h2,.expense-form-card h2{color:#1f2933;margin:0;font-size:1.45rem}.metadata-list{gap:12px;margin:18px 0 0;display:grid}.metadata-list div{background:#f7f3ea;border:1px solid #ded6c8cc;border-radius:8px;justify-content:space-between;gap:16px;padding:13px 14px;display:flex}.metadata-list dt{color:#6b7280;font-size:.88rem;font-weight:800}.metadata-list dd{color:#17483c;text-align:right;margin:0;font-weight:900}.itinerary-form-card,.participant-form-card,.invite-form-card,.expense-form-card{position:sticky;top:24px}.expense-inputs{grid-template-columns:1fr .65fr;gap:14px;display:grid}.itinerary-section,.participants-section,.invites-section,.expenses-section{flex-direction:column;gap:14px;display:flex}.expense-total-card{background:linear-gradient(135deg,#fffffff5,#efe7d8db),#fff;border:1px solid #256d5a2e;border-radius:8px;padding:24px;box-shadow:0 16px 42px #1f293312}.expense-total-card strong{color:#17483c;font-size:clamp(2rem,5vw,3.25rem);line-height:1;display:block}.itinerary-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.expense-list,.participant-list,.invite-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.itinerary-item{grid-template-columns:132px minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.itinerary-date{color:#17483c;text-align:center;background:#f3c89238;border:1px solid #d98c454d;border-radius:8px;justify-content:center;align-items:center;min-height:92px;padding:14px;font-size:.88rem;font-weight:900;line-height:1.35;display:flex}.itinerary-card{background:#fff;border:1px solid #ded6c8f2;border-radius:8px;padding:20px;box-shadow:0 14px 34px #1f293311}.itinerary-card strong{color:#17483c;font-size:1.12rem;line-height:1.35;display:block}.itinerary-card p{color:#6b7280;margin:10px 0 0;line-height:1.6}.expense-card,.participant-card{background:#fff;border:1px solid #ded6c8f2;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex;box-shadow:0 14px 34px #1f293311}.invite-card{background:#fff;border:1px solid #ded6c8f2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;display:grid;box-shadow:0 14px 34px #1f293311}.expense-card strong,.participant-card strong,.invite-card strong{color:#17483c;font-size:1.08rem;line-height:1.35;display:block}.expense-card p,.participant-card p{color:#6b7280;margin:6px 0 0;line-height:1.5}.invite-card p{color:#6b7280;overflow-wrap:anywhere;margin:6px 0 0;font-size:.88rem;line-height:1.5}.invite-card-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.expense-card span{color:#17483c;white-space:nowrap;background:#f3c89238;border:1px solid #d98c4547;border-radius:999px;padding:9px 12px;font-weight:900}.participant-card span,.invite-card-meta span{color:#17483c;white-space:nowrap;background:#256d5a14;border:1px solid #256d5a33;border-radius:999px;padding:9px 12px;font-weight:900}.invite-accept-card{flex-direction:column;gap:16px;display:flex}.error,.success{border-radius:8px;margin:0;padding:12px 14px;font-weight:700}.error{color:#b42318;background:#b4231814}.success{color:#16784c;background:#16784c1a}@media (width<=820px){.app{width:min(100% - 24px,680px);padding:24px 0 40px}.auth-layout,.trips-layout,.participants-layout,.invites-layout,.itinerary-layout,.expenses-layout{grid-template-columns:1fr}.auth-layout{gap:24px;min-height:auto}.auth-switch{justify-self:stretch}.page-header{flex-direction:column;align-items:stretch}.details-hero,.details-layout{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.details-hero{flex-direction:column}.create-trip-card,.itinerary-form-card,.participant-form-card,.invite-form-card,.expense-form-card{position:static}}@media (width<=520px){.auth-card,.panel,.trip-card{padding:20px}.date-inputs,.expense-inputs{grid-template-columns:1fr}.brand-panel h1,.page-header h1,.details-hero h1{font-size:2.35rem}.metadata-list div{flex-direction:column;align-items:flex-start}.metadata-list dd{text-align:left}.itinerary-item{grid-template-columns:1fr}.itinerary-date{text-align:left;justify-content:flex-start;min-height:auto}.expense-card,.participant-card{flex-direction:column;align-items:flex-start}.invite-card{grid-template-columns:1fr}.invite-card-meta{justify-content:flex-start}.summary-grid{grid-template-columns:1fr}}
