/* The account keeps the bronze palette while giving content a quieter surface. */
.account-dialog .account-inner { padding: max(78px,calc(env(safe-area-inset-top) + 68px)) clamp(20px,5vw,80px) max(44px,env(safe-area-inset-bottom)); }
.account-header { align-items: center; gap: 24px; padding-bottom: 24px; margin-bottom: 24px; }
.account-header .about-kicker { margin: 0 0 12px; letter-spacing: .26em; font-size: .84rem; }
.account-label { margin-left: 18px; color: #c8b89e; letter-spacing: .06em; font-size: .75rem; }
.account-header #account-title { margin: 0; font: 400 clamp(1.55rem,2.7vw,2.45rem)/1.35 Georgia,serif; letter-spacing: -.015em; color: #f5e8cf; }
.account-settings-link { flex-shrink: 0; margin-right: 36px; }
.account-tabs { margin: 0 0 30px; gap: 9px; }
.account-tab { font-size: .93rem; min-height: 46px; padding: 11px 17px; }
.account-overview,.account-secondary-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 22px; }
.account-secondary-grid { margin-top: 22px; }
.concierge-hero { position: relative; overflow: hidden; padding: clamp(28px,4vw,52px); background: radial-gradient(ellipse at 90% 10%,rgba(216,163,84,.22),transparent 65%),linear-gradient(135deg,rgba(255,255,255,.09),rgba(41,26,14,.46)); }
.concierge-hero::after { content: 'E'; position: absolute; right: -9px; top: 12px; font: 300px/1 Georgia,serif; color: rgba(255,236,197,.035); pointer-events: none; }
.concierge-hero > * { position: relative; z-index: 1; }
.concierge-hero .about-kicker { margin: 0 0 24px; font-size: .75rem; letter-spacing: .18em; }
.concierge-hero h3 { font: 400 clamp(2.3rem,4.2vw,4rem)/1.1 Georgia,serif; letter-spacing: -.025em; color: #f9e7c5; margin: 0 0 22px; }
.concierge-hero > p:not(.about-kicker):not(.response-promise) { max-width: 440px; font-size: 1rem; line-height: 1.85; color: #e7d9c5; margin: 0 0 28px; }
.primary-glass { justify-content: center; border-color: rgba(255,230,178,.6); background: radial-gradient(130% 90% at 10% 0%,rgba(255,255,255,.2),transparent 70%),linear-gradient(140deg,rgba(227,182,103,.24),rgba(48,34,20,.4)); box-shadow: inset 0 1px 0 rgba(255,255,255,.45),0 8px 28px rgba(0,0,0,.2); color: #ffedc5; font-weight: 500; }
.concierge-hero .primary-glass { min-height: 56px; padding-inline: 24px; gap: 26px; }
.response-promise { display: flex; align-items: center; gap: 9px; color: #dbc49d; font-size: .81rem; margin: 17px 0 0; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #dfc58e; box-shadow: 0 0 10px rgba(224,187,115,.45); }
.overview-card { padding: clamp(23px,3vw,34px); min-width: 0; display: flex; flex-direction: column; }
.overview-card h3 { color: #f6e4c5; font: 400 1.5rem/1.3 Georgia,serif; margin: 0 0 16px; }
.overview-card h4 { margin: 0 0 18px; font: 400 1.4rem/1.4 Georgia,serif; color: #f6e4c5; }
.overview-card > p,.profile-summary > p { color: #ded0bc; font-size: 1rem; line-height: 1.8; margin: 0 0 22px; }
.overview-card .form-note { color: #d3c4ad; font-size: .875rem; line-height: 1.7; }
.overview-card > .glass-button { align-self: flex-start; }
.card-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.card-heading h3,.card-heading .about-kicker { margin: 0; }
.card-heading .text-button { flex-shrink: 0; font-size: .8rem; }
.card-bottom-link { display: flex; justify-content: space-between; gap: 12px; width: fit-content; margin-top: 25px; color: #e9cc94; font-size: .9rem; line-height: 1.6; }
.overview-card > .card-bottom-link { margin-top: auto; padding-top: 22px; }
.home-request-link { display: block; border-top: 1px solid rgba(224,188,128,.15); padding: 18px 0 20px; }
.home-request-link:hover { text-decoration: none; }
.home-request-link h4 { margin: 16px 0 12px; font-size: 1.55rem; overflow-wrap: anywhere; }
.home-request-link > p { color: #dfd2bf; line-height: 1.8; font-size: 1rem; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.profile-summary .about-kicker { color: #ddc295; font-size: .75rem; letter-spacing: .14em; margin-bottom: 18px; }
.profile-summary .glass-button { margin-top: auto; }
.account-empty { padding: 12px 0 6px; }
.account-empty h4 { color: #efdfc4; font: 400 1.35rem/1.4 Georgia,serif; margin: 0 0 14px; }
.account-empty p { max-width: 560px; color: #d9cbb7; font-size: 1rem; line-height: 1.8; margin: 0 0 22px; }
.section-intro { margin-bottom: 25px; }
.section-intro h3 { margin: 0 0 12px; color: #f4e3c5; font: 400 clamp(1.8rem,3vw,2.4rem)/1.3 Georgia,serif; }
.section-intro p { color: #d9cbb7; max-width: 700px; line-height: 1.8; font-size: 1rem; margin: 0; }
.profile-sections { display: grid; grid-template-columns: 1.15fr 1fr; gap: 22px; align-items: start; }
.profile-group { padding: 16px 26px 26px; margin: 0; min-width: 0; }
.profile-group legend { color: #edcd95; padding: 0 10px; margin-left: -10px; font: 400 1.3rem/1.5 Georgia,serif; }
.profile-group .form-note { margin: 0; color: #d2c2a9; font-size: .875rem; line-height: 1.7; }
.profile-group .field { margin-top: 18px; }
.preference-groups { display: grid; gap: 24px; padding-top: 0; }
.profile-wide { grid-column: 1 / -1; }
.account-dialog .field > span:first-child { color: #e6d6bb; font-size: .875rem; letter-spacing: .015em; }
.account-dialog .field input,.account-dialog .field textarea { color: #f5ebdc; }
.field select,.profile-group textarea,.trip-form textarea { width: 100%; min-height: 52px; min-width: 0; padding: 13px 16px; border: 1px solid rgba(255,234,187,.3); border-radius: 15px; color: #f5ebdc; background: linear-gradient(135deg,rgba(255,255,255,.08),rgba(7,4,2,.2)); box-shadow: inset 0 1px 0 rgba(255,255,255,.13); font: inherit; font-size: 16px; line-height: 1.6; color-scheme: dark; }
.field select option { background: #211a12; color: #f3e4ce; }
.profile-group textarea,.trip-form textarea { min-height: 86px; resize: vertical; }
.profile-group textarea::placeholder,.trip-form textarea::placeholder { color: #b8aa96; }
.field select:focus-visible,.profile-group textarea:focus-visible,.trip-form textarea:focus-visible { outline: 2px solid #cba765; outline-offset: 3px; }
.profile-savebar { position: sticky; bottom: -1px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 22px; margin-top: 24px; border-radius: 18px; z-index: 2; background: rgba(27,21,14,.83); }
.profile-savebar .message { margin: 0 0 4px; min-height: 0; font-size: .875rem; }
.profile-savebar .form-note { font-size: .78rem; color: #d6c5aa; }
.inline-actions { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; }
.settings-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.settings-grid .account-email { font-size: 1.1rem; color: #f1dfbf; overflow-wrap: anywhere; margin: 8px 0 12px; }
#account-change-password { margin: 12px 0 18px; }
.account-dialog .message { font-size: .9rem; line-height: 1.7; }
.account-dialog .account-auth-notice { padding-block: 16px; }
.trip-filters { display: flex; gap: 24px; border-bottom: 1px solid var(--line); margin: 8px 0 24px; }
.trip-filters [aria-pressed="true"] { color: #ffe7b7; border-bottom: 2px solid #e9c991; }
#trips-refresh { margin-left: auto; }
.trips-list { display: grid; gap: 22px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.trips-list > .account-empty { grid-column: 1 / -1; }
.trip-card { padding: 28px; min-width: 0; }
.trip-card .about-kicker,.trip-summary .about-kicker { font-size: .75rem; letter-spacing: .13em; color: #ccb58f; }
.trip-route { color: #f5e4c7; font: 400 clamp(1.5rem,2.5vw,2rem)/1.35 Georgia,serif; margin: 10px 0; overflow-wrap: anywhere; }
.trip-departure { color: #d9c7a8; font-size: .88rem; line-height: 1.8; }
.trip-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 22px 0; margin: 0; border-block: 1px solid rgba(222,188,132,.17); }
.trip-facts dt { color: #c7b797; font-size: .75rem; line-height: 1.5; margin-bottom: 8px; }
.trip-facts dd { margin: 0; color: #f1e0c5; font-size: .95rem; line-height: 1.6; overflow-wrap: anywhere; }
.trip-transfers { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 22px; }
.trip-transfers h5,.staff-profile-summary h5 { color: #e6cd9e; font-size: .875rem; margin: 0 0 8px; font-weight: 500; }
.trip-transfers p,.trip-notes,.staff-profile-summary p { color: #dfd1bd; font-size: .9rem; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; margin: 0; }
.trip-notes { margin-top: 20px; }
.trip-next-step { display: grid; gap: 5px; margin: 20px 0 0; padding: 15px 17px; border: 1px solid rgba(229,195,137,.24); border-radius: 15px; background: rgba(216,163,84,.07); }
.trip-next-step span { color: #c9b593; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.trip-next-step strong { color: #f3dfbd; font: 400 1rem/1.55 Georgia,serif; }
.trip-decision { margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(222,188,132,.17); }
.trip-decision .inline-actions { margin-top: 14px; }
.sla-state { display: block; margin-top: 8px; color: #e7cb91; font-size: .77rem; line-height: 1.5; }
.sla-state.is-overdue { color: #ffb49f; }
.request-item .sla-state { margin: 10px 0 0; }
.request-status[data-status="confirmed"] { color: #efe5be; background: rgba(164,157,94,.15); }
.request-status[data-status="en_route"] { color: #fff0bd; background: rgba(193,142,60,.22); }
.request-status[data-status="cancelled"] { color: #d0b09a; }
.trip-editor,.staff-profile-summary { padding: 24px 0; border-bottom: 1px solid var(--line); }
.trip-editor h4,.staff-profile-summary h4 { font: 400 1.4rem/1.4 Georgia,serif; margin: 0 0 15px; }
.trip-editor .inline-actions { margin-top: 20px; }
.staff-profile-summary p { margin-bottom: 15px; }
.trip-form .field input { min-width: 0; }
.travel-fields { border: 1px solid rgba(255,235,192,.2); border-radius: 16px; padding: 8px 20px 20px; margin: 18px 0; min-width: 0; }
.travel-fields legend { font: 400 1.15rem/1.5 Georgia,serif; padding: 0 8px; }
#concierge .field select { color: #eed8b2; }
#travel-fields-toggle { margin-top: 20px; }
.account-dialog button:disabled { opacity: .5; cursor: wait; }
.account-dialog :focus-visible { outline: 2px solid #e2c185; outline-offset: 4px; }
.account-dialog .section-close:focus-visible { outline: none; color: #ffeac5; }
.worker-header { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 24px; margin: 0 0 22px; padding: 18px 20px; border: 1px solid rgba(255,234,187,.22); border-radius: 20px; background: linear-gradient(135deg,rgba(255,255,255,.1),rgba(10,8,6,.58)); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); backdrop-filter: blur(22px) saturate(125%); }
.worker-header[hidden] { display: none; }
.worker-header h2,.worker-header p { margin: 0; font-family: Inter,Arial,sans-serif; }
.worker-header h2 { color: #f3e6d2; font-size: 1.35rem; line-height: 1.35; }
.worker-header p { margin-top: 3px; color: #bcae9b; font-size: .9rem; }
.worker-brand { display: flex; align-items: center; gap: 10px; justify-self: end; color: #ebcf9d; font: 600 1rem/1.2 Inter,Arial,sans-serif; letter-spacing: .15em; }
.worker-brand img { width: 38px; height: 38px; object-fit: contain; }
.worker-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 18px 0 24px; }
.worker-tabs[hidden] { display: none; }
.worker-tabs .glass-button { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 52px; padding: 12px 16px; font: 600 .96rem/1.3 Inter,Arial,sans-serif; text-align: left; }
.worker-tabs .glass-button span { min-width: 28px; padding: 3px 7px; border-radius: 999px; color: #f4dfba; background: rgba(218,169,91,.16); text-align: center; }
.worker-tabs [aria-pressed="true"] { color: #fff0d0; border-color: rgba(239,202,139,.72); background: linear-gradient(135deg,rgba(222,173,92,.22),rgba(31,23,15,.72)); }
.worker-access { margin: 0 0 24px; padding: 16px 20px; }
.worker-access summary { cursor: pointer; color: #e8d6b8; font: 600 1rem/1.4 Inter,Arial,sans-serif; }
.worker-access form { max-width: 580px; padding-top: 14px; }
.worker-access p { color: #cfc1ae; font-size: .92rem; line-height: 1.65; }
.owner-toolbar { align-items: end; }
.owner-search { display: block; max-width: 620px; margin: 8px 0 22px; }
.owner-directory-layout { display: grid; grid-template-columns: minmax(280px,.78fr) minmax(0,1.5fr); gap: 20px; align-items: start; }
.owner-list,.client-card,.owner-worker-form,.owner-worker-list { border-radius: 24px; }
.owner-list { padding: 10px; max-height: min(68vh,760px); overflow: auto; }
.owner-list-items { display: grid; gap: 8px; }
.owner-client-item { display: block; padding: 16px; border: 1px solid transparent; border-radius: 17px; color: #e8d7bd; text-decoration: none; background: rgba(255,255,255,.025); transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.owner-client-item:hover,.owner-client-item[aria-current="true"] { transform: scale(1.02); border-color: rgba(233,194,127,.48); background: rgba(214,165,89,.1); }
.owner-client-item .card-heading { margin-bottom: 7px; }
.owner-client-item h5,.client-card h4,.client-card h5,.owner-worker-form h4,.owner-worker-list h4,.owner-worker-row h5 { margin: 0; color: #f3dfbd; }
.owner-client-item p { margin: 3px 0; overflow-wrap: anywhere; }
.owner-client-meta { display: block; margin-top: 10px; color: #aa9d8a; font-size: .78rem; }
.client-card { min-height: 360px; padding: 26px; }
.client-card-header { display: flex; justify-content: space-between; gap: 18px; align-items: start; padding-bottom: 20px; border-bottom: 1px solid rgba(255,235,198,.13); }
.client-card-header h4 { font-size: clamp(1.45rem,2.5vw,2.1rem); }
.client-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 20px 0; }
.client-fact { padding: 12px 14px; border-radius: 14px; background: rgba(255,255,255,.035); }
.client-fact span,.client-fact strong { display: block; }
.client-fact span { margin-bottom: 4px; color: #9f927f; font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; }
.client-fact strong { color: #eadcc7; font-size: .94rem; line-height: 1.5; overflow-wrap: anywhere; }
.client-card-section { padding: 20px 0; border-top: 1px solid rgba(255,235,198,.13); }
.client-card-section h5 { margin-bottom: 12px; font-size: 1.05rem; }
.client-card-section .client-fact { margin-top: 8px; }
.client-history-item { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; color: #e8d8bf; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.07); }
.client-history-item:hover { color: #ffe5b5; }
.client-history-item span { color: #a99b87; text-align: right; font-size: .82rem; }
.owner-workers-grid { display: grid; grid-template-columns: minmax(290px,.72fr) minmax(0,1.35fr); gap: 20px; align-items: start; }
.owner-worker-form,.owner-worker-list { padding: 24px; }
.owner-worker-form .field { margin-top: 15px; }
.owner-worker-form .primary-glass { width: 100%; margin-top: 18px; }
#workers-list { display: grid; gap: 10px; margin-top: 12px; }
.owner-worker-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 18px; align-items: center; padding: 17px; border: 1px solid rgba(255,235,198,.12); border-radius: 17px; background: rgba(255,255,255,.025); }
.owner-worker-row .card-heading { margin: 0 0 5px; }
.worker-login { margin: 0; color: #dec398; font: 600 .9rem/1.4 Inter,Arial,sans-serif; }
.owner-worker-main .form-note { margin: 4px 0 0; }
.owner-worker-stats { display: flex; gap: 8px; flex-wrap: wrap; }
.owner-worker-stats span { padding: 7px 10px; border-radius: 999px; color: #bfb19d; background: rgba(255,255,255,.05); font-size: .78rem; white-space: nowrap; }
.danger-action { color: #e8ae9c; }
.request-status.is-active { color: #d8e8bb; border-color: rgba(169,207,109,.35); }
.request-status.is-paused { color: #c9b8a2; }
.request-client { margin: 7px 0 0; color: #e8d6bc; font-size: .9rem; font-weight: 600; }
.worker-mode .account-header,.worker-mode .account-tabs { display: none; }
.owner-mode .account-settings-link,.owner-mode .account-tab:not(#owner-clients-tab):not(#owner-workers-tab) { display: none; }
.worker-mode .account-inner,.worker-mode .requests-panel,.worker-mode .thread-panel,.worker-mode .inbox-list-panel,.worker-mode button,.worker-mode input,.worker-mode textarea,.worker-mode select { font-family: Inter,Arial,sans-serif; }
.worker-mode .requests-toolbar h3,.worker-mode .thread-header h4,.worker-mode .thread-empty h4,.worker-mode .trip-editor h4,.worker-mode .staff-profile-summary h4 { font-family: Inter,Arial,sans-serif; font-weight: 650; letter-spacing: 0; }
.worker-mode .requests-toolbar { align-items: end; }
.worker-mode .requests-toolbar .action-button { display: none; }
.worker-mode .inbox-layout { grid-template-columns: minmax(300px,.85fr) minmax(0,1.7fr); }
.worker-mode .requests-list { max-height: calc(100vh - 330px); }
.worker-mode .request-item h4 { font-size: 1rem; line-height: 1.45; }
.worker-mode .request-preview,.worker-mode .chat-message-body { color: #eee4d7; font-size: 1rem; line-height: 1.65; }
.worker-mode .thread-messages { max-height: calc(100vh - 470px); min-height: 260px; }
.worker-mode #thread-close { color: #191107; background: linear-gradient(135deg,#efd39d,#a96d2f); border-color: rgba(255,227,174,.8); font-weight: 700; }
@media (min-width: 1600px) { .account-dialog .account-inner { padding-inline: max(60px,calc((100vw - 1440px)/2)); } }
@media (max-width: 1100px) { .settings-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.trips-list { grid-template-columns: 1fr; } }
@media (max-width: 800px) {
  .account-overview,.account-secondary-grid,.profile-sections { grid-template-columns: 1fr; }
  .account-label { display: block; margin: 9px 0 0; }
  .account-header { display: flex; align-items: flex-end; }
  .account-settings-link { margin-right: 0; }
  .account-header .about-kicker { margin-bottom: 16px; }
  .account-tabs { flex-wrap: nowrap; overflow-x: auto; padding: 3px 2px 12px; gap: 8px; scrollbar-width: thin; }
  .account-tab { flex-shrink: 0; }
  .worker-header { grid-template-columns: 1fr auto; }
  .worker-header .worker-brand { grid-row: 1; grid-column: 2; }
  .worker-header #worker-logout { grid-column: 1 / -1; justify-self: stretch; }
  .worker-tabs { grid-template-columns: 1fr; }
  .owner-directory-layout,.owner-workers-grid { grid-template-columns: 1fr; }
  .owner-list { max-height: 330px; }
  .owner-worker-row { grid-template-columns: 1fr auto; }
  .owner-worker-stats { grid-column: 1; }
  .worker-mode .inbox-layout { grid-template-columns: 1fr; }
  .worker-mode .requests-list { max-height: 320px; }
  .worker-mode .thread-messages { max-height: 55vh; }
  .account-secondary-grid { margin-top: 18px; }
  .account-overview { gap: 18px; }
  .profile-savebar { align-items: stretch; flex-direction: column; gap: 12px; padding: 14px 18px; }
  .profile-savebar .inline-actions { justify-content: flex-end; }
}
@media (max-width: 540px) {
  .account-dialog .account-inner { padding-inline: 18px; }
  .account-header { gap: 12px; align-items: start; }
  .account-header #account-title { font-size: 1.55rem; }
  .account-settings-link { font-size: .76rem; padding-top: 0; }
  .concierge-hero { padding: 28px 24px; }
  .concierge-hero .primary-glass { width: 100%; padding-inline: 14px; font-size: 1rem; }
  .overview-card,.trip-card { padding: 23px 20px; }
  .card-heading { align-items: start; }
  .card-heading h3 { font-size: 1.3rem; }
  .settings-grid { grid-template-columns: 1fr; }
  .profile-group { padding-inline: 20px; }
  .trip-facts { grid-template-columns: 1fr 1fr; }
  .trip-facts > div:last-child { grid-column: 1 / -1; }
  .trip-transfers { grid-template-columns: 1fr; }
  .trip-filters { gap: 16px; }
  .trip-card .card-heading { flex-wrap: wrap; }
  .profile-savebar .primary-glass { width: 100%; }
  .travel-fields { padding-inline: 14px; }
  .client-facts { grid-template-columns: 1fr; }
  .client-history-item { flex-direction: column; gap: 5px; }
  .client-history-item span { text-align: left; }
  .owner-worker-row { grid-template-columns: 1fr; }
  .owner-worker-stats { grid-column: auto; }
  .owner-worker-row button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .account-dialog *, .account-dialog *::after { scroll-behavior: auto !important; transition: none !important; } }

.account-dialog .request-status { font-size: .875rem; }
