/* PWA accessibility: relative text, clear contrast, generous controls, visible focus. */
:is(html.alf-installed,html:has(body.alf-app-page)){text-size-adjust:auto;-webkit-text-size-adjust:auto;scroll-padding-bottom:7rem}
:is(.alf-installed body,body.alf-app-page){--alf-app-blue:#0081fb;--alf-app-muted:#526174}
:is(.alf-installed body,body.alf-app-page) :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #0081fb!important;outline-offset:3px}
:is(.alf-installed body,body.alf-app-page) :is(input,textarea,select){font-size:max(1rem,16px)!important}
:is(.alf-installed body,body.alf-app-page) ::placeholder{color:#596779;opacity:1}
:is(.alf-installed body,body.alf-app-page) :is(.alf-app-primary,.order-primary,.cw-button.is-primary){background:#0081fb;color:#fff}
:is(.alf-installed body,body.alf-app-page) :is(.alf-service-count,.alf-app-note,.alf-app-greeting p,.alf-team-intro){color:#526174}
body.alf-app-page .alf-home-welcome h1{font-size:1.5625rem;line-height:1.25}
body.alf-app-page .alf-home-welcome p{font-size:.9375rem;line-height:1.5}
body.alf-app-page .alf-service-count{font-size:.8125rem}
body.alf-app-page #alf-app-services .service-headline{font-size:.875rem;min-height:0;line-height:1.5;overflow-wrap:anywhere}
body.alf-app-page #alf-app-services .service-headline a{-webkit-line-clamp:unset;overflow:visible;display:block}
body.alf-app-page #alf-app-services :is(.review-line,.service-price,.service-price strong){font-size:.8125rem;line-height:1.5}
body.alf-app-page #alf-app-services :is(.review-line span,.service-price){color:#526174}
body.alf-app-page #alf-app-services .service-meta{gap:8px;flex-wrap:wrap}
body.alf-app-page #alf-app-services .service-image{min-height:44px}
body.alf-app-page :is(.alf-account-profile p,.alf-account-menu a,.alf-account-menu button){font-size:.9375rem;overflow-wrap:anywhere}
body.alf-app-page .alf-account-profile>div{min-width:0}
body.alf-app-page .alf-account-profile h1{font-size:1.5rem;overflow-wrap:anywhere}
#alf-app-nav a,#alf-app-nav button{font-size:.75rem;min-height:48px;line-height:1.3;overflow-wrap:anywhere;padding:4px 2px;text-align:center;color:#526174}
#alf-app-nav [aria-current]{color:#0081fb}
#alf-app-nav b{background:#0081fb;font-size:.6875rem;min-width:20px;height:20px}
.alf-app-permission{max-height:calc(100dvh - 32px);overflow:auto}
.alf-app-permission :is(small,.alf-app-later){font-size:.875rem}
.alf-app-later,#alf-app-update button{min-height:44px}
#alf-app-update{flex-wrap:wrap}
#alf-app-update button{background:#0081fb;font-size:.875rem}
@media(max-width:760px){
 .alf-installed body:not(.message-app),body.alf-app-page{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}
 :is(.alf-installed body,body.alf-app-page) .header :is(.mobile-toggle,.header-glass-control),:is(.alf-installed body,body.alf-app-page) .header .nav-actions button{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;flex-shrink:0}
 :is(.alf-installed body,body.alf-app-page) .header .navigation{gap:4px;padding-inline:8px}
 :is(.alf-installed body,body.alf-app-page) .header .nav-actions{gap:3px}
 :is(.alf-installed body,body.alf-app-page) .header .logo img{max-width:108px;height:auto}
 .alf-installed .cw-page :is(.cw-eyebrow,.cw-stat-label,.cw-stat>small,.cw-order-reference,.cw-badge,.cw-order-price>span,.cw-order-copy>p,.cw-order-deadline,.cw-results-meta,.cw-private,.cw-select-label select,.cw-reset,.cw-filter-tabs>button>span){font-size:.8125rem!important;line-height:1.5;color:#526174}
 .alf-installed .cw-page :is(.cw-order-copy h3,.cw-button,.cw-filter-tabs>button,.cw-heading>div>p:last-child){font-size:.9375rem;line-height:1.5}
 .alf-installed .cw-page :is(.cw-button,.cw-refresh,.cw-reset,.cw-select-label select){min-height:44px;min-width:44px}
 .alf-installed .cw-page .cw-order-copy{overflow-wrap:anywhere}
 .alf-installed .cw-page .cw-order-reference{flex-wrap:wrap}
 .alf-installed .cw-page .cw-order-right{flex-wrap:wrap}
 .alf-installed .cw-page .cw-order-right .cw-button{max-width:100%}
 .alf-installed .cw-page .cw-stat-label{max-width:none!important}
 .alf-installed .cw-page .cw-stats .cw-stat{flex-wrap:wrap}
 .alf-installed .cw-page .cw-search input::placeholder{font-size:.9375rem}
 .alf-installed .message-app :is(.bubble,.compose-input){font-size:1rem;line-height:1.6}
 .alf-installed .message-app :is(.connection,.jump-latest,.queue-file-caption span,.queue-file-caption small,.chat-attachment-caption){font-size:.8125rem}
 .alf-installed .message-app :is(.icon-button,.send-button,.queue-remove,.chat-attachment-caption>a,.connection button,.jump-latest){min-width:44px;min-height:44px}
 .alf-installed .message-app .queue-files{max-height:10rem}
 .alf-installed .message-app .queued-file{height:9rem;padding-bottom:3rem}
 .alf-installed .rd-page :is(.rd-kicker,.rd-sidebar small,.rd-sidebar dt,.rd-sidebar dd,.rd-sidebar .rd-facts,.rd-team-intro,.rd-team-online,.rd-track,.rd-event time){font-size:.8125rem;line-height:1.5}
 .alf-installed .rd-page :is(button,summary,.order-primary,.order-secondary){min-height:44px}
 .alf-installed .rd-page :is(.rd-action-row,.rd-review-submit){flex-wrap:wrap;gap:12px}
 .alf-installed .rd-page :is(.rd-service-identity h3,.rd-team-heading){overflow-wrap:anywhere}
}
@media(max-width:359px){
 body.alf-app-page #alf-app-services{grid-template-columns:minmax(0,1fr)}
 :is(.alf-installed body,body.alf-app-page) .header .logo img{max-width:85px}
}
@media(prefers-reduced-motion:reduce){:is(.alf-installed body,body.alf-app-page) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Let the grid and navigation reflow when the user's base text size grows. */
body.alf-app-page #alf-app-services{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
#alf-app-nav{font-size:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,5em),1fr))}
#alf-app-nav a,#alf-app-nav button{font-size:inherit;overflow-wrap:normal;word-break:normal}
body.alf-app-page .alf-service-search input{min-height:calc(1.5rem + 24px);height:auto}


/* Two aligned metadata columns: rating/count and starting-price/amount. */
body.alf-app-page #alf-app-services .service-meta{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:8px;padding:0 12px 14px}
body.alf-app-page #alf-app-services .service-meta .review-line{display:grid;grid-template-columns:14px auto;grid-template-rows:auto auto;justify-self:start;align-items:center;gap:3px 4px;font-size:.875rem;line-height:1.5}
body.alf-app-page #alf-app-services .service-meta .review-line .icon{grid-column:1;grid-row:1;width:14px;height:14px}
body.alf-app-page #alf-app-services .service-meta .review-line strong{grid-column:2;grid-row:1;font-size:.875rem;font-weight:700;line-height:1.5}
body.alf-app-page #alf-app-services .service-meta .review-line span{grid-column:1/-1;grid-row:2;font-size:.75rem;line-height:1.75;color:#526174}
body.alf-app-page #alf-app-services .service-meta .service-price{display:flex;flex-direction:column;align-items:flex-end;justify-content:start;gap:3px;margin:0;font-size:.75rem;font-weight:400;line-height:1.75;color:#526174}
body.alf-app-page #alf-app-services .service-meta .service-price strong{font-size:.875rem;font-weight:700;line-height:1.5}
body.alf-app-page #alf-app-services .quote-service-card .service-meta{grid-template-columns:minmax(0,1fr)}
body.alf-app-page #alf-app-services .quote-service-card .service-price{justify-self:end;white-space:normal;text-align:right}

/* Bring service titles closer to their preview images. */
body.alf-app-page #alf-app-services .service-headline{padding-top:8px}

/* PWA brand accents use the website blue consistently. Neutral and status colors stay semantic. */
html.alf-installed{--alf-app-blue:#0081fb}
html.alf-installed .cw-button.is-primary:hover{background:#0081fb;border-color:#0081fb}
html.alf-installed .cw-navigation>a[aria-current=page]{color:#0081fb}
html.alf-installed body.alf-client-order .rd-page{--blue:#0081fb}
html.alf-installed body.alf-client-order .rd-page .order-primary:hover{background:#0081fb}
html.alf-installed body.alf-client-order .rd-status-icon{color:#0081fb}
html.alf-installed body.alf-client-order .rd-tabs button[aria-selected=true]{color:#0081fb;border-color:#0081fb}
html.alf-installed body.alf-client-order .rd-team-avatar{color:#0081fb}
html.alf-installed body.alf-client-order .file-symbol.svg{color:#0081fb}
html.alf-installed body.alf-client-order .rd-text-button{color:#0081fb}
html.alf-installed body.alf-client-order .rd-help-icon{color:#0081fb}
html.alf-installed body.alf-client-order .order-check input{accent-color:#0081fb}
html.alf-installed body.alf-client-order .rd-side-progress li.current>span{background:#0081fb;border-color:#0081fb}
html.alf-installed body.alf-client-order .rd-image-download>.icon{color:#0081fb}
html.alf-installed body.alf-client-order #review-dialog .order-primary{background:#0081fb}
html.alf-installed body.alf-client-order .rd-tip-choices input{accent-color:#0081fb}
html.alf-installed body.alf-client-order .rd-invoice-link{color:#0081fb}
html.alf-installed body.alf-client-order .rd-team-contact>strong{color:#0081fb}
html.alf-installed body.alf-client-order .rd-resolution-row>button>span:first-child{color:#0081fb}
html.alf-installed body.alf-client-order .rd-service-link:hover{color:#0081fb}
html.alf-installed body.alf-client-order{--alf-blue-hover:#0081fb}
html.alf-installed body.alf-client-order .rd-status-compact{border-color:#0081fb1f}
html.alf-installed body.alf-client-order .rd-status-icon{border-color:#0081fb15}
html.alf-installed body.alf-client-order .rd-overview-sidebar .rd-clock-group:not(:last-child){border-right-color:#0081fb}
html.alf-installed body.alf-client-order .rd-overview-sidebar .rd-clock-card>p{border-top-color:#0081fb}
html.alf-installed body.alf-client-order .rd-tip-card{box-shadow:0 5px 20px #0081fb09}
html.alf-installed body.alf-client-order .rd-tip-symbol{color:#0081fb}
html.alf-installed body.alf-client-order .rd-tip-eyebrow{color:#0081fb}
html.alf-installed body.alf-client-order .rd-review-icon{color:#0081fb}
html.alf-installed body.alf-client-order .rd-review-eyebrow{color:#0081fb}
html.alf-installed body.alf-client-order .rd-review-card{box-shadow:0 3px 18px #0081fb05}
html.alf-installed body.alf-client-order .rd-review-eyebrow{color:#0081fb}
html.alf-installed body.alf-client-order .rd-rating-group:has(input:checked) .rd-rating-description{color:#0081fb}
html.alf-installed body.alf-client-order .rd-review-submit p>.icon{color:#0081fb}
html.alf-installed .oc-avatar{color:#0081fb}
html.alf-installed .oc-note>header button{color:#0081fb}
html.alf-installed .oc-badge{color:#0081fb}
html.alf-installed body.alf-client-order .header :is(.header-glass-control, .desktop-nav > a, .desktop-nav > button, .header-more-toggle, .mobile-toggle):hover{color: #0081fb !important}
html.alf-installed body.alf-client-order .rd-page :is(button,a):focus-visible{outline: 2px solid #0081fb}
html.alf-installed .primary{background:linear-gradient(130deg,#0081fb,#0081fb);box-shadow:0 4px 18px #0081fb18}
html.alf-installed .my-avatar{background:linear-gradient(135deg,#0081fb,#567ea8)}
html.alf-installed .rail-button.active{background:linear-gradient(135deg,#0081fb30,#0081fb17);border-color:#0081fb}
html.alf-installed .client-item.active{background:linear-gradient(110deg,#0081fb21,#275eab12);border-color:#0081fb27}
html.alf-installed .contact-avatar>.icon{background:linear-gradient(145deg,#0081fb,#2d67c6)}
html.alf-installed .welcome{background:linear-gradient(120deg,#0081fb1c,#576cbb0b)}
html.alf-installed .message>.team-avatar{background:linear-gradient(145deg,#0081fb,#3760a9)}
html.alf-installed .message.mine .bubble{background:linear-gradient(125deg,#0081fb,#0081fb);box-shadow:0 4px 18px #0081fb0c}
html.alf-installed .send-button{background:linear-gradient(140deg,#0081fb,#487bed)}
html.alf-installed .empty-art{background:linear-gradient(140deg,#0081fb16,#887ce610)}
html.alf-installed .auth-gate{background:radial-gradient(ellipse at 50% 25%,#0081fb1f,transparent 60%)}
html.alf-installed progress::-webkit-progress-value{background:linear-gradient(90deg,#0081fb,#74c3ea)}
html.alf-installed .drop-overlay{box-shadow:inset 0 0 130px #0081fb0a}
html.alf-installed .drop-orbit{background:#0081fb14;box-shadow:0 0 0 14px #0081fb05,0 0 0 30px #0081fb03}
html.alf-installed .file-hub-tabs button[aria-pressed=true]{background:#0081fb15}
html.alf-installed .emoji-categories button[aria-pressed=true]{background:#0081fb19}
html.alf-installed .reaction-chip[aria-pressed=true]{border-color:#0081fb70;background:#0081fb1a}
html.alf-installed .setting-toggle>input:checked{background:#0081fb}
html.alf-installed .auto-reply-preview>div>.icon{background:#0081fb1c}
html.alf-installed[data-theme=light]{--cyan:#0081fb}
html.alf-installed [data-theme=light] #preview-bar button[aria-pressed=true]{color:#0081fb}
html.alf-installed [data-theme=light] .message.mine .bubble{background:linear-gradient(125deg,#0081fb,#0081fb)}
html.alf-installed [data-theme=light] .drop-orbit,html.alf-installed [data-theme=light] .attach-tile,html.alf-installed [data-theme=light] .file-type,html.alf-installed [data-theme=light] .queue-file-icon{color:#0081fb}
html.alf-installed [data-theme=light] .file-formats-link,html.alf-installed [data-theme=light] .asset-credit a,html.alf-installed [data-theme=light] .preview-links{color:#0081fb}
html.alf-installed [data-theme=light] .file-hub-tabs button[aria-pressed=true],html.alf-installed [data-theme=light] .emoji-categories button[aria-pressed=true]{color:#0081fb}
html.alf-installed .message-app #send-button:disabled{color:#0081fb}
html.alf-installed .message-app .message-content>.message-more:hover,html.alf-installed .message-app .message-content>.message-more:focus-visible{color:#0081fb}
html.alf-installed .message-app .compose-actions>.icon-button:hover{color:#0081fb}
html.alf-installed .message-app #send-button:disabled{color:#0081fb}
html.alf-installed .message-app #media-viewer .viewer-close:hover,html.alf-installed .message-app #media-viewer .lightbox-download:hover{color:#0081fb}
html.alf-installed .account-gate-google:focus-visible{outline:3px solid #0081fb}
html.alf-installed .message-app .message-unread-divider{color:#0081fb}
html.alf-installed .message-app .connection button{color:#0081fb}
html.alf-installed .experience-symbol{color:#0081fb}
html.alf-installed .experience-link{color:#0081fb}
html.alf-installed .project-card small{color:#0081fb}
html.alf-installed .notification-item>span{background:#0081fb}
html.alf-installed .notification-item button{color:#0081fb}
html.alf-installed .missing-number{color:#0081fb}
html.alf-installed .alf-header-avatar:hover{background:#0081fb}
html.alf-installed .alf-profile-avatar{color:#0081fb}
html.alf-installed .alf-profile-entry button{color:#0081fb}
html.alf-installed .alf-auth-tabs button[aria-selected=true]{color:#0081fb}
html.alf-installed .alf-google-button:focus-visible{outline:3px solid #0081fb}
html.alf-installed .alf-password-show{color:#0081fb}
html.alf-installed .alf-auth-check a,html.alf-installed .alf-auth-bottom button,html.alf-installed .alf-auth-switch,html.alf-installed .alf-login-options>button{color:#0081fb}
html.alf-installed .alf-auth-primary:hover{background:#0081fb}
html.alf-installed .alf-auth-success{color:#0081fb}
html.alf-installed .header .desktop-nav>a:hover,html.alf-installed .header .desktop-nav>button:hover,html.alf-installed .header-more-toggle:hover,html.alf-installed .header .desktop-nav>[aria-expanded=true],html.alf-installed .header-more-toggle[aria-expanded=true]{color:#0081fb}
html.alf-installed .header .desktop-nav>a[aria-current=page]{color:#0081fb}
html.alf-installed .header .header-glass-control:hover,html.alf-installed .header .mobile-toggle:hover,html.alf-installed .header .header-glass-control[aria-expanded=true],html.alf-installed .header .alf-header-avatar:not(.is-signed-in):hover{color:#0081fb}
html.alf-installed .header .alf-header-avatar.is-signed-in:hover{background:#0081fb}
html.alf-installed .header-more-panel a:hover,html.alf-installed .header-more-panel a:focus-visible{color:#0081fb}
html.alf-installed .header-notification-toolbar button[aria-pressed=true]{color:#0081fb}
html.alf-installed .header-notification-toolbar button[data-header-read-all]{color:#0081fb}
html.alf-installed .header-notification-footer{color:#0081fb}
html.alf-installed .header-notification-empty button{color:#0081fb}

/* Solid brand-blue fills for PWA actions and outgoing messages. */
html.alf-installed :is(.primary,.send-button,.message.mine .bubble,.alf-app-primary,.order-primary,.cw-button.is-primary){background:#0081fb}
