/* Shared interaction palette. Keep native controls and existing booking rules. */
:root{--ink:#123253;--muted:#5b6f83;--line:#dce6ee;--paper:#f7fafd;--blue:#066baf;--lime:#bcefff;--mobile-green:#103f6b;--mobile-ink:#123253;--action-navy:#103f6b;--action-sky:#eaf8ff;--action-edge:#c9e1ef}
body{background:var(--paper);color:var(--ink)}
button{transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:disabled{transform:none;box-shadow:none;opacity:.5}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #087abc!important;outline-offset:4px}
input[type=checkbox],input[type=radio]{accent-color:var(--action-navy)}
.primary,.primary.lime,.quick-home .quick-wide,.mobile-action-bar .primary,.quick-assignment .primary,.professional-card .primary,.evidence-demo-toggle,.evidence-file-button{min-height:52px;background:var(--action-navy)!important;color:#fff!important;border:1px solid var(--action-navy);border-radius:15px;box-shadow:0 5px 14px #103f6b15;font-weight:700;line-height:1.4}
.secondary,.workspace-button,.text-link,.category,.quick-dates button,.evidence-tabs button,.short-form-tabs button,.close{min-height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--action-navy);padding:12px 16px;font-weight:600;line-height:1.4}
.text-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px}
.quick-heading .text-link{background:#edf4fa;border-color:transparent;padding:10px 16px}
.quick-customize{display:flex;width:100%;margin-top:22px;background:transparent;border-style:dashed}
.close{min-width:48px;padding:0;border-radius:50%}
.quick-choices{gap:12px}
.quick-choices>button{min-height:84px;padding:20px 22px;border:1px solid var(--action-edge);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 3px 12px #103f6b05;gap:16px}
.quick-choices strong{font-size:18px;font-weight:700;letter-spacing:-.2px}
.quick-choices small{font-size:14px;line-height:1.45;color:var(--muted);margin-top:4px}
.quick-choices>button>span:last-child,.photo-label>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--action-sky);color:#0875b6;font-size:20px}
.quick-choices>button[aria-pressed=true]{background:var(--action-sky);border-color:#0875b6;box-shadow:inset 3px 0 #0875b6}
.quick-choices>button[aria-pressed=true]>span:last-child{background:var(--action-navy);color:#fff}
.quick-dates button[aria-pressed=true],.evidence-tabs button[aria-pressed=true],.short-form-tabs button[aria-current=step],.category.active{background:var(--action-navy);border-color:var(--action-navy);color:#fff}
.task-options label,.plan-days label,.surface-row{border:1px solid var(--action-edge);border-radius:15px;background:#fff;min-height:52px;cursor:pointer}
.task-options label:has(input:checked),.plan-days label:has(input:checked),.surface-row:has(input:checked){background:var(--action-sky);border-color:#0875b6;box-shadow:inset 3px 0 #0875b6}
.task-options label:focus-within,.plan-days label:focus-within,.surface-row:focus-within{outline:3px solid #087abc;outline-offset:3px}
.photo-service.service-tile{border:1px solid var(--line);padding:7px;background:#fff!important;border-radius:22px;box-shadow:0 4px 18px #103f6b06}
.photo-service img{border-radius:16px}
.photo-label{padding:14px 10px 10px;color:var(--ink);font-size:22px;gap:8px}
.other-service-grid .service-tile{background:#fff;border-color:var(--action-edge)}
.more-services{border:0;margin:22px 0}
.more-services>summary,.optional-fields summary,.trust-strip summary{min-height:52px;border:1px solid var(--action-edge);border-radius:14px;background:#fff;color:var(--action-navy);padding:16px;font-size:15px;line-height:1.5}
.more-services[open]>summary{background:var(--action-sky);margin-bottom:16px}
.service-intro h1 span,.tile-cta,.quick-service-icon,.product-symbol,.space-icon,.professional-rating,.optional-fields summary,.action-scene-copy .eyebrow,.action-scene-copy h2{color:var(--action-navy)}
.quick-service-icon,.space-icon,.product-symbol,.professional-avatar{background:var(--action-sky);color:var(--action-navy)}
.quick-progress{background:#e0edf5}
.quick-progress>span{background:linear-gradient(90deg,#087abc,#103f6b)}
.journey-steps [aria-current=step]{color:var(--action-navy)}
.journey-steps [aria-current=step]>span{background:var(--action-navy);border-color:var(--action-navy)}
.quick-subtitle,.quick-heading,.scene-caption,.photo-disclaimer,.action-scene-copy small{color:var(--muted)}
.quick-promise,.quick-assignment,.service-request-summary,.colony-picker,.action-scene,.booking-store,.plan-summary,.store-receipt{background:#eef6fc;border-color:var(--action-edge)}
.action-scene-copy li{background:#fff;border-color:var(--action-edge);color:var(--action-navy)}
.quick-home .service-request-summary{border-color:var(--action-edge)}
.quick-home input,.quick-home select,.quick-home textarea,.service-details input,.service-details select,.service-details textarea{border-color:var(--action-edge);border-radius:12px}
.quick-home:has(.quick-progress:not([aria-valuenow="1"])) .quick-house-cover{display:none}
.topbar nav a{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px;border-radius:12px}
.topbar nav a[aria-current=page]{background:var(--action-sky);color:var(--action-navy)}
.visual-evidence{background:#eef6fc;border-color:var(--action-edge)}
.evidence-intro h2 span,.evidence-tabs button,.evidence-steps b{color:var(--action-navy)}
.evidence-tabs button[aria-pressed=true],.after .evidence-stage{background:var(--action-navy);color:#fff}
.evidence-file-button.secondary{background:#fff!important;color:var(--action-navy)!important;border-color:var(--action-edge)}
@media(hover:hover){
 button:not(:disabled):hover{box-shadow:0 6px 18px #103f6b12}
 .quick-choices>button:hover,.secondary:hover,.text-link:hover,.quick-dates button:not([aria-pressed=true]):hover{background:var(--action-sky);border-color:#80bddf}
 .primary:not(:disabled):hover,.quick-home .quick-wide:hover{background:#082e53!important}
 .service-tile:hover{border-color:#80bddf;transform:translateY(-2px)}
}
button:not(:disabled):active{transform:translateY(1px);box-shadow:none}
@media(max-width:650px){
 .quick-choices>button{min-height:76px;padding:16px;border-radius:16px}
 .quick-choices strong{font-size:17px}
 .quick-choices small{font-size:14px}
 .photo-service.service-tile{padding:5px;border-radius:18px}
 .photo-service img{border-radius:13px}
 .photo-label{font-size:18px;padding:12px 6px 8px}
 .photo-label>span{width:28px;height:28px;flex-basis:28px;font-size:17px}
 .quick-dates{gap:8px}.quick-dates button{padding:12px 8px;font-size:14px}
 .quick-home .quick-wide{position:sticky;bottom:12px;z-index:5;box-shadow:0 5px 20px #103f6b25}
 .journey-steps li[aria-current=step]{background:var(--action-navy)}
 .mobile-action-bar .secondary{background:#eef6fc;border-color:var(--action-edge);border-radius:13px}
 .topbar nav{gap:8px}.topbar nav a{justify-content:center;flex:1}
 .workspace-button{min-height:44px;padding:10px 12px}
 .task-options label:has(input:checked){background:var(--action-sky);border-color:#0875b6}
}
@media(prefers-reduced-motion:reduce){button,.service-tile{transition:none;transform:none!important}}

/* Satin surfaces: decorative texture stays behind text and never catches taps. */
.quick-choices>button,.task-options label,.surface-row,.plan-days label{
 position:relative;isolation:isolate;overflow:hidden;
 background:linear-gradient(125deg,#fff 12%,#f6fbff 67%,#eaf5fc);
 border:1px solid #c5dce9;
 box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #d9eaf480,0 4px 7px #103f6b04,0 10px 24px #103f6b09;
}
.quick-choices>button::before,.task-options label::before,.surface-row::before,.plan-days label::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background-image:radial-gradient(circle,#164e791f .65px,transparent .85px);
 background-size:4px 4px;mask-image:linear-gradient(100deg,transparent 25%,#000 100%);
}
.quick-choices>button{border-radius:20px;padding:22px 24px}
.quick-choices>button>span:last-child,.photo-label>span{
 border:1px solid #b8d9ec;
 background:linear-gradient(145deg,#fff,#dbf1ff);
 box-shadow:inset 0 1px 0 #fff,0 3px 8px #0b5c8620;
 color:#0b5788;width:40px;height:40px;flex-basis:40px;
}
.quick-choices strong{letter-spacing:-.35px}
.quick-choices>button[aria-pressed=true],.task-options label:has(input:checked),.surface-row:has(input:checked),.plan-days label:has(input:checked){
 background:linear-gradient(125deg,#f8fdff,#dff2ff);border-color:#549cc8;
 box-shadow:inset 3px 0 #177cb6,inset 0 1px 0 #fff,0 7px 20px #103f6b12;
}
.quick-choices>button[aria-pressed=true]>span:last-child{
 background:linear-gradient(145deg,#1a78aa,#103f6b);border-color:#145e8c;color:#fff;box-shadow:inset 0 1px 0 #ffffff45,0 3px 8px #103f6b25;
}
.primary,.primary.lime,.quick-home .quick-wide,.mobile-action-bar .primary,.quick-assignment .primary,.professional-card .primary{
 background-image:radial-gradient(circle at 100% 0,#ffffff18,transparent 60%),repeating-linear-gradient(115deg,transparent 0 3px,#ffffff06 3px 4px),linear-gradient(135deg,#185989,#0d355b)!important;
 border-color:#194d77;box-shadow:inset 0 1px 0 #ffffff35,0 5px 14px #103f6b25;
}
.secondary,.workspace-button,.quick-heading .text-link,.quick-dates button:not([aria-pressed=true]),.short-form-tabs button:not([aria-current=step]){
 background-image:linear-gradient(145deg,#ffffffb8,#edf5fb80);box-shadow:inset 0 1px 0 #fff,0 3px 9px #103f6b08;
}
.photo-service.service-tile{box-shadow:inset 0 1px 0 #fff,0 7px 22px #103f6b0d;background:linear-gradient(145deg,#fff,#edf7fd)!important}
@media(hover:hover){
 .quick-choices>button:hover{background:linear-gradient(125deg,#fff,#e5f5ff);border-color:#80b7d7;box-shadow:inset 0 1px 0 #fff,0 10px 26px #103f6b14;transform:translateY(-2px)}
}
.quick-choices>button:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #103f6b12}
@media(max-width:650px){
 .quick-choices>button{padding:18px;border-radius:18px}
 .quick-choices>button>span:last-child{width:36px;height:36px;flex-basis:36px}
 .photo-label>span{width:28px;height:28px;flex-basis:28px}
}
