@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Raleway:wght@300;400;500;600;700&display=swap";.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-ocean);padding:var(--space-xl);position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pattern-dots);opacity:.4;pointer-events:none}.auth-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pattern-lines);opacity:.3;pointer-events:none}.auth-box{background:var(--bg);padding:var(--space-3xl) var(--space-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl),0 0 0 1px #d4a85333,inset 0 1px #fffc;width:100%;max-width:460px;text-align:center;position:relative;z-index:1;animation:authBoxEnter .6s var(--ease-out) both}@keyframes authBoxEnter{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-box:before,.auth-box:after{content:"";position:absolute;width:60px;height:60px;border:2px solid var(--accent);opacity:.6}.auth-box:before{top:16px;left:16px;border-right:none;border-bottom:none;border-radius:var(--radius-sm) 0 0 0}.auth-box:after{bottom:16px;right:16px;border-left:none;border-top:none;border-radius:0 0 var(--radius-sm) 0}.auth-logo{width:72px;height:72px;margin:0 auto var(--space-lg);background:var(--gradient-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow),0 0 0 4px #d4a85326,0 0 0 8px #d4a85314;animation:logoEnter .8s var(--ease-out) .2s both}@keyframes logoEnter{0%{opacity:0;transform:scale(.5) rotate(-180deg)}to{opacity:1;transform:scale(1) rotate(0)}}.auth-logo svg{width:36px;height:36px;color:var(--primary)}.auth-box h1{font-family:var(--font-display);color:var(--primary);margin-bottom:var(--space-xs);font-size:var(--text-4xl);font-weight:600;letter-spacing:var(--tracking-tight);animation:textEnter .6s var(--ease-out) .3s both}@keyframes textEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-box .subtitle{font-family:var(--font-body);color:var(--text-muted);margin-bottom:var(--space-2xl);font-size:var(--text-base);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:400;animation:textEnter .6s var(--ease-out) .4s both}.auth-error{color:var(--error);margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--error-bg);border-radius:var(--radius);text-align:left;font-size:var(--text-sm);border-left:3px solid var(--error);animation:shake .4s var(--ease-out)}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.auth-box form{animation:formEnter .6s var(--ease-out) .5s both}@keyframes formEnter{0%{opacity:0}to{opacity:1}}.auth-box .form-group{text-align:left;margin-bottom:var(--space-lg)}.auth-box .form-label{display:block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm)}.auth-box .form-input{width:100%;padding:var(--space-md) var(--space-lg);font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg-cream);border:2px solid transparent;border-radius:var(--radius);transition:all var(--duration) var(--ease-out);box-shadow:var(--shadow-inner)}.auth-box .form-input::placeholder{color:var(--text-light)}.auth-box .form-input:hover{background:var(--bg-warm)}.auth-box .form-input:focus{outline:none;background:var(--bg);border-color:var(--accent);box-shadow:var(--shadow-inner),0 0 0 4px var(--accent-muted)}.auth-box .form-input.error{border-color:var(--error);background:var(--error-bg)}.auth-box .form-input.error:focus{box-shadow:var(--shadow-inner),0 0 0 4px #b33a3a26}.form-error{display:block;font-size:var(--text-xs);color:var(--error);margin-top:var(--space-xs);font-weight:500}.auth-btn{width:100%;margin-top:var(--space-xl);padding:var(--space-md) var(--space-xl);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--primary);background:var(--gradient-gold);border:none;border-radius:var(--radius);cursor:pointer;position:relative;overflow:hidden;transition:all var(--duration) var(--ease-out);box-shadow:var(--shadow),inset 0 1px #ffffff4d}.auth-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s var(--ease-out)}.auth-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),inset 0 1px #ffffff4d}.auth-btn:hover:before{left:100%}.auth-btn:active{transform:translateY(0)}.auth-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-btn:disabled:hover:before{left:-100%}.auth-footer{margin-top:var(--space-2xl);color:var(--text-muted);font-size:var(--text-sm);animation:textEnter .6s var(--ease-out) .6s both}.auth-footer a{color:var(--teal);font-weight:600;text-decoration:none;position:relative;transition:color var(--duration) var(--ease-out)}.auth-footer a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width var(--duration) var(--ease-out)}.auth-footer a:hover{color:var(--accent)}.auth-footer a:hover:after{width:100%}.auth-divider{display:flex;align-items:center;margin:var(--space-xl) 0;color:var(--text-light);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--accent-muted),transparent)}.auth-divider:before{margin-right:var(--space-md)}.auth-divider:after{margin-left:var(--space-md)}@media (max-width: 480px){.auth-container{padding:var(--space-md);align-items:flex-start;padding-top:var(--space-3xl)}.auth-box{padding:var(--space-2xl) var(--space-lg);max-width:100%}.auth-box:before,.auth-box:after{width:40px;height:40px}.auth-box h1{font-size:var(--text-3xl)}.form-row{grid-template-columns:1fr}.auth-logo{width:60px;height:60px}.auth-logo svg{width:28px;height:28px}}@media (prefers-reduced-motion: reduce){.auth-box,.auth-logo,.auth-box h1,.auth-box .subtitle,.auth-box form,.auth-footer,.auth-error{animation:none}.auth-btn:before{display:none}}.dashboard{max-width:1000px;margin:0 auto}.dashboard-header{margin-bottom:var(--space-xl)}.dashboard-header h1{color:var(--primary);margin-bottom:var(--space-sm)}.dashboard-header p{color:var(--text-light);font-size:1.1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.dashboard-card{background:var(--bg);border-radius:var(--radius);padding:var(--space-xl);box-shadow:var(--shadow);text-align:center;transition:transform var(--transition),box-shadow var(--transition)}.dashboard-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-icon{width:60px;height:60px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md);font-size:1.5rem;font-weight:600;color:var(--primary)}.dashboard-card h3{color:var(--primary);margin-bottom:var(--space-sm)}.dashboard-card p{color:var(--text-light);margin-bottom:var(--space-md)}.dashboard-section{background:var(--bg);border-radius:var(--radius);padding:var(--space-xl);box-shadow:var(--shadow)}.dashboard-section h2{color:var(--primary);margin-bottom:var(--space-lg);font-size:1.3rem}.quick-actions{display:flex;gap:var(--space-md);flex-wrap:wrap}.action-card{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--bg-alt);border-radius:var(--radius-sm);color:var(--text);transition:all var(--transition)}.action-card:hover{background:var(--primary);color:#fff}.action-icon{font-size:1.2rem}.trips-page{max-width:var(--container-lg);margin:0 auto;padding:var(--space-2xl) var(--space-xl);min-height:calc(100vh - 64px);background:var(--bg)}.trips-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid rgba(212,168,83,.2);position:relative}.trips-header:after{content:"";position:absolute;bottom:-1px;left:0;width:120px;height:3px;background:var(--gradient-gold);border-radius:2px}.trips-header h1{font-family:var(--font-display);color:var(--primary);margin:0 0 var(--space-xs) 0;font-size:var(--text-4xl);font-weight:600;letter-spacing:var(--tracking-tight)}.trips-header p{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl);color:var(--text-muted);font-family:var(--font-body);letter-spacing:var(--tracking-wide)}.error-message{background:var(--error-bg);color:var(--error);padding:var(--space-lg);border-radius:var(--radius);margin-bottom:var(--space-xl);border-left:4px solid var(--error);font-family:var(--font-body)}.empty-state{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-4xl) var(--space-2xl);text-align:center;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.empty-state:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pattern-dots);opacity:.3;pointer-events:none}.empty-icon{font-size:5rem;margin-bottom:var(--space-xl);filter:grayscale(.3);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h2{font-family:var(--font-display);color:var(--primary);font-size:var(--text-3xl);margin:0 0 var(--space-sm) 0;font-weight:600;position:relative}.empty-state p{font-family:var(--font-body);color:var(--text-muted);margin:0 0 var(--space-xl) 0;font-size:var(--text-lg);position:relative}.trips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-xl)}.trip-card{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:all var(--duration) var(--ease-out);position:relative}.trip-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);border:1px solid rgba(212,168,83,0);transition:border-color var(--duration) var(--ease-out);pointer-events:none;z-index:1}.trip-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}.trip-card:hover:before{border-color:#d4a8534d}.trip-card-link{display:block;text-decoration:none;color:inherit}.trip-cover{height:160px;background:var(--gradient-ocean);position:relative;overflow:hidden}.trip-cover:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(10,22,40,.4),transparent);pointer-events:none}.trip-cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out)}.trip-card:hover .trip-cover img{transform:scale(1.05)}.trip-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:#fff6;background:var(--pattern-lines);background-color:var(--primary)}.trip-info{padding:var(--space-lg) var(--space-xl)}.trip-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-sm)}.trip-info h3{font-family:var(--font-display);color:var(--primary);margin:0;font-size:var(--text-xl);font-weight:600;line-height:1.3;flex:1}.trip-cruise-line{font-family:var(--font-body);color:var(--teal);font-weight:600;font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin:0 0 var(--space-xs) 0}.trip-ship{font-family:var(--font-display);color:var(--accent);font-weight:500;font-style:italic;margin:0 0 var(--space-md) 0;font-size:var(--text-base)}.trip-dates{font-family:var(--font-body);color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-xs) 0;display:flex;align-items:center;gap:var(--space-xs)}.trip-dates:before{content:"";width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a5a5a' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-size:contain;opacity:.6}.trip-route{font-family:var(--font-body);color:var(--text-light);font-size:var(--text-sm);margin:0;display:flex;align-items:center;gap:var(--space-xs)}.trip-route:before{content:"";width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a7a' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a10 10 0 0 1 0 20M2 12h20'/%3E%3Cpath d='M12 2c2.5 2.5 4 6 4 10s-1.5 7.5-4 10c-2.5-2.5-4-6-4-10s1.5-7.5 4-10'/%3E%3C/svg%3E");background-size:contain;opacity:.6}.status-badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}.status-badge.draft{background:var(--bg-cream);color:var(--text-muted)}.status-badge.published{background:var(--success-bg);color:var(--success)}.status-badge.archived{background:var(--warning-bg);color:var(--warning)}.trip-card-actions{position:absolute;top:var(--space-md);right:var(--space-md);z-index:5}.trip-menu-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fffffff2;border:none;font-size:1.25rem;cursor:pointer;border-radius:var(--radius);color:var(--text-muted);box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-out)}.trip-menu-btn:hover{background:#fff;color:var(--primary);box-shadow:var(--shadow)}.trip-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9}.trip-menu{position:absolute;top:calc(100% + var(--space-xs));right:0;background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:160px;z-index:10;overflow:hidden;border:1px solid rgba(0,0,0,.05);animation:menuEnter .15s var(--ease-out)}@keyframes menuEnter{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.trip-menu-item{display:block;width:100%;padding:var(--space-md) var(--space-lg);text-align:left;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text);text-decoration:none;transition:background var(--duration-fast)}.trip-menu-item:hover{background:var(--bg-cream)}.trip-menu-item-danger{color:var(--error)}.trip-menu-item-danger:hover{background:var(--error-bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;transition:all var(--duration) var(--ease-out);position:relative;overflow:hidden}.demo-voyage{border:2px solid var(--accent);box-shadow:var(--shadow),var(--shadow-glow)}.demo-voyage:hover{box-shadow:var(--shadow-xl),var(--shadow-glow)}.demo-badge{position:absolute;top:var(--space-md);left:var(--space-md);background:var(--gradient-gold);color:var(--primary);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;box-shadow:var(--shadow-sm);z-index:2}.demo-banner{background:var(--gradient-ocean);border-radius:var(--radius-lg);padding:var(--space-2xl);margin-bottom:var(--space-2xl);color:var(--text-inverse);position:relative;overflow:hidden}.demo-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pattern-dots);opacity:.2;pointer-events:none}.demo-banner:after{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(212,168,83,.15) 0%,transparent 70%);pointer-events:none}.demo-banner-content{text-align:center;max-width:640px;margin:0 auto;position:relative;z-index:1}.demo-banner h3{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;margin:0 0 var(--space-md) 0;letter-spacing:var(--tracking-tight)}.demo-banner p{font-family:var(--font-body);font-size:var(--text-lg);margin:0 0 var(--space-xl) 0;opacity:.9;line-height:1.6}.demo-banner .btn{background:#fff;color:var(--primary);box-shadow:var(--shadow)}.demo-banner .btn:hover{background:var(--bg-cream);box-shadow:var(--shadow-lg)}@media (max-width: 768px){.trips-page{padding:var(--space-lg)}.trips-header{flex-direction:column;align-items:flex-start;gap:var(--space-lg)}.trips-header h1{font-size:var(--text-3xl)}.trips-grid{grid-template-columns:1fr;gap:var(--space-lg)}.empty-state{padding:var(--space-2xl) var(--space-lg)}.empty-icon{font-size:4rem}.demo-banner{padding:var(--space-xl)}.demo-banner h3{font-size:var(--text-2xl)}}@media (prefers-reduced-motion: reduce){.trip-card{transition:box-shadow var(--duration) var(--ease-out)}.trip-card:hover{transform:none}.trip-cover img{transition:none}.trip-card:hover .trip-cover img{transform:none}.loading-state:before{animation:none}.empty-icon{animation:none}.btn-primary:before{display:none}.trip-menu{animation:none}}.trip-form-page{max-width:800px;margin:0 auto;padding:var(--space-lg)}.trip-form-header{margin-bottom:var(--space-xl)}.back-link{display:inline-block;color:var(--text-light);text-decoration:none;margin-bottom:var(--space-md);font-size:.9rem}.back-link:hover{color:var(--primary)}.trip-form-header h1{color:var(--primary);margin:0 0 var(--space-xs) 0}.trip-form-header p{color:var(--text-light);margin:0}.trip-form{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-xl)}.form-error{background:#ffebee;color:#c62828;padding:var(--space-md);border-radius:var(--radius);margin-bottom:var(--space-lg)}.form-section{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--bg-alt)}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section h2{color:var(--primary);font-size:1.1rem;margin:0 0 var(--space-lg) 0}.form-group{margin-bottom:var(--space-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.form-group label{display:block;font-weight:600;color:var(--text);margin-bottom:var(--space-xs);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:var(--radius);font-size:1rem;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1e3a5f1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#aaa}.form-group textarea{resize:vertical;min-height:80px}.form-group select{cursor:pointer;background:#fff}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--bg-alt)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:all var(--transition);font-size:.95rem;min-width:120px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:#162d4a}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#f0f0f0;color:#666}.btn-secondary:hover{background:#e0e0e0}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff}.btn-outline:disabled{opacity:.6;cursor:not-allowed}.import-section{background:#f8f9fa;border:1px dashed #ccc;border-radius:var(--radius);padding:var(--space-md);margin-top:var(--space-md);text-align:center}.import-btn{min-width:280px}.import-message{margin:var(--space-sm) 0 0 0;font-size:.9rem;line-height:1.5}.import-message.success{color:#2e7d32}.import-message.info{color:#666}@media (max-width: 768px){.trip-form-page{padding:var(--space-md)}.trip-form{padding:var(--space-lg)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.excursion-suggestions{margin-top:var(--space-xl)}.excursions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid rgba(212,168,83,.15);position:relative}.excursions-header:after{content:"";position:absolute;bottom:-1px;left:0;width:60px;height:2px;background:var(--gradient-gold);border-radius:1px}.excursions-header h3{margin:0;font-family:var(--font-display);color:var(--primary);font-size:var(--text-xl);font-weight:600;letter-spacing:var(--tracking-tight)}.excursions-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xl);color:var(--text-muted);font-family:var(--font-body)}.excursions-loading:before{content:"";width:20px;height:20px;border:2px solid var(--accent-muted);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.excursions-error{text-align:center;padding:var(--space-lg);color:var(--error);background:var(--error-bg);border-radius:var(--radius);font-family:var(--font-body);border-left:3px solid var(--error)}.excursions-empty{text-align:center;padding:var(--space-2xl);background:var(--bg-cream);border-radius:var(--radius);border:2px dashed rgba(212,168,83,.3)}.excursions-empty p{margin:0;font-family:var(--font-body);color:var(--text-muted);font-size:var(--text-base)}.suggestions-list{display:flex;flex-direction:column;gap:var(--space-lg)}.suggestion-card{display:flex;background:var(--bg-card);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--duration) var(--ease-out);box-shadow:var(--shadow-subtle)}.suggestion-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:#d4a85333}.suggestion-image{width:140px;min-height:120px;flex-shrink:0;position:relative;background:var(--gradient-ocean)}.suggestion-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 70%,rgba(10,22,40,.1) 100%);pointer-events:none}.suggestion-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out)}.suggestion-card:hover .suggestion-image img{transform:scale(1.05)}.suggestion-content{flex:1;padding:var(--space-lg);min-width:0;display:flex;flex-direction:column}.suggestion-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xs)}.suggestion-name{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--primary);line-height:1.3}.suggested-by{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);white-space:nowrap}.suggested-by.captain{background:var(--gradient-gold);color:var(--primary)}.suggested-by.guest{background:var(--bg-cream);color:var(--text-muted)}.suggestion-description{margin:0 0 var(--space-md) 0;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.suggestion-meta{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-sm)}.suggestion-meta .meta-item{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-cream);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-xs)}.suggestion-meta .category{text-transform:capitalize;background:var(--teal);color:#fff}.suggestion-link{font-family:var(--font-body);font-size:var(--text-sm);color:var(--teal);text-decoration:none;font-weight:500;transition:color var(--duration) var(--ease-out)}.suggestion-link:hover{color:var(--accent)}.suggestion-notes{margin:var(--space-sm) 0 0 0;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-muted);font-style:italic;padding:var(--space-sm) var(--space-md);background:var(--bg-cream);border-radius:var(--radius-sm);border-left:3px solid var(--accent-muted)}.suggestion-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);background:var(--bg-cream);min-width:100px;gap:var(--space-sm);border-left:1px solid rgba(212,168,83,.1)}.vote-button{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);background:var(--bg-card);border:2px solid rgba(212,168,83,.3);border-radius:var(--radius);padding:var(--space-md);cursor:pointer;transition:all var(--duration) var(--ease-out);min-width:60px}.vote-button:hover{border-color:var(--accent);background:var(--accent-muted);transform:scale(1.05)}.vote-button.voted{background:var(--gradient-gold);border-color:var(--accent);color:var(--primary)}.vote-button.voted .vote-icon{color:var(--primary)}.vote-icon{font-size:1.5rem;color:var(--accent);transition:transform var(--duration) var(--ease-spring)}.vote-button:hover .vote-icon{transform:scale(1.15)}.vote-count{font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;color:inherit}.voters-list{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;max-width:90px}.voter-name{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-card);padding:2px var(--space-xs);border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.voter-more{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-light)}.delete-button{background:none;border:none;color:var(--text-light);font-size:1.25rem;cursor:pointer;padding:var(--space-xs);line-height:1;transition:all var(--duration) var(--ease-out);border-radius:var(--radius-sm)}.delete-button:hover{color:var(--error);background:var(--error-bg)}.suggestion-form{background:var(--bg-cream);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);border:1px solid rgba(212,168,83,.15)}.suggestion-form .form-group{margin-bottom:var(--space-lg)}.suggestion-form label{display:block;font-family:var(--font-body);font-weight:600;font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-bottom:var(--space-sm);color:var(--text-muted)}.suggestion-form input,.suggestion-form textarea,.suggestion-form select{width:100%;padding:var(--space-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg-card);border:2px solid transparent;border-radius:var(--radius);transition:all var(--duration) var(--ease-out);box-shadow:var(--shadow-inner)}.suggestion-form input:focus,.suggestion-form textarea:focus,.suggestion-form select:focus{outline:none;background:var(--bg);border-color:var(--accent);box-shadow:var(--shadow-inner),0 0 0 4px var(--accent-muted)}.suggestion-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.suggestion-form .form-actions{display:flex;justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid rgba(212,168,83,.15)}.suggestion-form .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;border:none;transition:all var(--duration) var(--ease-out)}.suggestion-form .btn-primary{background:var(--gradient-gold);color:var(--primary);box-shadow:var(--shadow-sm)}.suggestion-form .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.suggestion-form .btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid rgba(0,0,0,.08)}.suggestion-form .btn-secondary:hover{background:var(--bg-warm);border-color:#d4a8534d}.excursions-header .btn-sm{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;background:var(--gradient-gold);color:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--duration) var(--ease-out)}.excursions-header .btn-sm:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.suggestion-card{flex-direction:column}.suggestion-image{width:100%;height:160px}.suggestion-image:after{background:linear-gradient(180deg,transparent 60%,rgba(10,22,40,.1) 100%)}.suggestion-actions{flex-direction:row;padding:var(--space-md);border-left:none;border-top:1px solid rgba(212,168,83,.1)}.voters-list{max-width:none;flex-wrap:nowrap}.suggestion-form .form-row{grid-template-columns:1fr}.suggestion-form .form-actions{flex-direction:column}.suggestion-form .btn{width:100%;justify-content:center}}@media (prefers-reduced-motion: reduce){.excursions-loading:before{animation:none}.suggestion-card,.vote-button,.suggestion-image img{transition:box-shadow var(--duration) var(--ease-out)}.suggestion-card:hover,.vote-button:hover,.suggestion-card:hover .suggestion-image img,.vote-button:hover .vote-icon{transform:none}}.port-guide-card{background:var(--bg-card, #ffffff);border-radius:var(--radius-lg, 12px);margin-top:var(--space-lg, 1.5rem);overflow:hidden;border:1px solid rgba(212,168,83,.2);box-shadow:var(--shadow-sm, 0 2px 8px rgba(10, 22, 40, .06))}.port-guide-card.loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm, .5rem);padding:var(--space-2xl, 3rem);color:var(--text-muted, #5a5a5a);font-family:var(--font-body, "Raleway", sans-serif)}.loading-spinner{width:24px;height:24px;border:2px solid var(--bg-cream, #f5f2eb);border-top-color:var(--accent, #d4a853);border-radius:50%;animation:spin .8s linear infinite}.port-guide-header{background:var(--gradient-ocean, linear-gradient(135deg, #0a1628 0%, #162540 50%, #1a5f6a 100%));color:var(--text-inverse, #faf8f3);padding:var(--space-lg, 1.5rem) var(--space-xl, 2rem);display:flex;justify-content:space-between;align-items:center;position:relative}.port-guide-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gradient-gold, linear-gradient(135deg, #d4a853 0%, #e8c478 100%))}.port-guide-header h3{margin:0;font-family:var(--font-display, "Cormorant Garamond", serif);font-size:var(--text-xl, 1.25rem);font-weight:600;letter-spacing:var(--tracking-tight, -.02em)}.port-country{background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-xs, .25rem) var(--space-md, 1rem);border-radius:var(--radius-full, 9999px);font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-sm, .875rem);font-weight:500;border:1px solid rgba(255,255,255,.1)}.port-guide-tabs{display:flex;background:var(--bg-cream, #f5f2eb);border-bottom:1px solid rgba(212,168,83,.15);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.port-guide-tabs::-webkit-scrollbar{display:none}.port-guide-tabs .tab{flex:1;min-width:max-content;padding:var(--space-md, 1rem) var(--space-lg, 1.5rem);border:none;background:none;color:var(--text-muted, #5a5a5a);font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-sm, .875rem);font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease;border-bottom:3px solid transparent;text-transform:uppercase;letter-spacing:var(--tracking-wide, .05em)}.port-guide-tabs .tab:hover{color:var(--primary, #0a1628);background:var(--bg-warm, #efe9de)}.port-guide-tabs .tab.active{color:var(--primary, #0a1628);border-bottom-color:var(--accent, #d4a853);font-weight:600;background:var(--bg-card, #ffffff)}.port-guide-content{padding:var(--space-xl, 2rem);background:var(--bg-card, #ffffff)}.overview-tab .info-section{margin-bottom:var(--space-xl, 2rem)}.overview-tab .info-section h4{margin:0 0 var(--space-sm, .5rem) 0;font-family:var(--font-display, "Cormorant Garamond", serif);font-size:var(--text-lg, 1.125rem);font-weight:600;color:var(--primary, #0a1628);letter-spacing:var(--tracking-tight, -.02em)}.overview-text{font-family:var(--font-body, "Raleway", sans-serif);color:var(--text, #1a1a1a);line-height:1.7;margin:0;font-size:var(--text-base, 1rem)}.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md, 1rem);margin:var(--space-lg, 1.5rem) 0}.fact{background:var(--bg-cream, #f5f2eb);padding:var(--space-md, 1rem);border-radius:var(--radius, 8px);border-left:3px solid var(--accent, #d4a853)}.fact-label{display:block;font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-xs, .75rem);color:var(--text-muted, #5a5a5a);text-transform:uppercase;letter-spacing:var(--tracking-wider, .1em);margin-bottom:var(--space-xs, .25rem)}.fact-value{display:block;font-family:var(--font-body, "Raleway", sans-serif);font-weight:600;color:var(--primary, #0a1628);font-size:var(--text-sm, .875rem)}.tips-list{margin:0;padding:0;list-style:none}.tips-list li{font-family:var(--font-body, "Raleway", sans-serif);color:var(--text, #1a1a1a);margin-bottom:var(--space-sm, .5rem);line-height:1.6;padding-left:var(--space-lg, 1.5rem);position:relative;font-size:var(--text-sm, .875rem)}.tips-list li:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--accent, #d4a853);border-radius:50%}.photo-spots{display:flex;flex-direction:column;gap:var(--space-sm, .5rem)}.photo-spot{display:flex;gap:var(--space-md, 1rem);padding:var(--space-md, 1rem);background:var(--bg-cream, #f5f2eb);border-radius:var(--radius, 8px);align-items:flex-start}.photo-spot strong{font-family:var(--font-body, "Raleway", sans-serif);color:var(--primary, #0a1628);font-size:var(--text-sm, .875rem);min-width:100px}.photo-spot span{font-family:var(--font-body, "Raleway", sans-serif);color:var(--text-muted, #5a5a5a);font-size:var(--text-sm, .875rem);line-height:1.5}.attractions-section{margin-bottom:var(--space-xl, 2rem)}.attractions-section h4{margin:0 0 var(--space-md, 1rem) 0;font-family:var(--font-display, "Cormorant Garamond", serif);font-size:var(--text-lg, 1.125rem);font-weight:600;color:var(--primary, #0a1628);display:flex;align-items:center;gap:var(--space-sm, .5rem)}.attractions-section h4:before{content:"";width:4px;height:1em;background:var(--accent, #d4a853);border-radius:2px}.attractions-list{display:flex;flex-direction:column;gap:var(--space-md, 1rem)}.attraction-card{background:var(--bg-cream, #f5f2eb);border-radius:var(--radius, 8px);padding:var(--space-lg, 1.5rem);border:1px solid transparent;transition:all .25s ease}.attraction-card:hover{border-color:var(--accent, #d4a853);box-shadow:var(--shadow-sm, 0 2px 8px rgba(10, 22, 40, .06));background:var(--bg-card, #ffffff)}.attraction-card.selected{border-color:var(--success, #2a7d5f);background:var(--success-bg, #e8f5ef)}.attraction-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md, 1rem);margin-bottom:var(--space-sm, .5rem)}.attraction-header h5{margin:0;font-family:var(--font-display, "Cormorant Garamond", serif);font-size:var(--text-lg, 1.125rem);font-weight:600;color:var(--primary, #0a1628);line-height:1.3}.category-badge{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-xs, .75rem);font-weight:600;padding:var(--space-xs, .25rem) var(--space-sm, .5rem);border-radius:var(--radius-full, 9999px);text-transform:uppercase;letter-spacing:var(--tracking-wide, .05em);white-space:nowrap}.category-badge.must_see{background:var(--accent-muted, rgba(212, 168, 83, .15));color:var(--warning, #c4851a)}.category-badge.attraction{background:var(--info-bg, #e8f0f5);color:var(--info, #2a5f7d)}.category-badge.beach{background:#e0f4f1;color:var(--teal, #1a5f6a)}.category-badge.day_trip{background:var(--bg-warm, #efe9de);color:var(--text-muted, #5a5a5a)}.category-badge.activity{background:#f9e8e8;color:var(--error, #b33a3a)}.attraction-description{font-family:var(--font-body, "Raleway", sans-serif);color:var(--text, #1a1a1a);font-size:var(--text-sm, .875rem);line-height:1.6;margin:0 0 var(--space-sm, .5rem) 0}.attraction-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm, .5rem);margin-bottom:var(--space-sm, .5rem)}.attraction-meta .meta-item{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-xs, .75rem);color:var(--text-muted, #5a5a5a);background:var(--bg-card, #ffffff);padding:var(--space-xs, .25rem) var(--space-sm, .5rem);border-radius:var(--radius-sm, 4px);border:1px solid rgba(0,0,0,.06)}.attraction-tips{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-sm, .875rem);color:var(--warning, #c4851a);background:var(--warning-bg, #fef5e7);padding:var(--space-sm, .5rem) var(--space-md, 1rem);border-radius:var(--radius, 8px);margin:var(--space-sm, .5rem) 0;border-left:3px solid var(--accent, #d4a853)}.add-btn{width:100%;padding:var(--space-md, 1rem);border:2px solid var(--primary, #0a1628);background:transparent;color:var(--primary, #0a1628);border-radius:var(--radius, 8px);font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-sm, .875rem);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide, .05em);cursor:pointer;transition:all .25s ease;margin-top:var(--space-sm, .5rem)}.add-btn:hover:not(:disabled){background:var(--primary, #0a1628);color:var(--text-inverse, #faf8f3)}.add-btn.added{background:var(--success, #2a7d5f);border-color:var(--success, #2a7d5f);color:#fff;cursor:default}.add-btn:disabled{cursor:default}.food-section{margin-bottom:var(--space-xl, 2rem)}.food-section h4{margin:0 0 var(--space-md, 1rem) 0;font-family:var(--font-display, "Cormorant Garamond", serif);font-size:var(--text-lg, 1.125rem);font-weight:600;color:var(--primary, #0a1628);display:flex;align-items:center;gap:var(--space-sm, .5rem)}.food-section h4:before{content:"";width:4px;height:1em;background:var(--accent, #d4a853);border-radius:2px}.food-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-md, 1rem)}.food-card{background:var(--bg-cream, #f5f2eb);border-radius:var(--radius, 8px);padding:var(--space-lg, 1.5rem);border:1px solid transparent;display:flex;flex-direction:column;transition:all .25s ease}.food-card:hover{border-color:var(--accent, #d4a853);background:var(--bg-card, #ffffff)}.food-card.selected{border-color:var(--success, #2a7d5f);background:var(--success-bg, #e8f5ef)}.food-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm, .5rem);margin-bottom:var(--space-sm, .5rem)}.food-header h5{margin:0;font-family:var(--font-display, "Cormorant Garamond", serif);font-size:var(--text-base, 1rem);font-weight:600;color:var(--primary, #0a1628)}.must-try-badge{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-xs, .75rem);font-weight:600;padding:var(--space-xs, .25rem) var(--space-sm, .5rem);background:var(--accent, #d4a853);color:var(--primary, #0a1628);border-radius:var(--radius-full, 9999px);white-space:nowrap;text-transform:uppercase;letter-spacing:var(--tracking-wide, .05em)}.food-description{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-sm, .875rem);color:var(--text-muted, #5a5a5a);margin:0 0 var(--space-sm, .5rem) 0;flex:1;line-height:1.5}.food-category{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-xs, .75rem);color:var(--text-light, #8a8a7a);text-transform:uppercase;letter-spacing:var(--tracking-wider, .1em);margin-bottom:var(--space-sm, .5rem)}.itineraries-tab{display:flex;flex-direction:column;gap:var(--space-md, 1rem)}.itinerary-card{background:var(--bg-cream, #f5f2eb);border-radius:var(--radius, 8px);padding:var(--space-lg, 1.5rem);border:1px solid transparent;transition:all .25s ease}.itinerary-card:hover{border-color:var(--accent, #d4a853);background:var(--bg-card, #ffffff)}.itinerary-card.selected{border-color:var(--success, #2a7d5f);background:var(--success-bg, #e8f5ef)}.itinerary-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.itinerary-title h5{margin:0 0 var(--space-xs, .25rem) 0;font-family:var(--font-display, "Cormorant Garamond", serif);font-size:var(--text-lg, 1.125rem);font-weight:600;color:var(--primary, #0a1628)}.itinerary-meta{display:flex;gap:var(--space-sm, .5rem);align-items:center}.itinerary-meta .meta-item{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-xs, .75rem);color:var(--text-muted, #5a5a5a)}.type-badge{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-xs, .75rem);font-weight:600;padding:var(--space-xs, .25rem) var(--space-sm, .5rem);border-radius:var(--radius-full, 9999px);text-transform:uppercase;letter-spacing:var(--tracking-wide, .05em)}.type-badge.relaxed{background:var(--success-bg, #e8f5ef);color:var(--success, #2a7d5f)}.type-badge.active{background:#f9e8e8;color:var(--error, #b33a3a)}.type-badge.cultural{background:var(--info-bg, #e8f0f5);color:var(--info, #2a5f7d)}.type-badge.beach{background:#e0f4f1;color:var(--teal, #1a5f6a)}.type-badge.adventure{background:var(--warning-bg, #fef5e7);color:var(--warning, #c4851a)}.expand-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--primary, #0a1628);background:transparent;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;color:var(--primary, #0a1628)}.expand-btn:hover{background:var(--primary, #0a1628);color:var(--text-inverse, #faf8f3)}.itinerary-description{font-family:var(--font-body, "Raleway", sans-serif);color:var(--text-muted, #5a5a5a);font-size:var(--text-sm, .875rem);margin:var(--space-sm, .5rem) 0;line-height:1.5}.schedule{margin:var(--space-lg, 1.5rem) 0;padding:0;background:transparent;border-radius:var(--radius, 8px)}.schedule-item{display:flex;gap:var(--space-md, 1rem);padding:var(--space-md, 1rem);background:var(--bg-card, #ffffff);border-radius:var(--radius, 8px);margin-bottom:var(--space-xs, .25rem);border-left:3px solid var(--accent, #d4a853)}.schedule-item:last-child{margin-bottom:0}.schedule-time{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-sm, .875rem);font-weight:600;color:var(--teal, #1a5f6a);min-width:90px;flex-shrink:0}.schedule-activity{font-family:var(--font-body, "Raleway", sans-serif);font-size:var(--text-sm, .875rem);color:var(--text, #1a1a1a);line-height:1.4}@media (max-width: 768px){.port-guide-card{margin-top:var(--space-md, 1rem);border-radius:var(--radius, 8px)}.port-guide-header{padding:var(--space-md, 1rem) var(--space-lg, 1.5rem);flex-direction:column;align-items:flex-start;gap:var(--space-sm, .5rem)}.port-guide-header h3{font-size:var(--text-lg, 1.125rem)}.port-country{align-self:flex-start}.port-guide-tabs{gap:0}.port-guide-tabs .tab{padding:var(--space-md, 1rem) var(--space-md, 1rem);font-size:var(--text-xs, .75rem);flex:0 0 auto;min-width:auto}.port-guide-content{padding:var(--space-lg, 1.5rem)}.quick-facts{grid-template-columns:1fr;gap:var(--space-sm, .5rem)}.fact{padding:var(--space-md, 1rem);display:flex;justify-content:space-between;align-items:center}.fact-label{margin-bottom:0}.fact-value{text-align:right}.tips-list li{font-size:var(--text-base, 1rem);padding-left:var(--space-lg, 1.5rem);margin-bottom:var(--space-md, 1rem)}.photo-spot{flex-direction:column;gap:var(--space-xs, .25rem)}.photo-spot strong{min-width:auto}.attractions-section h4{font-size:var(--text-base, 1rem)}.attraction-card{padding:var(--space-md, 1rem)}.attraction-header{flex-direction:column;align-items:flex-start;gap:var(--space-xs, .25rem)}.attraction-header h5{font-size:var(--text-base, 1rem)}.attraction-description{font-size:var(--text-base, 1rem);line-height:1.7}.attraction-meta{gap:var(--space-xs, .25rem)}.attraction-meta .meta-item{font-size:var(--text-sm, .875rem);padding:var(--space-xs, .25rem) var(--space-md, 1rem)}.attraction-tips{font-size:var(--text-base, 1rem)}.add-btn{padding:var(--space-lg, 1.5rem);font-size:var(--text-base, 1rem)}.food-list{grid-template-columns:1fr}.food-card{padding:var(--space-md, 1rem)}.food-header h5,.food-description{font-size:var(--text-base, 1rem)}.itinerary-card{padding:var(--space-md, 1rem)}.itinerary-title h5{font-size:var(--text-base, 1rem)}.schedule-item{flex-direction:column;gap:var(--space-xs, .25rem);padding:var(--space-md, 1rem)}.schedule-time{font-size:var(--text-base, 1rem);min-width:auto}.schedule-activity{font-size:var(--text-base, 1rem)}}@media (max-width: 480px){.port-guide-header{padding:var(--space-md, 1rem)}.port-guide-header h3{font-size:var(--text-base, 1rem)}.port-guide-tabs .tab{padding:var(--space-sm, .5rem) var(--space-md, 1rem);font-size:.7rem}.port-guide-content{padding:var(--space-md, 1rem)}}@media (prefers-reduced-motion: reduce){.loading-spinner{animation:none}.port-guide-tabs .tab,.attraction-card,.food-card,.itinerary-card,.add-btn,.expand-btn{transition:none}}.trip-detail-page{max-width:var(--container);margin:0 auto;padding:var(--space-xl);min-height:calc(100vh - 64px)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl);color:var(--text-muted);font-family:var(--font-body)}.loading-state:before{content:"";width:48px;height:48px;border:3px solid var(--accent-muted);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-lg)}.error-state{text-align:center;padding:var(--space-3xl);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.error-state h2{font-family:var(--font-display);color:var(--primary);margin:0 0 var(--space-sm) 0;font-size:var(--text-2xl)}.error-state p{font-family:var(--font-body);color:var(--text-muted);margin:0 0 var(--space-xl) 0}.trip-hero{background:var(--gradient-ocean);border-radius:var(--radius-lg);padding:var(--space-2xl);color:var(--text-inverse);margin-bottom:var(--space-xl);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-xl);position:relative;overflow:hidden}.trip-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pattern-dots);opacity:.15;pointer-events:none}.trip-hero:after{content:"";position:absolute;top:-30%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(212,168,83,.12) 0%,transparent 70%);pointer-events:none}.trip-hero-content{position:relative;z-index:1;flex:1}.trip-hero .back-link{display:inline-flex;align-items:center;gap:var(--space-xs);color:#ffffffb3;text-decoration:none;margin-bottom:var(--space-lg);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;transition:color var(--duration) var(--ease-out)}.trip-hero .back-link:hover{color:var(--accent-light)}.trip-hero .back-link:before{content:"←";font-size:1.2em}.trip-hero h1{font-family:var(--font-display);margin:0 0 var(--space-md) 0;font-size:var(--text-4xl);font-weight:600;letter-spacing:var(--tracking-tight);line-height:1.2}.trip-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.meta-item{background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;border:1px solid rgba(255,255,255,.1)}.trip-dates-hero{margin:0 0 var(--space-xs) 0;font-family:var(--font-body);font-size:var(--text-lg);opacity:.9;display:flex;align-items:center;gap:var(--space-sm)}.trip-dates-hero:before{content:"";width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23faf8f3' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-size:contain;opacity:.8}.trip-route-hero{margin:0;font-family:var(--font-body);font-size:var(--text-base);opacity:.8;display:flex;align-items:center;gap:var(--space-sm)}.trip-route-hero:before{content:"";width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23faf8f3' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a10 10 0 0 1 0 20M2 12h20'/%3E%3C/svg%3E");background-size:contain;opacity:.8}.trip-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-md);position:relative;z-index:1}.trip-hero-actions .status-badge{padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);letter-spacing:var(--tracking-wider)}.action-buttons{display:flex;gap:var(--space-sm)}.trip-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.overview-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:all var(--duration) var(--ease-out)}.overview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-gold);opacity:0;transition:opacity var(--duration) var(--ease-out)}.overview-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.overview-card:hover:before{opacity:1}.overview-card h3{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-sm) 0}.overview-value{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--primary);font-weight:600;margin:0}.share-link a{font-family:var(--font-body);color:var(--teal);font-size:var(--text-sm);text-decoration:none;font-weight:600;transition:color var(--duration) var(--ease-out)}.share-link a:hover{color:var(--accent)}.trip-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow);margin-bottom:var(--space-xl);position:relative}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(212,168,83,.15);position:relative}.section-header:after{content:"";position:absolute;bottom:-1px;left:0;width:80px;height:2px;background:var(--gradient-gold);border-radius:1px}.trip-section h2{font-family:var(--font-display);color:var(--primary);margin:0;font-size:var(--text-2xl);font-weight:600;letter-spacing:var(--tracking-tight)}.trip-description{font-family:var(--font-body);color:var(--text);line-height:1.8;margin:0;font-size:var(--text-base)}.empty-itinerary{text-align:center;padding:var(--space-2xl);background:var(--bg-cream);border-radius:var(--radius);border:2px dashed rgba(212,168,83,.3)}.empty-itinerary p{font-family:var(--font-body);color:var(--text-muted);margin:0 0 var(--space-lg) 0}.itinerary-timeline{position:relative;padding-left:var(--space-2xl)}.itinerary-timeline:before{content:"";position:absolute;left:18px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--accent),var(--teal-light),var(--accent));border-radius:1px}.timeline-item{position:relative;padding-bottom:var(--space-xl);animation:fadeInUp .4s var(--ease-out) both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.timeline-item:nth-child(1){animation-delay:.1s}.timeline-item:nth-child(2){animation-delay:.15s}.timeline-item:nth-child(3){animation-delay:.2s}.timeline-item:nth-child(4){animation-delay:.25s}.timeline-item:nth-child(5){animation-delay:.3s}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:-44px;width:36px;height:36px;border-radius:50%;background:var(--gradient-ocean);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm),0 0 0 4px var(--bg-card);transition:transform var(--duration) var(--ease-spring)}.timeline-item:hover .timeline-marker{transform:scale(1.1)}.timeline-item.sea .timeline-marker{background:linear-gradient(135deg,#2a8090,#64b5f6)}.timeline-item.embarkation .timeline-marker,.timeline-item.disembarkation .timeline-marker{background:var(--gradient-gold)}.day-number{font-family:var(--font-body);color:#fff;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide)}.timeline-content{background:var(--bg-cream);border-radius:var(--radius);padding:var(--space-lg);transition:all var(--duration) var(--ease-out);border:1px solid transparent}.timeline-item:hover .timeline-content{background:var(--bg);border-color:#d4a85333;box-shadow:var(--shadow-sm)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.timeline-date{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.day-type-badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.day-type-badge.port{background:var(--success-bg);color:var(--success)}.day-type-badge.sea{background:var(--info-bg);color:var(--info)}.day-type-badge.embarkation,.day-type-badge.disembarkation{background:var(--accent-muted);color:var(--warning)}.timeline-title{font-family:var(--font-display);color:var(--primary);margin:0 0 var(--space-xs) 0;font-size:var(--text-lg);font-weight:600}.timeline-port{font-family:var(--font-body);color:var(--teal);font-size:var(--text-sm);font-weight:600;margin:0 0 var(--space-sm) 0}.timeline-description{font-family:var(--font-body);color:var(--text-muted);font-size:var(--text-sm);margin:0;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;transition:all var(--duration) var(--ease-out);position:relative;overflow:hidden}.btn-secondary{background:#ffffff26;color:var(--text-inverse);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff40}.trip-section .btn-secondary{background:var(--bg-cream);color:var(--text);border:1px solid rgba(0,0,0,.08)}.trip-section .btn-secondary:hover{background:var(--bg-warm);border-color:#d4a8534d}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#991f1f;transform:translateY(-2px)}.status-badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.status-badge.draft{background:#fff3;color:var(--text-inverse)}.status-badge.published{background:var(--success);color:#fff}.status-badge.archived{background:var(--warning);color:#fff}@media (max-width: 768px){.trip-detail-page{padding:var(--space-md)}.trip-hero{flex-direction:column;padding:var(--space-lg);gap:var(--space-md);border-radius:var(--radius)}.trip-hero h1{font-size:var(--text-xl);line-height:1.3}.trip-meta{gap:var(--space-xs)}.meta-item{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.trip-dates-hero,.trip-route-hero{font-size:var(--text-sm)}.trip-hero-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.action-buttons{flex-wrap:wrap;gap:var(--space-xs)}.btn{padding:var(--space-sm) var(--space-md);font-size:var(--text-xs)}.trip-overview{grid-template-columns:1fr;gap:var(--space-md)}.overview-card{padding:var(--space-lg)}.trip-section{padding:var(--space-lg);border-radius:var(--radius)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md)}.trip-section h2{font-size:var(--text-xl)}.itinerary-timeline{padding-left:0}.itinerary-timeline:before{display:none}.timeline-item{padding-bottom:var(--space-md)}.timeline-marker{position:static;width:100%;height:auto;border-radius:var(--radius);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);flex-direction:row;justify-content:space-between;display:flex;align-items:center}.timeline-marker:after{content:attr(data-date);font-family:var(--font-body);font-size:var(--text-sm);opacity:.9}.day-number{font-size:var(--text-sm);font-weight:700}.timeline-content{padding:var(--space-md);border-radius:var(--radius);margin-left:0}.timeline-header{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.timeline-date{font-size:var(--text-sm)}.day-type-badge{font-size:var(--text-xs)}.timeline-title{font-size:var(--text-base)}.timeline-port{font-size:var(--text-sm)}.timeline-description{font-size:var(--text-sm);line-height:1.6}}@media (max-width: 480px){.trip-detail-page{padding:var(--space-sm)}.trip-hero{padding:var(--space-md)}.trip-hero h1{font-size:var(--text-lg)}.trip-hero .back-link{font-size:var(--text-xs);margin-bottom:var(--space-md)}.trip-section{padding:var(--space-md)}.timeline-content{padding:var(--space-sm)}}@media (prefers-reduced-motion: reduce){.loading-state:before{animation:none}.timeline-item{animation:none}.overview-card,.timeline-marker,.timeline-content{transition:box-shadow var(--duration) var(--ease-out)}.overview-card:hover,.timeline-item:hover .timeline-marker{transform:none}.btn-primary:before{display:none}}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--primary);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0}.sidebar-header{padding:var(--space-lg);border-bottom:1px solid rgba(255,255,255,.1)}.logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#fff}.sidebar-nav{flex:1;padding:var(--space-md)}.nav-item{display:block;padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-xs);border-radius:var(--radius-sm);color:#fffc;transition:all var(--transition)}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#ffffff26;color:#fff;border-left:3px solid var(--accent)}.sidebar-footer{padding:var(--space-lg);border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.user-details{display:flex;flex-direction:column}.user-name{font-weight:600;font-size:.95rem}.user-email{font-size:.8rem;opacity:.7}.logout-btn{width:100%;padding:var(--space-sm) var(--space-md);background:#ffffff1a;border:none;border-radius:var(--radius-sm);color:#fff;font-size:.9rem;cursor:pointer;transition:background var(--transition)}.logout-btn:hover{background:#fff3}.main-content{flex:1;margin-left:260px;padding:var(--space-xl);background:var(--bg-alt);min-height:100vh}@media (max-width: 768px){.sidebar{width:100%;position:relative;height:auto}.main-content{margin-left:0}.app-layout{flex-direction:column}}:root{--primary: #0a1628;--primary-light: #162540;--primary-muted: #1e3352;--accent: #d4a853;--accent-light: #e8c478;--accent-muted: rgba(212, 168, 83, .15);--teal: #1a5f6a;--teal-light: #2a8090;--bg: #faf8f3;--bg-cream: #f5f2eb;--bg-warm: #efe9de;--bg-dark: #0a1628;--bg-card: #ffffff;--text: #1a1a1a;--text-muted: #5a5a5a;--text-light: #8a8a7a;--text-inverse: #faf8f3;--success: #2a7d5f;--success-bg: #e8f5ef;--warning: #c4851a;--warning-bg: #fef5e7;--error: #b33a3a;--error-bg: #fceaea;--info: #2a5f7d;--info-bg: #e8f0f5;--font-display: "Cormorant Garamond", "Georgia", serif;--font-body: "Raleway", "Helvetica Neue", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em;--tracking-widest: .2em;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 9999px;--border-thin: 1px;--border: 2px;--border-thick: 3px;--shadow-subtle: 0 1px 2px rgba(10, 22, 40, .04);--shadow-sm: 0 2px 8px rgba(10, 22, 40, .06);--shadow: 0 4px 16px rgba(10, 22, 40, .08);--shadow-lg: 0 8px 32px rgba(10, 22, 40, .12);--shadow-xl: 0 16px 48px rgba(10, 22, 40, .16);--shadow-glow: 0 0 40px rgba(212, 168, 83, .2);--shadow-inner: inset 0 2px 4px rgba(10, 22, 40, .06);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration: .25s;--duration-slow: .4s;--duration-slower: .6s;--container-sm: 640px;--container: 960px;--container-lg: 1200px;--container-xl: 1400px;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--pattern-dots: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(212,168,83,0.1)'/%3E%3C/svg%3E");--pattern-lines: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 40L40 0' stroke='rgba(212,168,83,0.08)' stroke-width='1'/%3E%3C/svg%3E");--gradient-ocean: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 50%, var(--teal) 100%);--gradient-gold: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);--gradient-subtle: linear-gradient(180deg, var(--bg) 0%, var(--bg-cream) 100%)}@media (prefers-color-scheme: dark){:root{--bg: #0d1520;--bg-cream: #121a28;--bg-warm: #1a2438;--bg-card: #162540;--text: #f5f2eb;--text-muted: #a8a898;--text-light: #6a6a5a}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;font-size:var(--text-base);line-height:1.6;color:var(--text);background:var(--bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--primary);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-md)}p:last-child{margin-bottom:0}a{color:var(--teal);text-decoration:none;transition:color var(--duration) var(--ease-out)}a:hover{color:var(--accent)}strong,b{font-weight:600}small{font-size:var(--text-sm)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-muted);color:var(--primary)}.container{max-width:var(--container-lg);margin:0 auto;padding:0 var(--space-xl)}.container-sm{max-width:var(--container-sm)}.container-lg{max-width:var(--container-xl)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-lg);color:var(--text-muted);font-family:var(--font-body)}.loading:before{content:"";width:48px;height:48px;border:3px solid var(--accent-muted);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.section{padding:var(--space-4xl) 0}.section-alt{background:var(--bg-cream)}.section h2{font-size:var(--text-4xl);color:var(--primary);margin-bottom:var(--space-sm);text-align:center}.section-subtitle{text-align:center;color:var(--text-muted);font-size:var(--text-lg);margin-bottom:var(--space-3xl)}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);transition:all var(--duration) var(--ease-out)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;border:none;border-radius:var(--radius);transition:all var(--duration) var(--ease-out);cursor:pointer;text-decoration:none;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-gold);color:var(--primary);box-shadow:var(--shadow-sm)}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s var(--ease-out)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-primary:hover:before{left:100%}.btn-accent{background:var(--accent);color:var(--primary)}.btn-accent:hover{background:var(--accent-light)}.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover{background:var(--primary);color:var(--text-inverse)}.btn-lg{padding:var(--space-lg) var(--space-2xl);font-size:var(--text-base)}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--text-xs)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;margin-bottom:var(--space-sm);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted)}.form-input{width:100%;padding:var(--space-md) var(--space-lg);font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg-cream);border:2px solid transparent;border-radius:var(--radius);transition:all var(--duration) var(--ease-out);box-shadow:var(--shadow-inner)}.form-input::placeholder{color:var(--text-light)}.form-input:hover{background:var(--bg-warm)}.form-input:focus{outline:none;background:var(--bg);border-color:var(--accent);box-shadow:var(--shadow-inner),0 0 0 4px var(--accent-muted)}.form-input.error{border-color:var(--error);background:var(--error-bg)}.form-error{display:block;color:var(--error);font-size:var(--text-xs);margin-top:var(--space-xs);font-weight:500}.tip-box{background:linear-gradient(90deg,var(--accent-muted) 0%,var(--bg-card) 100%);border-left:4px solid var(--accent);padding:var(--space-lg);margin:var(--space-lg) 0;border-radius:0 var(--radius) var(--radius) 0}.tip-box strong{color:var(--primary);font-family:var(--font-display)}.info-box{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow)}.info-box h3{color:var(--primary);margin-bottom:var(--space-md);font-size:var(--text-xl)}.grid{display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.badge-success{background:var(--success);color:#fff}.badge-warning{background:var(--warning);color:#fff}.badge-error{background:var(--error);color:#fff}.badge-info{background:var(--info);color:#fff}.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,83,.3),transparent);margin:var(--space-xl) 0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-light{color:var(--text-light)}.text-accent{color:var(--accent)}.text-primary{color:var(--primary)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 768px){.section{padding:var(--space-2xl) 0}.section h2{font-size:var(--text-3xl)}.container{padding:0 var(--space-lg)}.grid-2,.grid-3{grid-template-columns:1fr}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.loading:before{animation:none}.btn-primary:before{display:none}.card:hover{transform:none}}
