:root{--primary:#4a9dff;--primary-dark:#2b7fe0;--primary-light:#e3f2ff;--accent:#ff6b6b;--accent-hover:#ff5252;--success:#51cf66;--warning:#ffb84d;--background:#f5f7fa;--surface:#fff;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--border:#e0e0e0;--shadow:rgba(0,0,0,.06);--shadow-hover:rgba(0,0,0,.12)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f7fa;color:var(--text-primary);line-height:1.6;min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";top:64px;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(74,157,255,.08) 0,transparent 50%),radial-gradient(circle at 80% 70%,hsla(0,100%,71%,.06) 0,transparent 50%),radial-gradient(circle at 50% 50%,rgba(74,157,255,.05) 0,transparent 70%);pointer-events:none;z-index:0}.app-header,body:before{position:fixed;left:0;right:0}.app-header{top:0;height:64px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 5%;z-index:1000}.app-header-left,.app-header-right{display:flex;align-items:center;gap:16px}.app-logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--primary);text-decoration:none;transition:opacity .2s}.app-logo:hover{opacity:.8}.icon-btn{width:40px;height:40px;border:none;background:transparent;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .2s}.icon-btn:hover{background:var(--background)}.profile-btn{border:none;background:transparent;cursor:pointer;padding:0}.profile-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:18px;border:2px solid var(--border);transition:border-color .2s}.profile-btn:hover .profile-avatar{border-color:var(--primary)}.dashboard{padding:96px 5% 60px;max-width:1400px;margin:0 auto;position:relative}.world-map-background{position:fixed;top:64px;left:0;right:0;bottom:0;pointer-events:none;z-index:0;overflow:hidden}.world-map-background:before{content:"✈️";position:absolute;top:15%;left:10%;font-size:80px;opacity:.45;animation:float1 15s ease-in-out infinite}.world-map-background:after{content:"✈️";position:absolute;top:70%;right:15%;font-size:70px;opacity:.4;transform:rotate(45deg);animation:float2 18s ease-in-out infinite}.travel-icon{position:absolute;animation:floatAround 20s ease-in-out infinite;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}@keyframes float2{0%,to{transform:translate(0) rotate(45deg)}50%{transform:translate(-25px,25px) rotate(65deg)}}@keyframes floatAround{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(15px,-15px) rotate(5deg)}50%{transform:translate(-10px,10px) rotate(-5deg)}75%{transform:translate(20px,5px) rotate(3deg)}}.dashboard>*{position:relative;z-index:1}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.dashboard-title{font-size:32px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.dashboard-subtitle{font-size:16px;color:var(--text-secondary)}.trips-section{margin-bottom:48px}.section-title-small{font-size:18px;font-weight:600;margin-bottom:20px;color:var(--text-secondary)}.trips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:24px;gap:24px}.trip-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all .3s ease;cursor:pointer}.trip-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow-hover);border-color:var(--primary)}.trip-cover{height:140px;background:linear-gradient(135deg,var(--primary-light) 0,#fff5f5 100%);position:relative}.trip-cover,.trip-delete-btn{display:flex;align-items:center;justify-content:center}.trip-delete-btn{position:absolute;top:12px;left:12px;width:36px;height:36px;border:none;background:hsla(0,0%,100%,.9);border-radius:8px;font-size:18px;cursor:pointer;transition:all .2s;opacity:0;box-shadow:0 2px 8px rgba(0,0,0,.1)}.trip-card:hover .trip-delete-btn{opacity:1}.trip-delete-btn:hover{background:#fee;transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.15)}.trip-emoji{font-size:64px}.trip-status-badge{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.trip-status-badge.planning{background:var(--primary);color:#fff}.trip-status-badge.completed{background:var(--success);color:#fff}.trip-content{padding:20px}.trip-destination{font-size:20px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.trip-dates{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.trip-budget{margin-bottom:16px}.budget-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.budget-label{font-size:12px;color:var(--text-muted);font-weight:500}.budget-amount{font-size:13px;color:var(--text-primary);font-weight:600}.budget-amount-completed{font-size:13px;color:var(--success);font-weight:600}.budget-bar{width:100%;height:6px;background:var(--background);border-radius:10px;overflow:hidden}.budget-fill{height:100%;background:linear-gradient(90deg,var(--warning),var(--accent));border-radius:10px;transition:width .3s ease}.trip-progress{margin-bottom:16px}.progress-bar{width:100%;height:6px;background:var(--background);border-radius:10px;overflow:hidden;margin-bottom:8px}.progress-fill{background:var(--primary);border-radius:10px}.progress-text{font-size:12px;color:var(--text-muted)}.trip-footer{display:flex;justify-content:space-between;align-items:center}.trip-participants{display:flex;gap:4px}.participant-avatar{width:28px;height:28px;border-radius:50%;background:var(--background);border:2px solid var(--surface);display:flex;align-items:center;justify-content:center;font-size:14px}.trip-action-btn{padding:6px 14px;background:transparent;border:none;color:var(--primary);font-weight:600;font-size:14px;cursor:pointer;border-radius:8px;transition:background .2s}.trip-action-btn:hover{background:var(--primary-light)}.trip-card-completed{opacity:.85}.trip-card-completed .trip-cover{background:linear-gradient(135deg,#f0f0f0,#e8e8e8)}.trip-card-new{border:2px dashed var(--border);background:transparent}.trip-card-new:hover{border-color:var(--primary);background:var(--primary-light)}.trip-new-content{padding:48px 20px;text-align:center;flex-direction:column;min-height:280px}.trip-new-content,.trip-new-icon{display:flex;align-items:center;justify-content:center}.trip-new-icon{width:64px;height:64px;border-radius:50%;background:var(--primary-light);font-size:32px;margin-bottom:16px}.trip-new-title{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.trip-new-description{font-size:14px;color:var(--text-secondary)}.btn{padding:12px 24px;font-size:15px;font-weight:600;border-radius:10px;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(74,157,255,.25)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(74,157,255,.3)}.btn-primary:active{transform:translateY(0)}@media (max-width:768px){.app-header{padding:0 4%}.dashboard{padding:80px 4% 40px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.dashboard-header .btn{width:100%;justify-content:center}.dashboard-title{font-size:26px}.trips-grid{grid-template-columns:1fr;gap:16px}.trip-cover{height:120px}.trip-emoji{font-size:48px}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,var(--primary-light) 0,#fff5f5 100%)}.auth-card{background:var(--surface);border-radius:24px;padding:48px;width:100%;max-width:440px;box-shadow:0 8px 32px var(--shadow-hover)}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{font-size:64px;margin-bottom:16px}.auth-title{font-size:28px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.auth-subtitle{font-size:15px;color:var(--text-secondary)}.auth-error{background:#fee;color:#c33;padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px;border:1px solid #fcc}.btn-google{width:100%;padding:14px 24px;background:var(--surface);border:2px solid var(--border);border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .3s ease;color:var(--text-primary)}.btn-google:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.btn-google:disabled{opacity:.6;cursor:not-allowed;transform:none}.google-icon{width:24px;height:24px}.auth-divider{display:flex;align-items:center;margin:24px 0;color:var(--text-muted);font-size:14px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-divider span{padding:0 16px}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-label{font-size:14px;font-weight:600}.form-input,.form-label{color:var(--text-primary)}.form-input{padding:12px 16px;border:2px solid var(--border);border-radius:10px;font-size:15px;transition:all .2s;background:var(--surface)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-input:disabled{background:var(--background);cursor:not-allowed}input[type=date],input[type=time]{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;-webkit-transition:opacity .2s;transition:opacity .2s}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-input::placeholder{color:var(--text-muted)}.btn-full{justify-content:center}.btn-small{padding:8px 20px;font-size:14px}.auth-footer{text-align:center;margin-top:24px;font-size:14px;color:var(--text-secondary)}.auth-link{color:var(--primary);font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:var(--primary-dark);text-decoration:underline}.profile-dropdown{position:relative}.profile-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--border);transition:border-color .2s}.profile-btn:hover .profile-avatar-img{border-color:var(--primary)}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px var(--shadow-hover);min-width:240px;padding:8px;z-index:1000;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:12px 16px}.dropdown-name{font-weight:600;font-size:15px;color:var(--text-primary);margin-bottom:4px}.dropdown-email{font-size:13px;color:var(--text-secondary)}.dropdown-divider{height:1px;background:var(--border);margin:8px 0}.dropdown-item{width:100%;padding:10px 16px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .2s;text-align:left}.dropdown-item:hover{background:var(--background)}.dropdown-item-danger{color:var(--accent)}.dropdown-item-danger:hover{background:#fee}@media (max-width:768px){.auth-card{padding:32px 24px}.auth-title{font-size:24px}.auth-logo{font-size:48px}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease}.modal-content{background:var(--surface);border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:32px 32px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:24px;font-weight:700;color:var(--text-primary)}.modal-close-btn{width:36px;height:36px;border:none;background:transparent;border-radius:8px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;color:var(--text-secondary)}.modal-close-btn:hover{background:var(--background);color:var(--text-primary)}.modal-form{padding:24px 32px 32px}.form-group{margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-error{background:#fee;color:#c33;padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px;border:1px solid #fcc}.required{color:var(--accent)}.form-hint{display:block;margin-top:6px;font-size:13px;color:var(--text-muted)}.emoji-selector{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:8px;gap:8px}.emoji-option{width:100%;aspect-ratio:1;border:2px solid var(--border);background:var(--surface);border-radius:12px;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.emoji-option:hover{transform:scale(1.05)}.emoji-option.selected,.emoji-option:hover{border-color:var(--primary);background:var(--primary-light)}.emoji-option.selected{box-shadow:0 0 0 3px rgba(74,157,255,.2)}.emoji-option:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-actions{display:flex;gap:12px;margin-top:28px}.modal-actions .btn{flex:1 1}.modal-actions-triple{display:grid;grid-template-columns:auto 1fr 1fr;grid-gap:12px;gap:12px;margin-top:28px}.modal-actions-triple .btn:first-child{width:auto;padding-left:16px;padding-right:16px}.btn-secondary{background:var(--background);color:var(--text-primary);border:1px solid var(--border)}.btn-danger{background:var(--error);color:#fff;border:none}.btn-danger:hover:not(:disabled){background:#c62828;box-shadow:0 4px 12px rgba(220,38,38,.3)}.btn-secondary:hover{background:var(--border);border-color:var(--text-secondary)}.modal-content-wide{max-width:700px}.category-selector{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.category-option{padding:12px 8px;border:2px solid var(--border);background:var(--surface);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .2s}.category-option:hover{transform:translateY(-2px)}.category-option.selected,.category-option:hover{border-color:var(--primary);background:var(--primary-light)}.category-option.selected{box-shadow:0 0 0 3px rgba(74,157,255,.2)}.category-emoji{font-size:24px}.category-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.category-option.selected .category-label{color:var(--primary)}.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:12px;font-size:15px;font-family:inherit;color:var(--text-primary);background:var(--surface);transition:all .2s;resize:vertical}.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-textarea:disabled{background:var(--background);opacity:.6;cursor:not-allowed}.checklist-items{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.checklist-item-input{display:flex;gap:8px;align-items:center}.checklist-item-input .form-input{flex:1 1;margin-bottom:0}.checklist-remove-btn{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--error);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.checklist-remove-btn:hover:not(:disabled){background:var(--error);color:#fff;border-color:var(--error)}.checklist-remove-btn:disabled{opacity:.5;cursor:not-allowed}.checklist-checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .2s ease}.confirm-dialog{background:#fff;border-radius:16px;padding:28px;max-width:400px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease}.confirm-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.confirm-message{font-size:15px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.confirm-message strong{color:var(--text-primary);font-weight:600}.confirm-actions{display:flex;gap:12px}.confirm-actions .btn{flex:1 1}@media (max-width:768px){.modal-content,.modal-content-wide{max-width:100%;max-height:100vh;border-radius:0}.category-selector{grid-template-columns:repeat(3,1fr)}.modal-header{padding:24px 20px 16px}.modal-title{font-size:20px}.modal-form{padding:16px 20px 24px}.form-row{grid-template-columns:1fr}.emoji-selector{grid-template-columns:repeat(4,1fr)}.emoji-option{font-size:24px}}.trip-detail-error,.trip-detail-loading{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.loading-spinner{font-size:18px;color:var(--text-secondary);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-content{text-align:center;max-width:400px}.error-icon{font-size:64px;margin-bottom:20px}.error-content h2{font-size:20px;color:var(--text-primary);margin-bottom:24px}.trip-detail-page{min-height:calc(100vh - 64px);margin-top:64px;padding-bottom:80px;background:var(--background)}.back-btn{position:absolute;top:24px;left:5%;padding:10px 20px;background:hsla(0,0%,100%,.9);border:1px solid var(--border);border-radius:12px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .2s;z-index:10}.back-btn:hover{background:var(--surface);color:var(--primary);border-color:var(--primary);transform:translateX(-4px)}.trip-detail-header{background:linear-gradient(135deg,var(--primary-light) 0,hsla(0,0%,100%,.6) 100%);border-bottom:1px solid var(--border);padding:80px 5% 40px;position:relative}.trip-header-content{max-width:1200px;margin:0 auto}.trip-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:32px}.trip-header-left{display:flex;gap:24px;flex:1 1}.trip-emoji-large{font-size:80px;width:120px;height:120px;background:var(--surface);border-radius:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--shadow)}.trip-header-info{flex:1 1}.trip-title-large{font-size:36px;font-weight:800;color:var(--text-primary);margin-bottom:8px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.trip-destination-sub{font-size:18px;font-weight:500;color:var(--text-secondary)}.trip-dates-large{font-size:16px;color:var(--text-secondary);margin-bottom:16px}.trip-status-container{display:flex;align-items:center;gap:12px}.trip-status-badge-large{padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.trip-status-badge-large.planning{background:#e3f2ff;color:#2b7fe0}.trip-status-badge-large.completed{background:#e8f5e9;color:#2e7d32}.trip-members-count{padding:8px 16px;background:hsla(0,0%,100%,.6);border-radius:20px;font-size:14px;color:var(--text-secondary)}.trip-header-actions{display:flex;gap:12px;flex-shrink:0}.trip-progress-section{margin-bottom:24px}.progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;color:var(--text-secondary)}.progress-percent{font-size:18px;font-weight:700;color:var(--primary)}.progress-bar-large{height:12px;background:hsla(0,0%,100%,.6);border-radius:12px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:12px;transition:width .3s ease}.trip-budget-summary{display:flex;gap:24px;background:hsla(0,0%,100%,.8);padding:24px;border-radius:16px;box-shadow:0 2px 8px var(--shadow)}.budget-summary-item{flex:1 1;display:flex;flex-direction:column;gap:8px}.budget-summary-label{font-size:13px;color:var(--text-secondary)}.budget-summary-value{font-size:24px;font-weight:700;color:var(--text-primary)}.budget-summary-value.accent{color:var(--primary)}.budget-summary-value.success{color:var(--success)}.budget-summary-value.over-budget{color:var(--accent)}.budget-summary-divider{width:1px;background:var(--border)}.trip-tabs{display:flex;gap:4px;background:var(--surface);border-bottom:1px solid var(--border);padding:0 5%;position:-webkit-sticky;position:sticky;top:64px;z-index:100}.trip-tab{padding:16px 24px;background:transparent;font-size:15px;font-weight:500;color:var(--text-secondary);cursor:pointer;border:none;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}.trip-tab:hover{color:var(--text-primary);background:var(--background)}.trip-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-light)}.trip-content{max-width:1200px;margin:0 auto;padding:40px 5%}.tab-overview{animation:fadeIn .3s ease}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:24px;gap:24px}.overview-card{background:var(--surface);border-radius:16px;padding:24px;box-shadow:0 2px 8px var(--shadow)}.overview-card-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:20px}.overview-info-list{display:flex;flex-direction:column;gap:16px}.overview-info-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border)}.overview-info-item:last-child{border-bottom:none;padding-bottom:0}.info-label{font-size:14px;color:var(--text-secondary)}.info-value{font-size:14px;font-weight:600;color:var(--text-primary);text-align:right}.members-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.member-item{gap:12px;padding:12px;background:var(--background);border-radius:12px}.member-avatar,.member-item{display:flex;align-items:center}.member-avatar{width:40px;height:40px;background:var(--primary-light);border-radius:50%;justify-content:center;font-size:20px}.member-info{flex:1 1}.member-name{font-size:14px;font-weight:600;color:var(--text-primary)}.stats-grid{display:grid;grid-gap:16px;gap:16px}.stat-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--background);border-radius:12px}.stat-icon{font-size:32px}.stat-content{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:13px;color:var(--text-secondary)}.stat-value{font-size:18px;font-weight:700;color:var(--text-primary)}.tab-empty-state{text-align:center;padding:80px 20px;animation:fadeIn .3s ease}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.tab-empty-state h3{font-size:20px;color:var(--text-primary);margin-bottom:8px}.tab-empty-state p{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.tab-budget{animation:fadeIn .3s ease}.budget-overview{margin-bottom:40px}.budget-chart-card{background:var(--surface);border-radius:16px;padding:32px;box-shadow:0 2px 8px var(--shadow)}.budget-chart-card h3{font-size:18px;font-weight:700;margin-bottom:24px;color:var(--text-primary)}.budget-chart{margin-bottom:24px}.budget-bar-large{height:24px;background:var(--background);border-radius:12px;overflow:hidden;margin-bottom:12px}.budget-fill-large{height:100%;border-radius:12px;transition:all .3s ease}.budget-labels{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.tab-schedule{animation:fadeIn .3s ease}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.schedule-header-left{display:flex;align-items:center;gap:24px;flex:1 1}.schedule-header h3{font-size:20px;font-weight:700;color:var(--text-primary)}.view-toggle{display:flex;background:var(--background);border-radius:12px;padding:4px;gap:4px}.view-toggle-btn{padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s}.view-toggle-btn:hover{background:var(--surface);color:var(--text-primary)}.view-toggle-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 6px rgba(74,157,255,.3)}.loading-text{text-align:center;padding:40px;color:var(--text-secondary)}.schedule-timeline{display:flex;flex-direction:column;gap:32px}.timeline-day{background:var(--surface);border-radius:16px;padding:24px;box-shadow:0 2px 8px var(--shadow)}.timeline-day-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--border)}.day-badge{padding:6px 14px;background:var(--primary);color:#fff;border-radius:20px;font-size:13px;font-weight:600}.day-date{font-size:18px;font-weight:700;color:var(--text-primary)}.day-count{margin-left:auto;font-size:14px;color:var(--text-secondary);padding:6px 12px;background:var(--background);border-radius:12px}.timeline-places{display:flex;flex-direction:column;gap:16px}.place-card{display:flex;gap:16px;padding:20px;background:var(--background);border-radius:12px;border:2px solid transparent;transition:all .2s;position:relative}.place-card:hover{border-color:var(--primary-light);box-shadow:0 2px 8px var(--shadow)}.place-order{width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.place-content{flex:1 1;display:flex;flex-direction:column;gap:12px}.place-main{display:flex;gap:12px;align-items:flex-start}.place-category-icon{font-size:32px;flex-shrink:0}.place-info{flex:1 1}.place-name{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.place-address,.place-time{font-size:14px;color:var(--text-secondary);margin-bottom:4px}.place-details{display:flex;flex-wrap:wrap;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.place-detail-item{padding:4px 12px;border-radius:12px;font-size:13px}.place-detail-item,.place-notes{background:var(--surface);color:var(--text-secondary)}.place-notes{width:100%;font-size:14px;line-height:1.5;padding:12px;border-radius:8px;margin-top:4px}.place-actions{position:absolute;top:12px;right:12px;display:flex;gap:8px;opacity:0;transition:opacity .2s}.place-card:hover .place-actions{opacity:1}.place-action-btn{width:32px;height:32px;border:none;background:var(--surface);border-radius:8px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.place-action-btn:hover{background:var(--background);transform:scale(1.1)}.place-action-delete:hover{background:#ffe5e5}.calendar-grid-container{overflow-x:auto;margin-top:24px;border-radius:16px;background:var(--surface);box-shadow:0 2px 8px var(--shadow)}.calendar-grid{display:table;width:max-content}.calendar-header{display:table-row;background:var(--primary);position:-webkit-sticky;position:sticky;top:0;z-index:10}.calendar-date-header,.calendar-time-header{display:table-cell;padding:12px 16px;text-align:center;color:#fff;border-right:1px solid hsla(0,0%,100%,.2);background:var(--primary);vertical-align:middle}.calendar-time-header{width:70px;min-width:70px;font-size:13px;font-weight:700}.calendar-date-header{width:140px;min-width:140px}.calendar-date-header:last-child{border-right:none}.date-header-date{font-size:16px;font-weight:700;margin-bottom:4px}.date-header-day{font-size:12px;opacity:.9}.calendar-row{display:table-row}.calendar-row:hover{background:var(--background)}.calendar-cell,.calendar-time-cell{display:table-cell;border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:top}.calendar-time-cell{width:70px;min-width:70px;padding:8px;font-size:12px;font-weight:600;color:var(--text-secondary);text-align:center;background:var(--background)}.calendar-cell{width:140px;min-width:140px;padding:6px 8px;min-height:40px;cursor:pointer;transition:all .2s;position:relative}.calendar-cell:hover{background:var(--primary-light)}.calendar-cell.has-places{background:#fff9e6;border:2px solid #ffd93d}.calendar-cell.has-places:hover{background:#fff4cc}.calendar-cell.dragging{background:#e3f2ff!important;border:2px solid var(--primary)!important;box-shadow:inset 0 0 0 2px rgba(43,127,224,.2)}.calendar-cell.dragging.has-places{background:#ffedd5!important;border:2px solid #f97316!important}.accommodation-row{background:#fff4e6;border-top:2px solid #ff9800;border-bottom:2px solid #ff9800}.accommodation-row .accom-label{background:#ffe0b2;font-weight:700;color:#e65100;font-size:13px}.accom-cell{background:#fff8e1;min-height:60px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.accom-cell.has-accommodation{background:#ffe0b2;border:2px solid #ff9800}.accom-cell.has-accommodation:hover{background:#ffd699}.accom-cell.dragging{background:#ffcc80!important;border:2px solid #ff6f00!important;box-shadow:inset 0 0 0 2px rgba(255,111,0,.3)}.accom-empty-hint{font-size:11px;color:#bf360c;opacity:.5;text-align:center;padding:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.accom-list{display:flex;flex-direction:column;gap:6px}.accom-item{display:flex;align-items:center;gap:6px;padding:8px;background:#fff;border-radius:8px;font-size:13px;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s;cursor:pointer;position:relative}.accom-item:hover{box-shadow:0 3px 8px rgba(0,0,0,.15);transform:translateY(-1px);background:#fff8e1}.accom-icon{font-size:18px;flex-shrink:0}.accom-name{flex:1 1;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accom-delete{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);font-size:16px;font-weight:700;cursor:pointer;border-radius:4px;opacity:0;transition:all .2s;padding:0}.accom-item:hover .accom-delete{opacity:1}.accom-delete:hover{background:var(--error);color:#fff}.accom-add-btn{width:100%;padding:6px 8px;border:1px dashed #ff9800;background:transparent;color:#f57c00;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.accom-add-btn:hover{background:#fff3e0;border-color:#f57c00;color:#e65100}.cell-places{display:flex;flex-direction:column;gap:4px}.cell-place-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#fff;border-radius:8px;font-size:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .2s;cursor:pointer;position:relative}.cell-place-item:hover{box-shadow:0 2px 6px rgba(0,0,0,.15);transform:translateY(-1px);background:#f8f9fa}.cell-place-icon{font-size:16px;flex-shrink:0}.cell-place-name{flex:1 1;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.cell-place-delete{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:700;cursor:pointer;border-radius:4px;opacity:0;transition:all .2s;padding:0}.cell-place-item:hover .cell-place-delete{opacity:1}.cell-place-delete:hover{background:var(--error);color:#fff;white-space:nowrap}.tab-checklist{animation:fadeIn .3s ease}.checklist-container{display:flex;flex-direction:column;gap:24px}.checklist-place-group{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px var(--shadow);transition:all .2s}.checklist-place-group:hover{box-shadow:0 4px 12px var(--shadow)}.checklist-place-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border)}.checklist-place-icon{font-size:24px;flex-shrink:0}.checklist-place-name{flex:1 1;font-size:18px;font-weight:700;color:var(--text-primary)}.checklist-place-date{font-size:13px;color:var(--text-secondary);padding:4px 12px;background:var(--background);border-radius:12px}.checklist-items-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.checklist-item-row{display:flex;align-items:center;gap:12px;padding:12px;background:var(--background);border-radius:12px;transition:all .2s}.checklist-item-row:hover{background:#e8f4ff}.checklist-item-checkbox{width:20px;height:20px;cursor:pointer;flex-shrink:0;accent-color:var(--primary)}.checklist-item-text{flex:1 1;font-size:15px;color:var(--text-primary);cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s}.checklist-item-text:hover{background:hsla(0,0%,100%,.8)}.checklist-item-text.checked{text-decoration:line-through;color:var(--text-secondary);opacity:.6}.checklist-item-edit-input{flex:1 1;font-size:15px;padding:8px 12px;border:2px solid var(--primary);border-radius:8px;background:#fff;outline:none}.checklist-item-delete-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);font-size:16px;font-weight:700;cursor:pointer;border-radius:6px;opacity:0;transition:all .2s}.checklist-item-row:hover .checklist-item-delete-btn{opacity:1}.checklist-item-delete-btn:hover{background:var(--error);color:#fff}.checklist-add-item-btn{width:100%;padding:10px 16px;border:2px dashed var(--border);background:transparent;color:var(--primary);font-size:14px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s}.checklist-add-item-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.btn-outline:hover{background:var(--background);border-color:var(--primary);color:var(--primary)}.btn-full{width:100%}@media (max-width:1024px){.trip-header-top{flex-direction:column}.trip-header-actions{width:100%}.overview-grid{grid-template-columns:1fr}}@media (max-width:768px){.trip-detail-header{padding:60px 20px 32px}.back-btn{left:20px;padding:8px 16px;font-size:13px}.trip-header-left{flex-direction:column;align-items:center;text-align:center}.trip-emoji-large{font-size:60px;width:100px;height:100px}.trip-title-large{font-size:28px;flex-direction:column;align-items:flex-start;gap:8px}.trip-destination-sub{font-size:16px}.trip-budget-summary{flex-direction:column;gap:16px}.budget-summary-divider{height:1px;width:100%}.trip-tabs{overflow-x:auto;gap:0;padding:0 20px}.trip-tab{padding:12px 16px;font-size:14px}.trip-content{padding:24px 20px}.overview-card{padding:20px}.schedule-header{flex-direction:column;align-items:flex-start;gap:16px}.schedule-header .btn{width:100%}.timeline-day{padding:16px}.timeline-day-header{flex-wrap:wrap}.day-count{margin-left:0;width:100%}.place-card{flex-direction:column;padding:16px}.place-order{width:28px;height:28px;font-size:13px}.place-actions{position:static;opacity:1;margin-top:12px}.schedule-header-left{flex-direction:column;align-items:flex-start;gap:12px}.view-toggle{width:100%}.view-toggle-btn{flex:1 1;font-size:13px;padding:10px}.calendar-grid-container{margin-top:16px}.calendar-time-cell,.calendar-time-header{width:55px;min-width:55px;padding:6px 4px;font-size:11px}.calendar-cell,.calendar-date-header{width:110px;min-width:110px}.calendar-date-header{padding:8px 4px}.date-header-date{font-size:13px}.date-header-day{font-size:10px}.calendar-cell{padding:4px 6px;min-height:35px}.cell-place-item{flex-direction:column;align-items:flex-start;padding:4px 6px;gap:4px}.cell-place-icon{font-size:14px}.cell-place-name{font-size:11px}}