.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#e0f2fe,#f0f9ff,#fef3c7)}.auth-card{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:32px 28px;width:100%;max-width:400px}.auth-logo{text-align:center;margin-bottom:28px}.auth-logo-icon{font-size:2.5rem;display:block;margin-bottom:8px}.auth-logo-text{font-size:1.8rem;font-weight:700;color:var(--text-dark)}.auth-tagline{font-size:.9rem;color:var(--text-gray);margin-top:4px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field label{display:block;font-size:.82rem;font-weight:600;color:var(--text-gray);margin-bottom:4px}.auth-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:border-color .15s}.auth-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.auth-error{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:var(--radius-sm);font-size:.85rem}.auth-submit{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;transition:background .15s}.auth-submit:hover:not(:disabled){background:var(--primary-dark)}.auth-submit:disabled{opacity:.6}.auth-switch{text-align:center;margin-top:20px;font-size:.85rem;color:var(--text-gray)}.auth-switch button{background:none;border:none;color:var(--primary);font-weight:600;font-size:.85rem}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:var(--radius-full);font-size:.88rem;font-weight:500;color:#fff;z-index:1000;animation:toastIn .3s ease;box-shadow:var(--shadow-lg);max-width:90%;text-align:center}.toast-success{background:var(--accent-green)}.toast-error{background:var(--accent-rose)}.toast-info{background:var(--primary)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.my-trips{max-width:600px;margin:0 auto;padding:16px}.trips-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.trips-header h1{font-size:1.5rem}.greeting{font-size:.88rem;color:var(--text-gray);margin-top:2px}.logout-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 14px;font-size:.82rem;color:var(--text-gray)}.trips-actions{margin-bottom:16px}.create-trip-btn{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600}.create-trip-form{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.create-trip-form input[type=text],.create-trip-form input[type=date]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.date-row{display:flex;gap:12px}.date-field{flex:1}.date-field label{display:block;font-size:.78rem;font-weight:600;color:var(--text-gray);margin-bottom:4px}.submit-btn{padding:10px;background:var(--accent-green);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600}.trips-loading,.trips-empty{text-align:center;padding:60px 20px;color:var(--text-gray)}.empty-icon{font-size:3rem;display:block;margin-bottom:12px}.trips-empty h2{margin-bottom:4px;color:var(--text-dark)}.trips-list{display:flex;flex-direction:column;gap:12px}.trip-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}.trip-card-cover{width:100%;height:120px;background-size:cover;background-position:center}.trip-card-body{padding:16px}.trip-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.trip-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.trip-card-header h3{font-size:1.1rem;font-weight:600}.trip-countdown{font-size:.78rem;font-weight:600;color:var(--primary);background:var(--bg-subtle);padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap}.trip-destination{font-size:.88rem;color:var(--text-gray);margin-bottom:4px}.trip-dates{font-size:.82rem;color:var(--text-light)}.trip-role{display:inline-block;margin-top:8px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-purple);background:#f3f0ff;padding:2px 8px;border-radius:var(--radius-full)}.itinerary{display:flex;flex-direction:column;gap:16px}.itin-loading,.itin-empty{text-align:center;color:var(--text-gray);padding:40px 0}.itin-day{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.itin-day-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.day-number{font-weight:700;font-size:.9rem;color:var(--primary)}.day-date{font-size:.82rem;color:var(--text-gray)}.itin-activities{padding:8px 16px}.itin-activity{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.itin-activity:last-child{border-bottom:none}.act-icon{font-size:1.2rem;margin-top:2px;flex-shrink:0}.act-details{flex:1;min-width:0}.act-title{font-weight:600;font-size:.92rem}.act-meta{font-size:.78rem;color:var(--text-gray);margin-top:2px}.act-location{color:var(--text-light)}.act-cost{color:var(--accent-green);font-weight:500}.act-delete{background:none;border:none;color:var(--text-light);font-size:.8rem;padding:4px;opacity:.5}.act-delete:hover{opacity:1;color:var(--accent-rose)}.itin-no-activities{font-size:.82rem;color:var(--text-light);padding:8px 0;text-align:center}.add-activity-btn{display:block;width:100%;padding:8px;background:none;border:none;border-top:1px solid var(--border);font-size:.85rem;color:var(--primary);font-weight:500}.itin-add-form{padding:12px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.itin-add-form input,.itin-add-form select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem}.add-form-row{display:flex;gap:8px}.add-form-row>*{flex:1}.add-form-actions{display:flex;gap:8px;justify-content:flex-end}.cancel-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 16px;font-size:.85rem;color:var(--text-gray)}.save-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:6px 16px;font-size:.85rem;font-weight:600}.save-btn:disabled{opacity:.5}.polls{display:flex;flex-direction:column;gap:12px}.polls-loading,.polls-empty{text-align:center;color:var(--text-gray);padding:40px 0}.polls-empty span{font-size:2rem;display:block;margin-bottom:8px}.create-poll-btn{width:100%;padding:10px;background:var(--accent-purple);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.92rem}.poll-create-form{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:10px}.poll-create-form input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.92rem}.poll-options-list{display:flex;flex-direction:column;gap:6px}.poll-option-input{display:flex;gap:6px}.poll-option-input input{flex:1}.remove-option{background:none;border:none;color:var(--text-light);font-size:.85rem;padding:4px 6px}.add-option-btn{background:none;border:none;color:var(--primary);font-size:.85rem;font-weight:500;text-align:left;padding:4px 0}.poll-type-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-gray);cursor:pointer}.poll-type-toggle input{width:16px;height:16px;accent-color:var(--accent-purple)}.submit-poll-btn{background:var(--accent-green);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px;font-weight:600}.polls-list{display:flex;flex-direction:column;gap:12px}.poll-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;transition:box-shadow .15s}.poll-card.closed{opacity:.8}.poll-question{font-weight:600;font-size:1rem;margin-bottom:12px;display:flex;align-items:center;gap:8px}.poll-closed-badge{font-size:.7rem;font-weight:600;background:var(--bg-subtle);color:var(--text-light);padding:2px 8px;border-radius:var(--radius-full)}.poll-multi-badge{font-size:.7rem;font-weight:600;background:#f3e8ff;color:var(--accent-purple);padding:2px 8px;border-radius:var(--radius-full)}.poll-multi-hint{font-size:.75rem;color:var(--text-light);margin-bottom:6px}.poll-options{display:flex;flex-direction:column;gap:6px}.poll-option{position:relative;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);text-align:left;overflow:hidden;transition:border-color .15s}.poll-option:not(:disabled):hover{border-color:var(--primary)}.poll-option.voted{border-color:var(--primary);background:#eff6ff}.poll-option.winner{border-color:var(--accent-green);background:#ecfdf5}.poll-option-bar{position:absolute;left:0;top:0;bottom:0;background:#3b82f614;border-radius:var(--radius-sm);transition:width .3s ease}.poll-option-text{position:relative;flex:1;font-size:.9rem;font-weight:500}.poll-option-count{position:relative;font-size:.75rem;color:var(--text-gray);white-space:nowrap}.poll-my-vote{position:relative;color:var(--primary);font-weight:700}.poll-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.poll-total{font-size:.78rem;color:var(--text-light)}.close-poll-btn{background:none;border:none;font-size:.78rem;color:var(--accent-rose);font-weight:500}.expenses{display:flex;flex-direction:column;gap:12px}.expenses-loading,.expenses-empty{text-align:center;color:var(--text-gray);padding:40px 0}.expenses-empty span{font-size:2rem;display:block;margin-bottom:8px}.expense-summary-bar{display:flex;align-items:center;gap:12px;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px}.summary-stat{flex:1}.stat-label{display:block;font-size:.72rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.1rem;font-weight:700;color:var(--text-dark)}.settle-toggle{background:var(--accent-coral);color:#fff;border:none;border-radius:var(--radius-sm);padding:6px 14px;font-size:.82rem;font-weight:600;white-space:nowrap}.settle-panel{background:var(--bg-white);border:1px solid var(--accent-coral);border-radius:var(--radius-md);padding:16px}.settle-panel h3{font-size:1rem;margin-bottom:12px}.settle-panel h4{font-size:.82rem;color:var(--text-gray);margin:12px 0 6px}.all-settled{color:var(--accent-green);font-weight:500;text-align:center;padding:12px 0}.settlements{display:flex;flex-direction:column;gap:8px}.settlement-row{display:flex;align-items:center;gap:8px;font-size:.88rem;padding:8px 0;border-bottom:1px solid var(--border)}.settlement-from{font-weight:600;flex:1}.settlement-arrow{color:var(--text-light);font-size:.78rem}.settlement-to{font-weight:600;flex:1;text-align:right}.settlement-amount{font-weight:700;color:var(--accent-coral);min-width:65px;text-align:right}.balance-list{margin-top:8px}.balance-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.85rem}.balance-row.positive .balance-amount{color:var(--accent-green)}.balance-row.negative .balance-amount{color:var(--accent-rose)}.balance-amount{font-weight:600}.add-expense-btn{width:100%;padding:10px;background:var(--accent-coral);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.92rem}.expense-add-form{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:10px}.expense-add-form input,.expense-add-form select{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.92rem}.expense-row{display:flex;gap:8px}.amount-input{position:relative;flex:1}.dollar-sign{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-gray)}.amount-input input{width:100%;padding-left:24px}.expense-row select{flex:0 0 110px}.split-note{font-size:.78rem;color:var(--text-light)}.split-type-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.split-btn{flex:1;padding:8px;border:none;background:var(--bg-white);font-size:.85rem;font-weight:500;color:var(--text-gray);transition:all .15s}.split-btn.active{background:var(--accent-coral);color:#fff;font-weight:600}.custom-split-section{display:flex;flex-direction:column;gap:6px}.custom-share-row{display:flex;align-items:center;gap:8px}.share-name{flex:1;font-size:.88rem;font-weight:500}.share-amount-input{position:relative;width:100px}.share-amount-input .dollar-sign{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-gray);font-size:.82rem}.share-amount-input input{width:100%;padding:6px 8px 6px 20px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem}.share-total{font-size:.82rem;font-weight:600;text-align:right;padding:4px 0}.share-total.balanced{color:var(--accent-green)}.share-total.unbalanced{color:var(--accent-rose)}.submit-expense-btn{background:var(--accent-green);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px;font-weight:600}.expense-list{display:flex;flex-direction:column;gap:6px}.expense-card{display:flex;align-items:center;gap:10px;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.expense-icon{font-size:1.2rem;flex-shrink:0}.expense-details{flex:1;min-width:0}.expense-desc{font-weight:600;font-size:.9rem}.expense-meta{font-size:.75rem;color:var(--text-light);margin-top:2px}.expense-amount{font-weight:700;font-size:1rem;color:var(--text-dark);white-space:nowrap}.expense-delete{background:none;border:none;color:var(--text-light);font-size:.78rem;padding:4px;opacity:.5}.expense-delete:hover{opacity:1;color:var(--accent-rose)}.members{display:flex;flex-direction:column;gap:16px}.members-loading{text-align:center;color:var(--text-gray);padding:40px 0}.members-list{display:flex;flex-direction:column;gap:6px}.member-card{display:flex;align-items:center;gap:12px;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.member-avatar{width:38px;height:38px;border-radius:50%;background:var(--primary-light);color:var(--primary-dark);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.member-info{flex:1}.member-name{font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:6px}.member-role{font-size:.75rem;color:var(--text-light);text-transform:capitalize}.member-role.role-organizer{color:var(--accent-coral);font-weight:600}.member-role.role-viewer{color:var(--accent-purple);font-weight:500}.you-badge{font-size:.68rem;background:var(--primary);color:#fff;padding:1px 6px;border-radius:var(--radius-full);font-weight:500}.pending-badge{font-size:.72rem;background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:var(--radius-full);font-weight:500}.remove-member-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;font-size:.75rem;color:var(--accent-rose)}.invite-section{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.invite-section h3{font-size:.95rem;margin-bottom:12px}.invite-row{display:flex;gap:8px}.invite-row input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.invite-role-select{padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;flex-shrink:0}.invite-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 16px;font-weight:600;font-size:.85rem;white-space:nowrap}.invite-link-box{margin-top:10px}.invite-link-box input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;background:var(--bg-subtle)}.invite-hint{font-size:.75rem;color:var(--text-light);margin-top:4px}.trip-dashboard{max-width:600px;margin:0 auto;padding-bottom:80px}.trip-loading{text-align:center;padding:60px 20px;color:var(--text-gray)}.trip-cover{width:100%;height:180px;background-size:cover;background-position:center;position:relative;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.cover-edit-btn{position:absolute;bottom:10px;right:10px;background:#00000080;color:#fff;border:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer}.trip-dash-header{padding:16px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.add-cover-btn{margin-left:auto;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;font-size:.78rem;color:var(--text-gray);font-weight:500;cursor:pointer}.back-link{font-size:.85rem;color:var(--primary);font-weight:500;width:100%}.trip-dash-title{flex:1}.trip-dash-title h1{font-size:1.4rem;font-weight:700}.trip-dest{font-size:.88rem;color:var(--text-gray);margin-top:2px}.trip-tabs{display:flex;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-main);z-index:10;padding:0 8px}.trip-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:none;background:none;font-size:.72rem;font-weight:500;color:var(--text-light);border-bottom:2px solid transparent;transition:all .15s}.trip-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-icon{font-size:1.2rem}.tab-label{text-transform:uppercase;letter-spacing:.5px}.trip-content{padding:16px}:root{--primary: #3b82f6;--primary-dark: #2563eb;--primary-light: #93c5fd;--accent-coral: #f97316;--accent-green: #10b981;--accent-purple: #8b5cf6;--accent-rose: #f43f5e;--bg-main: #f8fafc;--bg-white: #ffffff;--bg-subtle: #f1f5f9;--text-dark: #1e293b;--text-gray: #64748b;--text-light: #94a3b8;--border: #e2e8f0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-main);color:var(--text-dark);-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:1rem}a{color:var(--primary);text-decoration:none}.container{max-width:600px;margin:0 auto;padding:0 16px}@media(min-width:768px){.container{max-width:800px;padding:0 24px}}
