@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--brand-color: #E85A24;--brand-color-hover: #D14E1A;--brand-color-shadow: rgba(232, 90, 36, .3);--charcoal: #1C2A3A;--gold: #D4AF7A;--gold-light: rgba(212, 175, 122, .15);--cream: #FAF9F7;--white: #FFFFFF;--muted: #6F7276;--border: #E5E5E5;--success-bg: rgba(107, 142, 107, .1);--success: #6B8E6B;--success-border: rgba(107, 142, 107, .3);--error-bg: rgba(196, 117, 110, .1);--error: #C4756E;--error-border: rgba(196, 117, 110, .3);--radius: 12px;--radius-sm: 8px;--radius-pill: 50px;--shadow-sm: 0 1px 3px rgba(28, 42, 58, .08);--shadow-md: 0 4px 12px rgba(28, 42, 58, .1);--shadow-lg: 0 8px 40px rgba(28, 42, 58, .12), 0 2px 8px rgba(28, 42, 58, .08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--cream);color:var(--charcoal);min-height:100dvh;-webkit-font-smoothing:antialiased}#app{min-height:100dvh;display:flex;flex-direction:column}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:24px;background:var(--cream)}.login-card{background:var(--white);border-radius:16px;border-top:3px solid var(--gold);box-shadow:var(--shadow-lg);padding:48px 40px;width:100%;max-width:440px}.login-header{text-align:center;margin-bottom:36px}.logo-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.logo-container img{height:48px;width:auto}.logo-text{font-size:32px;font-weight:700;color:var(--charcoal);letter-spacing:4px}.login-subtitle{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;font-weight:500}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.form-group input{width:100%;padding:12px 14px;background:var(--white);border:1px solid var(--border);border-radius:10px;color:var(--charcoal);font-family:inherit;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder{color:var(--muted)}.form-group input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-light)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border:none;border-radius:var(--radius-pill);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.btn-primary{background:var(--brand-color);color:var(--white);box-shadow:0 2px 8px var(--brand-color-shadow)}.btn-primary:hover{background:var(--brand-color-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--brand-color-shadow)}.btn-secondary{background:var(--white);color:var(--charcoal);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--gold);background:var(--gold-light)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.message{margin-top:16px;padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;text-align:center}.message:empty{display:none}.message.error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.message.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.dashboard{display:flex;flex-direction:column;min-height:100dvh}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--charcoal);color:var(--white)}.dashboard-header .header-brand{display:flex;align-items:center;gap:10px}.dashboard-header .header-brand img{height:28px;width:auto}.dashboard-header h2{font-size:16px;font-weight:600;color:#ffffffe6}.header-actions{display:flex;align-items:center;gap:12px}.btn-ghost{background:none;border:none;color:#fff9;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);transition:color .2s,background .2s}.btn-ghost:hover{color:var(--gold);background:#ffffff0d}.dashboard-nav{display:flex;gap:4px;padding:12px 24px;background:var(--white);border-bottom:1px solid var(--border);overflow-x:auto}.nav-tab{padding:8px 16px;border-radius:var(--radius-pill);font-family:inherit;font-size:14px;font-weight:500;color:var(--muted);background:none;border:none;cursor:pointer;white-space:nowrap;transition:all .2s}.nav-tab:hover{color:var(--charcoal);background:var(--gold-light)}.nav-tab.active{background:var(--brand-color);color:var(--white)}.dashboard-content{flex:1;padding:24px}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.card h3{font-size:15px;font-weight:600;margin-bottom:8px}.card p{color:var(--muted);font-size:14px;line-height:1.5}.empty-state{text-align:center;padding:60px 24px}.empty-state-icon{width:64px;height:64px;border-radius:50%;background:var(--gold-light);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:28px}.empty-state h3{font-size:20px;font-weight:600;color:var(--charcoal);margin-bottom:8px}.empty-state p{color:var(--muted);font-size:14px;max-width:360px;margin:0 auto;line-height:1.5}.section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:12px}.trip-card{display:block;border-radius:var(--radius);overflow:hidden;height:180px;position:relative;margin-bottom:12px;text-decoration:none;color:#fff;transition:transform .2s,box-shadow .2s}.trip-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.trip-card-content{position:absolute;bottom:0;left:0;right:0;padding:16px 20px}.trip-card-title{font-size:18px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.4)}.trip-card-dates{font-size:13px;opacity:.9;margin-top:2px}.trip-card-advisor{font-size:12px;opacity:.7;margin-top:4px}.proposal-card{text-decoration:none;display:block;transition:transform .2s}.proposal-card:hover{transform:translateY(-1px)}.proposal-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.proposal-total{font-size:20px;font-weight:700;color:var(--charcoal);margin-top:12px}.status-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;white-space:nowrap}.status-pending{background:#d4af7a26;color:#b8963a}.status-accepted{background:var(--success-bg);color:var(--success)}.status-declined{background:var(--error-bg);color:var(--error)}.chat-container{display:flex;flex-direction:column;height:calc(100dvh - 140px);background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.chat-header{padding:14px 20px;border-bottom:1px solid var(--border)}.chat-header h3{font-size:15px;font-weight:600}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:8px}.chat-bubble{max-width:75%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.4}.chat-bubble-client{align-self:flex-end;background:var(--brand-color);color:#fff;border-bottom-right-radius:4px}.chat-bubble-advisor{align-self:flex-start;background:#f0f0f0;color:var(--charcoal);border-bottom-left-radius:4px}.chat-bubble-body{word-wrap:break-word}.chat-bubble-time{font-size:11px;opacity:.6;margin-top:4px}.chat-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--cream)}.chat-input input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-pill);font-family:inherit;font-size:14px;color:var(--charcoal);outline:none;background:var(--white)}.chat-input input:focus{border-color:var(--gold)}.chat-send{width:auto;padding:10px 20px;font-size:14px}.documents-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.documents-header h3{font-size:18px;font-weight:600}.btn-sm{padding:8px 16px;font-size:13px;cursor:pointer;width:auto}.document-card{display:flex;align-items:center;gap:14px;text-decoration:none;transition:transform .2s}.document-card:hover{transform:translateY(-1px)}.doc-icon{font-size:28px;flex-shrink:0}.doc-info{flex:1;min-width:0}.doc-name{font-size:14px;font-weight:600;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta{font-size:12px;color:var(--muted);margin-top:2px}.profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.profile-section-header h3{margin-bottom:0}.btn-edit{background:none;border:1px solid var(--border);color:var(--muted);font-family:inherit;font-size:12px;font-weight:500;padding:4px 12px;border-radius:var(--radius-pill);cursor:pointer;transition:all .2s}.btn-edit:hover{color:var(--charcoal);border-color:var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.view-field{margin-bottom:12px}.view-label{display:block;font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.view-value{font-size:14px;color:var(--charcoal)}.view-value.empty{color:var(--muted);font-style:italic}.companion-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-bottom:8px}.companion-item-header{display:flex;justify-content:space-between;align-items:flex-start}.companion-item-name{font-weight:600;font-size:14px}.companion-item-meta{font-size:12px;color:var(--muted);margin-top:2px}.list-item-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.form-group select{width:100%;padding:12px 14px;background:var(--white);border:1px solid var(--border);border-radius:10px;color:var(--charcoal);font-family:inherit;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-light)}.list-item-row input,.list-item-row select{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:14px;color:var(--charcoal);outline:none;background:var(--white)}.list-item-row input:focus,.list-item-row select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-light)}.btn-icon{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;font-size:18px;line-height:1;flex-shrink:0}.btn-icon:hover{color:var(--error);background:var(--error-bg)}.btn-add{background:none;border:1px dashed var(--border);color:var(--muted);font-family:inherit;font-size:13px;padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;width:100%;text-align:center;transition:all .2s}.btn-add:hover{border-color:var(--brand-color);color:var(--brand-color)}.section-actions{display:flex;gap:8px;margin-top:12px}.section-actions .btn{width:auto;padding:8px 20px;font-size:13px}.passport-status{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;margin-left:8px}.passport-valid{background:var(--success-bg);color:var(--success)}.passport-expiring{background:#d4af7a26;color:#b8963a}.passport-expired{background:var(--error-bg);color:var(--error)}.portal-footer{text-align:center;padding:16px 24px;font-size:12px;color:var(--muted);border-top:1px solid var(--border)}.portal-footer a{color:var(--muted);font-weight:600;text-decoration:none}.portal-footer a:hover{color:var(--charcoal)}@media(max-width:480px){.login-card{padding:36px 24px}.logo-text{font-size:28px}.logo-container img{height:40px}}@media(min-width:768px){.dashboard-content{max-width:800px;margin:0 auto;width:100%}}
