@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..600;1,9..144,400..600&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--ink:#1f2a24;--ink-soft:#4b5a50;--paper:#eef1ec;--paper-raised:#f8faf7;--teal:#2c6e63;--teal-deep:#1d4b43;--marigold:#e8a33d;--marigold-soft:#fbebd2;--clay:#8b5e3c;--line:#1f2a221f;--line-strong:#1f2a2238;--font-display:"Fraunces", serif;--font-body:"Inter", sans-serif;--font-mono:"IBM Plex Mono", monospace;--shadow-sm:0 1px 2px #1f2a220f, 0 1px 1px #1f2a220a;--shadow-md:0 4px 12px #1f2a2212, 0 1px 3px #1f2a220d;--shadow-lift:0 10px 28px #1f2a221f, 0 2px 6px #1f2a220f}*{box-sizing:border-box}body{background:radial-gradient(ellipse 900px 500px at 50% -10%, var(--paper-raised) 0%, transparent 60%), var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}button{font-family:var(--font-body)}a{color:inherit}::selection{background:var(--marigold-soft)}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{max-width:720px;margin:0 auto;padding:0 20px 64px}.header{justify-content:space-between;align-items:baseline;padding:28px 0 8px;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:500}.logo-accent{color:var(--marigold);font-style:italic}.header-dest{font-family:var(--font-mono);color:var(--ink-soft);font-size:13px}.hero{padding:40px 0 24px}.hero-eyebrow{font-family:var(--font-mono);color:var(--teal);text-transform:lowercase;margin:0 0 8px;font-size:13px}.hero-title{font-family:var(--font-display);margin:0 0 16px;font-size:clamp(32px,7vw,44px);font-weight:500;line-height:1.1}.hero-title em{color:var(--teal-deep);font-style:italic}.create-form{flex-direction:column;gap:18px;max-width:420px;margin-top:28px;display:flex}.field{flex-direction:column;flex:1;gap:6px;display:flex}.field span{color:var(--ink-soft);font-size:13px}.field-row{gap:12px;display:flex}input,select{font-family:var(--font-body);border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:15px}input:focus,select:focus{border-color:var(--teal)}.btn-primary{background:linear-gradient(180deg, #24594f, var(--teal-deep));color:var(--paper-raised);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:8px;margin-top:8px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s,opacity .15s,box-shadow .15s}.btn-primary:hover{opacity:.94;box-shadow:var(--shadow-md)}.btn-primary:active{box-shadow:var(--shadow-sm);transform:scale(.98)}.btn-primary:disabled{background:var(--line-strong);color:var(--ink-soft);cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--paper-raised);border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;padding:9px 16px;font-size:14px;transition:border-color .15s,color .15s,box-shadow .15s,transform .1s}.btn-secondary:hover{border-color:var(--teal);color:var(--teal-deep);box-shadow:var(--shadow-sm)}.btn-secondary:active{transform:scale(.98)}.trip-summary{flex-wrap:wrap;align-items:center;gap:28px;padding:12px 0 4px;display:flex}.trip-summary-label{color:var(--ink-soft);margin:0 0 2px;font-size:12px}.trip-summary-value{font-family:var(--font-display);margin:0;font-size:18px}.mono{font-family:var(--font-mono);font-size:14px}.trip-status-control{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.avatars{margin-left:auto;display:flex}.avatar{background:linear-gradient(160deg, var(--marigold-soft), #f3d9a8);width:32px;height:32px;color:var(--clay);font-family:var(--font-mono);border:2px solid var(--paper);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;font-size:12px;font-weight:500;display:flex}.avatar:first-child{margin-left:0}.avatar-sm{width:26px;height:26px;margin-left:0;font-size:11px}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:24px;display:flex;overflow-x:auto}.tab{color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:10px 14px;font-size:14px;transition:color .15s,border-color .15s,background .15s}.tab:hover{color:var(--ink);background:var(--paper-raised)}.tab-active{color:var(--teal-deep);border-bottom-color:var(--teal-deep);font-weight:500}.tab-active:hover{color:var(--teal-deep);background:0 0}.panel-head{margin-bottom:20px}.panel-head h2{font-family:var(--font-display);margin:0 0 4px;font-size:22px}.panel-sub{color:var(--ink-soft);margin:0;font-size:14px}.panel{animation:.25s panel-fade-in}@keyframes panel-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.days{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.day-card{background:var(--paper-raised);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;padding:16px;transition:box-shadow .2s}.day-card:hover{box-shadow:var(--shadow-md)}.day-head{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.day-index{color:var(--marigold);font-weight:500}.day-label{font-weight:500}.stop-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.stop{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;display:flex}.stop-empty{color:var(--ink-soft);font-size:13px;font-style:italic;list-style:none}.icon-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1}.icon-btn:hover{color:var(--clay)}.stop-add,.add-day,.expense-form{gap:8px;display:flex}.stop-add input,.add-day input{flex:1}.add-day{margin-top:4px}.member-list{flex-direction:column;gap:10px;margin:0 0 16px;padding:0;list-style:none;display:flex}.member-row{align-items:center;gap:10px;font-size:15px;display:flex}.docs-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.doc-card{background:var(--paper-raised);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;padding:16px;transition:box-shadow .2s}.doc-card:hover{box-shadow:var(--shadow-md)}.doc-head{align-items:center;gap:10px;margin-bottom:12px;font-weight:500;display:flex}.checklist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.checklist-item{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.checklist-item input{width:auto}.done{color:var(--ink-soft);text-decoration:line-through}.expense-form{flex-wrap:wrap;margin-bottom:12px}.expense-form select{flex:0 0 120px}.expense-form input[type=number]{flex:0 0 100px}.expense-form input[type=text],.expense-form input:not([type]){flex:1}.split-toggle{gap:8px;margin-bottom:12px;display:flex}.split-toggle button{flex:1}.split-toggle-active{border-color:var(--teal);color:var(--teal-deep);background:var(--marigold-soft)}.custom-split{background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:12px 16px}.custom-split-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.custom-split-row:not(:last-child){border-bottom:1px dashed var(--line)}.custom-split-row input{text-align:right;flex:none;width:90px}.custom-split-remaining{font-size:13px;font-family:var(--font-mono);margin:10px 0 0}.expense-list{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.expense-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.expense-note{color:var(--ink-soft);flex:1}.balances{background:var(--paper-raised);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;padding:14px 16px}.balance-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:14px;display:flex}.balance-row:not(:last-child){border-bottom:1px dashed var(--line)}.balance-owed{color:var(--teal-deep)}.balance-owes{color:var(--clay)}.loading{color:var(--ink-soft);flex-direction:column;align-items:center;gap:12px;padding:100px 0;display:flex}.loading-dots{gap:6px;display:flex}.loading-dot{background:var(--teal);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite loading-bounce}.loading-dot:nth-child(2){background:var(--marigold);animation-delay:.15s}.loading-dot:nth-child(3){background:var(--clay);animation-delay:.3s}@keyframes loading-bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.loading-label{font-family:var(--font-mono);margin:0;font-size:12px}.chat-window{background:var(--paper-raised);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;height:420px;display:flex}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-msg{align-items:flex-end;gap:8px;max-width:75%;display:flex}.chat-msg-mine{flex-direction:row-reverse;align-self:flex-end}.chat-bubble{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:8px 12px}.chat-msg-mine .chat-bubble{background:var(--teal-deep);color:var(--paper-raised);border-color:var(--teal-deep)}.chat-sender{color:var(--ink-soft);align-items:center;gap:6px;margin:0 0 2px;font-size:11px;font-weight:500;display:flex}.chat-support-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--teal-deep);background:var(--marigold-soft);border-radius:999px;padding:1px 6px;font-size:9px}.chat-msg-support .avatar{color:var(--teal-deep);background:linear-gradient(160deg,#cfe6e0,#a8cec4)}.chat-body{white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:14px;line-height:1.4}.chat-compose{border-top:1px solid var(--line);gap:8px;padding:12px 16px;display:flex}.chat-compose input{flex:1}@media (width<=480px){.chat-window{height:360px}.chat-msg{max-width:88%}}.coming-soon-body{color:var(--ink-soft);max-width:460px;font-size:14px;line-height:1.6}@media (width<=480px){.field-row,.expense-form{flex-direction:column}.expense-form select,.expense-form input{flex:1;width:100%}}.link-btn{color:var(--ink-soft);cursor:pointer;font-size:13px;font-family:var(--font-body);background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{color:var(--teal-deep)}.header-right{align-items:baseline;gap:14px;display:flex}.form-error{color:var(--clay);margin:-6px 0 0;font-size:13px}.form-info{color:var(--teal-deep);margin:-6px 0 0;font-size:13px}.trip-list{flex-direction:column;gap:12px;margin:0 0 40px;padding:0;list-style:none;display:flex}.trip-list-item{background:var(--paper-raised);border:1px solid var(--line);color:inherit;box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:box-shadow .2s,transform .15s,border-color .2s;display:flex}.trip-list-item:hover{border-color:var(--teal);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.trip-list-dest{font-family:var(--font-display);flex:1;font-size:16px}.trip-list-dates{color:var(--ink-soft)}.trip-status{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-family:var(--font-mono);border-radius:999px;padding:3px 8px}.trip-status-planning{background:var(--marigold-soft);color:var(--clay)}.trip-status-locked{background:var(--teal);color:var(--paper-raised)}.member-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px}@media (width<=480px){.trip-list-item{flex-wrap:wrap}}.open-trips{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.open-trip-card{background:var(--paper-raised);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;transition:box-shadow .2s,transform .15s;overflow:hidden}.open-trip-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.trip-thumb{align-items:flex-end;height:108px;display:flex;position:relative;overflow:hidden}.thumb-teal{background:linear-gradient(135deg,#1d4b43,#2c6e63)}.thumb-clay{background:linear-gradient(135deg,#5e3b22,#8b5e3c)}.thumb-marigold{background:linear-gradient(135deg,#8b5e3c,#e8a33d)}.trip-thumb-peaks{width:100%;height:100%;fill:var(--paper-raised);position:absolute;inset:0}.trip-thumb-label{font-family:var(--font-display);color:var(--paper-raised);text-shadow:0 1px 4px #00000059;padding:10px 14px;font-size:16px;position:relative}.open-trip-body{padding:12px 16px 16px}.open-trip-dates{color:var(--ink-soft);margin:0 0 10px;font-size:13px}.open-trip-join{width:100%}@media (width<=720px){.open-trips{grid-template-columns:1fr}}.group-add-section{margin-top:18px}.group-add-label{color:var(--ink-soft);margin:0 0 6px;font-size:13px}.admin-stats{flex-wrap:wrap;gap:16px;margin-bottom:32px;display:flex}.admin-stat{background:var(--paper-raised);border:1px solid var(--line);border-top:2px solid var(--teal);min-width:120px;box-shadow:var(--shadow-sm);border-radius:12px;padding:16px 20px}.admin-stat:nth-child(2){border-top-color:var(--marigold)}.admin-stat:nth-child(3){border-top-color:var(--clay)}.admin-stat-value{font-family:var(--font-display);font-size:28px;display:block}.admin-stat-label{color:var(--ink-soft);margin-top:2px;font-size:12px;display:block}.admin-section{margin-bottom:32px}.admin-section h3{font-family:var(--font-display);margin:0 0 12px;font-size:17px}.admin-table-wrap{border:1px solid var(--line);background:var(--paper-raised);box-shadow:var(--shadow-sm);border-radius:12px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;white-space:nowrap;padding:11px 14px}.admin-table th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);font-size:11px;font-weight:500}.admin-table tbody tr:not(:last-child) td{border-bottom:1px solid var(--line)}.admin-table tbody tr:nth-child(2n){background:#1f2a2205}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover{background:var(--marigold-soft)}.admin-table-actions{gap:12px;display:flex}.admin-table-link{color:var(--teal-deep);font-weight:500;text-decoration:none}.admin-table-link:hover{text-decoration:underline}.admin-empty{color:var(--ink-soft);white-space:normal;font-style:italic}@media (width<=480px){.admin-stats{gap:10px}.admin-stat{min-width:100px;padding:12px 16px}}.activity-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.activity-head h3{margin:0}.live-dot{background:var(--line-strong);border-radius:50%;width:8px;height:8px}.live-dot-on{background:var(--teal);animation:1.6s ease-in-out infinite live-pulse}@keyframes live-pulse{0%{box-shadow:0 0 #2c6e6366}70%{box-shadow:0 0 0 6px #2c6e6300}to{box-shadow:0 0 #2c6e6300}}.live-label{font-family:var(--font-mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.activity-list{background:var(--paper-raised);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.activity-row{align-items:flex-start;gap:12px;padding:12px 16px;animation:.4s activity-enter;display:flex}.activity-row:not(:last-child){border-bottom:1px solid var(--line)}@keyframes activity-enter{0%{opacity:0;background:var(--marigold-soft)}to{opacity:1;background:0 0}}.activity-marker{background:var(--teal);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.activity-user .activity-marker{background:var(--marigold)}.activity-expense .activity-marker{background:var(--clay)}.activity-body{flex:1;min-width:0}.activity-title{margin:0;font-size:14px;font-weight:500}.activity-sub{color:var(--ink-soft);margin:2px 0 0;font-size:12px}.activity-time{color:var(--ink-soft);white-space:nowrap;flex-shrink:0;font-size:11px}@media (width<=480px){.activity-row{flex-wrap:wrap}.activity-time{margin-left:20px}}
