:root { --primary:#123c69; --primary-dark:#0d3156; --dark:#13233b; --muted:#627589; --bg:#f4f7fb; --border:#d8e2ec; --accent:#c75d2e; --accent-dark:#a94820; --danger:#b42318; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--bg); color:var(--dark); }
button,input,select { font:inherit; }
.site-header { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 7%; background:rgba(255,255,255,.94); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:100; backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; gap:10px; color:var(--dark); text-decoration:none; font-size:1.2rem; font-weight:800; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#f5a65b; color:var(--primary-dark); font-family:Georgia,"Times New Roman",serif; }
.site-nav { display:flex; align-items:center; gap:6px; }
.nav-link { background:transparent; color:var(--muted); padding:10px 13px; }
.nav-link:hover { background:#eff6ff; color:var(--primary-dark); }
.nav-login { padding:10px 18px; }
.hero { min-height:calc(100vh - 72px); display:flex; align-items:center; padding:72px 8%; }
.hero-content { max-width:800px; }
.eyebrow { color:var(--primary); font-weight:800; letter-spacing:.02em; }
h1 { font-size:clamp(3rem,7vw,6rem); line-height:.95; margin:20px 0; letter-spacing:-.05em; }
h2 { font-size:2rem; margin:.35rem 0 1rem; }
h3 { margin-top:0; }
p { color:var(--muted); line-height:1.65; }
.actions,.call-controls { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
button { border:0; border-radius:12px; padding:13px 20px; background:var(--primary); color:#fff; font-weight:750; cursor:pointer; }
button:hover { background:var(--primary-dark); }
button.secondary,.text-button { background:#fff; color:var(--dark); border:1px solid var(--border); }
button.danger { background:var(--danger); }
.text-button { padding:9px 14px; }
.hidden { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.panel,.call-view { padding:48px clamp(24px,5vw,72px) 72px; }
.card { background:#fff; border:1px solid var(--border); border-radius:22px; padding:28px; box-shadow:0 12px 35px rgba(15,23,42,.05); }
.card.narrow { max-width:500px; margin:0 auto; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr); gap:24px; align-items:start; width:100%; }
label { display:grid; gap:8px; margin:16px 0; font-weight:700; }
label small { color:var(--muted); font-size:.76rem; font-weight:600; line-height:1.4; }
input,select { width:100%; padding:13px 14px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; }
.status { min-height:1.5em; margin-top:18px; }
.call-topbar { display:flex; justify-content:space-between; gap:24px; align-items:center; max-width:1300px; margin:0 auto 24px; }
.call-topbar h2 { margin:.2rem 0; }
.call-topbar p { margin:0; }
.video-grid { max-width:1300px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.video-card { position:relative; min-height:260px; overflow:hidden; border-radius:20px; background:#020617; aspect-ratio:16/10; }
.video-card video { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.video-label { position:absolute; left:16px; bottom:16px; max-width:calc(100% - 32px); display:flex; align-items:center; gap:8px; background:rgba(15,23,42,.72); color:#fff; padding:6px 12px 6px 6px; border:1px solid rgba(255,255,255,.16); border-radius:999px; box-shadow:0 10px 28px rgba(2,6,23,.28); backdrop-filter:blur(14px) saturate(135%); -webkit-backdrop-filter:blur(14px) saturate(135%); }
.video-role { flex:0 0 auto; padding:5px 9px; border-radius:999px; background:linear-gradient(135deg,#2563eb,#38bdf8); font-size:.68rem; line-height:1; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.video-card[data-role="translator"] .video-role { background:linear-gradient(135deg,#7c3aed,#ec4899); box-shadow:0 4px 14px rgba(192,38,211,.32); }
.video-card[data-role="local"] .video-role { background:rgba(255,255,255,.16); }
.video-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.94rem; font-weight:750; }
.video-label-separator { color:rgba(255,255,255,.5); font-weight:800; }
.video-label-local { padding-right:6px; }
.video-language { flex:0 0 auto; padding:5px 9px; border-radius:999px; background:rgba(255,255,255,.16); font-size:.68rem; font-weight:800; }
.call-controls { justify-content:center; }
.centered { text-align:center; }
code { background:#e2e8f0; padding:3px 6px; border-radius:6px; }
@media (max-width:800px) { .dashboard-grid,.video-grid { grid-template-columns:1fr; } .call-topbar { align-items:flex-start; flex-direction:column; } .site-header { padding:0 4%; } .panel,.call-view { padding:36px 4%; } }

/* Public landing page */
.landing-view { overflow:hidden; }
.landing-hero { min-height:690px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); gap:70px; align-items:center; padding:80px max(7%,calc((100vw - 1280px)/2)); background:radial-gradient(circle at 80% 15%,#dbeafe 0,transparent 30%),linear-gradient(145deg,#fff 0%,#f8fbff 62%,#eff6ff 100%); }
.landing-hero .hero-content { max-width:720px; }
.landing-hero h1 { font-size:clamp(3.1rem,6.5vw,6.2rem); max-width:900px; }
.hero-lead { max-width:680px; font-size:1.17rem; }
.hero-trust { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:25px; color:#475569; font-size:.9rem; font-weight:700; }
.hero-trust span::first-letter { color:var(--primary); }
.hero-visual { min-height:470px; position:relative; border-radius:42px; background:linear-gradient(145deg,#1e3a8a,#2563eb 55%,#60a5fa); box-shadow:0 35px 80px rgba(37,99,235,.3); overflow:hidden; }
.hero-visual::before { content:""; position:absolute; inset:24px; border:1px solid rgba(255,255,255,.22); border-radius:32px; }
.hero-orbit { position:absolute; border:1px solid rgba(255,255,255,.25); border-radius:50%; }
.hero-orbit-one { width:360px; height:360px; right:-70px; top:-90px; }.hero-orbit-two { width:280px; height:280px; left:-80px; bottom:-90px; }
.hero-person { position:absolute; display:grid; justify-items:center; gap:4px; color:#fff; }
.hero-person > span { width:100px; height:100px; display:grid; place-items:center; border-radius:30px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.35); font-size:1.45rem; font-weight:850; backdrop-filter:blur(12px); }
.hero-person strong { font-size:1.05rem; }.hero-person small { color:#dbeafe; }
.hero-person-primary { left:16%; top:22%; }.hero-person-secondary { right:15%; top:38%; }
.hero-interpreter { position:absolute; left:12%; right:12%; bottom:12%; display:flex; align-items:center; gap:12px; padding:17px 19px; border:1px solid rgba(255,255,255,.32); border-radius:18px; background:rgba(15,23,42,.36); color:#fff; backdrop-filter:blur(14px); }
.hero-interpreter strong,.hero-interpreter small { display:block; }.hero-interpreter small { color:#dbeafe; margin-top:3px; }
.live-dot { width:12px; height:12px; border-radius:50%; background:#4ade80; box-shadow:0 0 0 7px rgba(74,222,128,.18); }
.landing-section { padding:95px max(7%,calc((100vw - 1280px)/2)); background:#fff; }
.landing-directory-section { padding:95px max(7%,calc((100vw - 1280px)/2)); background:#f8fafc; scroll-margin-top:24px; }
.section-intro { max-width:690px; margin-bottom:38px; }.section-intro h2 { font-size:clamp(2rem,4vw,3.3rem); }.section-intro p { font-size:1.05rem; }
.workflow-tabs { display:inline-flex; flex-wrap:wrap; gap:8px; margin:-8px 0 28px; padding:6px; border:1px solid var(--border); border-radius:18px; background:#f8fafc; }
.workflow-tab { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:11px 18px; border:1px solid transparent; border-radius:13px; background:transparent; color:var(--muted); }
.workflow-tab:hover { background:#eff6ff; color:var(--primary-dark); }
.workflow-tab.active { border-color:#bfdbfe; background:#fff; color:var(--primary-dark); box-shadow:0 5px 18px rgba(37,99,235,.1); }
.workflow-tab:focus-visible { outline:3px solid rgba(37,99,235,.3); outline-offset:2px; }
.workflow-panel[hidden] { display:none; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.feature-card { padding:28px; border:1px solid var(--border); border-radius:24px; background:#fff; box-shadow:0 12px 35px rgba(15,23,42,.045); }
.feature-card h3 { margin:18px 0 10px; font-size:1.25rem; }.feature-card p { margin:0; }
.feature-number { display:grid; place-items:center; width:45px; height:45px; border-radius:14px; background:#eff6ff; color:var(--primary); font-weight:850; }
.landing-cta { margin:0 max(4%,calc((100vw - 1280px)/2)) 80px; padding:40px 46px; display:flex; align-items:center; justify-content:space-between; gap:28px; border-radius:30px; background:#0f172a; color:#fff; }
.landing-cta h2 { margin:.45rem 0 0; }.landing-cta .eyebrow { color:#93c5fd; }
@media (max-width:900px) { .landing-hero { grid-template-columns:1fr; padding-top:60px; }.hero-visual { min-height:420px; }.feature-grid { grid-template-columns:1fr; }.landing-cta { align-items:flex-start; flex-direction:column; } }
@media (max-width:650px) { .site-header { align-items:flex-start; padding-top:12px; padding-bottom:12px; }.site-nav { flex-wrap:wrap; justify-content:flex-end; }.nav-link { padding:8px; font-size:.86rem; }.landing-hero { padding:50px 5%; gap:35px; }.landing-hero h1 { font-size:3.25rem; }.hero-visual { min-height:360px; }.hero-person > span { width:82px; height:82px; }.landing-section,.landing-directory-section { padding:65px 5%; }.workflow-tabs { display:grid; width:100%; }.workflow-tab { width:100%; }.landing-cta { margin:0 5% 55px; padding:30px; } }

.transcript-card { max-width:1300px; margin:28px auto 0; background:#fff; border:1px solid var(--border); border-radius:20px; padding:22px; }
.transcript-header { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--border); padding-bottom:14px; }
.transcript-header h3 { margin:.2rem 0 0; }
.transcript-indicators { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.language-detection { min-width:190px; display:grid; gap:2px; padding:9px 12px; border:1px solid #a7d7bd; border-radius:12px; background:#edf9f2; text-align:left; }
.language-detection.pending { border-color:var(--border); background:#f8fafc; }
.language-detection.low { border-color:#f0c36c; background:#fff8e8; }
.language-detection-label { color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.language-detection strong { color:var(--dark); font-size:.9rem; }
.language-detection span:last-child { color:var(--muted); font-size:.72rem; }
.language-confirmation { margin:14px 0 4px; padding:13px; border:1px solid #bfdbfe; border-radius:12px; background:#f8fbff; }
.language-confirmation.low { border-color:#f0c36c; background:#fff8e8; }
.language-confirmation label { margin:0 0 9px; font-size:.84rem; }
.language-confirmation > div { display:flex; align-items:center; gap:9px; }
.language-confirmation select { max-width:250px; padding:10px 12px; }
.language-confirmation button { padding:10px 15px; }
.interpreter-matches { max-width:1300px; margin:18px auto 0; padding:20px 22px; border:1px solid #bfdbfe; border-radius:20px; background:#f8fbff; }
.interpreter-matches-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.interpreter-matches-heading h3 { margin:.2rem 0 0; }
.interpreter-matches-heading > span { color:var(--muted); font-size:.82rem; font-weight:700; }
.interpreter-match-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.interpreter-match { display:grid; gap:10px; padding:14px; border:1px solid var(--border); border-radius:14px; background:#fff; }
.interpreter-match-top { display:flex; align-items:start; justify-content:space-between; gap:10px; }
.interpreter-match strong,.interpreter-match small { display:block; }
.interpreter-match small { margin-top:3px; color:var(--muted); }
.match-confidence { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#e7f7ed; color:#17643a; font-size:.72rem; font-weight:850; }
.interpreter-match-tags { display:flex; flex-wrap:wrap; gap:6px; }
.interpreter-match-tags span { padding:4px 7px; border-radius:999px; background:#eff6ff; color:var(--primary); font-size:.68rem; font-weight:750; }
.transcription-status { font-size:.88rem; font-weight:750; color:var(--muted); }
.transcript-list { max-height:300px; overflow:auto; padding:10px 0; }
.transcript-line { padding:12px 0; border-bottom:1px solid var(--border); }
.transcript-line:last-child { border-bottom:0; }
.transcript-speaker { display:flex; gap:8px; align-items:center; font-weight:800; font-size:.9rem; }
.transcript-role { color:var(--primary); text-transform:uppercase; font-size:.72rem; letter-spacing:.04em; }
.transcript-language { margin-left:auto; padding:4px 7px; border-radius:999px; background:#eef6ff; color:#285f80; font-size:.7rem; font-weight:800; }
.transcript-text { margin:5px 0 0; color:var(--dark); line-height:1.5; }
.transcript-empty,.transcript-note { font-size:.9rem; }
.transcript-note { margin:10px 0 0; border-top:1px solid var(--border); padding-top:12px; }
@media (max-width:900px) { .interpreter-match-list { grid-template-columns:1fr 1fr; } }
@media (max-width:760px) { .transcript-header { align-items:flex-start; flex-direction:column; }.transcript-indicators { width:100%; align-items:stretch; flex-direction:column; }.language-detection { min-width:0; }.language-confirmation > div { align-items:stretch; flex-direction:column; }.language-confirmation select { max-width:none; }.interpreter-match-list { grid-template-columns:1fr; }.interpreter-matches-heading { align-items:flex-start; flex-direction:column; } }

/* Dashboard history + incoming call experience */
.conversation-history { display: grid; gap: .75rem; margin-top: 1rem; }
.conversation-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; align-items: center; }
.conversation-item { width: 100%; text-align: left; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 1rem; color: inherit; }
.conversation-item:hover { border-color: rgba(255,255,255,.28); transform: translateY(-1px); }
.conversation-item strong { display: block; margin-bottom: .3rem; }
.conversation-meta { opacity: .72; font-size: .9rem; }
.conversation-review-button { white-space: nowrap; }
@media (max-width: 640px) { .conversation-row { grid-template-columns: 1fr; } .conversation-review-button { width: 100%; } }
.modal-backdrop { position: fixed; inset: 0; z-index: 1000; background: rgba(3,8,18,.78); display: grid; place-items: center; padding: 1rem; backdrop-filter: blur(8px); }
.modal-backdrop.hidden { display: none; }
.modal-card { width: min(520px, 100%); background: #111827; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; padding: 1.5rem; box-shadow: 0 24px 80px rgba(0,0,0,.45); }
.modal-card h2 { color:#f8fafc; }
.modal-card .actions { display: flex; gap: .75rem; justify-content: flex-end; margin-top: 1.25rem; }
.transcript-modal-card { width: min(760px, 100%); max-height: 85vh; display: flex; flex-direction: column; }
.history-transcript-list { min-height: 260px; max-height: 58vh; overflow-y: auto; }
.translator-request-modal-card { width:min(660px,100%); max-height:90vh; overflow-y:auto; }
.translator-request-modal-card h2,.translator-request-modal-card .request-language-heading strong { color:#f8fafc; }
.translator-request-modal-card > p { margin:1rem 0; color:#cbd5e1; }
.request-language-section { margin:0 0 1rem; padding:1rem; border:1px solid rgba(147,197,253,.32); border-radius:14px; background:rgba(37,99,235,.12); }
.request-language-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:.75rem 0; }
.request-language-heading > span { color:#94a3b8; font-size:.8rem; font-weight:750; }
.request-language-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.request-language-chip { padding:.4rem .65rem; border-radius:999px; background:#dbeafe; color:#1e3a8a; font-size:.8rem; font-weight:800; }
.request-language-empty { color:#94a3b8; font-size:.86rem; }
.request-language-search { margin:0 0 .75rem; color:#e2e8f0; }
.request-language-search span { display:block; margin-bottom:.45rem; font-size:.85rem; font-weight:800; }
.request-language-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; max-height:260px; overflow-y:auto; padding:.25rem; }
.request-language-option { display:flex; align-items:center; gap:.65rem; margin:0; padding:.7rem .75rem; border:1px solid rgba(255,255,255,.13); border-radius:11px; color:#e2e8f0; cursor:pointer; }
.request-language-option:has(input:checked) { border-color:#60a5fa; background:rgba(37,99,235,.18); }
.request-language-option input { width:auto; margin:0; accent-color:#60a5fa; }
.request-language-option.detected span::after { content:"Detected"; margin-left:.5rem; color:#93c5fd; font-size:.67rem; font-weight:850; text-transform:uppercase; }
.request-language-error { margin:.75rem 0 0; color:#fca5a5; font-weight:700; }
@media (max-width:560px) { .request-language-options { grid-template-columns:1fr; }.translator-request-modal-card .actions { align-items:stretch; flex-direction:column-reverse; }.translator-request-modal-card .actions button { width:100%; } }

/* Authenticated application shell */
.skip-link { position:absolute; left:12px; top:-60px; z-index:2000; background:#fff; color:var(--dark); padding:10px 14px; border-radius:8px; box-shadow:0 4px 16px rgba(15,23,42,.2); }
.skip-link:focus { top:12px; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid rgba(37,99,235,.35); outline-offset:3px; }
.app-shell { display:grid; grid-template-columns:244px minmax(0,1fr); gap:36px; max-width:1320px; margin:0 auto; }
.dashboard-sidebar { background:linear-gradient(180deg,#fff 0%,#fbfdff 100%); border:1px solid #d7e2ed; border-radius:26px; padding:18px; align-self:start; position:sticky; top:96px; box-shadow:0 18px 45px rgba(15,23,42,.07),0 2px 8px rgba(15,23,42,.03); }
.sidebar-user { display:flex; gap:13px; align-items:center; min-width:0; padding:8px 7px 21px; border-bottom:1px solid #e1e8f0; }
.sidebar-user>div:last-child { min-width:0; }
.sidebar-user strong,.sidebar-user span { display:block; }
.sidebar-user strong { overflow:hidden; color:var(--dark); font-size:.98rem; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-user span { color:#708197; font-size:.78rem; margin-top:4px; font-weight:650; letter-spacing:.01em; text-transform:capitalize; }
.profile-avatar { width:48px; height:48px; flex:0 0 48px; border:1px solid #c9dcf7; border-radius:16px; display:grid; place-items:center; background:linear-gradient(145deg,#eaf3ff,#d7e7fc); color:var(--primary-dark); font-size:1rem; font-weight:850; box-shadow:inset 0 1px 0 rgba(255,255,255,.85); }
.dashboard-nav { display:grid; gap:7px; margin-top:17px; }
.dashboard-nav-item { position:relative; display:flex; align-items:center; gap:12px; min-height:48px; text-align:left; width:100%; background:transparent; color:#63758a; border:1px solid transparent; border-radius:14px; padding:10px 12px; font-size:.92rem; font-weight:750; transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease; }
.dashboard-nav-item .nav-icon { width:22px; height:22px; flex:0 0 22px; display:grid; place-items:center; color:#718399; }
.dashboard-nav-item .nav-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.dashboard-nav-item:hover { background:#f2f7fd; color:var(--primary-dark); border-color:#e0eaf5; transform:translateX(2px); }
.dashboard-nav-item:hover .nav-icon { color:var(--primary); }
.dashboard-nav-item.active { background:linear-gradient(135deg,#eaf3ff,#f1f7ff); color:var(--primary-dark); border-color:#cfe1fa; box-shadow:0 6px 15px rgba(37,99,235,.08),inset 3px 0 0 #3276c7; }
.dashboard-nav-item.active .nav-icon { color:#1f67b5; }
.dashboard-content { min-width:0; }
.dashboard-panel { width:100%; }
.mobile-app-header { display:none; }
.dashboard-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:28px; }
.dashboard-heading .eyebrow { font-size:.78rem; letter-spacing:.075em; text-transform:uppercase; }
.dashboard-heading h2 { margin:.35rem 0 .45rem; font-size:clamp(2rem,3vw,2.65rem); line-height:1; letter-spacing:-.035em; }
.dashboard-heading p { margin:0; }
.status-badge { background:#dcfce7; color:#166534; border:1px solid #bbf7d0; border-radius:999px; padding:7px 11px; font-size:.82rem; font-weight:800; }
.form-card { max-width:820px; padding:36px 38px; border-color:#d5e0eb; }
.form-card form { max-width:680px; }
#profileForm { display:grid; gap:24px; }
.profile-field { display:grid; gap:9px; }
.profile-field label { margin:0; color:#172b46; font-size:.9rem; }
.profile-field input { min-height:52px; border-color:#cbd8e6; background:#fbfdff; transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease; }
.profile-field input:not(:disabled):hover { border-color:#9eb7d0; background:#fff; }
.profile-field input:disabled { color:#52657a; background:#f3f6f9; opacity:1; }
.profile-field .field-help { margin:0; color:#718196; font-size:.78rem; line-height:1.5; }
#profileForm>button { justify-self:start; min-width:150px; margin-top:2px; padding:13px 22px; box-shadow:0 8px 18px rgba(18,60,105,.14); }
.selected-interpreter { max-width:560px; display:flex; align-items:center; justify-content:space-between; gap:16px; margin:18px 0; padding:14px 16px; border:1px solid #bfdbfe; border-radius:14px; background:#eff6ff; }
.selected-interpreter div,.selected-interpreter span,.selected-interpreter strong { display:block; }
.selected-interpreter span { color:var(--muted); font-size:.78rem; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.selected-interpreter strong { margin-top:3px; color:var(--primary-dark); }
.selected-interpreter .text-button { padding:6px 0; }
.call-form-status { max-width:560px; margin:10px 0 0; color:var(--muted); font-weight:650; }
.call-form-status.error { color:var(--danger); }
.app-action-hub { width:100%; margin:0 0 24px; padding:30px; border:1px solid #d7e2ed; border-radius:24px; background:linear-gradient(145deg,#fff,#f7fbff); box-shadow:0 14px 36px rgba(15,23,42,.06); }
.app-greeting { margin:0 0 4px; color:var(--muted); font-size:.92rem; }
.app-greeting strong { color:var(--dark); }
.app-action-hub h2 { margin:0 0 20px; max-width:620px; font-size:clamp(2rem,4vw,3.35rem); line-height:1; letter-spacing:-.045em; }
.app-primary-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.app-primary-actions>button { min-height:92px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; padding:18px 20px; border-radius:17px; background:linear-gradient(135deg,#0b6cff,#176bea); text-align:left; box-shadow:0 12px 24px rgba(11,108,255,.2); }
.app-primary-actions>button:hover { background:#005ce6; transform:translateY(-1px); }
.app-primary-actions strong,.app-primary-actions small { display:block; }
.app-primary-actions strong { font-size:1rem; }
.app-primary-actions small { margin-top:3px; color:#dbeafe; font-size:.75rem; font-weight:600; }
.app-action-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:rgba(255,255,255,.18); }
.app-action-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.app-action-arrow { font-size:1.6rem; font-weight:500; opacity:.85; transition:transform .18s ease; }
.app-primary-actions>button:hover .app-action-arrow { transform:translateX(3px); }
.app-category-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.app-category-row button { padding:8px 13px; border:1px solid #d8e2ec; border-radius:999px; background:#eef2f6; color:#334155; font-size:.78rem; }
.app-category-row button:hover { border-color:#8ab9ff; background:#e8f1ff; color:#0756c9; }
.call-start-card { align-self:start; padding:28px; scroll-margin-top:96px; }
.call-start-card h3 { margin-bottom:8px; }
.call-start-card p { margin:0 0 12px; line-height:1.5; }
.call-start-card label { margin:16px 0 8px; }
.call-start-card input { min-height:50px; background:#fbfdff; }
.call-start-card #callForm button { width:100%; margin-top:4px; background:#0b6cff; }
.call-method-separator { display:flex; align-items:center; gap:10px; margin:2px 0; color:var(--muted); font-size:.76rem; font-weight:800; text-transform:uppercase; }
.call-method-separator::before,.call-method-separator::after { content:""; height:1px; flex:1; background:var(--border); }
.call-phone-help { margin:8px 0 14px!important; font-size:.78rem; }
.history-card { min-height:250px; max-height:480px; display:flex; flex-direction:column; padding:28px; }
.history-card .section-heading h3 { margin-bottom:0; }
.history-card>p { margin:10px 0 4px; line-height:1.45; }
.history-card .conversation-history { min-height:0; max-height:286px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding-right:6px; }
.history-card .conversation-row { gap:8px; }
.history-card .conversation-item { padding:12px 13px; border-color:#e2e8f0; background:#f8fafc; color:var(--dark); }
.history-card .conversation-item strong { margin-bottom:2px; }
.history-card .conversation-meta { font-size:.82rem; line-height:1.35; }
.field-help { font-size:.85rem; margin:-8px 0 12px; }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.settings-grid .card:first-child { grid-column:1 / -1; }
@media (max-width:1050px) { .app-shell { grid-template-columns:220px minmax(0,1fr); gap:24px; } .dashboard-grid { grid-template-columns:1fr; } }
@media (max-width:850px) { .app-shell { grid-template-columns:1fr; } .dashboard-sidebar { position:static; } .dashboard-nav { grid-template-columns:repeat(3,1fr); } .dashboard-nav-item { justify-content:center; text-align:center; } .settings-grid { grid-template-columns:1fr; } .settings-grid .card:first-child { grid-column:auto; } }

/* Interpreter onboarding */
textarea { width:100%; padding:13px 14px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; font:inherit; resize:vertical; }
textarea:focus-visible { outline:3px solid rgba(37,99,235,.35); outline-offset:3px; }
.interpreter-form { display:grid; gap:20px; max-width:900px; }
.form-section { box-shadow:none; }
.form-section h3 { margin:.35rem 0 1rem; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.profile-photo-row { display:grid; grid-template-columns:120px minmax(0,1fr); gap:22px; align-items:center; margin:18px 0; }
.interpreter-photo-placeholder { width:120px; height:120px; border-radius:24px; display:grid; place-items:center; background:#eff6ff; border:1px dashed #93c5fd; color:var(--primary-dark); font-weight:800; overflow:hidden; background-size:cover; background-position:center; }
fieldset { border:0; padding:0; margin:18px 0; } legend { font-weight:800; margin-bottom:10px; }
.day-options { display:flex; flex-wrap:wrap; gap:8px; }
.day-options label,.inline-check { display:flex; align-items:center; gap:8px; margin:0; padding:9px 12px; border:1px solid var(--border); border-radius:10px; background:#fff; font-weight:650; }
.day-options input,.inline-check input { width:auto; margin:0; }
.form-actions { display:flex; flex-wrap:wrap; gap:12px; }
.form-actions button { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.button-spinner { width:18px; height:18px; flex:0 0 18px; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:button-spin .7s linear infinite; }
.secondary .button-spinner { border-color:rgba(15,23,42,.22); border-top-color:var(--dark); }
button:disabled { cursor:wait; opacity:.72; }
#requestTranslatorButton:disabled { cursor:not-allowed; opacity:.52; }
@keyframes button-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .button-spinner { animation-duration:1.4s; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
.onboarding-progress { height:10px; background:#e2e8f0; border-radius:999px; overflow:hidden; margin:0 0 8px; }
.onboarding-progress-bar { height:100%; width:0; background:var(--primary); transition:width .2s ease; }
.pending-badge { background:#fef3c7; color:#92400e; border-color:#fde68a; }
@media (max-width:700px) { .form-grid,.profile-photo-row { grid-template-columns:1fr; } .dashboard-nav { grid-template-columns:repeat(2,1fr); } }

/* Mobile app shell */
@media (max-width:700px) {
  body.dashboard-mode { background:#f7f8fb; }
  body.dashboard-mode .site-header { display:none; }
  #dashboardView { min-height:100dvh; padding:0 0 calc(92px + env(safe-area-inset-bottom)); background:#f7f8fb; }
  #dashboardView .app-shell { display:block; max-width:560px; margin:0 auto; }
  #dashboardView .dashboard-content { padding:0 16px 26px; }
  .mobile-app-header { min-height:70px; display:flex; align-items:center; justify-content:space-between; margin:0 -16px 18px; padding:calc(12px + env(safe-area-inset-top)) 20px 10px; background:rgba(255,255,255,.95); border-bottom:1px solid #e8ebf0; position:sticky; top:0; z-index:45; backdrop-filter:blur(18px); }
  .mobile-app-brand { display:flex; align-items:center; gap:8px; color:#080b12; font-size:1.08rem; }
  .mobile-app-brand>span { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:#0b6cff; color:#fff; font-size:1rem; }
  .mobile-settings-button { width:40px; height:40px; display:grid; place-items:center; padding:0; border-radius:50%; background:#eef2f7; color:#1e293b; font-size:1rem; }
  .mobile-settings-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .dashboard-heading { display:none; }
  .app-action-hub { margin:0 0 14px; padding:8px 0 10px; border:0; background:transparent; box-shadow:none; }
  .app-greeting { margin-bottom:6px; font-size:.88rem; }
  .app-action-hub h2 { max-width:330px; margin-bottom:18px; font-size:2.35rem; line-height:.98; }
  .app-primary-actions { grid-template-columns:1fr; gap:9px; }
  .app-primary-actions>button { min-height:74px; padding:13px 15px; border-radius:14px; }
  .app-category-row { margin-top:12px; justify-content:center; }
  .app-category-row button { flex:1; min-width:88px; }
  #dashboardView .dashboard-grid { display:grid; gap:14px; }
  #dashboardView .card { padding:20px; border-radius:18px; box-shadow:0 8px 24px rgba(15,23,42,.06); }
  #profileForm { gap:20px; }
  #profileForm>button { width:100%; }
  .call-start-card h3,.history-card h3 { font-size:1.35rem; }
  .call-start-card #callForm input { min-height:50px; background:#fbfcfe; }
  .call-start-card #callForm button { min-height:50px; }
  .conversation-item { border-color:#e2e8f0; background:#f8fafc; color:var(--dark); }
  .conversation-review-button { background:#0b6cff; }
  .dashboard-sidebar { position:fixed; z-index:60; left:10px; right:10px; bottom:calc(8px + env(safe-area-inset-bottom)); width:auto; padding:7px 8px; border:1px solid rgba(203,213,225,.9); border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 12px 38px rgba(15,23,42,.18); backdrop-filter:blur(18px); }
  .sidebar-user { display:none; }
  .dashboard-nav { display:flex; align-items:stretch; gap:3px; margin:0; overflow-x:auto; scrollbar-width:none; }
  .dashboard-nav::-webkit-scrollbar { display:none; }
  .dashboard-nav-item { min-width:64px; min-height:52px; flex:1 0 64px; display:grid; justify-items:center; gap:3px; padding:7px 4px 5px; border:0; border-radius:13px; background:transparent; color:#64748b; font-size:.64rem; line-height:1.1; transform:none; }
  .dashboard-nav-item .nav-icon { width:22px; height:22px; display:grid; place-items:center; color:inherit; }
  .dashboard-nav-item .nav-icon svg { width:21px; height:21px; stroke-width:1.9; }
  .dashboard-nav-item:hover,.dashboard-nav-item.active { border:0; background:#e8f1ff; color:#075fd7; box-shadow:none; transform:none; }
  #dashboardView .dashboard-panel:not(#dashboardHome) { padding-top:4px; }
  #dashboardView .dashboard-panel:not(#dashboardHome)>.dashboard-heading { display:flex; }
  #dashboardView .dashboard-panel:not(#dashboardHome)>.dashboard-heading h2 { font-size:1.8rem; }
  .directory-filters { grid-template-columns:1fr; }
  .directory-available { min-height:48px; }
  .interpreter-card { grid-template-columns:auto minmax(0,1fr); padding:17px; border-radius:17px; }
  .profile-wizard-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Translator dashboard */
.translator-workspace { display:grid; gap:20px; }
.translator-hero-row { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.translator-hero-row h3 { margin:.35rem 0 .4rem; }
.translator-hero-row p { margin:0; }
.availability-switch { display:flex; align-items:center; gap:10px; min-width:190px; margin:0; padding:12px 14px; border:1px solid var(--border); border-radius:14px; background:#f8fafc; cursor:pointer; }
.availability-switch input { width:20px; height:20px; margin:0; accent-color:var(--primary); }
.availability-switch span,.availability-switch strong,.availability-switch small { display:block; }
.availability-switch small { color:var(--muted); margin-top:2px; }
.translator-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.translator-stat { padding:16px; border:1px solid var(--border); border-radius:16px; background:#f8fafc; }
.translator-stat span,.translator-stat small { display:block; color:var(--muted); }
.translator-stat strong { display:block; font-size:1.35rem; margin:5px 0; text-transform:capitalize; }
.translator-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.translator-summary { padding:16px; border:1px solid var(--border); border-radius:16px; }
.translator-summary p { margin:7px 0 0; color:var(--dark); }
.translator-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.request-ready { color:var(--muted); font-size:.9rem; font-weight:650; }
@media (max-width:950px) { .translator-stat-grid { grid-template-columns:repeat(2,1fr); } .translator-summary-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .translator-hero-row { flex-direction:column; } .availability-switch { width:100%; } .translator-stat-grid { grid-template-columns:1fr; } }

/* Interpreter directory and public profile */
.directory-filters { display:grid; grid-template-columns:minmax(240px,1.6fr) repeat(2,minmax(155px,.7fr)) auto; gap:14px; align-items:end; padding:18px; border-radius:18px; }
.directory-view-switch { display:flex; gap:7px; flex-wrap:wrap; }
.directory-view-switch button { padding:9px 13px; background:#fff; color:var(--primary-dark); border:1px solid var(--border); }
.directory-view-switch button.active { background:var(--primary-dark); color:#fff; }
.directory-location-bar { display:grid; grid-template-columns:auto minmax(280px,1fr) minmax(220px,1fr); align-items:end; gap:14px; margin-top:14px; padding:15px 18px; }
.directory-location-bar form,.directory-location-bar label { margin:0; }
.location-entry { display:flex; gap:8px; margin-top:6px; }
.location-entry input { min-width:0; }
.location-entry button { flex:0 0 auto; }
.directory-results-layout.split-view { display:grid; grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr); gap:18px; align-items:start; }
.directory-results-layout.split-view .interpreter-directory { grid-template-columns:1fr; max-height:680px; overflow:auto; padding:2px 8px 20px 2px; }
.interpreter-map-panel { position:sticky; top:90px; min-width:0; overflow:hidden; }
#interpreterMap { position:relative; height:min(68vh,680px); min-height:430px; overflow:hidden; isolation:isolate; border:1px solid var(--border); border-radius:20px; background:#e8eef4; box-shadow:0 10px 30px rgba(15,23,42,.08); }
/* Keep the map usable if the provider-hosted Leaflet stylesheet is delayed or blocked. */
#interpreterMap .leaflet-pane,#interpreterMap .leaflet-tile,#interpreterMap .leaflet-marker-icon,#interpreterMap .leaflet-marker-shadow,#interpreterMap .leaflet-tile-container,#interpreterMap .leaflet-pane>svg,#interpreterMap .leaflet-pane>canvas,#interpreterMap .leaflet-zoom-box { position:absolute; left:0; top:0; }
#interpreterMap .leaflet-map-pane { z-index:1; } #interpreterMap .leaflet-tile-pane { z-index:2; } #interpreterMap .leaflet-overlay-pane { z-index:4; } #interpreterMap .leaflet-shadow-pane { z-index:5; } #interpreterMap .leaflet-marker-pane { z-index:6; } #interpreterMap .leaflet-tooltip-pane { z-index:7; } #interpreterMap .leaflet-popup-pane { z-index:8; }
#interpreterMap .leaflet-tile { width:256px; height:256px; max-width:none!important; max-height:none!important; user-select:none; pointer-events:none; }
#interpreterMap .leaflet-tile-loaded { visibility:inherit; } #interpreterMap .leaflet-zoom-animated { transform-origin:0 0; } #interpreterMap .leaflet-control { position:relative; z-index:10; pointer-events:auto; } #interpreterMap .leaflet-top,#interpreterMap .leaflet-bottom { position:absolute; z-index:10; pointer-events:none; } #interpreterMap .leaflet-top { top:0; } #interpreterMap .leaflet-right { right:0; } #interpreterMap .leaflet-bottom { bottom:0; } #interpreterMap .leaflet-left { left:0; }
.map-privacy-note { margin:8px 4px 0; color:var(--muted); font-size:.78rem; }
.interpreter-map-marker-wrap { background:transparent; border:0; }
.interpreter-map-marker { display:block; width:26px; height:34px; border:3px solid #fff; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#94a3b8; box-shadow:0 3px 10px rgba(15,23,42,.35); }
.interpreter-map-marker.available { background:#22c55e; }
.map-profile-popup { min-width:235px; display:grid; gap:6px; color:var(--dark); }
.map-profile-popup header { display:flex; align-items:center; gap:9px; }.map-profile-popup header img,.map-popup-avatar { width:38px; height:38px; border-radius:11px; object-fit:cover; }.map-popup-avatar { display:grid; place-items:center; background:#dbeafe; color:var(--primary-dark); font-weight:850; }
.map-profile-popup strong { font-size:1.02rem; }.map-profile-popup span { color:#475569; }
.map-profile-popup div { display:flex; gap:6px; margin-top:5px; }.map-profile-popup button { padding:7px 9px; font-size:.72rem; }
.interpreter-card.selected { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.16); }
.service-area-settings { padding:20px; border:1px solid var(--border); border-radius:16px; background:#f8fafc; }
.service-location-intro { max-width:720px; margin:0 0 18px; }.map-sharing-note { margin:4px 0 0; }
.directory-filters label { margin:0; font-size:.82rem; color:var(--muted); }
.directory-available { display:flex; align-items:center; min-height:48px; gap:9px; padding:0 12px; border:1px solid var(--border); border-radius:10px; color:var(--dark)!important; white-space:nowrap; }
.directory-available input { width:auto; margin:0; accent-color:var(--primary); }
.directory-results-heading { display:flex; justify-content:space-between; align-items:center; margin:22px 2px 12px; }.directory-results-heading p { margin:0; font-weight:700; }
.interpreter-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.featured-interpreter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.featured-interpreter-card { cursor:pointer; }
.featured-interpreter-card:hover,.featured-interpreter-card:focus-visible { transform:translateY(-3px); border-color:#93c5fd; box-shadow:0 15px 35px rgba(37,99,235,.11); }
.featured-profile-login { display:inline-flex; margin-top:14px; padding:0; color:var(--primary-dark); font-weight:800; }
.directory-loading,.directory-empty { grid-column:1/-1; min-height:180px; display:flex; align-items:center; justify-content:center; gap:12px; color:var(--muted); }
.directory-loading .button-spinner { border-color:#bfdbfe; border-top-color:var(--primary); }
.interpreter-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px; width:100%; padding:22px; border:1px solid var(--border); border-radius:20px; background:#fff; color:var(--dark); text-align:left; box-shadow:0 9px 28px rgba(15,23,42,.045); cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.interpreter-card:hover,.interpreter-card:focus-visible { transform:translateY(-3px); border-color:#93c5fd; box-shadow:0 15px 35px rgba(37,99,235,.11); outline:none; }
.directory-avatar,.public-profile-avatar { display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#dbeafe,#bfdbfe); color:var(--primary-dark); font-weight:900; background-size:cover; background-position:center; }
.directory-avatar { width:62px; height:62px; border-radius:18px; }.public-profile-avatar { width:112px; height:112px; border-radius:30px; font-size:1.65rem; }
.interpreter-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.interpreter-card h3 { margin:0 0 4px; font-size:1.15rem; }
.interpreter-card p { margin:10px 0 0; line-height:1.5; }.interpreter-card .card-bio { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.availability-dot { width:10px; height:10px; border-radius:50%; background:#cbd5e1; box-shadow:0 0 0 5px #f1f5f9; }.availability-dot.available { background:#22c55e; box-shadow:0 0 0 5px #dcfce7; }
.profile-rating { display:flex; flex-wrap:wrap; align-items:center; gap:7px; color:var(--muted); font-size:.9rem; }.rating-stars { color:#f59e0b; letter-spacing:1px; font-size:1rem; }.rating-value { color:var(--dark); font-weight:850; }
.directory-tags,.profile-tag-group { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }.directory-tag,.profile-tag { padding:5px 9px; border-radius:999px; background:#eff6ff; color:var(--primary-dark); font-size:.78rem; font-weight:750; }
.directory-meta { display:flex; flex-wrap:wrap; gap:8px 15px; margin-top:13px; color:var(--muted); font-size:.82rem; font-weight:650; }
.profile-detail-view { min-height:calc(100vh - 72px); background:#f8fafc; }.profile-detail-shell { max-width:1120px; margin:0 auto; }.profile-back { margin-bottom:18px; }
.profile-detail-card { overflow:hidden; border:1px solid var(--border); border-radius:28px; background:#fff; box-shadow:0 20px 55px rgba(15,23,42,.07); }
.profile-detail-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:24px; align-items:center; padding:34px; background:linear-gradient(135deg,#eff6ff,#fff 62%); border-bottom:1px solid var(--border); }
.profile-detail-heading h1 { margin:8px 0; font-size:clamp(2rem,5vw,3.3rem); line-height:1; }.profile-detail-heading p { margin:0 0 9px; }
.availability-pill { display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:#f1f5f9; color:#475569; font-size:.78rem; font-weight:800; }.availability-pill.available { background:#dcfce7; color:#166534; }
.profile-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:34px; padding:36px; }.profile-main-content { display:grid; gap:36px; }.profile-main-content section { padding-bottom:34px; border-bottom:1px solid var(--border); }.profile-main-content section:last-child { border-bottom:0; padding-bottom:0; }.profile-main-content h2 { font-size:1.55rem; }
.profile-facts { align-self:start; position:sticky; top:100px; box-shadow:none; }.profile-facts dl { margin:0; }.profile-facts dl div { padding:15px 0; border-bottom:1px solid var(--border); }.profile-facts dl div:last-child { border:0; }.profile-facts dt { color:var(--muted); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }.profile-facts dd { margin:6px 0 0; font-weight:700; line-height:1.45; }
.reviews-heading { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }.review-summary { text-align:right; }.review-list { display:grid; gap:12px; margin-top:18px; }.review-card { padding:18px; border:1px solid var(--border); border-radius:16px; background:#f8fafc; }.review-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.review-card strong,.review-card small { display:block; }.review-card small { color:var(--muted); margin-top:3px; }.review-card p { margin:12px 0 0; color:var(--dark); }
@media (max-width:1000px) { .directory-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.interpreter-directory,.featured-interpreter-grid { grid-template-columns:1fr; }.profile-detail-grid { grid-template-columns:1fr; }.profile-facts { position:static; }.directory-results-layout.split-view { grid-template-columns:1fr; }.directory-location-bar { grid-template-columns:1fr 1fr; }.directory-location-bar>span { grid-column:1/-1; } }
@media (max-width:650px) { .directory-filters { grid-template-columns:1fr; }.profile-detail-hero { grid-template-columns:1fr; justify-items:start; padding:24px; }.profile-detail-grid { padding:24px; }.reviews-heading { flex-direction:column; }.review-summary { text-align:left; } }
@media (max-width:650px) { .directory-location-bar { grid-template-columns:1fr; }.directory-location-bar>span { grid-column:auto; }.directory-view-switch #directorySplitView { display:none; } #interpreterMap { min-height:55vh; height:55vh; border-radius:16px; }.location-entry button { padding-inline:12px; } }

/* Database-backed interpreter taxonomy tags */
.tag-field { margin:16px 0 22px; }
.tag-field > label { margin-bottom:8px; }
.tag-list { display:flex; flex-wrap:wrap; gap:8px; min-height:10px; margin:0 0 10px; }
.tag-chip { display:inline-flex; align-items:center; gap:7px; padding:7px 10px 7px 12px; border-radius:999px; background:#eff6ff; border:1px solid #bfdbfe; color:var(--primary-dark); font-weight:750; }
.tag-chip button { padding:0; width:22px; height:22px; display:grid; place-items:center; border-radius:999px; background:transparent; color:var(--primary-dark); font-size:1rem; line-height:1; }
.tag-chip button:hover { background:#dbeafe; }
.tag-entry-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
.tag-entry-input { position:relative; min-width:0; }
.tag-entry-row input { min-width:0; }
.tag-suggestions { position:absolute; z-index:30; top:calc(100% + 5px); left:0; right:0; max-height:260px; overflow-y:auto; padding:6px; border:1px solid #cbd5e1; border-radius:12px; background:#fff; box-shadow:0 16px 35px rgba(15,23,42,.16); }
.tag-suggestion { display:block; width:100%; padding:11px 12px; border-radius:8px; background:#fff; color:var(--dark); text-align:left; font-weight:650; }
.tag-suggestion:hover,.tag-suggestion.active { background:#eff6ff; color:var(--primary-dark); }
.tag-suggestions-empty { padding:10px 12px; color:var(--muted); font-size:.9rem; }
.tag-add-button { white-space:nowrap; padding:13px 18px; }
.tag-field .field-help { margin:7px 0 0; }
@media (max-width:600px) { .tag-entry-row { grid-template-columns:1fr; } .tag-add-button { width:100%; } }

/* Milestone 1 public landing refresh */
.site-header { border-color:#d9e2eb; }
.site-header .nav-login { background:var(--primary-dark); }
.site-header .nav-login:hover { background:#174b77; }
.landing-view { background:var(--bg); }
.landing-hero { min-height:660px; grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr); gap:clamp(42px,6vw,80px); padding:76px max(7%,calc((100vw - 1280px)/2)); background:radial-gradient(circle at 86% 10%,rgba(44,115,159,.17),transparent 28%),linear-gradient(145deg,#fff 0%,#f6f9fc 64%,#e9f0f7 100%); }
.landing-hero .eyebrow,.landing-directory-section .eyebrow { color:var(--accent); text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; }
.landing-hero h1 { max-width:720px; margin:16px 0; color:#102e4d; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3rem,6.2vw,5.8rem); font-weight:500; line-height:.98; letter-spacing:-.055em; }
.landing-hero .hero-lead { max-width:650px; color:#526a80; font-size:1.12rem; }
.landing-hero .actions { align-items:center; }
.landing-hero #browseHero { background:var(--accent); }
.landing-hero #browseHero:hover { background:var(--accent-dark); }
.landing-hero #startCall { color:var(--primary-dark); border-color:#b9c8d7; }
.landing-hero #translatorSignup { border-color:transparent; background:transparent; color:#405c74; }
.hero-trust { gap:10px 24px; color:#405b72; }
.hero-trust span { display:flex; align-items:center; gap:8px; }
.hero-trust span::before { content:"✓"; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#e4f2ea; color:#28714d; font-size:.72rem; font-weight:900; }
.hero-visual { min-height:470px; padding:24px; display:flex; flex-direction:column; gap:14px; border:1px solid rgba(255,255,255,.16); border-radius:30px; background:linear-gradient(160deg,#0d3156,#123c69 62%,#1a527c); box-shadow:0 34px 78px rgba(13,49,86,.28); }
.hero-visual::before { display:none; }
.hero-visual-header { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#e7f0f8; font-size:.8rem; font-weight:750; }
.hero-visual-header>span { display:flex; align-items:center; gap:9px; }
.hero-visual-header .brand-mark { width:31px; height:31px; border-radius:9px; }
.hero-visual-header>strong { display:flex; align-items:center; gap:6px; font-size:.72rem; }
.hero-search-preview { display:flex; align-items:center; gap:10px; min-height:48px; margin:4px 0 2px; padding:0 14px; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:rgba(255,255,255,.1); color:#c5d6e5; font-size:.84rem; }
.hero-search-preview>span:first-child { color:#fff; font-size:1.25rem; }
.hero-match-card { width:100%; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:16px; border:1px solid rgba(255,255,255,.16); border-radius:17px; background:rgba(255,255,255,.96); color:var(--dark); box-shadow:0 12px 24px rgba(2,18,35,.14); text-align:left; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.hero-match-card:hover:not(:disabled),.hero-match-card:focus-visible { background:#fff; border-color:#9fc9e3; transform:translateY(-2px); box-shadow:0 16px 30px rgba(2,18,35,.2); }
.hero-match-card strong,.hero-match-card small { display:block; }
.hero-match-card small { margin-top:3px; color:var(--muted); }
.hero-match-avatar { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#fde5dc; color:#a94725; font-weight:850; background-size:cover; background-position:center; }
.hero-match-avatar-blue { background:#dcebf5; color:#1b5c85; }
.hero-verified { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#dceef8; color:#226a95; font-weight:900; }
.hero-match-primary { margin-top:4px; }
.hero-match-details { display:grid; grid-template-columns:1.45fr .8fr .65fr; gap:1px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.1); }
.hero-match-details span { padding:10px 9px; color:#d5e3ee; font-size:.68rem; text-align:center; }
.hero-match-details span+span { border-left:1px solid rgba(255,255,255,.12); }
.landing-directory-section { padding:86px max(7%,calc((100vw - 1280px)/2)) 96px; background:#f4f7fb; scroll-margin-top:84px; }
.directory-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }
.directory-section-heading .section-intro { margin-bottom:30px; }
.directory-section-heading .section-intro h2 { color:#102e4d; font-family:Georgia,"Times New Roman",serif; font-weight:500; letter-spacing:-.035em; }
.directory-availability-note { min-width:220px; display:flex; align-items:center; gap:12px; margin-bottom:30px; padding:14px 16px; border:1px solid var(--border); border-radius:14px; background:#fff; }
.directory-availability-note .live-dot { flex:0 0 auto; background:#2d8a61; box-shadow:0 0 0 5px #e2f2e9; }
.directory-availability-note strong,.directory-availability-note span { display:block; }
.directory-availability-note strong { color:#264961; font-size:.8rem; }
.directory-availability-note div>span { margin-top:2px; color:var(--muted); font-size:.7rem; }
.featured-filter-panel { display:grid; grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(160px,.7fr)) auto; gap:12px; align-items:end; padding:18px; border:1px solid var(--border); border-radius:16px; background:#fff; box-shadow:0 12px 30px rgba(31,55,78,.055); }
.featured-filter-panel label { margin:0; color:#536a80; font-size:.76rem; }
.featured-filter-panel input,.featured-filter-panel select { min-height:46px; border-color:#c7d4e0; background:#f9fbfd; }
.featured-available { min-height:46px; display:flex!important; align-items:center; gap:8px!important; padding:0 12px; border:1px solid #c7d4e0; border-radius:10px; color:var(--dark)!important; white-space:nowrap; }
.featured-available input { width:auto; min-height:auto; margin:0; accent-color:var(--primary); }
.landing-directory-section .directory-results-heading { margin:20px 2px 13px; }
.landing-directory-section .directory-results-heading .text-button { padding:7px 9px; color:#49657b; background:transparent; border-color:transparent; }
.featured-interpreter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.featured-interpreter-card { align-content:start; padding:20px; border-radius:17px; box-shadow:0 8px 24px rgba(31,55,78,.05); }
.featured-interpreter-card .directory-avatar { width:54px; height:54px; border-radius:15px; background:linear-gradient(145deg,#dcebf5,#c5deee); color:#174f72; }
.featured-interpreter-card .interpreter-card-header { min-height:58px; }
.featured-interpreter-card h3 { color:#173650; }
.verified-mark { display:inline-grid; place-items:center; width:18px; height:18px; margin-left:3px; border-radius:50%; background:#dceef8; color:#226a95; font-size:.68rem; vertical-align:2px; }
.featured-interpreter-card .availability-pill { align-self:start; margin-left:5px; white-space:nowrap; font-size:.66rem; }
.featured-interpreter-card .card-bio { min-height:48px; color:#5d7184; }
.featured-interpreter-card .directory-tag { background:#edf4f8; color:#285b78; }
.featured-interpreter-card .directory-meta { min-height:34px; padding-top:12px; border-top:1px solid #edf1f5; }
.featured-profile-login { margin-top:13px; color:var(--primary-dark); border-color:#c7d4e0; }
.landing-section { background:#fff; }
.feature-number { background:#e7f0f6; color:var(--primary-dark); }
.workflow-tab.active { border-color:#bdd0df; color:var(--primary-dark); box-shadow:0 5px 18px rgba(18,60,105,.1); }
.landing-cta { background:var(--primary-dark); }
.landing-cta .eyebrow { color:#f5a65b; }
.landing-cta button { background:var(--accent); }
.landing-cta button:hover { background:var(--accent-dark); }
@media (max-width:1000px) { .featured-filter-panel { grid-template-columns:1fr 1fr; }.directory-section-heading { align-items:flex-start; }.featured-interpreter-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .landing-hero { grid-template-columns:1fr; }.hero-visual { min-height:auto; }.directory-section-heading { display:block; }.directory-availability-note { width:max-content; max-width:100%; } }
@media (max-width:650px) { .landing-hero { padding-top:48px; }.landing-hero h1 { font-size:3rem; }.featured-filter-panel,.featured-interpreter-grid { grid-template-columns:1fr; }.hero-match-details { grid-template-columns:1fr; }.hero-match-details span+span { border-left:0; border-top:1px solid rgba(255,255,255,.12); }.directory-availability-note { width:100%; } }

/* Interpreter credential evidence and administrator oversight */
.credential-document-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.credential-document-list p { margin:0; color:var(--muted); font-size:.88rem; }
.credential-document { display:inline-flex; align-items:center; gap:7px; max-width:100%; padding:7px 11px; overflow-wrap:anywhere; border:1px solid #cbd5e1; border-radius:999px; background:#f8fafc; color:#334155; font-size:.82rem; font-weight:700; }
.credential-document::before { content:"Document"; overflow:hidden; width:18px; height:18px; color:transparent; background:linear-gradient(#2c739f,#2c739f) 4px 3px/10px 12px no-repeat; clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,0 100%); }
.credential-document .text-button { padding:2px 4px; font-size:.75rem; }
.field-label { display:block; margin-bottom:7px; color:var(--text); font-size:.9rem; font-weight:700; }
.credential-review-status { display:flex; align-items:center; min-height:43px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:#f8fafc; color:var(--primary-dark); }
.verification-banner { display:grid; grid-template-columns:auto 1fr; gap:2px 12px; align-items:center; max-width:900px; margin:16px 0; padding:14px 16px; border:1px solid var(--border); border-radius:14px; background:#fff; }
.verification-banner>span { color:var(--muted); font-size:.76rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.verification-banner>strong { color:var(--primary-dark); }
.verification-banner p { grid-column:1/-1; margin:3px 0 0; font-size:.85rem; line-height:1.45; }
.profile-wizard-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; max-width:900px; margin:18px 0 22px; padding:0; list-style:none; }
.profile-wizard-steps button { width:100%; min-height:72px; display:flex; align-items:center; gap:10px; padding:12px; border:2px solid var(--border); border-radius:14px; background:#fff; color:var(--dark); text-align:left; }
.profile-wizard-steps button:hover { border-color:#94a3b8; background:#f8fafc; }
.profile-wizard-steps button.active { border-color:var(--primary); box-shadow:0 0 0 3px rgba(18,60,105,.12); }
.profile-wizard-steps button.complete { border-color:#86c79e; background:#f0f9f3; color:#185c36; }
.profile-wizard-steps button.incomplete { border-color:#efb4ae; background:#fff8f7; }
.profile-wizard-steps button span:last-child { display:grid; gap:2px; }
.profile-wizard-steps button small { color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; }
.wizard-step-icon { width:27px; height:27px; flex:0 0 27px; display:grid; place-items:center; border-radius:50%; background:#fee2e2; color:#b42318; font-size:.9rem; font-weight:900; }
.complete .wizard-step-icon { background:#dcfce7; color:#16713a; }
.wizard-navigation { display:flex; align-items:center; gap:12px; max-width:900px; }
.wizard-navigation #interpreterWizardPosition { margin-right:auto; color:var(--muted); font-size:.85rem; font-weight:750; }
.wizard-navigation button:disabled { cursor:not-allowed; opacity:.45; }
@media(max-width:700px){.profile-wizard-steps{grid-template-columns:1fr 1fr}.wizard-navigation{flex-wrap:wrap}.wizard-navigation #interpreterWizardPosition{order:-1;width:100%}}
.admin-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.admin-metric { display:grid; gap:5px; padding:22px; border:1px solid var(--border); border-radius:18px; background:linear-gradient(145deg,#fff,#f7fafc); box-shadow:0 8px 24px rgba(15,23,42,.045); }
.admin-metric span { color:var(--muted); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.admin-metric strong { color:var(--primary-dark); font-size:2rem; line-height:1.1; }
.admin-metric small { color:var(--muted); }
.admin-section { margin-top:0; }
.admin-section-heading,.admin-review-item,.admin-review-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.admin-section-heading { margin-bottom:18px; }
.admin-section-heading h3 { margin:4px 0 0; }
.admin-review-list { display:grid; gap:12px; }
.admin-review-list>p { color:var(--muted); }
.admin-review-item { align-items:flex-start; padding:18px; border:1px solid var(--border); border-radius:15px; background:#f8fafc; }
.admin-review-item h4 { margin:0 0 5px; }
.admin-review-item p { margin:4px 0; color:var(--muted); line-height:1.5; }
.admin-credential-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.admin-credential-links a { padding:6px 9px; border-radius:8px; background:#e8f1f7; color:var(--primary-dark); font-size:.78rem; font-weight:750; }
.admin-review-actions { flex:0 0 auto; justify-content:flex-end; }
.admin-review-actions button { padding:9px 13px; }
.admin-review-actions .reject-action { border-color:#fecaca; color:#991b1b; background:#fff; }
.admin-operations-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
.admin-list { display:grid; gap:9px; max-height:430px; overflow:auto; }
.admin-list-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 0; border-bottom:1px solid var(--border); }
.admin-list-row:last-child { border-bottom:0; }
.admin-list-row strong,.admin-list-row small { display:block; }
.admin-list-row small { max-width:420px; margin-top:4px; overflow-wrap:anywhere; color:var(--muted); line-height:1.4; }
.admin-inline-control { min-width:120px; margin:0; }
.admin-inline-control select { padding:8px 10px; }
.admin-empty { margin:0; }
.admin-review-row { align-items:flex-start; }
button:disabled,select:disabled { cursor:not-allowed; opacity:.58; }
@media (max-width:1050px) { .admin-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .admin-operations-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .admin-metric-grid { grid-template-columns:1fr; }.admin-review-item { display:grid; }.admin-review-actions { justify-content:flex-start; flex-wrap:wrap; }.admin-list-row { align-items:flex-start; flex-direction:column; }.admin-inline-control { width:100%; } }
