/* ======================================================================
   促排卵与保胎用药花费估算器 · 独立视觉体系（前缀 .oic-）
   临床薄荷绿主色 + 单据（receipt）式结果面板
   支持深色模式（:root[data-theme="dark"]）与打印
   ====================================================================== */

.oic-page{
  --oic-bg:#f2faf7;
  --oic-card:#ffffff;
  --oic-soft:#eaf6f1;
  --oic-ink:#0f221d;
  --oic-muted:#5a6f68;
  --oic-line:#d5e9e2;
  --oic-accent:#0d7a68;
  --oic-accent-2:#0e7490;
  --oic-warn:#b45309;
  --oic-c1:#0d9488; --oic-c2:#22b8a6; --oic-c3:#38bdf8; --oic-c4:#f59e0b; --oic-c5:#94a3b8;
  background:var(--oic-bg);
  color:var(--oic-ink);
  font-family:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  padding:18px 0 46px;
  min-height:70vh;
}
:root[data-theme="dark"] .oic-page{
  --oic-bg:#08120f;
  --oic-card:#0f1d19;
  --oic-soft:#142a24;
  --oic-ink:#e8f6f1;
  --oic-muted:#8fada4;
  --oic-line:#224038;
  --oic-accent:#34d399;
  --oic-accent-2:#22d3ee;
  --oic-warn:#fbbf24;
  --oic-c1:#2dd4bf; --oic-c2:#34d399; --oic-c3:#38bdf8; --oic-c4:#fbbf24; --oic-c5:#94a3b8;
}
.oic-page *{box-sizing:border-box}
.oic-shell{max-width:1120px;margin:0 auto;padding:0 18px}

/* 面包屑 */
.oic-crumb{font-size:12.5px;color:var(--oic-muted);margin-bottom:14px}
.oic-crumb a{color:var(--oic-muted);text-decoration:none}
.oic-crumb a:hover{color:var(--oic-accent);text-decoration:underline}
.oic-crumb span{color:var(--oic-ink)}

/* 首屏 */
.oic-hero{
  position:relative;
  display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;
  background:linear-gradient(105deg,var(--oic-soft),var(--oic-card) 68%);
  border:1px solid var(--oic-line);border-left:5px solid var(--oic-accent);
  border-radius:18px;padding:22px 24px;margin-bottom:18px;
}
.oic-eyebrow{
  display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.10em;
  color:var(--oic-accent);background:var(--oic-card);border:1px solid var(--oic-line);
  border-radius:999px;padding:3px 10px;margin-bottom:10px;
}
.oic-hero h1{font-size:clamp(22px,2.7vw,30px);line-height:1.32;margin:0 0 9px;letter-spacing:-.4px}
.oic-hero p{margin:0;font-size:14px;line-height:1.95;color:var(--oic-muted);max-width:660px}
.oic-hero p b{color:var(--oic-ink);font-weight:700}
.oic-hero-badges{display:flex;flex-direction:column;gap:8px;min-width:190px}
.oic-hero-badges div{
  background:var(--oic-card);border:1px solid var(--oic-line);border-radius:12px;
  padding:9px 12px;display:flex;flex-direction:column;gap:2px;
}
.oic-hero-badges b{font-size:13px;color:var(--oic-accent)}
.oic-hero-badges span{font-size:11px;color:var(--oic-muted)}

/* 主栅格 */
.oic-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:18px;align-items:start}
.oic-card{
  background:var(--oic-card);border:1px solid var(--oic-line);border-radius:16px;
  padding:18px 20px;
}
.oic-col-result{position:sticky;top:14px}
.oic-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.oic-card-head h2{font-size:16px;margin:0;letter-spacing:-.2px}
.oic-badge{
  font-size:11.5px;font-weight:700;color:var(--oic-accent);
  background:var(--oic-soft);border:1px solid var(--oic-line);border-radius:999px;padding:3px 9px;
  white-space:nowrap;
}
.oic-link{
  background:none;border:none;padding:0;font-size:12.5px;font-weight:700;color:var(--oic-accent);
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-family:inherit;
}
.oic-link:hover{color:var(--oic-accent-2)}

/* 表单步骤 */
.oic-step{display:grid;grid-template-columns:26px 1fr;gap:11px;padding:13px 0;border-top:1px dashed var(--oic-line)}
.oic-step:first-of-type{border-top:none;padding-top:2px}
.oic-step-no{
  width:26px;height:26px;border-radius:9px;background:var(--oic-soft);border:1px solid var(--oic-line);
  display:flex;align-items:center;justify-content:center;
  font-family:ui-monospace,Consolas,monospace;font-size:11.5px;font-weight:700;color:var(--oic-accent);
}
.oic-label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
.oic-step small{display:block;font-size:11.5px;line-height:1.75;color:var(--oic-muted);margin-top:6px}
.oic-step small b{color:var(--oic-ink)}
.oic-input,.oic-select{
  width:100%;height:38px;padding:0 10px;font-size:13.5px;font-family:inherit;
  color:var(--oic-ink);background:var(--oic-card);
  border:1px solid var(--oic-line);border-radius:10px;outline:none;
  transition:border-color .18s,box-shadow .18s;
}
.oic-input:focus,.oic-select:focus{border-color:var(--oic-accent);box-shadow:0 0 0 3px rgba(13,122,104,.12)}
.oic-input:disabled,.oic-select:disabled{opacity:.55;cursor:not-allowed;background:var(--oic-soft)}
.oic-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.oic-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.oic-gap{margin-top:10px}
.oic-two .oic-label,.oic-three .oic-label{font-size:12px}

/* 分段按钮 */
.oic-seg{display:flex;flex-wrap:wrap;gap:7px}
.oic-seg button{
  flex:1 1 auto;min-width:96px;height:36px;padding:0 11px;
  font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;
  color:var(--oic-muted);background:var(--oic-soft);
  border:1px solid var(--oic-line);border-radius:10px;
  transition:all .18s;
}
.oic-seg button:hover{color:var(--oic-accent);border-color:var(--oic-accent)}
.oic-seg button[aria-pressed="true"]{
  color:#fff;border-color:transparent;
  background:linear-gradient(135deg,var(--oic-accent),var(--oic-accent-2));
  box-shadow:0 4px 12px rgba(13,122,104,.22);
}
:root[data-theme="dark"] .oic-seg button[aria-pressed="true"]{color:#04140f}

.oic-error{font-size:12.5px;line-height:1.7;color:#dc2626;margin-top:8px;min-height:0}
.oic-error:empty{display:none}
.oic-actions{display:flex;gap:10px;margin-top:16px}
.oic-btn{
  flex:1;height:42px;border-radius:11px;border:1px solid transparent;cursor:pointer;
  font-size:14px;font-weight:700;font-family:inherit;color:#fff;
  background:linear-gradient(135deg,var(--oic-accent),var(--oic-accent-2));
  transition:transform .14s,box-shadow .18s;
}
.oic-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(13,122,104,.26)}
.oic-btn.ghost{
  flex:0 0 118px;color:var(--oic-accent);background:var(--oic-card);border-color:var(--oic-line);
}
.oic-btn.ghost:hover{box-shadow:none;border-color:var(--oic-accent)}

/* 单据式结果面板 */
.oic-receipt{position:relative;padding-top:16px}
.oic-receipt::before{
  content:"";position:absolute;top:-1px;left:14px;right:14px;height:8px;
  background-image:radial-gradient(circle at 4px 4px,var(--oic-bg) 3.4px,transparent 3.6px);
  background-size:10px 8px;background-repeat:repeat-x;
}
.oic-receipt-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}
.oic-receipt-top span:first-child{font-size:12px;letter-spacing:.08em;color:var(--oic-muted);font-weight:700}
.oic-receipt-top span:last-child{font-size:11.5px;color:var(--oic-muted)}
.oic-big{
  font-family:ui-monospace,Consolas,monospace;font-size:36px;font-weight:700;
  letter-spacing:-1.2px;line-height:1.15;color:var(--oic-accent);margin:2px 0 3px;
}
.oic-big small{font-size:14px;font-weight:700;letter-spacing:0;margin-left:3px}
.oic-range{font-size:12.5px;color:var(--oic-muted)}
.oic-dash{border:none;border-top:1px dashed var(--oic-line);margin:14px 0}

.oic-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.oic-metrics div{background:var(--oic-soft);border:1px solid var(--oic-line);border-radius:11px;padding:9px 11px}
.oic-metrics span{display:block;font-size:11.5px;color:var(--oic-muted);margin-bottom:3px}
.oic-metrics b{font-family:ui-monospace,Consolas,monospace;font-size:15px;font-weight:700;letter-spacing:-.2px}

.oic-bar{display:flex;height:11px;border-radius:6px;overflow:hidden;background:var(--oic-soft);margin-top:14px}
.oic-bar span{display:block;height:100%;transition:width .38s ease}
.oic-bar span:nth-child(1){background:var(--oic-c1)}
.oic-bar span:nth-child(2){background:var(--oic-c2)}
.oic-bar span:nth-child(3){background:var(--oic-c3)}
.oic-bar span:nth-child(4){background:var(--oic-c4)}
.oic-bar span:nth-child(5){background:var(--oic-c5)}
.oic-legend{display:flex;flex-wrap:wrap;gap:6px 13px;margin-top:8px;font-size:11.5px;color:var(--oic-muted)}
.oic-legend i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:5px;vertical-align:1px}
.oic-legend i.c1{background:var(--oic-c1)}
.oic-legend i.c2{background:var(--oic-c2)}
.oic-legend i.c3{background:var(--oic-c3)}
.oic-legend i.c4{background:var(--oic-c4)}
.oic-legend i.c5{background:var(--oic-c5)}
.oic-legend b{color:var(--oic-ink);font-family:ui-monospace,Consolas,monospace;font-weight:700}

/* 明细表 */
.oic-table-wrap{overflow-x:auto}
.oic-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:12px}
.oic-table th{
  text-align:left;font-size:11.5px;font-weight:700;color:var(--oic-muted);
  padding:7px 6px;border-bottom:1px solid var(--oic-line);white-space:nowrap;
}
.oic-table td{padding:9px 6px;border-bottom:1px dashed var(--oic-line);vertical-align:top}
.oic-table tr:last-child td{border-bottom:none}
.oic-table .item{font-weight:700}
.oic-table .item .sub{display:block;font-weight:400;font-size:11px;color:var(--oic-muted);margin-top:2px}
.oic-table .num{text-align:right;font-family:ui-monospace,Consolas,monospace;white-space:nowrap}
.oic-table tr.total td{
  font-weight:700;border-top:2px solid var(--oic-line);border-bottom:none;padding-top:11px;
}
.oic-table tr.total .num{font-size:14.5px;color:var(--oic-accent)}
.oic-note{font-size:11.5px;line-height:1.8;color:var(--oic-muted);margin:9px 0 0}

.oic-tip{
  margin-top:13px;padding:11px 13px;border-radius:11px;font-size:12.5px;line-height:1.9;
  background:var(--oic-soft);border-left:3px solid var(--oic-accent);color:var(--oic-ink);
}
.oic-tip b{color:var(--oic-accent);font-family:ui-monospace,Consolas,monospace}

/* AI */
.oic-ai{margin-top:15px;padding-top:14px;border-top:1px dashed var(--oic-line)}
.oic-ai p{margin:0 0 9px;font-size:11.5px;line-height:1.75;color:var(--oic-muted)}
.oic-ai-btn{
  width:100%;height:40px;border-radius:11px;cursor:pointer;font-family:inherit;
  font-size:13.5px;font-weight:700;color:var(--oic-accent);
  background:var(--oic-card);border:1px dashed var(--oic-accent);
  transition:background .18s,color .18s;
}
.oic-ai-btn:hover{background:var(--oic-soft)}
.oic-ai-btn:disabled{opacity:.6;cursor:wait}
.oic-ai-status{margin-top:9px;font-size:12.5px;line-height:1.85;color:var(--oic-muted);white-space:pre-wrap}
.oic-ai-status.err{color:#dc2626}

/* 对比与说明 */
.oic-compare{margin-top:18px}
.oic-compare h2{font-size:16px;margin:0 0 6px}
.oic-compare .lead{font-size:12.5px;line-height:1.85;color:var(--oic-muted);margin:0}
.oic-table tr.hl td{background:var(--oic-soft)}
.oic-table tr.hl .item{color:var(--oic-accent)}

.oic-faq{margin-top:18px}
.oic-faq h2{font-size:16px;margin:0 0 10px}
.oic-faq details{border-top:1px dashed var(--oic-line);padding:10px 0}
.oic-faq details:first-of-type{border-top:none}
.oic-faq summary{
  cursor:pointer;font-size:13.5px;font-weight:700;list-style:none;
  display:flex;align-items:flex-start;gap:8px;
}
.oic-faq summary::-webkit-details-marker{display:none}
.oic-faq summary::before{content:"+";color:var(--oic-accent);font-weight:700;flex:0 0 auto}
.oic-faq details[open] summary::before{content:"−"}
.oic-faq p{margin:8px 0 0 18px;font-size:13px;line-height:2;color:var(--oic-muted)}
.oic-faq p b{color:var(--oic-ink)}

.oic-disclaimer{
  margin-top:16px;padding:13px 15px;border-radius:12px;font-size:12px;line-height:1.95;
  color:var(--oic-muted);background:var(--oic-card);border:1px solid var(--oic-line);
}
.oic-disclaimer b{color:var(--oic-ink)}

/* 响应式 */
@media (max-width:900px){
  .oic-grid{grid-template-columns:1fr}
  .oic-col-result{position:static}
  .oic-hero{grid-template-columns:1fr}
  .oic-hero-badges{flex-direction:row;flex-wrap:wrap}
  .oic-hero-badges div{flex:1 1 30%}
}
@media (max-width:560px){
  .oic-shell{padding:0 12px}
  .oic-page{padding-top:12px}
  .oic-hero{padding:16px 16px}
  .oic-card{padding:15px 14px}
  .oic-two,.oic-three{grid-template-columns:1fr}
  .oic-big{font-size:30px}
  .oic-btn.ghost{flex:0 0 96px}
}

/* 打印 */
@media print{
  .oic-page{background:#fff;padding:0}
  .oic-crumb,.oic-actions,.oic-ai,.oic-faq,.oic-hero-badges,.oic-link,.oic-disclaimer,.oic-seg{display:none!important}
  .oic-hero{background:#fff;border-left:4px solid #0d7a68;padding:8px 0}
  .oic-grid{display:block}
  .oic-col-result{position:static}
  .oic-card{border:none;padding:8px 0;page-break-inside:avoid}
  .oic-step{border-top:1px solid #ddd}
  .oic-table th,.oic-table td{border-color:#ccc}
  .oic-big{color:#0d7a68}
}
