/* Sea, tropical foliage, coral and warm sand. No decorative emoji. */
html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}
body.public-caribbean,body.account-caribbean{--primary:#198cef!important;--ink:#123c4c!important;--muted:#4a6470;--line:#cbe3de;background:radial-gradient(ellipse at 100% 8%,#bef0e988,transparent 45%),linear-gradient(155deg,#f2fbfa,#fff8e9);color:var(--ink)}
.hero,.public-hero,.page-heading,.s3-hero{background:radial-gradient(circle at 96% 5%,#ffe292aa,transparent 40%),radial-gradient(ellipse at 4% 85%,#83dbce88,transparent 60%),linear-gradient(120deg,#dcf6f1,#fff4d8)!important;border-color:#a8d8ca!important;position:relative;isolation:isolate;overflow:hidden}
.hero:after,.public-hero:after,.page-heading:after,.s3-hero:after{content:'';position:absolute;z-index:-1;pointer-events:none;right:-65px;top:-100px;width:280px;height:280px;border:34px double #168c7622;border-radius:65% 5% 65% 5%;transform:rotate(-25deg)}
.hero:before,.public-hero:before,.page-heading:before,.s3-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cg fill='none' stroke='%23168770' stroke-width='3' opacity='.12'%3E%3Cpath d='M295 15Q190 100 165 285M287 26Q207 10 162 56M275 40Q200 35 142 89M262 55Q185 62 126 126M247 73Q177 89 119 163M231 96Q169 118 118 198M214 123Q163 157 128 229M287 26Q299 78 265 112M275 40Q291 104 249 145M262 55Q280 131 231 182M247 73Q262 166 207 222M231 96Q242 196 182 258'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right top;background-size:300px}
.public-caribbean .eyebrow,.account-caribbean .eyebrow{color:#386742!important}.hero h1 .blue,.public-caribbean .blue{color:#198cef!important}.public-caribbean .footer,.account-caribbean .public-footer,.public-footer{background:linear-gradient(130deg,#dbf2e8,#fff0cc)!important;border-top:3px solid #e9b653}
.service-card,.ac-quick-card,.stat,.public-feature{border-top:4px solid #32a998!important}.service-card:nth-child(3n+2),.ac-quick-card:nth-child(3n+2),.stat:nth-child(3n+2),.public-feature:nth-child(3n+2){border-top-color:#edb939!important}.service-card:nth-child(3n),.stat:nth-child(3n),.public-feature:nth-child(3n){border-top-color:#ed8266!important}
.button:not(.outline){background:#198cef!important;border-color:#198cef!important;color:#fff!important}.button.outline{color:#00617f!important}.field input:focus,.field select:focus,.field textarea:focus{border-color:#168f7e!important;box-shadow:0 0 0 3px #168f7e22!important}
.fd-accessibility-launcher{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:80;width:52px;height:52px;border:2px solid white;border-radius:50%;background:#198cef;color:white;box-shadow:0 5px 20px #123c4c33;display:grid;place-items:center}.fd-accessibility-launcher svg{width:32px;height:32px}
.fd-accessibility{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #b7dace;border-radius:24px;padding:26px;background:#fffef8;color:#123c4c}.fd-accessibility::backdrop{background:#092e3a99}.fd-accessibility-heading{display:flex;align-items:start;gap:12px;justify-content:space-between}.fd-accessibility h2{font-size:1.45rem;letter-spacing:-.5px;line-height:1.25}.fd-accessibility p{margin:16px 0}.fd-accessibility .field{display:grid;gap:7px;margin:18px 0}.fd-accessibility select{padding:12px;min-height:44px;border:1px solid #a7c9c2;border-radius:12px;background:white;color:inherit}.fd-a11y-close{border:0;background:transparent;color:inherit;min-width:44px;min-height:44px;font-size:28px}.fd-a11y-options{display:grid;gap:10px}.fd-a11y-options label{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px;border-radius:12px;background:#edf7f3}.fd-a11y-options input{width:22px;height:22px;accent-color:#198cef;flex-shrink:0}.fd-a11y-status{font-size:.9rem}.fd-settings-button{white-space:normal!important}.fd-skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:300;background:#fff;color:#198cef;padding:14px;border:3px solid #198cef;border-radius:10px}.fd-skip-link:focus{transform:none}
/* Scale existing fixed-size text without changing icons or image dimensions. */
html:not([data-text-size="100"]) :is(p,li,label,.subtle,.field-help,.eyebrow,small,button,a,td,th,input,select,textarea){font-size:calc(1rem * var(--fd-text-scale))!important}
html:not([data-text-size="100"]) :is(h1,h2,h3){overflow-wrap:anywhere}html[data-text-size="150"] :is(.form-grid,.stats,.ac-quick-grid){grid-template-columns:1fr!important}
.a11y-spacing body{line-height:1.9!important;letter-spacing:.04em!important;word-spacing:.08em!important}.a11y-spacing :is(p,li,label,input,textarea,button,a){line-height:1.9!important;letter-spacing:.04em!important}
.a11y-links a{text-decoration:underline!important;text-underline-offset:.2em}
.a11y-motion *,.a11y-motion *:before,.a11y-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important;opacity:1!important}
html[data-theme=dark] body{--ink:#e5f5f1!important;--muted:#b5ccc7!important;--line:#41625e;background:#102421!important;color:#e5f5f1!important}
html[data-theme=dark] :is(.header,.workspace-header,.sidebar,.account-bottom-nav,.panel,.booking,.service-card,.stat,.public-feature,.ac-quick-card,.auth-card,.modal,.s3-card,.doc-card,.fd-accessibility,.workspace-menu,.header-menu){background:#1a3531!important;color:#e5f5f1!important;border-color:#486760!important}
html[data-theme=dark] :is(.hero,.public-hero,.page-heading,.s3-hero,.public-callout,.footer,.public-footer,.empty-state){background:linear-gradient(130deg,#164640,#3b3a25)!important;color:#e5f5f1!important}
html[data-theme=dark] :is(h1,h2,h3,p,label,small,.subtle,.eyebrow,.side-label,td,th,.nav a,.header a){color:#e5f5f1!important}
html[data-theme=dark] :is(input,select,textarea,.location-field,.fd-a11y-options label,.notice,.audit-json,.suggestions button,.account-tabs button,.sidebar button,.ac-role-options button,.ac-section-options button,.row-actions button,.button.outline){background:#244740!important;color:#edf8f5!important;border-color:#688c82!important}
html[data-theme=dark] :is(input,textarea)::placeholder{color:#bdd3cb!important}html[data-theme=dark] .logo{background:white;border-radius:8px;padding:4px}html[data-theme=dark] .sidebar button.active{background:#08738a!important}
html[data-theme=dark] :is(.ac-primary-nav,.ac-sidebar-group,.s3-tabs,.p-place,.wallet-empty,.bank-admin-settings,.bank-admin-alerts,.bank-account-card,.customer-payment-choice>label,.ledger-entry,.driver-plan-grid article,.driver-plan-payment,.account-tabs,.suggestions,table,thead,.tabs,.schedule button){background:#1a3531!important;color:#e5f5f1!important;border-color:#486760!important}
html[data-theme=dark] :is(.ac-primary-nav button,.ac-primary-nav a,.account-bottom-nav a,.ac-user-badge,.tabs button,.schedule button){color:#e5f5f1!important}
html:not([data-text-size="100"]) .ac-primary-nav{flex-wrap:wrap;max-width:100%}html:not([data-text-size="100"]) .account-bottom-nav a{min-width:0;overflow-wrap:anywhere}html:not([data-text-size="100"]) .account-bottom-nav{align-items:stretch}
.a11y-contrast body{--muted:var(--ink)!important}.a11y-contrast :is(p,label,small,.subtle,.eyebrow,.field-help){color:var(--ink)!important}.a11y-contrast :is(.panel,.stat,.service-card,.field input,.field select,.field textarea,.button.outline){border:2px solid currentColor!important}.a11y-contrast a{text-decoration:underline!important}.a11y-contrast :is(.page-heading,.hero,.public-hero,.empty-state){background:#fff!important}.a11y-contrast[data-theme=dark] :is(.page-heading,.hero,.public-hero,.empty-state){background:#102421!important}
:focus-visible{outline:3px solid #d58017!important;outline-offset:4px!important}
@media(max-width:760px){.fd-accessibility{padding:20px}.fd-accessibility .form-actions{display:flex;gap:12px}.fd-accessibility .form-actions>*{flex:1}.fd-settings-button{justify-content:flex-start!important;text-align:left!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Complete dark surfaces: match actual footer and account component classes. */
html[data-theme=dark] body{--fd-dark-surface:#1a3531;--fd-dark-field:#244740;--fd-dark-text:#e5f5f1;--fd-dark-muted:#bdd3cb;--fd-dark-border:#688c82}
html[data-theme=dark] .fd-footer{background:#18332e!important;background-image:none!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] .fd-footer :is(p,h2,a,span,.fd-footer-bottom){color:#e5f5f1!important}
html[data-theme=dark] .fd-footer .fd-footer-bottom{border-color:#688c82!important}
html[data-theme=dark] .fd-footer .logo{mix-blend-mode:normal!important;background:#fff!important;padding:6px!important;border-radius:8px!important}
html[data-theme=dark] .fd-footer :is(a:hover,a:focus-visible){color:#8fe6d3!important}
html[data-theme=dark] :is(.fd-form-section,.fd-choice,.fd-form-summary,.bank-account,.bank-account:nth-child(2),.bank-topup-list article,.s3-call,.s3-message,.s3-message.mine,.s3-suggestions button,.s3-map,.preview-card,.version-row,.image-tag,.image-caption,.image-tag-icon,.location-field,.p-time-choice,.p-schedule-field,.ac-service-symbol,.service-icon,.fd-hour-range,.fd-date-entry,.fd-date-list,.driver-summary){background:#244740!important;background-image:none!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] :is(.fd-choice label,.fd-choice label:has(input:checked),.fd-hour-range button,.fd-add-hours,.fd-date-entry button,.fd-date-list button,.account-tabs button,.s3-tabs button,.tabs button,.p-time-choice button,.p-inline button,.row-actions button,.pagination button,.bank-status,.wallet-count,.ledger-symbol,.ledger-symbol.ledger-negative,.bank-steps li:before,.suggestions button,.suggestions small){background:#244740!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] :is(.account-tabs button.active,.s3-tabs button[aria-current=page],.s3-tabs button.active,.tabs button.active,.p-time-choice button[aria-pressed=true],.account-bottom-nav a[aria-current=page],.ac-primary-nav a[aria-current=page],.fd-choice label:has(input:checked)){background:#075e70!important;color:#fff!important;border-color:#8fd8cc!important}
html[data-theme=dark] :is(.fd-form-summary,.bank-status){background:#493e1d!important;color:#fff1bc!important;border-color:#a58b46!important}
html[data-theme=dark] :is(.notice.error,.error){background:#542d30!important;color:#ffe0df!important;border-color:#bf7c7a!important}
html[data-theme=dark] .status{background:#344b51!important;color:#eef6ff!important}
html[data-theme=dark] .status.approved{background:#214a36!important;color:#b5f3cd!important}
html[data-theme=dark] .status.pending{background:#493e1d!important;color:#fff1bc!important}
html[data-theme=dark] :is(.status.rejected,.status.suspended){background:#542d30!important;color:#ffe0df!important}
html[data-theme=dark] :is(.fd-footer .install-app-button,.install-app-button,.install-guide,.auth-screen,.toolbar select,.ac-menu-toggle,.ac-logout){background:#244740!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] :is(.service-card .service-icon,.ac-quick-card .ac-service-symbol,.image-tag-icon){color:#fff!important}
html[data-theme=dark] :is(.community-content,.community-content p,.community-content h2){color:#123c4c!important}
html[data-theme=dark] :is(table,thead,tbody,tr,td,th){background:#1a3531!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] :is(.public-caribbean,.account-caribbean) .button.outline{background:#244740!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] :is(input,select,textarea){color:#e5f5f1!important;caret-color:#e5f5f1}
/* White logo canvas starts on the same container edge as the page copy. */
html[data-theme=dark] :is(.header,.workspace-header) .logo{width:140px!important;height:54px!important;transform:none!important;mix-blend-mode:normal!important;object-fit:contain;padding:5px!important;max-width:100%;background:#fff!important;border-radius:8px!important}
html[data-theme=dark] .fd-footer .logo{width:140px!important;height:54px!important;transform:none!important;object-fit:contain;padding:5px!important}
html[data-theme=dark] :is(.hero h1 .blue,.public-caribbean .blue,.add-stop,.text-link,.card-link,.feature-number,.ac-quick-card>span:last-child){color:#8fe6d3!important}
html[data-theme=dark] :is(.feature-number,.image-tag,.public-photo figcaption,.invite-qr,.fd-form-summary){background:#244740!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] :is(.workspace,.workspace-main,.workspace-grid,.p-main,.s3-main){background:#102421!important;color:#e5f5f1!important}
html[data-theme=dark] :is(.public-caribbean .nav.open,.public-caribbean .nav,.mobile-menu-brand,.locale select){background:#1a3531!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] :is(.menu-toggle,.menu-close){color:#e5f5f1!important}
@media(max-width:760px){html[data-theme=dark] :is(.header,.workspace-header,.fd-footer) .logo{width:110px!important;height:42px!important;transform:none!important;padding:4px!important}}
.fd-custom-settings{margin:20px 0;padding:16px;border:1px solid #8cafaa;border-radius:14px}.fd-custom-settings summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.fd-custom-enable{display:flex;align-items:center;gap:10px;margin:16px 0}.fd-custom-enable input{width:22px;height:22px}.fd-custom-colors{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fd-custom-colors label{display:grid;gap:8px}.fd-custom-colors input{width:100%;height:44px;border:1px solid #8cafaa;padding:3px;border-radius:8px;background:transparent;cursor:pointer}.fd-custom-ranges{display:grid;gap:18px;margin:24px 0}.fd-custom-ranges label{display:grid;grid-template-columns:1fr auto;gap:8px}.fd-custom-ranges input{grid-column:1/-1;width:100%;min-height:32px;accent-color:#198cef}.fd-custom-ranges output{font-size:.9rem}.fd-custom-settings [role=status]{font-size:.9rem}
html[data-theme=dark] :is(.profile-section,.ac-security-card,.fd-driver-hours,.fd-zone-options,.service-preview,.bank-topup-list,.s3-ticket-form,.s3-ticket-history,.driver-plan-grid,.doc-form,.data-detail,.ac-profile-status,.p-stepper,.fd-choice){background:#1a3531!important;background-image:none!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] :is(.profile-section legend,.profile-section .field,.profile-section .field-help,.profile-section .subtle,.fd-form-section legend,.fd-form-section label,.data-detail dt,.data-detail dd,.ac-security-card p,.ac-security-card h2,.ac-security-card .eyebrow,.s3-ticket-form label){color:#e5f5f1!important}
html[data-theme=dark] .account-caribbean .ac-security-card{background:#1a3531!important;border-color:#688c82!important}
.ac-service-symbol svg{width:28px;height:28px;display:block;flex-shrink:0}
.driver-plan-grid article{display:flex;flex-direction:column;gap:16px}.driver-plan-grid h3{margin:0;line-height:1.3;min-height:2.6em}.fd-plan-title-line{display:block}.driver-plan-grid article>strong{display:block;min-height:2.6em;line-height:1.3;overflow-wrap:anywhere}.driver-plan-grid article>p{margin-top:auto}
html[data-theme=dark] :is(.account-install-slot,.auth-links,.service-preview,.s3-suggestions,.fd-hour-day,.fd-date-entry,.bank-admin-settings,.ledger-list){background:#1a3531!important;background-image:none!important;color:#e5f5f1!important;border-color:#688c82!important}
html[data-theme=dark] :is(legend,.admin-record-open,.data-detail dt,.data-detail dd,.doc-title strong,.bank-account strong,.bank-account small,.ledger-entry strong,.ledger-entry small,.fd-hour-day label,.fd-zone-options label){color:#e5f5f1!important}
html[data-theme=dark] :is(.profile-section,.fd-form-section) :is(input:disabled,select:disabled){background:#203c38!important;color:#c6d9d3!important;opacity:1}
.fd-original-reset{position:sticky;top:0;z-index:3;display:block;width:100%;min-height:44px;margin:0 0 16px;padding:10px 14px;border:2px solid #123c4c!important;border-radius:12px;background:#fff!important;color:#123c4c!important;font-weight:700;box-shadow:0 3px 12px #0002}

/* Fields keep a single border while focused, including embedded service forms. */
html body :is(input,select,textarea):is(:focus,:focus-visible){outline:none!important;outline-offset:0!important;box-shadow:none!important;border-color:var(--primary,#198cef)!important}

/* Shared hero shape across public, account and service pages. */
html body :is(.hero,.public-hero,.page-heading,.s3-hero,.fd-page-hero){border-radius:22px!important}
@media(max-width:760px){html body :is(.hero,.public-hero,.page-heading,.s3-hero,.fd-page-hero){border-radius:20px!important}}
/* Keep section-title contrast stable when dark mode or a personal palette is active. */
html[data-theme=dark] :is(h2),
/* Heading colors follow the selected accessible palette. */
