:root{--bg:#f5f7fb;--surface:#fff;--text:#0f172a;--muted:#475569;--line:#e2e8f0;--primary:#1d4ed8;--link:#1d4ed8;--soft:#eff6ff;--shadow:0 8px 32px #0f172a06;color-scheme:light}
:root[data-theme=dark]{--bg:#0b1220;--surface:#172033;--text:#f1f5f9;--muted:#cbd5e1;--line:#334155;--primary:#2563eb;--link:#93c5fd;--soft:#1e293b;--shadow:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--link);text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin-bottom:12px}h2{font-size:19px;letter-spacing:-.3px;margin-bottom:16px}h3{font-size:15px;margin:24px 0 12px}p{margin-bottom:18px}.muted{color:var(--muted)}.small,small{font-size:12px}small{display:block;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:800;color:var(--muted);display:block;margin-bottom:12px}.skip-link{position:fixed;top:-80px;left:12px;z-index:100;background:var(--surface);padding:12px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:#0f172a;color:#e2e8f0;display:flex;flex-direction:column;padding:28px 18px;z-index:30}.brand{display:flex;align-items:center;gap:11px;color:inherit;line-height:1.15;font-size:16px;font-weight:750;letter-spacing:-.4px}.brand small{color:#94a3b8;letter-spacing:2.5px;text-transform:uppercase;font-size:8px;font-weight:600;margin-top:7px}.company-label{border:1px solid #334155;border-radius:10px;padding:15px 13px;margin:34px 0 25px}.company-label .eyebrow{color:#94a3b8;font-size:8px;margin-bottom:7px}.company-label strong{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#cbd5e1;display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;font-size:12px;min-height:44px}.sidebar nav a:hover{background:#1e293b;color:#fff}.sidebar nav a.selected{background:#1d4ed8;color:#fff;box-shadow:0 6px 16px #1d4ed82e}.nav-symbol{font-size:18px;width:20px;text-align:center}.sidebar-bottom{margin-top:auto;font-size:11px;padding:28px 10px 0;color:#cbd5e1}.sidebar-bottom small{color:#94a3b8;font-size:9px;margin-top:7px}.status-dot{display:inline-block;width:6px;height:6px;background:#4ade80;border-radius:50%;margin-right:8px}.main-column{width:calc(100% - 252px);margin-left:252px;display:flex;flex-direction:column}.topbar{height:80px;padding:0 38px;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 14px;color:#94a3b8}.breadcrumb strong{color:var(--text);font-weight:600}.topbar-actions{display:flex;gap:15px;align-items:center}.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:20px;display:inline-flex;align-items:center;justify-content:center}.user-chip{display:flex;align-items:center;gap:10px;color:var(--text);font-size:11px;font-weight:650}.avatar{width:34px;height:34px;background:var(--soft);color:var(--link);display:grid;place-items:center;border-radius:50%;font-size:12px}.content{padding:36px 38px;flex:1;width:100%;max-width:1500px}.app-footer{padding:18px 38px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px;color:var(--muted);margin-bottom:0}.page-heading .eyebrow{font-size:9px;margin-bottom:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:650;line-height:1.4;white-space:normal}.button.primary{background:var(--primary);color:white}.button.primary:hover{filter:brightness(.92)}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.button.subtle{background:var(--soft);color:var(--text);border-color:transparent}.button.full,.full{width:100%}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:25px;box-shadow:var(--shadow)}.narrow{max-width:660px}.welcome-banner{background:linear-gradient(120deg,#0f172a,#1e3a8a);border-radius:13px;min-height:217px;padding:30px 36px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:23px;color:#fff;overflow:hidden}.welcome-banner .eyebrow{color:#bfdbfe;font-size:9px}.welcome-banner h2{font-size:27px;line-height:1.25;color:#fff;letter-spacing:-.7px;margin-bottom:15px}.welcome-banner p{color:#dbeafe;max-width:490px;font-size:11px;margin:0}.banner-mark{font-size:72px;font-weight:800;letter-spacing:-9px;padding:16px 40px;border:1px solid #ffffff24;border-radius:22px;transform:rotate(-8deg);color:#ffffffc9}.banner-mark span{display:block;font-size:8px;letter-spacing:3px;text-align:center;margin-top:-13px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:25px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:23px}.stat-card>span{color:var(--muted);font-size:11px;font-weight:600}.stat-card strong{display:block;font-size:34px;line-height:1.2;letter-spacing:-1px;margin:12px 0 10px}.stat-card strong.stat-text{font-size:19px;letter-spacing:-.5px;margin-top:20px;margin-bottom:15px}.stat-card small{font-size:9px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:23px}.quick-links{display:grid;gap:0}.quick-links a{display:flex;align-items:center;justify-content:space-between;min-height:54px;border-bottom:1px solid var(--line);font-size:12px;color:var(--text)}.quick-links a:last-child{border-bottom:0}.quick-links span{color:var(--primary)}.event-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}.event-list li{display:flex;gap:13px;align-items:flex-start}.event-list strong{font-size:11px;font-weight:600;overflow-wrap:anywhere}.event-list small{font-size:9px;margin-top:3px}.event-dot{margin-top:9px;width:6px;height:6px;background:#1d4ed8;border-radius:50%;flex-shrink:0}.stack-form{display:grid;gap:20px}.stack-form label,.filter-form label{display:grid;gap:7px;font-size:12px;font-weight:650}input,select{min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:7px;color:var(--text);background:var(--surface);width:100%;font-size:13px}input::placeholder{color:#64748b}.filter-form{display:flex;align-items:end;gap:12px;margin-bottom:24px}.grow{flex:1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;min-width:650px}th{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);text-align:left;padding:12px;border-bottom:1px solid var(--line);background:var(--bg)}td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}td strong{font-weight:650}td small{font-size:10px;margin-top:5px}.badge{display:inline-flex;padding:4px 9px;border-radius:20px;font-size:9px;font-weight:650;margin:2px 4px 2px 0;white-space:nowrap}.badge.positive{background:#dcfce7;color:#166534}.badge.neutral{background:var(--soft);color:var(--muted)}.badge.warning{background:#fef3c7;color:#92400e}.pagination{display:flex;justify-content:center;gap:24px;align-items:center;font-size:11px;margin-top:24px;min-height:44px}.pagination a{padding:10px}.empty-state{padding:42px 20px;text-align:center;color:var(--muted);font-size:12px}.empty-state h2{font-size:17px;color:var(--text)}.empty-state p{margin:0}.row-details summary,summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;color:var(--link);font-weight:650}.row-actions{min-width:230px;display:grid;gap:20px;padding-top:8px}.compact{gap:12px}.actions{display:flex;gap:12px;flex-wrap:wrap}.details{margin-top:25px;border-top:1px solid var(--line);padding-top:12px}.secret-key{padding:18px;background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;display:grid;gap:16px}.secret-key code{overflow-wrap:anywhere;letter-spacing:1px;font-size:15px}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px;background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:24px}.recovery-codes code{font-size:13px;overflow-wrap:anywhere}.key-value{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:14px}.key-value>span{color:var(--muted)}.key-value strong{text-align:right;overflow-wrap:anywhere}.check-list{list-style:none;margin:0;padding:0}.check-list li{display:flex;justify-content:space-between;align-items:center;min-height:42px;border-bottom:1px solid var(--line);font-size:12px}.plain-list{font-size:12px;color:var(--muted);padding-left:20px;display:grid;gap:10px}.alert{border-radius:8px;padding:14px 18px;font-size:12px;margin-bottom:22px}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.break-text{overflow-wrap:anywhere;white-space:pre-wrap}.mt{margin-top:24px}.public-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 70% 0,var(--soft),transparent 65%),var(--bg)}.public-header{max-width:1240px;width:100%;margin:0 auto;padding:32px;display:flex;justify-content:space-between;align-items:center}.dark-brand{color:var(--text)}.dark-brand small{color:var(--muted)}.auth-main{flex:1;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:440px;border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:38px;box-shadow:0 18px 80px #0f172a0a}.auth-card h1{font-size:27px}.auth-card .muted{font-size:12px}.auth-card .eyebrow{font-size:9px}.auth-links{text-align:center;margin-top:22px;font-size:12px}.public-footer{text-align:center;font-size:10px;color:var(--muted);padding:30px}.home-hero{max-width:840px;text-align:center;padding:40px 20px}.home-hero .eyebrow{color:var(--primary)}.home-hero h1{font-size:66px;line-height:1.06;letter-spacing:-3px}.home-hero>p{max-width:540px;margin:25px auto;color:var(--muted);font-size:17px}.home-hero .button{min-height:52px;padding:16px 28px}.home-hero p.small{font-size:11px}.success-icon,.error-icon{display:grid;place-items:center;margin-bottom:20px;width:52px;height:52px;border-radius:50%;font-size:24px}.success-icon{background:#dcfce7;color:#166534}.error-icon{background:#fef3c7;color:#92400e}.mobile-menu{display:none}
@media(min-width:1400px){.content{padding:45px 50px}.topbar{padding-left:50px;padding-right:50px}}
@media(max-width:1050px){.sidebar{width:220px}.main-column{margin-left:220px;width:calc(100% - 220px)}.content{padding:28px 24px}.topbar{padding:0 24px}.banner-mark{display:none}.stat-card{padding:19px}.two-column{grid-template-columns:1fr}.app-footer{padding:18px 24px}}
@media(max-width:760px){.sidebar{visibility:hidden;transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 0 0 transparent}.menu-open .sidebar{visibility:visible;transform:translateX(0);box-shadow:20px 0 60px #0004}.main-column{margin:0;width:100%}.mobile-menu{display:inline-flex}.topbar{padding:12px 18px;height:72px;justify-content:flex-start}.breadcrumb{flex:1}.breadcrumb>span,.breadcrumb>strong{display:none}.topbar-actions{gap:8px}.user-chip>span:last-child{display:none}.content{padding:26px 18px}.page-heading{align-items:flex-start;flex-wrap:wrap}.page-heading h1{font-size:26px}.stat-grid{grid-template-columns:1fr;gap:12px}.stat-card{display:grid;grid-template-columns:1fr auto;align-items:center}.stat-card strong{grid-column:2;grid-row:1 / 3;margin:0 0 0 16px}.stat-card small{grid-column:1;margin-top:6px}.stat-card strong.stat-text{font-size:14px;margin:0}.welcome-banner{padding:25px;min-height:230px}.welcome-banner h2{font-size:25px}.panel{padding:21px 18px}.app-footer{padding:18px;display:block}.app-footer span{display:block;margin-top:4px}.filter-form{align-items:stretch;flex-wrap:wrap}.filter-form .grow{flex-basis:100%}.public-header{padding:23px}.auth-main{padding:20px 18px}.auth-card{padding:28px 23px}.home-hero h1{font-size:44px;letter-spacing:-1.7px}.home-hero>p{font-size:14px}.recovery-codes{grid-template-columns:1fr}.pagination{gap:12px}.key-value{align-items:flex-start}.row-actions{min-width:200px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.table-hint{display:none}@media(max-width:760px){.table-hint{display:block;margin:12px 0;color:var(--muted);font-size:11px}}

/* Phase 2: directories and relationship history */
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.catalog-card{text-decoration:none;color:var(--text);display:block}.catalog-card:hover{border-color:var(--primary)}.catalog-card h2{margin-top:10px}.record-form{max-width:760px}.record-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.record-fields dt{color:var(--muted);font-size:.85rem;margin-bottom:6px}.record-fields dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.interaction-list{margin-top:24px}.interaction{border-top:1px solid var(--line);padding:20px 0}.interaction strong,.interaction time{display:inline-block;margin:8px}.interaction p{white-space:pre-wrap;overflow-wrap:anywhere}.specialty-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.option-filter{margin-bottom:20px}.option-filter summary{cursor:pointer}.sidebar nav{overflow-y:auto}textarea{font:inherit;width:100%;padding:12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);resize:vertical}textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.operation-entry{padding:16px 0;border-bottom:1px solid var(--line)}.operation-entry small{display:block}.quote-item{border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}.quote-item legend{font-weight:700;padding:0 8px}.panel details{margin:12px 0}.panel summary{cursor:pointer;font-weight:600;padding:8px 0}.checkbox-label{display:flex;gap:10px;align-items:flex-start}.checkbox-label input{width:auto;flex:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.key-value{flex-wrap:wrap;gap:12px}}
.stack-form label.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5}.stack-form label.checkbox-label input{width:20px;height:20px;min-height:20px;padding:0;margin:2px 0;accent-color:var(--primary)}
.portal-order {display:block;text-decoration:none;color:var(--text)}
.portal-row {display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.portal-row form {width:100%}.wrap-anywhere {overflow-wrap:anywhere}.preserve-lines {white-space:pre-wrap;overflow-wrap:anywhere}
.signature-canvas,.signature-preview {display:block;width:min(100%,600px);height:auto;aspect-ratio:3/1;border:1px solid #9ca3af;border-radius:8px;background:#fff;touch-action:none}
.stack-form label.checkbox-label {display:flex;align-items:flex-start;gap:10px}.stack-form label.checkbox-label input {width:20px;height:20px;flex:0 0 20px;margin-top:2px}
details {margin-top:20px}summary {cursor:pointer;font-weight:600;margin-bottom:16px}
@media print {.sidebar,.topbar,.app-footer,.actions {display:none}.main-column,.content {margin:0;padding:0}.panel {border:0;box-shadow:none}}
.card-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:20px}
.portal-row {border-bottom-color:var(--line)}
.detail-list {display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:12px 20px;margin:24px 0}
.detail-list dt {font-weight:600;color:var(--muted)}.detail-list dd {margin:0;overflow-wrap:anywhere}
@media(max-width:760px) {.detail-list {grid-template-columns:1fr;gap:6px}.detail-list dd {margin-bottom:12px}}

/* Finance and local authenticator enrollment. */
.finance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px;margin-bottom:22px}.finance-summary .panel{margin:0}.finance-summary h2{font-size:1.65rem;margin:.5rem 0;overflow-wrap:anywhere}.finance-links{display:flex;flex-wrap:wrap;gap:10px}.financial-event{padding:20px 0;border-bottom:1px solid var(--line)}.financial-event:last-child{border-bottom:0}.customer-values{display:grid;grid-template-columns:1fr auto;gap:12px}.customer-values dd{margin:0;font-weight:700}.mfa-qr{display:flex;justify-content:center;margin:24px auto;width:min(100%,300px);background:#fff;padding:10px;border-radius:14px}.mfa-qr svg{display:block;max-width:100%;height:auto}.secret-key{flex-wrap:wrap}.secret-key code{overflow-wrap:anywhere;word-break:break-all}.finance-summary,.financial-event{min-width:0}

/* Customer experience, responsive without a separate mobile installation. */
.sidebar{overflow-y:auto}.is-landing .auth-main{max-width:1160px;width:100%;padding:24px}.is-landing .public-header{max-width:1160px;width:100%;margin:auto}.landing-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;padding:50px 0 60px}.landing-hero h1{font-size:clamp(38px,5vw,62px);letter-spacing:-2px;max-width:650px}.landing-hero p{font-size:17px;max-width:530px;color:var(--muted)}.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 16px}.hero-art{width:100%;max-height:370px}.hero-card{border-radius:28px;background:var(--soft);border:1px solid var(--line);padding:30px;position:relative}.hero-card strong{display:block;text-align:center;font-size:17px}.hero-card p{text-align:center;font-size:13px;margin:8px 0}.landing-services,.customer-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.landing-services .panel{margin:0}.service-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--soft);color:var(--link);border-radius:14px;font-size:26px;margin-bottom:20px}.landing-process{padding:55px 0}.landing-process h2{font-size:28px}.landing-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;gap:28px}.landing-process li>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-weight:750;color:var(--link);margin-bottom:16px}.landing-process h3{margin-top:0;font-size:17px}.registration-choices{scroll-margin-top:24px}.registration-choices .portal-row{flex-wrap:wrap}.landing-help{background:var(--soft);border-radius:20px;padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.landing-help p{margin:0}.customer-shell{min-height:100vh}.customer-column{max-width:1140px;margin:auto;min-height:100vh;display:flex;flex-direction:column}.customer-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:16px}.customer-navigation{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:0 28px 12px;overflow:auto}.customer-navigation a{padding:10px 16px;border-radius:10px;color:var(--muted);white-space:nowrap;font-weight:600;font-size:13px}.customer-navigation .selected{background:var(--soft);color:var(--link)}.customer-content{padding:28px;flex:1;min-width:0}.customer-content>.panel{margin-bottom:24px}.customer-welcome{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;padding:38px;border:1px solid var(--line);background:var(--soft);border-radius:24px;margin-bottom:24px}.customer-welcome h1{font-size:38px}.customer-welcome p{max-width:560px;color:var(--muted)}.welcome-symbol{font-size:100px;color:var(--link);line-height:1;text-align:center}.welcome-symbol span{font-size:12px;display:block;margin-top:18px;color:var(--muted)}.customer-shortcuts{margin-bottom:28px}.customer-shortcuts .panel{margin:0;color:var(--text);display:flex;flex-direction:column;transition:transform .15s}.customer-shortcuts .panel:hover{transform:translateY(-3px)}.customer-shortcuts h2{font-size:18px;margin-bottom:8px}.customer-shortcuts p{font-size:13px;color:var(--muted);flex:1}.text-link{font-weight:650;color:var(--link);font-size:13px}.customer-section{margin:28px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:7px}.visit-card{display:flex;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line);color:var(--text)}.visit-card>div:nth-child(2){flex:1;min-width:0}.visit-card p{font-size:13px;margin:4px 0;color:var(--muted)}.visit-date{width:65px;flex-shrink:0;border-radius:12px;background:var(--soft);padding:10px;text-align:center;color:var(--link);line-height:1.2}.visit-date strong{font-size:27px;display:block}.visit-date span{font-size:10px}.friendly-empty{display:flex;gap:20px;align-items:flex-start;padding:20px 0}.friendly-empty>span{font-size:34px;color:var(--link)}.friendly-empty h3{margin:0 0 8px;font-size:17px}.friendly-empty p{color:var(--muted);margin:0 0 10px}.customer-bottom-nav{display:none}.request-steps{list-style:none;display:flex;justify-content:space-between;padding:0;gap:12px;max-width:800px;margin:26px auto;color:var(--muted);font-size:12px}.request-steps li{display:flex;align-items:center;gap:9px}.request-steps span{border:1px solid var(--line);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.request-steps .current{color:var(--link);font-weight:700}.request-steps .current span{background:var(--primary);border-color:var(--primary);color:white}.request-panel{max-width:850px;margin:0 auto}.request-panel fieldset{min-width:0;border:1px solid var(--line);padding:18px;border-radius:12px}.request-panel legend{font-weight:650;padding:0 8px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.choice-grid label{padding:14px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px}.choice-grid label:has(input:checked){background:var(--soft);border-color:var(--primary)}.choice-grid input{width:16px;min-height:16px;accent-color:var(--primary);margin:0}.customer-submit{justify-self:start}.customer-content textarea{resize:vertical;width:100%;font:inherit}.portal-order h3{margin:8px 0 15px}.customer-content .panel,.customer-content .page-heading{overflow-wrap:anywhere}.customer-content .app-footer{margin-top:auto}
@media(max-width:760px){.landing-hero{grid-template-columns:1fr;gap:20px;padding:20px 0 32px}.hero-card{padding:20px}.hero-art{max-height:230px}.landing-services,.landing-process ol,.customer-shortcuts{grid-template-columns:1fr}.landing-services{gap:12px}.landing-services .panel{padding:20px}.landing-services .service-icon{float:left;margin:0 18px 20px 0}.landing-process{padding:30px 0}.landing-process ol{gap:16px}.landing-process li{display:grid;grid-template-columns:34px 1fr;column-gap:15px}.landing-process li>span{grid-row:1/3}.landing-process p{grid-column:2;margin-bottom:0}.landing-help{align-items:flex-start;flex-direction:column}.customer-header{height:72px;padding:0 18px}.customer-navigation{padding:0 12px 10px}.customer-navigation a{padding:8px 12px;font-size:12px}.customer-content{padding:20px 16px 90px}.customer-welcome{padding:24px;grid-template-columns:1fr}.customer-welcome h1{font-size:30px}.welcome-symbol{display:none}.customer-shortcuts{gap:12px}.customer-shortcuts .panel{display:grid;grid-template-columns:48px 1fr;gap:0 16px;padding:20px}.customer-shortcuts .service-icon{grid-row:1/4;margin:0}.customer-shortcuts h2,.customer-shortcuts p,.customer-shortcuts .text-link{grid-column:2}.customer-shortcuts p{margin-bottom:8px}.customer-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;z-index:40;padding:8px 8px max(10px,env(safe-area-inset-bottom))}.customer-bottom-nav a{font-size:10px;display:grid;place-items:center;color:var(--muted);min-width:60px;min-height:48px}.customer-bottom-nav span{font-size:22px;line-height:1.1;color:var(--link)}.customer-column>.app-footer{display:none}.choice-grid{grid-template-columns:1fr}.request-steps{font-size:10px;gap:6px}.request-steps li{gap:5px}.request-steps span{width:23px;height:23px}.customer-submit{width:100%}.visit-card{gap:12px}.section-heading{align-items:flex-start}.customer-content .page-heading{gap:12px}.request-panel{padding:20px}}
/* v0.6.1: customer booking and shared scheduling controls */
.booking-flow{max-width:820px;margin-inline:auto;padding:clamp(20px,4vw,36px)}
.booking-flow section{display:grid;gap:18px}.booking-flow [hidden]{display:none!important}
.booking-progress{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 28px;font-size:.8rem;color:var(--muted)}
.booking-progress li{padding:12px 6px;border-bottom:3px solid var(--line)}.booking-progress .current{color:var(--primary,#1d4ed8);border-color:#1d4ed8;font-weight:700}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-toolbar strong{text-transform:capitalize}
.calendar-week,.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-week{text-align:center;font-size:.8rem;color:var(--muted)}
.calendar-day{font:inherit;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);color:inherit;cursor:pointer}
.calendar-day.available{border-color:#1d4ed8;color:#1d4ed8;font-weight:700;background:#eff6ff}.calendar-day:disabled{opacity:.45;cursor:default}.calendar-day.closed,.calendar-day.blocked{background:#eceef3}
.calendar-day[aria-pressed=true],.slot-chip[aria-pressed=true]{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.booking-slots{display:flex;gap:10px;flex-wrap:wrap}.slot-chip{display:flex;flex-direction:column;gap:4px;min-height:48px;min-width:72px;justify-content:center;align-items:center;padding:12px 16px;font:inherit;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);color:inherit}.slot-chip small{font-size:.73rem}
button.slot-chip{cursor:pointer}.booking-review{padding:16px;border-radius:16px;background:var(--bg,#f4f7fc)}
.schedule-rule-card{border:1px solid var(--line);border-radius:14px;padding:18px;color:inherit;text-decoration:none;display:block}.schedule-rule-card:hover{border-color:#1d4ed8}.badge.danger{color:#991b1b;background:#fee2e2}
.customer-bottom-nav{grid-template-columns:repeat(5,1fr)!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important}.customer-bottom-nav a{min-height:54px;gap:4px;font-size:.7rem!important}.customer-bottom-nav svg{width:22px;height:22px}.customer-bottom-nav a[aria-current=page]{color:#1d4ed8;background:#eff6ff;border-radius:12px}
.is-customer .customer-content{padding-bottom:28px}.is-customer .customer-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.service-icon svg{width:24px;height:24px}.booking-flow button:disabled{cursor:default;opacity:.55}
@media(max-width:700px){.is-customer .customer-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-header .brand{font-size:.9rem}.booking-progress{font-size:.67rem;gap:4px}.booking-flow{padding:18px}.calendar-day{min-height:44px}.booking-flow .actions .button{flex:1}.booking-review .key-value{align-items:flex-start;gap:12px}.booking-review strong{max-width:65%;overflow-wrap:anywhere}.is-customer .customer-content{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:700px){.customer-bottom-nav{display:grid}.customer-bottom-nav span{font-size:.67rem;line-height:1.2}.is-customer .customer-shortcuts .panel{display:flex;padding:16px;gap:0}.is-customer .customer-shortcuts .service-icon{margin-bottom:12px}.is-customer .customer-shortcuts h2{font-size:15px}.is-customer .customer-shortcuts p{font-size:12px}}

.welcome-symbol>svg{width:110px;height:110px}.booking-review{background:var(--soft)}.booking-flow section>label{display:grid;gap:8px}.is-customer .customer-bottom-nav span{color:inherit}

.customer-header .user-chip{display:flex}@media(max-width:700px){.customer-header .brand{font-size:13px}.customer-header .brand img{width:32px;height:32px}.customer-header .topbar-actions{gap:8px}.customer-header .user-chip{padding:0;border:0}.customer-header .avatar{width:34px;height:34px}}

.customer-header .user-chip>.avatar{display:grid}

@media(max-width:360px){.is-customer .customer-shortcuts{grid-template-columns:1fr}.is-customer .customer-shortcuts .panel{display:grid;grid-template-columns:48px 1fr;gap:0 14px}.is-customer .customer-shortcuts .service-icon{grid-row:1/4;margin:0}.is-customer .customer-shortcuts h2,.is-customer .customer-shortcuts p,.is-customer .customer-shortcuts .text-link{grid-column:2}}
