:root {
  --ink: #071c2d;
  --ink-2: #0e2d42;
  --paper: #f5f3ed;
  --surface: #fffefb;
  --mist: #e7edf0;
  --muted: #6d7b85;
  --line: rgba(7, 28, 45, .13);
  --coral: #f05b4e;
  --coral-dark: #cf443a;
  --mint: #bfe8d0;
  --green: #278965;
  --gold: #dfb85c;
  --shadow: 0 24px 70px rgba(6, 25, 39, .13);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", "Noto Sans SC", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
.noise { position: fixed; inset: 0; pointer-events: none; z-index: 99; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E"); }

.topbar { height: 76px; position: sticky; top: 0; z-index: 60; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(20px, 5vw, 76px); color: white; background: rgba(7, 28, 45, .94); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.08); }
.brand { display: inline-flex; align-items: center; gap: 11px; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: var(--ink); background: var(--mint); font-weight: 800; }
.brand img.brand-mark { display:block; object-fit:cover; background:#020a2a; border:1px solid rgba(191,236,214,.18); }
.brand-copy { display: grid; line-height: 1.05; }
.brand-copy b { font-size: 16px; letter-spacing: .08em; }
.brand-copy small { margin-top: 5px; font-size: 8px; letter-spacing: .16em; color: #9eb0bb; }
.desktop-nav { display: flex; gap: 34px; font-size: 14px; color: #b9c5cc; }
.desktop-nav a:hover { color: white; }
.header-track { display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; font-size: 13px; font-weight: 600; }
.header-tools { display:flex; align-items:center; gap:9px; }
.language-switch { display:flex; padding:3px; background:rgba(255,255,255,.08); border-radius:9px; }
.language-switch button { padding:6px 8px; color:#9fb0ba; background:transparent; border:0; border-radius:6px; cursor:pointer; font-size:10px; font-weight:800; }
.language-switch button.active { color:var(--ink); background:var(--mint); }
.role-switch { max-width:150px; height:34px; padding:0 9px; color:#dbe4e8; background:#102d40; border:1px solid rgba(255,255,255,.14); border-radius:9px; font-size:10px; outline:none; }
.pulse { width: 7px; height: 7px; border-radius: 50%; background: #63dfa8; box-shadow: 0 0 0 6px rgba(99,223,168,.12); }

.page { min-height: calc(100vh - 76px); animation: enter .45s cubic-bezier(.22,1,.36,1); }
@keyframes enter { from { opacity: 0; transform: translateY(8px); } }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.eyebrow { margin: 0 0 16px; color: var(--coral); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow.light { color: #87dcae; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.045em; }
.display { font-family: "Noto Sans SC", sans-serif; font-size: clamp(48px, 7vw, 92px); line-height: .98; font-weight: 800; }
.display em { color: var(--mint); font-style: normal; }
.section-title { font-family: "Noto Sans SC", sans-serif; font-size: clamp(34px, 4vw, 58px); line-height: 1.1; }
.muted { color: var(--muted); }
.btn { appearance: none; display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 50px; padding: 0 20px; border: 0; border-radius: 13px; cursor: pointer; font-weight: 700; transition: transform .18s, box-shadow .18s, background .18s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: white; background: var(--coral); box-shadow: 0 12px 30px rgba(240,91,78,.25); }
.btn-primary:hover { background: var(--coral-dark); }
.btn-dark { color: white; background: var(--ink); }
.btn-outline { color: var(--ink); background: transparent; border: 1px solid var(--line); }
.btn-ghost { color: var(--ink); background: rgba(7,28,45,.055); }
.btn-small { min-height: 40px; padding: 0 14px; font-size: 13px; }
.full { width: 100%; }

.hero { overflow: hidden; color: white; background: var(--ink); }
.hero-inner { position: relative; min-height: 690px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 72px; padding-block: 84px 105px; }
.hero::after { content: ""; position: absolute; inset: 76px 0 auto; height: 614px; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.035) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, black, transparent); }
.hero-copy, .hero-visual { position: relative; z-index: 2; }
.hero-copy > p:not(.eyebrow) { max-width: 570px; color: #afbdc5; font-size: 18px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 46px; }
.hero .btn-outline { color: white; border-color: rgba(255,255,255,.22); }
.trust-row { display: flex; flex-wrap: wrap; gap: 22px; color: #9cadb7; font-size: 12px; }
.trust-row span::before { content: "✓"; color: #73d6a4; margin-right: 7px; }
.status-card { position: relative; padding: 28px; color: var(--ink); background: #fffefa; border-radius: 27px; box-shadow: 0 40px 100px rgba(0,0,0,.3); transform: rotate(1.5deg); }
.status-card::before { content: ""; position: absolute; inset: -18px 22px auto -22px; height: 100%; z-index: -1; border: 1px solid rgba(191,232,208,.25); border-radius: 27px; transform: rotate(-4deg); }
.status-card-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px solid var(--line); padding-bottom: 22px; }
.status-card-head small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 10px; letter-spacing: .12em; }
.status-card-head strong { font-size: 17px; }
.status-badge { padding: 7px 10px; border-radius: 999px; color: #17684a; background: #dff5e8; font-size: 11px; font-weight: 800; }
.mini-timeline { display: grid; gap: 0; padding: 24px 0 4px; }
.mini-step { position: relative; display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: start; min-height: 62px; }
.mini-step:not(:last-child)::after { content: ""; position: absolute; left: 10px; top: 22px; bottom: -3px; width: 1px; background: #d4dadd; }
.mini-dot { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; color: white; background: #c9d0d4; font-size: 10px; }
.mini-step.done .mini-dot { background: var(--green); }
.mini-step.active .mini-dot { background: var(--coral); box-shadow: 0 0 0 6px rgba(240,91,78,.12); }
.mini-step b { font-size: 13px; }
.mini-step p { margin-top: 3px; color: var(--muted); font-size: 11px; }
.mini-step time { color: var(--muted); font-size: 10px; }

.how { padding: 100px 0; }
.how-header { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 50px; }
.how-header p { max-width: 430px; color: var(--muted); line-height: 1.7; }
.step-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.feature-step { min-height: 260px; padding: 30px; border-right: 1px solid var(--line); }
.feature-step:first-child { border-left: 1px solid var(--line); }
.step-no { color: var(--coral); font-size: 12px; font-weight: 800; }
.feature-step h3 { margin: 54px 0 12px; font-size: 25px; }
.feature-step p { color: var(--muted); line-height: 1.7; }

.form-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; padding: 72px 0 120px; }
.form-intro { position: sticky; top: 110px; align-self: start; }
.form-intro p { color: var(--muted); line-height: 1.75; }
.privacy-note { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 12px; }
.form-card { padding: clamp(24px, 4vw, 48px); background: var(--surface); border: 1px solid rgba(7,28,45,.08); border-radius: var(--radius); box-shadow: var(--shadow); }
.form-section + .form-section { margin-top: 42px; padding-top: 38px; border-top: 1px solid var(--line); }
.form-section-title { display: flex; gap: 14px; align-items: center; margin-bottom: 24px; }
.form-section-title span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; color: white; background: var(--ink); font-size: 11px; }
.form-section-title h3 { margin: 0; font-size: 19px; }
.field-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.field { display: grid; gap: 8px; }
.field.full-span { grid-column: 1 / -1; }
.field label { font-size: 12px; font-weight: 700; }
.required { color: var(--coral); }
.field input, .field select, .field textarea { width: 100%; min-height: 52px; padding: 13px 15px; color: var(--ink); background: #f8f8f5; border: 1px solid #dfe3e3; border-radius: 11px; outline: none; transition: border .18s, box-shadow .18s, background .18s; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { background: white; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(7,28,45,.08); }
.checkbox { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; margin: 26px 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.checkbox input { width: 18px; height: 18px; accent-color: var(--coral); }

.track-shell { min-height: calc(100vh - 76px); padding: 68px 0 120px; background: #e9edef; }
.track-head { text-align: center; max-width: 700px; margin: 0 auto 40px; }
.track-head p { color: var(--muted); }
.lookup-card { max-width: 630px; margin: auto; padding: 30px; background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow); }
.lookup-grid { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; }
.lookup-grid input { min-width: 0; height: 50px; padding: 0 14px; border: 1px solid #d6dcde; border-radius: 11px; outline: none; }
.demo-hint { margin: 14px 0 0; color: var(--muted); font-size: 11px; }
.application-view { margin-top: 36px; }
.case-banner { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 28px; color: white; background: var(--ink); border-radius: 20px 20px 0 0; }
.case-banner small { color: #9fafb9; }
.case-banner h2 { margin: 5px 0 0; font-size: 25px; }
.case-score { text-align: right; }
.case-score strong { display: block; color: var(--mint); font-size: 22px; }
.case-body { padding: 32px; background: var(--surface); border-radius: 0 0 20px 20px; }
.progress-bar { height: 8px; overflow: hidden; margin-bottom: 38px; background: #e2e7e8; border-radius: 999px; }
.progress-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--coral), #f5a56d); border-radius: inherit; transition: width .6s ease; }
.timeline { display: grid; }
.timeline-item { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 16px; min-height: 94px; }
.timeline-item:not(:last-child)::before { content: ""; position: absolute; left: 16px; top: 31px; bottom: 0; width: 1px; background: #d7dcde; }
.timeline-icon { position: relative; z-index: 2; display: grid; place-items: center; width: 33px; height: 33px; border-radius: 50%; color: #98a5ad; background: #e4e9ea; font-size: 12px; font-weight: 800; }
.timeline-item.done .timeline-icon { color: white; background: var(--green); }
.timeline-item.current .timeline-icon { color: white; background: var(--coral); box-shadow: 0 0 0 7px rgba(240,91,78,.1); }
.timeline-content { padding-bottom: 24px; }
.timeline-content header { display: flex; justify-content: space-between; gap: 15px; }
.timeline-content h3 { margin: 3px 0 8px; font-size: 17px; }
.timeline-content time { color: var(--muted); font-size: 10px; }
.timeline-content p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.action-alert { margin: 12px 0 32px; padding: 18px; border-left: 4px solid var(--gold); background: #fff8e8; border-radius: 5px 12px 12px 5px; }
.action-alert b { display: block; margin-bottom: 6px; }
.action-alert p { margin: 0; color: #755c23; font-size: 13px; }

.success-wrap { min-height: calc(100vh - 76px); display: grid; place-items: center; padding: 50px 20px; background: var(--ink); }
.success-card { width: min(630px, 100%); padding: clamp(28px, 6vw, 58px); text-align: center; background: var(--surface); border-radius: 28px; box-shadow: 0 40px 100px rgba(0,0,0,.25); }
.success-check { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 24px; border-radius: 50%; color: white; background: var(--green); font-size: 30px; }
.reference-box { margin: 28px 0; padding: 20px; background: #edf2f2; border: 1px dashed #aebdc1; border-radius: 14px; }
.reference-box small { display: block; color: var(--muted); }
.reference-box strong { display: block; margin: 6px 0; font-size: 28px; letter-spacing: .06em; }
.success-actions { display: flex; gap: 10px; justify-content: center; }

.admin-shell { min-height: calc(100vh - 76px); padding: 36px 0 100px; background: #edf0f1; }
.admin-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 28px; }
.admin-header h1 { margin-bottom: 6px; font-size: 35px; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 22px; }
.kpi { padding: 20px; background: var(--surface); border: 1px solid rgba(7,28,45,.07); border-radius: 16px; }
.kpi span { display: block; color: var(--muted); font-size: 11px; }
.kpi strong { display: block; margin-top: 8px; font-size: 28px; }
.admin-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 18px; align-items: start; }
.owner-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; margin-bottom:18px; }
.chart-panel { padding:24px; }
.chart-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:25px; }
.chart-head h2 { margin:0; font-size:18px; }
.funnel { display:grid; gap:14px; }
.funnel-row { display:grid; grid-template-columns:110px 1fr 38px; gap:12px; align-items:center; font-size:11px; }
.funnel-track { height:12px; overflow:hidden; background:#e8ecec; border-radius:999px; }
.funnel-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--coral),#eab462); }
.performance-list { display:grid; gap:10px; }
.person-row { display:grid; grid-template-columns:38px 1fr auto; gap:12px; align-items:center; padding:12px; background:#f4f6f4; border-radius:12px; }
.avatar { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:white; background:var(--ink); font-size:11px; font-weight:800; }
.person-row b { display:block; font-size:12px; }.person-row small { color:var(--muted); font-size:9px; }.person-metric { text-align:right; }.person-metric strong { display:block; color:var(--green); font-size:14px; }
.booking-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; padding:72px 0 110px; }
.booking-copy p { color:var(--muted); line-height:1.7; }
.booking-card { padding:34px; background:var(--surface); border-radius:var(--radius); box-shadow:var(--shadow); }
.slot-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.slot { padding:11px 7px; border:1px solid var(--line); border-radius:9px; background:white; cursor:pointer; font-size:11px; }
.slot.active { color:white; background:var(--ink); }
.appointment-list { display:grid; gap:10px; }
.appointment { display:grid; grid-template-columns:54px 1fr auto; gap:12px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:12px; }
.date-tile { padding:8px 3px; text-align:center; color:white; background:var(--ink); border-radius:9px; }.date-tile b { display:block; font-size:16px; }.date-tile small { font-size:8px; }
.appointment strong { display:block; font-size:12px; }.appointment p { margin:4px 0 0; color:var(--muted); font-size:9px; }
.onboarding { padding:20px; color:white; background:var(--ink); border-radius:16px; margin-bottom:18px; }
.onboarding-head { display:flex; justify-content:space-between; gap:15px; }.onboarding-head h2 { font-size:18px; }.onboarding-head strong { color:var(--mint); }
.onboard-progress { height:7px; overflow:hidden; margin:14px 0 18px; background:rgba(255,255,255,.12); border-radius:99px; }.onboard-progress span{display:block;height:100%;background:var(--mint)}
.checklist { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.check-item { display:flex; gap:9px; align-items:center; padding:10px; color:#b9c7cf; background:rgba(255,255,255,.06); border-radius:9px; font-size:10px; }.check-item.done { color:white; }.check-item i { font-style:normal; }
.permission-note { padding:11px 14px; margin-bottom:18px; color:#355d4e; background:#dcf1e7; border-radius:10px; font-size:10px; }
.demo-toolbar { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:18px; padding:17px 20px; color:white; background:linear-gradient(110deg,#0b273a,#123e50); border-radius:16px; box-shadow:0 18px 45px rgba(7,28,45,.16); }
.demo-toolbar h2 { margin:3px 0 0; font-size:17px; }.demo-toolbar p { margin:0; color:#a9bec8; font-size:10px; }.demo-toolbar-actions { display:flex; gap:8px; flex-wrap:wrap; }.demo-toolbar .btn-outline { color:white; border-color:rgba(255,255,255,.2); }
.trial-pill { display:inline-flex; align-items:center; gap:7px; color:var(--mint); font-size:9px; font-weight:800; letter-spacing:.1em; }
.guide-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:18px; }
.guide-step { position:relative; padding:15px; background:var(--surface); border:1px solid var(--line); border-radius:13px; cursor:pointer; }.guide-step:hover { border-color:var(--coral); }.guide-step small { display:block; color:var(--coral); font-weight:800; }.guide-step b { display:block; margin:9px 0 4px; font-size:11px; }.guide-step p { margin:0; color:var(--muted); font-size:9px; line-height:1.45; }
.team-table { width:100%; border-collapse:collapse; }.team-table th,.team-table td { padding:13px 16px; text-align:left; border-bottom:1px solid var(--line); font-size:10px; }.team-table th { color:var(--muted); font-size:8px; letter-spacing:.08em; text-transform:uppercase; }.team-table td strong { display:block; font-size:11px; }.team-table td small { color:var(--muted); }.metric-positive { color:var(--green); font-weight:800; }
.customize-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:50px; padding:65px 0 110px; }.option-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.option-card { display:flex; gap:10px; padding:14px; border:1px solid var(--line); border-radius:11px; cursor:pointer; font-size:11px; }.option-card:has(input:checked) { border-color:var(--coral); background:#fff5f1; }.option-card input { accent-color:var(--coral); }
.modal-success { padding:30px; text-align:center; }.modal-success .success-check { width:54px;height:54px;font-size:22px; }
.panel { overflow: hidden; background: var(--surface); border: 1px solid rgba(7,28,45,.08); border-radius: 17px; box-shadow: 0 10px 35px rgba(6,25,39,.055); }
.panel-head { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 17px 19px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 0; font-size: 16px; }
.search { width: 150px; height: 36px; padding: 0 11px; border: 1px solid #d9dfe1; border-radius: 9px; outline: none; }
.case-list { max-height: 660px; overflow: auto; }
.case-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; width: 100%; padding: 18px 19px; text-align: left; color: inherit; background: transparent; border: 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.case-row:hover, .case-row.selected { background: #eef4f3; }
.case-row b { display: block; font-size: 13px; }
.case-row small { display: block; margin-top: 5px; color: var(--muted); }
.tag { align-self: start; padding: 5px 8px; border-radius: 999px; color: #236a52; background: #dbf1e6; font-size: 9px; font-weight: 800; }
.case-detail { min-height: 520px; padding: 24px; }
.empty-state { min-height: 470px; display: grid; place-items: center; text-align: center; color: var(--muted); }
.detail-top { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }
.detail-top h2 { margin-bottom: 5px; font-size: 24px; }
.detail-top p { color: var(--muted); font-size: 12px; }
.detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 22px 0; }
.detail-data { padding: 13px; background: #f4f5f2; border-radius: 10px; }
.detail-data small { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.detail-data b { display: block; margin-top: 5px; font-size: 13px; }
.update-box { padding-top: 20px; border-top: 1px solid var(--line); }
.update-box h3 { font-size: 15px; }
.status-buttons { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.status-button { padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: white; cursor: pointer; font-size: 10px; }
.status-button.active { color: white; background: var(--ink); }
.update-box textarea { width: 100%; min-height: 78px; margin-bottom: 11px; padding: 12px; border: 1px solid #d8dddf; border-radius: 9px; resize: vertical; }

.mobile-nav { display: none; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 100; max-width: 340px; padding: 14px 17px; color: white; background: var(--ink); border-radius: 12px; box-shadow: var(--shadow); opacity: 0; transform: translateY(15px); pointer-events: none; transition: .25s; font-size: 13px; }
.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .hero-inner { grid-template-columns: 1fr; gap: 60px; }
  .hero-copy { padding-top: 25px; }
  .status-card { width: min(520px, 94%); margin: auto; }
  .form-layout { grid-template-columns: 1fr; gap: 35px; }
  .form-intro { position: static; }
  .admin-grid { grid-template-columns: 1fr; }
  .owner-grid,.booking-layout { grid-template-columns:1fr; }
  .guide-grid { grid-template-columns:repeat(2,1fr); }.customize-layout { grid-template-columns:1fr; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  body { padding-bottom: 67px; }
  .topbar { height: 64px; padding: 0 18px; }
  .brand-copy small { display: none; }
  .role-switch { width:108px; max-width:108px; padding:0 5px; }
  .language-switch button { padding:6px; }
  .header-tools { margin-left:auto; }
  .brand-mark { width: 35px; height: 35px; }
  .container { width: min(100% - 32px, 1160px); }
  .page { min-height: calc(100vh - 64px); }
  .hero-inner { min-height: auto; padding: 67px 0 78px; gap: 56px; }
  .display { font-size: clamp(44px, 14vw, 65px); line-height: 1.04; }
  .hero-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.7; }
  .hero-actions { display: grid; }
  .hero-actions .btn { width: 100%; }
  .trust-row { display: grid; gap: 9px; }
  .status-card { width: 100%; padding: 22px; transform: none; }
  .how { padding: 72px 0; }
  .how-header { display: block; }
  .step-grid { grid-template-columns: 1fr; }
  .feature-step, .feature-step:first-child { min-height: 0; padding: 27px 20px; border: 0; border-top: 1px solid var(--line); }
  .feature-step h3 { margin: 25px 0 9px; }
  .form-layout { padding: 46px 0 85px; }
  .form-card { margin-inline: -4px; padding: 24px 18px; border-radius: 18px; }
  .field-grid { grid-template-columns: 1fr; gap: 16px; }
  .field.full-span { grid-column: auto; }
  .track-shell { padding: 45px 0 90px; }
  .track-head { text-align: left; }
  .lookup-card { padding: 20px 16px; }
  .lookup-grid { grid-template-columns: 1fr; }
  .case-banner { grid-template-columns: 1fr; padding: 22px; }
  .case-score { text-align: left; }
  .case-body { padding: 24px 18px; }
  .timeline-content header { display: block; }
  .timeline-content time { display: block; margin-top: 3px; }
  .success-wrap { min-height: calc(100vh - 64px); }
  .success-actions { display: grid; }
  .admin-shell { padding: 28px 0 90px; }
  .admin-header { display: block; }
  .admin-header .btn { margin-top: 15px; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); gap: 9px; }
  .kpi { padding: 15px; }
  .kpi strong { font-size: 23px; }
  .panel-head { align-items: flex-start; }
  .search { width: 125px; }
  .case-list { max-height: 310px; }
  .case-detail { padding: 20px 16px; }
  .detail-top { display: block; }
  .detail-grid { grid-template-columns: 1fr 1fr; }
  .mobile-nav { position: fixed; inset: auto 0 0; z-index: 80; height: 67px; display: grid; grid-template-columns: repeat(4, 1fr); background: rgba(255,254,251,.96); backdrop-filter: blur(15px); border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom); }
  .mobile-nav a { display: grid; place-content: center; gap: 2px; text-align: center; color: #7c8990; font-size: 9px; }
  .mobile-nav a span { font-size: 19px; line-height: 1; }
  .mobile-nav a.active { color: var(--coral); }
  .toast { right: 14px; left: 14px; bottom: 80px; }
  .owner-grid { display:block; }.owner-grid .panel + .panel { margin-top:12px; }
  .funnel-row { grid-template-columns:86px 1fr 28px; }
  .booking-layout { padding:45px 0 90px; gap:26px; }.booking-card { padding:23px 17px; }.slot-grid { grid-template-columns:repeat(2,1fr); }
  .checklist { grid-template-columns:1fr; }
  .demo-toolbar { align-items:flex-start; flex-direction:column; }.demo-toolbar-actions { width:100%; }.demo-toolbar-actions .btn { flex:1; }.guide-grid { grid-template-columns:1fr 1fr; }.team-table-wrap { overflow-x:auto; }.team-table { min-width:650px; }.customize-layout { padding:45px 0 90px;gap:25px; }.option-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Owner workspace: quiet, tailored financial software. */
body:has(.premium-owner) { background:#f5f6f4; }
body:has(.premium-owner) .topbar { display:none; }
body:has(.premium-owner) .admin-shell { padding:0; background:#f5f6f4; }
.premium-owner.container { width:100%; max-width:none; }
.premium-shell { min-height:100vh; display:grid; grid-template-columns:248px minmax(0,1fr); }
.premium-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:30px 18px 20px; background:#102b2b; color:#dce8e2; }
.premium-product { display:flex; align-items:center; gap:11px; padding:0 8px 30px; border-bottom:1px solid rgba(255,255,255,.09); }
.premium-logo { display:grid; place-items:center; width:35px; height:35px; border:1px solid #adcaac; border-radius:11px; color:#cae2be; font-family:Georgia,serif; font-size:22px; }
.premium-product strong { display:block; font-size:11px; letter-spacing:.18em; }.premium-product small { color:#89a6a0; font-size:8px; letter-spacing:.12em; }
.premium-workspace { display:flex; align-items:center; gap:10px; margin:24px 0 20px; padding:11px; background:rgba(255,255,255,.065); border:1px solid rgba(255,255,255,.06); border-radius:10px; }.premium-workspace div { flex:1; }.premium-workspace strong,.sidebar-bottom strong { display:block; font-size:11px; }.premium-workspace small,.sidebar-bottom small { display:block; margin-top:4px; color:#93aca5; font-size:9px; }.workspace-icon { display:grid; place-items:center; width:34px;height:34px;background:#d9e6d5;color:#173a34;border-radius:8px;font-family:Georgia,serif;font-size:18px; }
.sidebar-label { margin:20px 10px 9px; color:#789790; font-size:9px; font-weight:700; letter-spacing:.12em; }.sidebar-link { display:flex; align-items:center; gap:12px; width:100%; padding:11px 12px; color:#a9bcb5; background:none; border:0; border-radius:8px; text-align:left; font-size:12px; cursor:pointer; }.sidebar-link span { width:17px; color:#91ada1; font-size:16px; }.sidebar-link:hover,.sidebar-link.current { color:#fff; background:#28483e; }.sidebar-link.current span { color:#cbe3b5; }.sidebar-bottom { display:flex; align-items:center; gap:10px; margin-top:auto; padding:18px 8px 0; border-top:1px solid rgba(255,255,255,.1); }.sidebar-bottom .avatar { width:32px;height:32px;background:#d5c6a9;color:#263a30; }
.premium-main { min-width:0; padding:0 clamp(25px,4vw,65px) 70px; max-width:1600px; }.premium-topline { height:76px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #e2e6e1; color:#82908a; font-size:9px; letter-spacing:.1em; font-weight:700; }.premium-topline b { margin:0 8px;color:#c3ccc4; }.premium-live { letter-spacing:0;font-size:11px;color:#6b7c73; }.premium-live i { display:inline-block;width:7px;height:7px;margin-right:5px;background:#7eb88d;border-radius:50%; }
.premium-welcome { display:flex; justify-content:space-between; align-items:end; gap:20px; padding:42px 0 28px; }.premium-kicker { margin-bottom:10px; color:#7c9785;font-size:9px;font-weight:800;letter-spacing:.15em; }.premium-welcome h1 { margin:0 0 9px;color:#183a34;font-family:Georgia,'Noto Sans SC',serif;font-size:clamp(32px,3vw,43px);font-weight:500;letter-spacing:-.04em; }.premium-welcome p:not(.premium-kicker) { margin:0;color:#7c8c83;font-size:13px; }.welcome-actions { display:flex;gap:9px; }.premium-outline,.premium-add { display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid #dce3dc;border-radius:8px;color:#315046;background:white;font-size:11px;font-weight:700;cursor:pointer; }.premium-add { color:white;background:#234b3d;border-color:#234b3d; }
.premium-note { display:flex;align-items:center;gap:14px;padding:17px 20px;margin-bottom:36px;border:1px solid #e2e7d7;border-radius:11px;background:#eff3e9; }.premium-note>span { display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#dce9d1;color:#577b4f; }.premium-note div { flex:1; }.premium-note strong { color:#385b42;font-size:11px; }.premium-note p { margin:4px 0 0;color:#829381;font-size:10px; }.premium-note a { color:#4f7557;font-size:10px;font-weight:700; }
.premium-section-heading { display:flex;justify-content:space-between;align-items:end;margin:0 0 16px; }.premium-section-heading h2 { margin:0 0 5px;font-size:16px;letter-spacing:-.02em;color:#243c34; }.premium-section-heading p,.premium-section-heading>span { margin:0;color:#9aa69f;font-size:10px; }.premium-main .kpi-grid { gap:13px;margin-bottom:36px; }.premium-main .kpi { min-height:148px;padding:20px;border:1px solid #e8ece7;border-radius:12px;background:#fff;box-shadow:0 4px 20px rgba(26,54,42,.025); }.premium-kpi-icon { display:grid;place-items:center;width:31px;height:31px;margin-bottom:15px;background:#eff4ed;border-radius:8px;color:#648b6a;font-size:15px; }.premium-main .kpi span { color:#829087;font-size:10px; }.premium-main .kpi strong { margin:6px 0;font-family:Georgia,serif;font-weight:500;font-size:28px;color:#1e3b31; }.premium-main .kpi small { color:#a2aea6;font-size:9px; }
.premium-main .owner-grid { grid-template-columns:1.25fr .75fr; }.premium-main .panel { border-color:#e7ece7;border-radius:12px;box-shadow:0 4px 20px rgba(26,54,42,.025); }.premium-main .chart-panel { padding:24px; }.premium-main .chart-head { margin-bottom:10px; }.premium-main .chart-head h2,.premium-main .panel-head h2 { color:#263f35;font-size:14px; }.funnel-caption { margin:0 0 25px;color:#a0aca3;font-size:10px; }.premium-main .funnel { gap:17px; }.premium-main .funnel-row { grid-template-columns:115px 1fr 24px;color:#7a8b80; }.premium-main .funnel-track { height:8px;background:#f0f3ee; }.premium-main .funnel-track span { background:#88ac91; }.premium-main .funnel-row b { color:#3d5c4b; }.premium-main .appointment { border-color:#edf0ec; }.premium-main .date-tile { background:#edf3eb;color:#4e7858; }.premium-main .tag { background:#edf5ea;color:#658e68; }.premium-main .team-table th { background:#fafbf9; }.premium-main .team-table td { padding-block:17px; }.premium-main .btn-ghost { background:#f2f5f1;color:#536d5c; }
/* Consistent scale and breathing room throughout the owner workspace. */
.premium-main { width:100%; margin-inline:auto; padding-bottom:96px; }
.premium-welcome { padding-block:40px 30px; }
.premium-welcome p:not(.premium-kicker), .premium-section-heading p { font-size:14px; line-height:1.6; }
.premium-kicker, .premium-topline { font-size:11px; }
.premium-note { padding:18px 20px; gap:16px; }
.premium-note strong, .premium-note a { font-size:13px; }
.premium-note p { font-size:12px; line-height:1.5; }
.premium-section-heading { margin-bottom:18px; gap:16px; }
.premium-section-heading h2 { font-size:19px; }
.premium-main .kpi-grid { gap:16px; margin-bottom:40px; }
.premium-main .kpi { padding:22px; }
.premium-main .kpi span, .premium-main .kpi small { font-size:12px; line-height:1.45; }
.premium-main .owner-grid { gap:20px; margin-bottom:24px; }
.premium-main .chart-panel { padding:26px; }
.premium-main .chart-head h2, .premium-main .panel-head h2 { font-size:16px; }
.premium-main .funnel-caption { font-size:12px; line-height:1.5; }
.premium-main .panel-head { gap:16px; padding:22px 26px; }
.premium-main .team-table th, .premium-main .team-table td { padding:16px 20px; }
.premium-main .team-table-wrap { max-width:100%; overflow-x:auto; }
.premium-main .team-table { min-width:680px; }
.premium-outline, .premium-add { min-height:44px; font-size:12px; }
@media(max-width:900px){.premium-shell{grid-template-columns:1fr}.premium-sidebar{position:static;height:auto;padding:16px 20px;display:flex;flex-direction:row;align-items:center;gap:12px}.premium-product{padding:0;border:0}.premium-product small,.premium-workspace,.sidebar-label,.sidebar-link,.sidebar-bottom{display:none}.premium-main{padding:0 24px 90px}.premium-main .owner-grid{grid-template-columns:1fr}.premium-topline{height:55px}.premium-welcome{align-items:start;flex-direction:column}.premium-note{margin-bottom:28px}}
@media(max-width:640px){body:has(.premium-owner){padding-bottom:67px}.premium-main{padding-inline:18px}.premium-welcome{padding-top:30px}.premium-welcome h1{font-size:34px}.welcome-actions{width:100%}.welcome-actions>*{flex:1}.premium-note{align-items:start}.premium-note a{max-width:90px;text-align:right}.premium-main .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.premium-main .kpi{min-height:135px;padding:15px}.premium-main .kpi strong{font-size:24px}.premium-section-heading>span{display:none}.premium-main .chart-panel{padding:20px 16px}.premium-main .funnel-row{grid-template-columns:100px 1fr 20px}.premium-main .panel-head{align-items:center}}
@media(max-width:640px){.premium-main .panel-head{padding:18px 16px;flex-wrap:wrap}.premium-main .owner-grid{gap:16px}.premium-main .kpi-grid{gap:12px;margin-bottom:32px}.premium-note{flex-wrap:wrap}.premium-note a{max-width:none;text-align:left;margin-left:50px}.welcome-actions{flex-wrap:wrap}.welcome-actions>*{min-width:140px}.premium-main .funnel-row{font-size:12px}}
.global-view-switcher,.view-switcher{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#e8efe8;color:#345548;font-size:10px}.global-view-switcher{position:fixed;right:16px;bottom:16px;z-index:90;border:1px solid #cbdccf;border-radius:12px;box-shadow:0 8px 25px #1232}.global-view-switcher button,.view-switcher button{border:0;border-radius:7px;padding:8px 10px;background:white;color:#244a3a;cursor:pointer;font-size:10px;font-weight:700}.view-switcher{margin-top:12px;border-radius:9px}.view-switcher span{margin-right:auto;font-size:9px;letter-spacing:.1em}.qr-box{display:flex;gap:18px;align-items:center;padding:16px;margin:20px 0;border:1px solid #dce7df;border-radius:14px;background:#f6faf6;text-align:left}.qr-box svg{width:110px;min-width:110px;background:white;border:5px solid white}.qr-box strong{font-size:13px}.qr-box p,.qr-box small{display:block;margin:6px 0;color:#70827a;font-size:10px;line-height:1.5}.qr-box a{color:#287551;font-size:11px;font-weight:700}.case-qr{margin-top:22px;border-top:1px solid var(--line)}@media(max-width:640px){.global-view-switcher{bottom:72px;left:12px;right:12px;justify-content:center}.qr-box{align-items:flex-start}.qr-box svg{width:90px;min-width:90px}}
.attachment-panel{margin:24px 0;padding:20px;background:#f5f8f5;border:1px solid #dfe9e0;border-radius:12px}.attachment-panel h3{margin:0 0 8px;font-size:15px}.attachment-panel p{color:#6d7b85;font-size:12px;line-height:1.6}.attachment-panel label{display:block;margin:16px 0 8px;font-weight:700;font-size:12px}.attachment-panel input[type=file]{display:block;width:100%;margin-bottom:12px;font-size:12px}.attachment-panel input[type=file]::file-selector-button{margin-right:10px;padding:8px 12px;border:1px solid #ccd8cf;border-radius:7px;background:white;color:#234636;cursor:pointer}.document-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #dfe9e0}.document-row>span{color:#4f8060}.document-row>div{flex:1;min-width:0}.document-row strong,.document-row small{display:block;overflow-wrap:anywhere}.document-row strong{font-size:12px}.document-row small{margin-top:4px;font-size:10px;color:#7a8b80}.document-open{padding:8px 12px;border:1px solid #cad9cd;border-radius:8px;background:white;color:#28573a;cursor:pointer}.attachment-empty{margin-bottom:0}.client-documents{margin-bottom:28px}
.consultant-tools{margin:24px 0;padding:20px;background:#fff;border:1px solid #dce5df;border-radius:12px}.ops-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.ops-header h3,.consultant-tools h3{margin:0 0 10px;font-size:15px}.ops-kicker{margin:0 0 6px;color:#6e9679;font-size:9px;font-weight:700;letter-spacing:.1em}.ops-help{margin:10px 0;color:#778780;font-size:11px;line-height:1.6}.ops-help a{color:#2c7250}.ops-checklist{display:grid;gap:8px;margin:16px 0}.ops-checklist label{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #e4ebe5;border-radius:8px;font-size:12px;line-height:1.5}.ops-checklist input{accent-color:#287451}.ops-divider{height:1px;margin:22px 0;background:#e1e8e2}.consultant-tools textarea{width:100%;min-height:85px;padding:10px;border:1px solid #d5dfd7;border-radius:8px;resize:vertical}.consultant-tools #ops-save-notes{margin-top:8px}.lender-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lender-form input{min-width:0;height:42px;padding:8px;border:1px solid #d5dfd7;border-radius:8px}.lender-record{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e5ece5;font-size:11px}.lender-record span{color:#778780}.consultant-book{margin-left:8px}@media(max-width:640px){.ops-header{align-items:start;flex-direction:column}.lender-form{grid-template-columns:1fr}.consultant-book{margin-left:0}}
.consultant-kpis .kpi{text-align:left;color:inherit;cursor:pointer}.consultant-kpis .kpi:hover{border-color:#80ac90}.consultant-kpis .kpi small{display:block;margin-top:6px;color:#899991;font-size:10px}.consultant-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:18px;align-items:start}.consultant-side{display:grid;gap:18px}.consultant-filters{display:flex;gap:6px;padding:12px 16px;overflow:auto;border-bottom:1px solid var(--line)}.consultant-filters button{flex:none;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#74847d;font-size:11px;cursor:pointer}.consultant-filters button.active{background:#e6f1e9;color:#245c3c;font-weight:700}.consultant-filters button span{margin-left:4px;opacity:.7}.consultant-empty{padding:48px 20px;text-align:center;color:#728078}.consultant-empty strong{font-size:13px}.consultant-empty p{margin:8px 0;font-size:11px}.consultant-training{display:grid;gap:10px;margin:18px 0;color:#62776a;font-size:11px}.consultant-pipeline .case-list{max-height:none}@media(max-width:900px){.consultant-layout{grid-template-columns:1fr}}@media(max-width:640px){.consultant-filters{margin:0;padding:10px}.consultant-kpis .kpi{min-width:0}}
.consultant-lead-row{border-bottom:1px solid var(--line)}.consultant-lead-row .case-row{border-bottom:0;padding-bottom:10px}.lead-actions{display:flex;gap:8px;padding:0 19px 16px}.lead-actions a,.lead-actions button{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #dce6de;border-radius:7px;background:#fff;color:#366447;font:600 11px inherit;text-decoration:none;cursor:pointer}.lead-actions a:hover,.lead-actions button:hover{background:#eef5ee}
.consultant-sections{display:grid;gap:18px;min-width:0}.consultant-sections .case-list{max-height:none}.consultant-sections section{scroll-margin-top:95px}.section-counter{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:50%;background:#e5f1e8;color:#276344;font-size:12px;font-weight:700}
.lead-section{border-color:#efd9bd;background:#fffdfa}.lead-section .panel-head{background:#fff2df;border-color:#efd9bd}.lead-section .panel-head h2{color:#70441d}.lead-section .ops-help{color:#896c50}.lead-section .section-counter{background:#e8c391;color:#613b18}.lead-section .tag{background:#fae8ca;color:#80531f}.lead-section .lead-actions a,.lead-section .lead-actions button{border-color:#e8d6bb;color:#704a25}.lead-section .case-row:hover{background:#fff8ed}.application-section{border-color:#d6e3e6;background:#fdfefe}.application-section .panel-head{background:#eaf2f4;border-color:#d6e3e6}.application-section .panel-head h2{color:#204c5d}.application-section .ops-help{color:#667f89}.application-section .section-counter{background:#cde2e6;color:#275768}.application-section .tag{background:#dceef0;color:#285d68}.application-section .lead-actions a,.application-section .lead-actions button{border-color:#d0e1e4;color:#315e69}.application-section .case-row:hover{background:#f1f8f8}

/* Lumora wordmark: forest and sage palette. */
.lumora-wordmark { display:inline-block; color:#d5e6c4; font-family: Georgia, "Times New Roman", serif; font-size:30px; font-style:italic; font-weight:700; letter-spacing:-.065em; line-height:1; }
.topbar .lumora-wordmark { font-size:29px; }
.premium-product .lumora-wordmark { font-size:29px; }
@media(max-width:640px){.topbar .lumora-wordmark,.premium-product .lumora-wordmark{font-size:25px}}
