/* ============================================================
   MedLink マニュアルビューア 共通スタイル
   admin.html / doctor.html 共通で読み込む。
   クラス名は mlman- プレフィックスでホスト側CSSとの衝突を避ける。
   ============================================================ */

.mlman-open-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:8px;border:1.5px solid var(--border,#dde3ec);
  background:var(--card,var(--surface,#fff));color:var(--text,#1a2332);
  font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;
}
.mlman-open-btn:hover{border-color:var(--primary,#1a6fdb);color:var(--primary,#1a6fdb);}

.mlman-overlay{
  display:none;position:fixed;inset:0;background:rgba(15,20,35,.55);
  z-index:9998;align-items:center;justify-content:center;padding:20px;
}
.mlman-overlay.open{display:flex;}

.mlman-modal{
  width:100%;max-width:1180px;height:88vh;max-height:920px;
  background:var(--card,var(--surface,#fff));border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.35);
  font-family:'DM Sans','Noto Sans JP',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

.mlman-header{
  display:flex;align-items:center;gap:12px;padding:14px 18px;
  border-bottom:1.5px solid var(--border,#dde3ec);flex-shrink:0;flex-wrap:wrap;
}
.mlman-header-title{font-size:15px;font-weight:700;color:var(--text,#1a2332);flex:1;min-width:120px;}

.mlman-lang-group{display:flex;gap:4px;}
.mlman-lang-btn{
  padding:6px 12px;border-radius:6px;border:1.5px solid var(--border,#dde3ec);
  background:transparent;color:var(--text-sub,var(--text3,#8a9bb5));font-size:11px;font-weight:600;cursor:pointer;
}
.mlman-lang-btn.active{background:var(--primary,#1a6fdb);border-color:var(--primary,#1a6fdb);color:#fff;}

.mlman-icon-btn{
  width:32px;height:32px;border-radius:8px;border:1.5px solid var(--border,#dde3ec);
  background:transparent;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.mlman-icon-btn:hover{background:var(--bg,#f4f7fb);}
.mlman-close-btn{color:var(--danger,#e53e5a);font-weight:700;}

.mlman-body{flex:1;display:flex;overflow:hidden;}

.mlman-toc{
  width:260px;flex-shrink:0;overflow-y:auto;border-right:1.5px solid var(--border,#dde3ec);
  background:var(--bg,#f4f7fb);padding:10px 0;
}
.mlman-toc-manual{
  padding:10px 16px;font-size:12.5px;font-weight:700;color:var(--text,#1a2332);
  cursor:pointer;border-left:3px solid transparent;
}
.mlman-toc-manual:hover{background:rgba(0,0,0,.03);}
.mlman-toc-manual.active{color:var(--primary,#1a6fdb);border-left-color:var(--primary,#1a6fdb);background:var(--primary-light,rgba(26,111,219,.08));}
.mlman-toc-section{
  padding:6px 16px 6px 26px;font-size:11.5px;color:var(--text-sub,var(--text2,#4a5a72));
  cursor:pointer;line-height:1.4;
}
.mlman-toc-section:hover{color:var(--primary,#1a6fdb);text-decoration:underline;}

.mlman-content{flex:1;overflow-y:auto;padding:22px 30px 60px;}
.mlman-manual-title{font-size:19px;font-weight:700;color:var(--text,#1a2332);margin-bottom:4px;}
.mlman-manual-subtitle{font-size:12.5px;color:var(--text-sub,var(--text2,#4a5a72));margin-bottom:22px;}

.mlman-section{margin-bottom:30px;scroll-margin-top:12px;}
.mlman-section-heading{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:14.5px;font-weight:700;color:var(--text,#1a2332);
  border-bottom:2px solid var(--border,#dde3ec);padding-bottom:8px;margin-bottom:10px;
}
.mlman-badge{
  font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;
  background:var(--warning-light,#fef3c7);color:#92610a;border:1px solid var(--warning,#f59e0b);
}
.mlman-role-note{font-size:11px;color:var(--text-sub,var(--text3,#8a9bb5));margin:-4px 0 10px;font-style:italic;}

.mlman-warning-box{
  display:flex;gap:8px;background:var(--danger-light,#fdeef1);border:1px solid var(--danger,#e53e5a);
  color:#8a2036;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.6;margin-bottom:12px;
}
.mlman-warning-box .ic{flex-shrink:0;}

.mlman-body-text{font-size:13px;line-height:1.9;color:var(--text,#1a2332);}
.mlman-body-text code{background:var(--bg,#f4f7fb);padding:1px 6px;border-radius:4px;font-size:11.5px;}

.mlman-image{
  max-width:100%;display:block;margin:14px 0;border-radius:8px;
  border:1px solid var(--border,#dde3ec);box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.mlman-image-row{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0;}
.mlman-image-row .mlman-image{flex:1 1 260px;margin:0;min-width:0;}
.mlman-image-item{flex:1 1 220px;min-width:0;}
.mlman-image-item .mlman-image{width:100%;}
.mlman-image-caption{
  font-size:12px;font-weight:600;text-align:center;margin-top:6px;
  color:var(--text-sub,var(--text3,#8a9bb5));
}

.mlman-flow-strip{
  padding:10px 14px;font-size:11px;font-weight:700;color:var(--primary,#1a6fdb);
  border-bottom:1px solid var(--border,#dde3ec);letter-spacing:.3px;line-height:1.6;
}

.mlman-empty{padding:40px;text-align:center;color:var(--text-sub,var(--text3,#8a9bb5));font-size:13px;}

@media (max-width:820px){
  .mlman-modal{height:94vh;border-radius:0;}
  .mlman-toc{width:190px;}
  .mlman-content{padding:16px 16px 50px;}
}

/* ── 印刷 ──────────────────────────────────────────── */
@media print{
  body *{visibility:hidden !important;}
  .mlman-content, .mlman-content *{visibility:visible !important;}
  .mlman-content{
    position:absolute;left:0;top:0;width:100%;padding:0;overflow:visible;
  }
  .mlman-overlay, .mlman-modal, .mlman-body{position:static !important;height:auto !important;max-height:none !important;overflow:visible !important;}
  .mlman-image{max-width:100%;page-break-inside:avoid;}
  .mlman-section{page-break-inside:avoid;}
}
