/* finesse · product / cobalt trust / quiet surfaces / existing layout / subtle feedback
   Presentation only. Shared by public pages and PC workspaces, after page styles. */
:root {
  --brand:#0052d9; --brand-bg:#edf3ff; --brand-deep:#102c50;
  --bg-page:#f2f5fa; --bg-card:#fff; --bg-mute:#f0f4f9;
  --border:#e0e7f0; --border-soft:#edf1f6; --line:var(--border);
  --t1:#203047; --t2:#4d5e75; --t3:#617189;
  --r-control:10px; --r-card:16px; --r-large:20px;
  --shadow:0 2px 8px rgba(16,44,80,.035),0 10px 28px -20px rgba(16,44,80,.16);
  --shadow-lg:0 14px 40px -20px rgba(16,44,80,.26);
}
html,body {overflow-x:clip}
html {scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body {line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3 {min-width:0;overflow-wrap:anywhere}
input,select,textarea,button {font-family:inherit}
input::placeholder,textarea::placeholder {color:var(--t3);opacity:1}
:focus-visible {outline:3px solid #81a8eb;outline-offset:3px}
.btn {min-height:44px;padding:10px 18px;line-height:1.5;font-weight:600;transition:background-color .16s,border-color .16s,box-shadow .16s}
.btn-sm {min-height:36px;padding:7px 12px}
.btn-primary {box-shadow:0 3px 8px rgba(0,82,217,.13)}
.btn-primary:hover,.btn-cta:hover {transform:none}
.btn-primary:hover {box-shadow:0 4px 12px rgba(0,82,217,.2)}
.btn-cta {background:#b9580d}
.btn-cta:hover {background:#9e4909}
.btn-outline {border-color:#c8d4e4;color:var(--brand-deep)}
.btn-ghost {background:var(--bg-mute)}
.btn:active:not(:disabled) {filter:brightness(.96)}
.btn:disabled {box-shadow:none}
.badge,.tag {border-radius:6px;line-height:1.5;padding:4px 8px}
.app-topbar,.public-header,body>header {box-shadow:0 2px 12px rgba(16,44,80,.025)}
.brand {letter-spacing:.1px}
.brand-logo {border-radius:0}
.topnav nav a {font-weight:500}
.sidenav a {min-height:46px}
.sidenav a.active {box-shadow:inset 3px 0 var(--brand)}
.app-main {gap:20px}
.card,.stat-card,.steps-bar,.public-card,.plan-card,.guarantee-card,.flow-card {border:1px solid var(--border);box-shadow:var(--shadow)}
.card,.stat-card {padding:22px}
.card-head {margin-bottom:18px;gap:12px}
.card-head h3 {font-size:17px;line-height:1.5}
.stat-card .k {font-size:13px}
.stat-card .v {font-size:30px;line-height:1.3;margin:12px 0 6px;letter-spacing:-.4px}
.stat-card .v.small {font-size:22px}
.stat-card .v,.money,.price,.score-big,.mini-v,.hero-stats .num,table {font-variant-numeric:tabular-nums}
.table-wrap {border:1px solid var(--border-soft);border-radius:12px;overscroll-behavior-x:contain}
table.dt th {background:var(--bg-mute);padding:13px 14px;white-space:nowrap}
table.dt td {padding:15px 14px;line-height:1.65}
table.dt tr:last-child td {border-bottom:0}
table.dt tr:hover td {background:#f7faff}
.dt .sub {margin-top:5px}
.field-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field {min-width:0}
.filter-panel .field+.field {margin-top:14px}
.business-field input,.business-field select {border-color:#c8d4e4;border-radius:10px;min-height:46px}
.business-scroll {border:1px solid var(--border-soft);border-radius:12px}
.business-dialog {border-radius:20px;box-shadow:0 20px 70px rgba(16,44,80,.2)}
.field label,.v10 label {font-weight:600;color:var(--t2)}
.field input,.field select,.field textarea,.v10 input:not([type=checkbox]):not([type=radio]),.v10 select,.v10 textarea {border-color:#c8d4e4;line-height:1.5}
.field input:not([type=checkbox]):not([type=radio]),.field select {min-height:46px}
.field textarea {resize:vertical}
.v10-modes label,.v10-note,.business-notice {border-radius:10px}
.v10-steps li {border-radius:3px 3px 0 0}
.v10-steps li.active {background:var(--brand-bg)}
.modal,.v10-modal {border-radius:20px;box-shadow:0 20px 70px rgba(16,44,80,.2)}
.modal-close,.v10-modal header button {min-width:44px;min-height:44px;border-radius:10px;background:var(--bg-mute)}
.public-card {padding:22px;gap:14px;transition:box-shadow .16s,border-color .16s}
.public-card:hover,.guarantee-card:hover,.flow-card:hover {transform:none;box-shadow:var(--shadow-lg);border-color:#c8d8ee}
.route-title {font-size:19px;line-height:1.5;color:var(--brand-deep)}
.mini-grid {gap:14px 12px;padding:14px;background:var(--bg-mute);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.mini-v {margin-top:3px;line-height:1.6}
.public-grid {grid-template-columns:280px minmax(0,1fr);gap:20px}
.page-hero {padding:32px 36px;margin-bottom:24px}
.page-hero h1 {font-size:30px;letter-spacing:.3px;line-height:1.4}
.page-hero p {line-height:1.8;color:#d0ddef}
.plan-card {padding:26px;gap:16px}
.plan-card.featured {background:#f7faff;border-color:var(--brand);box-shadow:var(--shadow)}
.benefit-list {gap:11px}
.faq-q {min-height:56px;font-size:14px;line-height:1.65}
.faq-a {line-height:1.85}
.hero {padding:60px 32px;gap:24px}
.hero h1 {font-size:clamp(28px,3vw,40px);line-height:1.5;letter-spacing:0;text-wrap:balance}
.hero p {color:#d0ddef;line-height:1.9}
.hero .chip {background:#1c3d67;color:#c1d7f8;border:1px solid #34537b}
.hero-stats .num {font-size:25px;line-height:1.4}
.hero-stats .lbl,.member-banner p {color:#c1cee2}
.flow-card {padding:20px 16px}
.flow-card p {font-size:13px;line-height:1.8}
.flow-card .step-num {margin-bottom:12px}
.member-banner {margin-top:24px}
.v10-carousel-copy {border-radius:0 14px 14px 0;background:#102c50d9;text-shadow:none;padding:16px 22px}
.v10-carousel-controls {border-radius:12px;background:#102c50e6;gap:4px}
.v10-carousel-controls button {border-radius:8px}
.v10-carousel-controls button:hover {background:#ffffff18}
.login-box {border:1px solid #ffffff40;padding:36px;box-shadow:0 24px 80px #071b3440}
.login-box h1 {font-size:25px;line-height:1.4}
.login-box .sub {line-height:1.8}
.role-tabs {gap:10px}
.role-tab {border-color:#c8d4e4}
.demo {padding:16px;background:var(--bg-mute);line-height:1.75}
.demo .d {padding:7px 0;min-height:36px}
.empty,.loading {line-height:1.8;padding:40px 20px}
@media(max-width:1100px) and (min-width:901px) {
  .topnav {gap:12px;padding-inline:24px}
  .topnav nav ul {gap:18px}
  .topnav .brand {font-size:16px}
  .top-actions,.nav-actions {gap:10px}
  .app-main {padding:20px}
}
@media(max-width:900px) {
  .public-grid {grid-template-columns:minmax(0,1fr)}
  .field-grid {grid-template-columns:minmax(0,1fr)}
  .page-hero {padding:26px}
  .hero {padding:44px 20px}
  .hero h1 {font-size:30px}
}
@media(max-width:560px) {
  .card,.public-card,.stat-card {padding:18px}
  .mini-grid {grid-template-columns:minmax(0,1fr)}
  .public-main {padding-inline:16px}
  .hero h1 {font-size:27px}
  .btn-sm {min-height:44px}
  .login-box {padding:26px 22px;margin-block:20px}
  .page-hero {padding:24px}
  .page-hero h1 {font-size:26px}
  .field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea {font-size:16px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print {
  html,body {overflow:visible}
  .card,.stat-card,.public-card,.table-wrap {box-shadow:none}
}
