/*
 * 喜牙 V3 — Clinical Casebook / 口腔临床档案
 * A deliberately typographic system built around real FDI tooth notation.
 */
:root{
  --ink:#18201e;
  --muted:#5f6966;
  --green:#2855d9;
  --green-dark:#173a9e;
  --mint:#e8edff;
  --mint-pale:#f1f3f8;
  --line:#cdd3d0;
  --line-strong:#aab3af;
  --cream:#f5f6f2;
  --orange:#e24b35;
  --red:#c9362a;
  --blue:#2855d9;
  --paper:#f5f6f2;
  --white:#fff;
  --steel:#87918d;
  --shadow:0 18px 45px rgba(24,32,30,.10);
  --font:"Microsoft YaHei","PingFang SC","HarmonyOS Sans SC",Arial,sans-serif;
  --font-data:Consolas,"SFMono-Regular","Roboto Mono",monospace;
}

body.xiya-v2{background:var(--paper);color:var(--ink);font-size:16px}
body.xiya-v2::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.28;background-image:radial-gradient(#aab3af .55px,transparent .55px);background-size:7px 7px}
button,a,input,select,textarea{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(40,85,217,.3)!important;outline-offset:2px}
.container{width:min(1240px,calc(100% - 56px))}
.button{border-radius:2px;box-shadow:none!important;transform:none!important;min-height:46px;text-transform:none}
.button-dark,.button-primary{background:var(--blue);color:#fff}
.button-dark:hover,.button-primary:hover{background:var(--ink)}
.button-outline{border:1px solid var(--ink);background:transparent;color:var(--ink)}
.button-outline:hover{background:var(--ink);color:#fff}

/* Header — a compact clinical index, not a floating SaaS nav */
.site-header{height:76px;background:rgba(245,246,242,.97);border-bottom:1px solid var(--ink);box-shadow:none;backdrop-filter:none}
.header-inner{gap:34px}
.brand{min-width:148px;gap:12px}
.brand-mark{width:40px;height:40px;border-radius:0;background:var(--blue);box-shadow:none;position:relative}
.brand-mark::before{content:"11";position:absolute;right:-7px;top:-7px;width:19px;height:19px;display:grid;place-items:center;background:var(--orange);color:#fff;border:2px solid var(--paper);font:700 7px/1 var(--font-data)}
.brand-mark::after{display:none}
.brand-mark svg{width:22px}
.brand-copy strong{font-size:22px;letter-spacing:5px;font-weight:900}
.brand-copy small{font:600 8px/1.2 var(--font-data);letter-spacing:1.1px;color:var(--muted)}
.main-nav{gap:0;border-left:1px solid var(--line)}
.main-nav a{height:76px;padding:0 16px;border-right:1px solid transparent;color:#36403d;font-size:13px;font-weight:600}
.main-nav a:hover,.main-nav a.active{background:#fff;color:var(--blue)}
.main-nav a.active::after{left:15px;right:15px;bottom:-1px;width:auto;height:4px;transform:none;border-radius:0;background:var(--blue)}
.header-actions{gap:7px}
.header-actions button{min-height:42px}
.location-button{border:1px solid var(--line-strong);border-radius:2px;background:transparent;padding:0 10px;min-width:82px}
.location-button:hover{border-color:var(--blue);background:#fff;color:var(--blue)}
.text-button{padding:0 9px;color:#35403c;font-size:12px}
.button-sm{height:42px;border-radius:2px;padding-inline:17px;font-size:12px}

/* Hero — the signature FDI dental chart */
.clinical-hero{position:relative;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--ink)}
.clinical-hero::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% + 84px);width:1px;background:var(--line)}
.clinical-hero::after,.doctor-section::before{display:none}
.clinical-hero .hero-grid{min-height:640px;grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr);gap:72px;align-items:center}
.clinical-hero .hero-copy{padding:74px 0 62px}
.hero-case-label{display:flex;align-items:center;gap:16px;margin-bottom:35px;font:700 10px/1.2 var(--font-data);letter-spacing:1.5px;text-transform:uppercase}
.hero-case-label span{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;background:var(--ink);color:#fff}
.hero-case-label b{color:var(--blue)}
.clinical-hero h1{max-width:650px;margin:0 0 25px;font-size:66px;line-height:1.06;letter-spacing:-4px;font-weight:900}
.clinical-hero h1 small{display:block;margin-bottom:5px;font-size:.57em;line-height:1.2;letter-spacing:-2px;color:var(--blue)}
.clinical-hero .hero-copy>p{max-width:590px;margin:0 0 34px;color:#515c58;font-size:16px;line-height:1.95}
.clinical-hero .hero-search{width:min(640px,100%);height:62px;padding:0;border:2px solid var(--ink);border-radius:0;box-shadow:7px 7px 0 var(--ink);background:#fff}
.clinical-hero .search-type{width:116px;border-right:1px solid var(--ink);font-size:11px;background:#edf0ff;color:var(--blue)}
.clinical-hero .hero-search label{padding-inline:16px;color:var(--blue)}
.clinical-hero .hero-search input{font-size:14px}
.clinical-hero .hero-search>button:last-child{width:92px;border-radius:0;background:var(--blue);font-size:13px}
.clinical-hero .hero-search>button:last-child:hover{background:var(--ink)}
.hot-search{gap:11px;margin-top:20px;font-size:11px}
.hot-search span{color:var(--muted);font-weight:700}
.hot-search button{min-height:30px;padding:0 9px;border:1px solid var(--line);background:transparent;color:#45504c}
.hot-search button:hover{border-color:var(--blue);color:var(--blue);background:#fff}
.hero-service-note{display:flex;align-items:flex-start;gap:12px;margin-top:34px;padding-top:20px;border-top:1px solid var(--line);max-width:575px}
.hero-service-note>span{width:28px;height:28px;color:var(--blue);flex:none}
.hero-service-note svg{width:100%;height:100%}
.hero-service-note p{margin:0}
.hero-service-note strong,.hero-service-note small{display:block}
.hero-service-note strong{font-size:12px}
.hero-service-note small{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.6}
.clinical-hero .hero-visual{height:auto;min-height:510px}
.clinical-board{position:relative;padding:0;background:#fff;border:1px solid var(--ink);box-shadow:12px 12px 0 #d9ddda}
.board-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--ink)}
.board-header span,.board-header strong{display:block}
.board-header span{font-size:19px;font-weight:900;letter-spacing:2px}
.board-header strong{margin-top:4px;color:var(--steel);font:600 8px/1.2 var(--font-data);letter-spacing:1.4px}
.board-header>b{align-self:stretch;min-width:76px;display:grid;place-items:center;margin-right:-24px;background:var(--orange);color:#fff;font-size:13px;letter-spacing:3px}
.tooth-chart{padding:28px 24px 24px;border-bottom:1px solid var(--ink)}
.tooth-chart-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;color:var(--steel);font:600 8px/1 var(--font-data);letter-spacing:1px}
.tooth-chart-label strong{color:var(--ink);font-size:10px}
.tooth-row{display:grid;grid-template-columns:repeat(8,1fr) 5px repeat(8,1fr);gap:4px;align-items:center}
.tooth-row+ .tooth-row{margin-top:6px}
.tooth-row span{aspect-ratio:.78;display:grid;place-items:center;border:1px solid var(--line-strong);background:var(--paper);color:#3d4744;font:700 9px/1 var(--font-data)}
.tooth-row span:nth-child(4n+1){border-top:3px solid var(--blue)}
.tooth-row.lower span:nth-child(4n+1){border-top-color:var(--orange)}
.tooth-row i{height:100%;border-left:1px solid var(--ink)}
.board-checklist{padding:5px 24px}
.board-checklist>div{min-height:55px;display:grid;grid-template-columns:86px 1fr auto;align-items:center;border-bottom:1px solid var(--line)}
.board-checklist>div:last-child{border-bottom:0}
.board-checklist b{color:var(--steel);font:600 8px/1 var(--font-data);letter-spacing:.7px}
.board-checklist span{font-size:12px;font-weight:700}
.board-checklist strong{padding:5px 7px;border:1px solid var(--blue);color:var(--blue);font-size:10px}
.board-footer{display:flex;align-items:center;justify-content:space-between;padding:15px 24px;background:var(--ink);color:#fff}
.board-footer span{font:600 8px/1 var(--font-data);letter-spacing:1px}
.board-footer p{margin:0;color:#c4cbc8;font-size:9px}
.trust-strip{height:96px;border:0;border-top:1px solid var(--ink);background:#fff}
.trust-strip>div{justify-content:flex-start;padding:0 22px;border-right:1px solid var(--ink)}
.trust-strip>div>b{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--ink);font:700 10px/1 var(--font-data)}
.trust-strip strong{font-size:12px}
.trust-strip small{font-size:9px;color:var(--muted)}

/* Need index */
.care-path{background:var(--blue);border-bottom:1px solid var(--ink)}
.care-path-inner{min-height:126px;grid-template-columns:1.35fr repeat(4,1fr)}
.care-path-intro{background:var(--ink);color:#fff;border-right:1px solid #fff;padding-left:27px}
.care-path-intro span{color:#aeb7ff;font:700 9px/1 var(--font-data);letter-spacing:1px}
.care-path-intro strong{font-size:17px}
.care-path button{min-height:126px;border-right:1px solid rgba(255,255,255,.55);background:var(--blue);color:#fff;padding-inline:18px}
.care-path button:hover{background:#fff;color:var(--blue)}
.care-path button i{width:auto;min-width:35px;height:24px;border:1px solid currentColor;border-radius:0;font:700 9px/22px var(--font-data)}
.care-path button span{font-size:13px}
.care-path button small{color:inherit;opacity:.68}

/* Shared section language */
.section{padding:92px 0}
.section-soft{background:#ecefeb;border-block:1px solid var(--ink)}
.section-head{align-items:flex-start;margin-bottom:37px;padding-top:17px;border-top:3px solid var(--ink)}
.section-head>div{max-width:690px}
.section-head.centered{text-align:left;justify-content:flex-start}
.section-head h2{margin:9px 0 10px;font-size:34px;line-height:1.25;letter-spacing:-1.3px;font-weight:900}
.section-head p{font-size:13px;color:var(--muted)}
.section-kicker{display:inline-flex;align-items:center;min-height:24px;padding:0 7px;background:var(--blue);color:#fff;font:700 9px/1 var(--font-data);letter-spacing:.8px}
.link-button{min-height:40px;border-bottom:1px solid currentColor;color:var(--blue);font-size:11px;font-weight:700}
.filter-row{gap:0;margin-bottom:25px;border-bottom:1px solid var(--ink)}
.filter-row button{min-height:43px;padding:0 15px;border:0;border-radius:0;color:#505a57;font-size:11px}
.filter-row button.active{background:var(--ink);color:#fff}
.filter-row .filter-control{border:1px solid var(--ink);border-bottom:0;border-radius:0;background:transparent}
.category-tabs{justify-content:flex-start;gap:0;margin-bottom:25px;border-bottom:1px solid var(--ink)}
.category-tabs button{min-height:43px;padding:0 16px;border:0;border-radius:0;background:transparent;font-size:11px}
.category-tabs button.active{background:var(--ink);color:#fff}

/* Institution case files */
.institution-grid{grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.institution-card{border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;background:#fff;overflow:hidden;box-shadow:none;transform:none!important}
.institution-card:hover{background:#f9faff;box-shadow:inset 0 -5px 0 var(--blue)}
.clinic-file-head{height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);color:var(--steel);font:600 8px/1 var(--font-data);letter-spacing:.9px}
.clinic-file-head b{color:var(--blue)}
.institution-body{padding:23px 20px 19px}
.institution-title{align-items:flex-start;justify-content:space-between;gap:12px;min-height:52px}
.institution-title h3{font-size:18px;line-height:1.45;letter-spacing:-.5px}
.verified-mini{width:22px;height:22px;color:var(--blue);flex:none}
.clinic-file-rating{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:8px;margin:18px 0;padding:11px 0;border-block:1px solid var(--line)}
.clinic-file-rating strong{font:800 28px/1 var(--font-data);color:var(--ink)}
.clinic-file-rating span{color:var(--steel);font-size:9px}
.clinic-file-rating b{font-size:9px;color:var(--muted)}
.institution-tags{gap:5px}
.institution-tags span{padding:5px 7px;border:1px solid var(--line);border-radius:0;background:transparent;color:#4a5551;font-size:9px}
.institution-address{min-height:54px;align-items:flex-start;margin-top:15px;padding-top:13px;border-top:1px solid var(--line);font-size:10px;line-height:1.65;color:var(--muted)}
.institution-address svg{color:var(--blue)}
.institution-body footer{display:flex;align-items:center;justify-content:space-between;margin:4px -20px -19px;padding:13px 20px 0;border-top:1px solid var(--ink);min-height:49px;background:var(--ink);color:#fff}
.institution-body footer>span{font-size:9px;font-weight:700;color:#aebcff}
.institution-body footer button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#fff;font-size:9px;font-weight:700}
.institution-body footer svg{width:13px}

/* Service price files */
.project-grid{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.project-card{border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;background:#fff;box-shadow:none;transform:none!important}
.project-card:hover{background:#f9faff;box-shadow:inset 0 -5px 0 var(--blue)}
.service-file-card>header,.clinician-file-card>header{height:41px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line);color:var(--steel);font:600 8px/1 var(--font-data);letter-spacing:.8px}
.service-file-card>header b,.clinician-file-card>header b{color:var(--blue)}
.project-info{padding:20px 17px 16px}
.project-info .project-badge{position:static;display:inline-flex;padding:4px 6px;border-radius:0;background:var(--orange);color:#fff;font-size:8px}
.project-info h3{min-height:44px;margin:13px 0 8px;font-size:15px;line-height:1.45}
.project-info>p{height:51px;color:var(--muted);font-size:10px;line-height:1.7}
.project-org{min-height:31px;margin:11px 0;color:#59635f;font-size:9px}
.project-org svg{color:var(--blue)}
.price-line{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;min-height:76px;padding-top:13px;border-top:1px solid var(--ink)}
.price-line>span{grid-column:1/-1;margin:0 0 5px;color:var(--steel);font:600 8px/1 var(--font-data);letter-spacing:.6px}
.price-line strong{font:800 29px/1 var(--font-data);color:var(--ink)}
.price-line strong::before{display:none}
.price-line strong i{margin-right:2px;color:var(--blue);font:700 12px/1 var(--font-data)}
.price-line del{align-self:end;margin:0;color:var(--steel);font-size:9px}
.project-file-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px -17px -16px;padding:12px 17px 0;border-top:1px solid var(--line)}
.project-file-footer small{color:var(--steel);font-size:8px}
.project-file-footer .project-buy{width:auto;min-height:35px;margin:0;padding:0 10px;border:0;border-radius:0;background:var(--blue);color:#fff;font-size:9px;display:flex;align-items:center;gap:5px}
.project-file-footer .project-buy:hover{background:var(--ink)}
.project-file-footer svg{width:12px}

/* Clinician files */
.doctor-section{background:var(--ink);border-block:1px solid var(--ink);color:#fff}
.doctor-section .section-head{border-top-color:#fff}
.doctor-section .section-kicker{background:#fff;color:var(--ink)}
.doctor-section .section-head p{color:#aeb7b3}
.doctor-grid{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #fff;border-left:1px solid #fff}
.doctor-card{padding:0;border:0;border-right:1px solid #fff;border-bottom:1px solid #fff;border-radius:0;background:transparent;color:#fff;box-shadow:none;transform:none!important;overflow:hidden}
.doctor-card:hover{background:#222c29;box-shadow:inset 0 -5px 0 var(--orange)}
.clinician-file-card>header{color:#9ba6a2;border-bottom-color:#57605d}
.clinician-file-card>header b{color:#9db1ff}
.doctor-top{padding:22px 18px 16px;gap:13px}
.doctor-avatar{width:55px;height:62px;border:1px solid #fff;border-radius:0;background:#fff;color:var(--ink);font:800 15px/1 var(--font-data)}
.doctor-top h3{font-size:19px;letter-spacing:1px}
.doctor-top h3 small{margin-left:4px;color:#a9b2af;font-size:9px;font-weight:500}
.doctor-title{color:#aeb7b3;font-size:9px}
.doctor-specialties{padding:0 18px;gap:5px}
.doctor-specialties span{padding:5px 7px;border:1px solid #68716e;border-radius:0;background:transparent;color:#e2e5e3;font-size:8px}
.doctor-bio{height:74px;margin:17px 18px 0;padding-top:14px;border-top:1px solid #555f5b;color:#b8c0bd;font-size:10px;line-height:1.75}
.doctor-meta{margin:0 18px;padding:13px 0;border-block:1px solid #555f5b}
.doctor-meta span{color:#8f9995;font-size:8px;line-height:1.6}
.doctor-meta strong{display:block;color:#fff;font-size:10px}
.doctor-card>button{width:100%;min-height:50px;margin:0;padding:0 18px;border:0;border-radius:0;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700}
.doctor-card>button:hover{background:var(--orange)}
.doctor-card>button svg{width:15px}

/* Map as a clinical location sheet */
.map-section{background:#fff;border-bottom:1px solid var(--ink)}
.map-provider-badge{min-height:34px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font:700 9px/1 var(--font-data)}
.map-finder-shell{border:1px solid var(--ink);border-radius:0;box-shadow:9px 9px 0 #d8dcda}
.map-toolbar{min-height:76px;border-bottom:1px solid var(--ink);background:var(--paper)}
.map-mode-tabs{padding:0;border:1px solid var(--ink);border-radius:0;background:transparent}
.map-mode-tabs button{height:44px;border-radius:0;color:var(--ink)}
.map-mode-tabs button.active{background:var(--ink);box-shadow:none;color:#fff}
.map-search-field,.map-locate-button{height:46px;border:1px solid var(--ink);border-radius:0;background:#fff}
.map-search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(40,85,217,.18)}
.map-locate-button{color:var(--blue)}
.map-locate-button:hover{background:var(--blue);color:#fff}
.map-finder-body{grid-template-columns:minmax(0,1.55fr) minmax(345px,.75fr)}
.map-canvas-wrap{background:#e6e9e5;border-right:1px solid var(--ink)}
.clinic-map{background-color:#edf0ec;background-image:linear-gradient(rgba(24,32,30,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(24,32,30,.08) 1px,transparent 1px);background-size:28px 28px}
.fallback-map-art{background:#e6e9e5}
.map-legend,.map-provider-status{border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink)}
.map-results-head{border-bottom:1px solid var(--ink);background:var(--ink);color:#fff}
.map-results-head span,.map-results-head small{color:#aeb7b3}
.map-result-card{padding:18px 17px;border-bottom:1px solid var(--line);background:#fff}
.map-result-card:hover{background:#f0f3ff}
.map-result-index{border-radius:0;background:var(--ink);color:#fff}
.map-result-copy>div>span{color:var(--blue);font:700 8px/1 var(--font-data)}
.map-result-copy h3{font-size:14px}
.map-result-tags span{border:1px solid var(--line);border-radius:0;background:transparent}
.map-result-actions button{border-radius:0}
.map-result-actions button.primary{background:var(--blue)}
.fallback-map-pin>span,.amap-xiya-marker>span{border-radius:0;transform:rotate(45deg);background:var(--blue)}
.fallback-map-pin>small{border:1px solid var(--ink);border-radius:0}

/* Reading room and partner entry */
.article-grid{gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.article-card{border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;background:#fff;box-shadow:none}
.article-card:hover{box-shadow:inset 0 -5px 0 var(--blue)}
.article-card.featured{grid-template-columns:1fr 1.25fr}
.article-art{border-radius:0;background:#eef0ed!important;color:var(--ink)}
.article-art::before,.article-art::after{display:none}
.article-copy>span{color:var(--blue);font:700 8px/1 var(--font-data);letter-spacing:.8px}
.article-copy h3{font-size:17px;line-height:1.55}
.education-cover{min-height:190px;padding:20px;display:flex;align-items:flex-start;justify-content:flex-end;flex-direction:column;border-right:1px solid var(--ink);background-image:linear-gradient(rgba(24,32,30,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(24,32,30,.07) 1px,transparent 1px)!important;background-size:24px 24px!important}
.education-cover .education-code{position:absolute;left:18px;top:17px;padding:6px 7px;border:1px solid var(--ink);background:#fff;color:var(--blue);font:700 8px/1 var(--font-data);letter-spacing:.8px;transform:none}
.education-cover>strong{font:800 35px/1 var(--font-data);letter-spacing:-1px;color:var(--ink)}
.education-cover>small{margin-top:6px;color:var(--muted);font-size:9px}
.education-teeth{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:18px}
.education-teeth i{height:29px;display:grid;place-items:center;border:1px solid var(--ink);background:#fff;color:var(--ink);font:700 8px/1 var(--font-data);font-style:normal}
.education-teeth i:nth-child(2){border-top:4px solid var(--blue)}
.education-teeth i:nth-child(3){border-top:4px solid var(--orange)}
.partner-banner{background:var(--paper);border-block:1px solid var(--ink);color:var(--ink)}
.partner-inner{min-height:162px;display:grid;grid-template-columns:125px minmax(0,1fr) auto;gap:28px}
.partner-file-index{align-self:stretch;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:space-between;padding:26px 20px;background:var(--blue);color:#fff}
.partner-file-index span{font:700 8px/1 var(--font-data);letter-spacing:1px}
.partner-file-index b{font:900 39px/1 var(--font-data);letter-spacing:-2px}
.partner-file-copy{display:flex!important;align-items:center!important;gap:22px!important}
.partner-file-copy>span{padding:6px 8px;background:var(--orange);color:#fff;font:700 9px/1 var(--font-data);white-space:nowrap}
.partner-file-copy p{margin:0}
.partner-file-copy strong{font-size:22px;letter-spacing:-.5px}
.partner-file-copy small{margin-top:8px;color:var(--muted)}
.partner-file-copy>div{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px!important;margin-left:auto}
.partner-file-copy i{min-width:65px;color:var(--muted);font-size:9px;font-style:normal}
.partner-file-copy i::before{content:"✓";margin-right:5px;color:var(--blue);font-weight:800}
.partner-inner .button{min-height:50px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:#fff}
.partner-inner .button:hover{background:var(--blue)}
footer{background:var(--ink);border-top:1px solid #fff}
.footer-grid{padding-block:58px;border-bottom:1px solid #4c5652}
.footer-grid h4{color:#fff;font:700 10px/1 var(--font-data);letter-spacing:1px}
.footer-grid a,.footer-link{color:#aeb7b3}
.footer-grid a:hover,.footer-link:hover{color:#fff}
.footer-about>p{color:#aeb7b3}
.footer-cert{border:1px solid #69736f;border-radius:0;background:transparent}
.hotline{color:#fff;font-family:var(--font-data)}

/* Dialogs and forms — case folders */
.modal-backdrop{background:rgba(15,20,19,.72);backdrop-filter:none}
.modal-card{border:1px solid var(--ink);border-radius:0;box-shadow:12px 12px 0 rgba(0,0,0,.32)}
.modal-close{right:14px;top:14px;width:40px;height:40px;border:1px solid var(--ink);border-radius:0;background:#fff}
.modal-close:hover{background:var(--orange);color:#fff}
.modal-content-pad{padding:42px}
.modal-heading{padding-bottom:20px;border-bottom:1px solid var(--ink)}
.modal-heading h2{font-size:28px;letter-spacing:-1px}
.field label{font-size:11px}
.field input,.field textarea,.field select{min-height:48px;border:1px solid var(--line-strong);border-radius:0;background:#fff;font-size:13px}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(40,85,217,.15)}
.form-actions .button{min-height:50px;background:var(--blue)}
.form-note button{color:var(--blue)}
.login-role-tabs{border:1px solid var(--ink);border-radius:0;background:var(--paper);padding:0;gap:0}
.login-role-tabs button{border-right:1px solid var(--ink);border-radius:0}
.login-role-tabs button:last-child{border-right:0}
.login-role-tabs button.active{background:var(--ink);color:#fff;box-shadow:none}
.login-demo{border:1px solid var(--line);border-radius:0;background:var(--paper)}
.password-field>[data-toggle-password]{border:1px solid var(--line);border-radius:0;background:#fff;color:var(--blue)}

.modal-card.modal-wide:has(.auth-shell){width:min(1020px,100%)}
.auth-shell{grid-template-columns:370px minmax(0,1fr);min-height:640px}
.auth-visual{padding:34px;background:var(--ink);background-image:none}
.auth-institution .auth-visual,.auth-join .auth-visual{background:var(--ink)}
.auth-visual::after{content:"CASE / IDENTITY";position:absolute;right:-42px;bottom:55px;transform:rotate(-90deg);color:#4d5a56;font:700 8px/1 var(--font-data);letter-spacing:2px}
.auth-visual-brand .brand-mark{border-radius:0;background:var(--blue);color:#fff}
.auth-visual-brand small{color:#9ca7a3}
.auth-file-code{display:flex;align-items:center;justify-content:space-between;margin:45px 0 15px;padding:11px 0;border-block:1px solid #59635f;color:#aab3af;font:600 8px/1 var(--font-data);letter-spacing:1px}
.auth-file-code b{color:#9db1ff}
.auth-dentition{padding:18px 0 24px;border-bottom:1px solid #59635f}
.auth-dentition>div{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.auth-dentition>div+div{margin-top:5px}
.auth-dentition i{aspect-ratio:1;display:grid;place-items:center;border:1px solid #65706c;color:#d5dad8;font:600 8px/1 var(--font-data);font-style:normal}
.auth-dentition>div:first-child i:nth-child(3n){border-top:3px solid #8fa6ff}
.auth-dentition>div:last-child i:nth-child(3n){border-top:3px solid var(--orange)}
.auth-visual-copy{margin-top:30px}
.auth-visual-copy>span{color:#9db1ff}
.auth-visual-copy h3{font-size:24px;line-height:1.5}
.auth-visual-copy li{color:#d1d6d4}
.auth-visual-copy li svg{color:#9db1ff}
.auth-form-panel>.modal-content-pad{padding:48px 54px}
.auth-form-panel .button-primary{background:var(--blue)}
.auth-form-panel .login-demo{border:1px solid var(--line);border-radius:0;background:var(--paper)}

.institution-detail-head{height:auto;min-height:190px;padding:50px 34px 28px;background:var(--paper);border-bottom:1px solid var(--ink)}
.institution-detail-head::before{content:"VERIFIED CLINIC FILE";position:absolute;left:34px;top:24px;color:var(--blue);font:700 8px/1 var(--font-data);letter-spacing:1px}
.institution-detail-head .clinic-building{display:none}
.institution-detail-title{width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none}
.institution-detail-title h2{font-size:28px;letter-spacing:-1px}
.detail-body{padding:30px 34px}
.detail-section{padding-top:18px;border-top:1px solid var(--ink)}
.detail-section>p svg{width:14px;height:14px;margin-right:4px;vertical-align:-3px;color:var(--blue)}
.detail-project{border:1px solid var(--line-strong);border-radius:0}
.detail-project button{border-radius:0;background:var(--blue);color:#fff}
.appointment-form{border:1px solid var(--ink);border-radius:0;background:var(--paper)}
.toast{border:1px solid #fff;border-radius:0;background:var(--ink)}

/* City index */
.modal-card.modal-wide:has(.city-picker-shell){width:min(1030px,100%)}
.city-picker-shell{grid-template-columns:280px minmax(0,1fr);background:#fff}
.city-picker-current{padding:38px 30px;background:var(--blue);background-image:none}
.city-picker-current::after{content:"31 OPEN CITIES";position:absolute;left:30px;bottom:35px;width:auto;height:auto;border:0;border-radius:0;color:#aebcff;font:700 8px/1 var(--font-data);letter-spacing:1px}
.city-picker-current .section-kicker{background:#fff;color:var(--blue)}
.city-coordinate{width:auto;height:auto;margin:48px 0 36px;padding:22px 0;border:0;border-block:1px solid rgba(255,255,255,.55);border-radius:0;display:block}
.city-coordinate::before,.city-coordinate::after,.city-coordinate>i,.city-coordinate>b{display:none}
.city-coordinate>span{width:58px;height:58px;border:1px solid #fff;border-radius:0;background:transparent;color:#fff;box-shadow:none}
.city-coordinate>small{right:0;top:24px;padding:0;background:transparent;color:#d7ddff}
.city-picker-current>h2{font-size:42px;letter-spacing:1px}
.city-picker-current>small{color:#dde2ff}
.city-picker-panel{padding:42px 46px}
.city-search{border:1px solid var(--ink);border-radius:0}
.city-region-list{max-height:365px}
.city-region{grid-template-columns:48px minmax(0,1fr)}
.city-region h3{color:var(--blue);font:700 9px/1 var(--font-data)}
.city-region button{border:1px solid var(--line);border-radius:0}
.city-region button:hover{border-color:var(--blue);background:#f0f3ff;color:var(--blue)}
.city-region button[aria-pressed="true"]{border-color:var(--blue);background:var(--blue)}

/* Operations — a working ledger rather than a generic SaaS dashboard */
.dashboard-app{grid-template-columns:250px 1fr;background:#eef0ed}
.dash-sidebar{padding:25px 16px;background:var(--ink);border-right:1px solid #fff}
.dash-brand{padding:0 10px 23px;border-bottom:1px solid #4e5955}
.dash-brand .brand-mark{background:var(--blue)}
#dashNav{gap:2px}
.dash-sidebar #dashNav button{min-height:48px;border-radius:0;color:#b8c0bd;font-size:12px}
.dash-sidebar #dashNav button:hover{background:#27312e;color:#fff}
.dash-sidebar #dashNav button.active{background:var(--blue);color:#fff;box-shadow:none}
.dash-sidebar #dashNav button i{border-radius:0;background:var(--orange)}
.dash-help{border:1px solid #56615d;border-radius:0;background:transparent}
.dash-help>span{border-radius:0;background:#fff;color:var(--ink)}
.dash-help button{border-radius:0;background:#fff;color:var(--ink)}
.dash-logout{border-top:1px solid #4e5955;color:#adb6b2}
.dash-main{background:#eef0ed}
.dash-header{height:72px;padding:0 28px;border-bottom:1px solid var(--ink);background:#fff}
.status-dot{border-radius:0;background:var(--blue)}
.dash-user-avatar{border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink)}
.dash-content{padding:34px 38px}
.dash-title{padding-top:16px;border-top:3px solid var(--ink)}
.dash-title h1{font-size:29px;letter-spacing:-1px}
.stat-grid{gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.stat-card{min-height:166px;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;background:#fff;box-shadow:none}
.stat-card>span{border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--blue)}
.stat-card small{color:var(--muted);font-size:10px}
.stat-card strong{font:800 30px/1.2 var(--font-data);color:var(--ink)}
.stat-card em{color:var(--blue);font-style:normal;font-size:9px}
.dash-grid{gap:18px}
.dash-card,.data-card,.settings-card,.wechat-hero{border:1px solid var(--ink);border-radius:0;background:#fff;box-shadow:none}
.dash-card-head{border-bottom:1px solid var(--ink)}
.dash-card-head button{color:var(--blue)}
.data-toolbar{border-bottom:1px solid var(--ink);background:var(--paper)}
.data-table th{background:var(--ink);color:#fff;font:600 9px/1 var(--font-data);letter-spacing:.6px}
.data-table td{border-bottom:1px solid var(--line)}
.status-pill{border:1px solid currentColor;border-radius:0;background:transparent!important}
.table-actions button{border-radius:0}
.settings-section-title{border-left:4px solid var(--blue);color:var(--ink)}
.bar-chart>div{border-radius:0;background:var(--blue)}
.admin-ring{border:1px solid var(--ink);background:transparent;border-radius:0}
.admin-todos>div{border:1px solid var(--line);border-radius:0;background:var(--paper)}
.admin-todos>div>span{border-radius:0;background:var(--blue);color:#fff}
.wechat-logo{border-radius:0;background:var(--blue)}
.switch{border-radius:0}
.callback-box{border-radius:0}

@media(max-width:1120px){
  .header-inner{gap:18px}.main-nav a{padding-inline:11px}.header-actions{gap:4px}.partner-login{display:none}
  .clinical-hero .hero-grid{grid-template-columns:minmax(0,1fr) 430px;gap:38px}.clinical-hero h1{font-size:57px}
  .project-grid,.doctor-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
  .container{width:min(100% - 36px,1240px)}
  .main-nav{display:none}.header-actions{margin-left:auto}
  .clinical-hero::before{display:none}.clinical-hero .hero-grid{grid-template-columns:1fr;gap:0;padding-block:0 62px}.clinical-hero .hero-copy{padding:68px 0 54px}.clinical-hero h1{max-width:720px}.clinical-hero .hero-visual{display:block}.clinical-board{width:min(650px,100%);min-height:0}
  .trust-strip{grid-template-columns:repeat(2,1fr);height:auto}.trust-strip>div{min-height:82px}.trust-strip>div:nth-child(2){border-right:0}.trust-strip>div:nth-child(-n+2){border-bottom:1px solid var(--ink)}
  .care-path-inner{grid-template-columns:1fr 1fr}.care-path-intro{grid-column:1/-1;min-height:86px;border-right:0;border-bottom:1px solid #fff}.care-path button:nth-child(3){border-right:0}
  .institution-grid{grid-template-columns:repeat(2,1fr)}
  .map-finder-shell{box-shadow:6px 6px 0 #d8dcda}
  .auth-shell{grid-template-columns:310px minmax(0,1fr)}.auth-form-panel>.modal-content-pad{padding:42px 34px}
  .city-picker-shell{grid-template-columns:230px minmax(0,1fr)}.city-picker-panel{padding:38px 28px}.city-region>div{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-app{grid-template-columns:220px 1fr}.dash-content{padding:28px 20px}
}

@media(max-width:700px){
  body.xiya-v2{font-size:15px}.container{width:min(100% - 24px,1240px)}
  .site-header{height:68px}.header-inner{gap:8px}.brand{min-width:0}.brand-copy small{display:none}.brand-mark{width:36px;height:36px}.brand-mark::before{right:-5px;top:-5px}
  .header-actions .location-button{display:flex}.header-actions .text-button{display:none}#loginButton{display:inline-flex;min-width:auto;padding-inline:7px}#joinButton{display:none}.location-button{min-width:63px;padding-inline:6px}.location-button>span:first-child{display:none}
  .clinical-hero .hero-grid{padding-bottom:48px}.clinical-hero .hero-copy{padding:52px 0 44px}.hero-case-label{margin-bottom:25px}.clinical-hero h1{font-size:45px;letter-spacing:-2.8px}.clinical-hero h1 small{letter-spacing:-1px}.clinical-hero .hero-copy>p{font-size:14px;line-height:1.8}.clinical-hero .hero-search{height:auto;min-height:58px;grid-template-columns:1fr 82px;box-shadow:5px 5px 0 var(--ink)}.clinical-hero .search-type{display:none}.clinical-hero .hero-search label{height:56px}.clinical-hero .hero-search>button:last-child{width:auto}.hot-search{flex-wrap:wrap}.hero-service-note{margin-top:28px}
  .clinical-board{box-shadow:7px 7px 0 #d9ddda}.board-header{height:65px;padding-inline:16px}.board-header>b{min-width:62px;margin-right:-16px}.tooth-chart{padding:22px 14px}.tooth-row{gap:2px}.tooth-row span{font-size:7px}.board-checklist{padding-inline:16px}.board-checklist>div{grid-template-columns:72px 1fr auto}.board-footer{display:block;padding:13px 16px}.board-footer p{margin-top:6px}
  .trust-strip>div{padding:0 12px;gap:9px}.trust-strip>div>b{width:26px;height:26px}.trust-strip strong{font-size:11px}
  .care-path-inner{width:100%}.care-path button{min-height:90px;padding-inline:12px}.care-path button i{min-width:31px}.care-path button span{font-size:11px}
  .section{padding:68px 0}.section-head{margin-bottom:27px}.section-head h2{font-size:28px}.section-head .link-button{display:none}
  .filter-row,.category-tabs{overflow-x:auto;scrollbar-width:none}.filter-row::-webkit-scrollbar,.category-tabs::-webkit-scrollbar{display:none}.filter-row button,.category-tabs button{flex:0 0 auto;white-space:nowrap}
  .institution-grid,.project-grid,.doctor-grid,.article-grid{grid-template-columns:1fr}.project-grid,.doctor-grid{border-left:1px solid var(--ink)}
  .institution-title{min-height:0}.project-info h3{min-height:0}.project-info>p{height:auto;min-height:36px}.doctor-bio{height:auto;min-height:68px}
  .map-finder-shell{box-shadow:5px 5px 0 #d8dcda}.map-toolbar{grid-template-columns:1fr auto}.map-search-field{grid-column:1/-1}.map-canvas-wrap{border-right:0;border-bottom:1px solid var(--ink)}
  .article-card.featured{display:block}.article-art{min-height:170px}
  .partner-inner{grid-template-columns:92px 1fr;padding-block:0}.partner-file-index{padding:22px 14px}.partner-file-copy{padding-block:24px;flex-wrap:wrap}.partner-file-copy>div{margin-left:0}.partner-inner .button{grid-column:1/-1;width:100%;margin-bottom:22px}
  .modal-shell{padding:14px}.modal-card{max-height:calc(100vh - 28px);box-shadow:6px 6px 0 rgba(0,0,0,.32)}.modal-content-pad{padding:32px 20px}
  .auth-shell{display:block;min-height:0}.auth-visual{min-height:230px;padding:24px}.auth-file-code{margin:28px 0 12px}.auth-dentition{position:absolute;right:24px;top:72px;width:165px;border-bottom:0;opacity:.65}.auth-visual-copy{margin-top:22px}.auth-visual-copy h3{max-width:260px;font-size:20px}.auth-visual-copy ul{grid-template-columns:1fr 1fr}.auth-privacy{display:none}.auth-form-panel>.modal-content-pad{padding:32px 22px}
  .city-picker-shell{display:block;min-height:0}.city-picker-current{min-height:180px;padding:25px 22px}.city-coordinate{position:absolute;right:22px;top:60px;width:110px;margin:0;padding:14px 0;border-block:1px solid rgba(255,255,255,.5)}.city-coordinate>span{width:45px;height:45px}.city-picker-current>p{margin-top:28px}.city-picker-current>h2{font-size:30px}.city-picker-current::after{display:none}.city-picker-panel{padding:28px 20px}.city-region-list{max-height:none}.city-region{grid-template-columns:1fr;gap:8px}.city-region h3{margin-top:0}.city-region>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-app{display:block}.dash-sidebar{width:258px}.dash-content{padding:20px 12px}.dash-header{padding-inline:12px}.dash-title h1{font-size:24px}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:145px;padding:16px}.dash-grid{grid-template-columns:1fr}.data-card{overflow:auto}.data-table{min-width:720px}.settings-card{padding:18px}
}

@media(max-width:430px){
  .brand-copy strong{font-size:19px;letter-spacing:3px}#loginButton{font-size:11px}.clinical-hero h1{font-size:39px}.hero-case-label b{display:none}.hot-search{gap:7px}.hot-search span{width:100%}
  .tooth-row span:nth-child(even){display:none}.tooth-row{grid-template-columns:repeat(4,1fr) 4px repeat(4,1fr)}
  .care-path button{align-items:flex-start;gap:8px}.care-path button i{display:none}
  .trust-strip>div{padding-inline:8px}.trust-strip>div>b{display:none}
  .map-mode-tabs button{padding-inline:9px}.map-locate-button{width:46px;font-size:0}.map-locate-button svg{width:18px}
  .auth-dentition{right:15px;width:135px}.auth-visual-copy h3{max-width:210px;font-size:18px}.auth-visual-copy ul{display:none}
  .stat-grid{grid-template-columns:1fr}.stat-card{min-height:130px}.city-region button{min-height:54px}
  .education-cover{min-height:180px}.partner-inner{grid-template-columns:72px 1fr;gap:14px}.partner-file-copy>span,.partner-file-copy>div{display:none}.partner-file-copy strong{font-size:17px;line-height:1.45}.partner-file-copy small{font-size:9px;line-height:1.6}.partner-file-index b{font-size:28px}
}

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