/* PHARMA-DI P9 standalone workbench. Scoped to the two dedicated tool routes. */
body.phdi9-body{margin:0!important;background:#f3f7f8!important;color:#193440!important;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;font-size:15px;line-height:1.65;}
body.phdi9-body *{box-sizing:border-box;}
body.phdi9-body .phdi9-app{min-height:100vh;display:flex;flex-direction:column;}
body.phdi9-body a{text-decoration:none;}
.phdi9-header{background:#fff;border-bottom:1px solid #e0e8ea;}
.phdi9-header-inner{max-width:1232px;padding:15px 28px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.phdi9-brand{display:flex;gap:11px;align-items:center;color:#173e4b!important;}
.phdi9-brand-symbol{width:41px;height:41px;background:linear-gradient(145deg,#076c76,#0ea6a1);border-radius:11px;color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px;letter-spacing:-.05em;}
.phdi9-brand-text{display:flex;flex-direction:column;line-height:1.25;gap:4px;}
.phdi9-brand-text strong{font-size:18px;letter-spacing:.025em;}
.phdi9-brand-text small{font-size:11px;color:#687f86;letter-spacing:.02em;}
.phdi9-header-link{color:#246b76!important;font-weight:650;font-size:13px;}
.phdi9-header-link:hover{text-decoration:underline!important;}
.phdi9-main{width:min(100%,1232px);margin:0 auto;padding:32px 28px 64px;flex:1;}
.phdi9-hero{background:linear-gradient(110deg,#173d50 0%,#17636b 72%,#207b77 100%);padding:29px 34px 34px;border-radius:18px;color:white;box-shadow:0 12px 36px rgba(16,72,79,.11);}
.phdi9-eyebrow{display:flex;gap:8px;align-items:center;font-size:11px;color:#bce7e3;letter-spacing:.16em;font-weight:700;}
.phdi9-eyebrow-dot{width:7px;height:7px;background:#73e0cf;border-radius:99px;}
.phdi9-hero h1{color:#fff!important;font-size:clamp(24px,3.1vw,34px)!important;font-weight:750!important;letter-spacing:.01em!important;line-height:1.4!important;margin:11px 0 7px!important;padding:0!important;border:0!important;}
.phdi9-hero p{color:#e0f2f1!important;margin:0!important;font-size:14px;line-height:1.8;}
.phdi9-tools-nav{display:flex;gap:9px;margin:21px 0 21px;flex-wrap:wrap;}
.phdi9-tools-nav a{font-size:14px;font-weight:750;padding:11px 18px;border-radius:10px;background:white;color:#47636d!important;border:1px solid #dbe6e8;min-height:44px;display:flex;align-items:center;}
.phdi9-tools-nav a.is-active{background:#e5f5f2;border-color:#8acbc0;color:#0a7367!important;box-shadow:inset 0 0 0 1px #8acbc0;}
.phdi9-tools-nav a:hover{border-color:#0e908a;}
.phdi9-content{padding:0;}
.phdi9-footer{border-top:1px solid #dfe9e9;background:white;color:#70858b;font-size:12px;}
.phdi9-footer-inner{max-width:1232px;margin:auto;padding:20px 28px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;}
/* Existing No.27 P8 widget: keep its search code, replace old article presentation. */
body.phdi9-body .phdk{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;font-size:15px;line-height:1.7;color:#223943;}
body.phdi9-body .phdk-intro,body.phdi9-body .phdk-controls,body.phdi9-body .phdk-results-wrap{border:1px solid #dfe8e9;background:#fff;border-radius:14px;box-shadow:0 3px 16px rgba(26,68,78,.045);padding:22px 25px;margin:0 0 16px;}
body.phdi9-body .phdk-intro{border-left:4px solid #21a49a;}
body.phdi9-body .phdk-intro p{margin:0 0 8px;}
body.phdi9-body .phdk-caution{background:#fff9ee;border:1px solid #f1e4c8;border-left:3px solid #dc9f37;border-radius:6px;padding:10px 14px;color:#7a5a28;font-size:12.5px;margin-top:10px!important;}
body.phdi9-body .phdk input[type=search]{border-radius:9px;max-width:600px;border:1px solid #bed0d4;padding:12px 14px;min-height:47px;box-shadow:none;font-size:16px;}
body.phdi9-body .phdk input[type=search]:focus,body.phdi9-body #phdi9-query:focus{outline:2px solid #1ea99d;outline-offset:1px;border-color:#137e7a;}
body.phdi9-body .phdk-herbs{background:#fafcfc;max-height:230px;border-color:#dce7e8;gap:8px;padding:13px;border-radius:9px;}
body.phdi9-body .phdk-herb-label{border-color:#d9e6e5;background:#fff;border-radius:30px;padding:7px 11px;font-weight:550;}
body.phdi9-body .phdk-herb-label.phdk-active{background:#dbf3ee;border-color:#6abcb0;color:#075f54;}
body.phdi9-body .phdk-chip{background:#e5f7f2;border-color:#72c9b4;color:#176f5d;}
body.phdi9-body .phdk-results-wrap h2{margin:0 0 9px!important;font-size:19px!important;color:#1d3d4a!important;}
body.phdi9-body .phdk-results{grid-template-columns:repeat(2,minmax(0,1fr));}
body.phdi9-body .phdk-result{border:1px solid #dce8ea;border-radius:11px;box-shadow:none;background:#fff;padding:17px;}
body.phdi9-body .phdk-result h3{font-size:15px!important;color:#244451!important;margin:0 0 4px!important;line-height:1.5!important;}
body.phdi9-body .phdk-docmark{background:#edf8f9!important;color:#0d6678!important;border-color:#a0d9d8;font-weight:700;}
body.phdi9-body .phdk-source-note{font-size:12.5px;color:#627a81;}
/* New No.28 independent one-box search / three-column comparison. */
.phdi9-overlap{display:grid;gap:17px;}
.phdi9-overlap>div{background:#fff;border:1px solid #dfe8e9;border-radius:14px;padding:23px 25px;box-shadow:0 3px 16px rgba(26,68,78,.045);}
.phdi9-overlap .phdi9-info{background:#e9f6f4;border-color:#d6ede8;display:flex;align-items:baseline;gap:13px;padding:13px 20px;color:#205c5b;box-shadow:none;}
.phdi9-overlap .phdi9-info strong{white-space:nowrap;color:#12766e;font-size:13px;}
.phdi9-overlap .phdi9-info p{margin:0;font-size:13px;}
.phdi9-search-panel label{display:block;font-size:14px;font-weight:750;color:#274450;margin:0 0 10px;}
.phdi9-search-row{display:flex;gap:9px;max-width:760px;}
#phdi9-query{width:100%;min-width:0;flex:1;border:1px solid #bbcdd1;border-radius:9px;padding:11px 14px;min-height:47px;font-size:16px;background:#fff;color:#152e39;}
#phdi9-search{background:#0b8980;border:1px solid #0b8980;border-radius:9px;color:white;font-weight:750;padding:10px 22px;min-width:94px;min-height:47px;cursor:pointer;font-size:15px;}
#phdi9-search:hover{background:#0a716b;}
#phdi9-search:disabled{background:#8db8b5;border-color:#8db8b5;cursor:not-allowed;}
.phdi9-help{margin:9px 0 3px;font-size:12.5px;color:#68808a;}
#phdi9-status{margin:9px 0 0;color:#276e77;font-size:13px;min-height:1.35em;}
.phdi9-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;}
.phdi9-candidate{border:1px solid #dbe6e8;background:#f9fcfc;border-radius:8px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:3px;cursor:pointer;min-width:0;color:#294750;font-family:inherit;}
.phdi9-candidate:hover,.phdi9-candidate:focus-visible{background:#e5f7f4;border-color:#51ada6;outline:none;}
.phdi9-candidate-name{font-weight:700;overflow-wrap:anywhere;}
.phdi9-candidate-yj{font-size:11px;color:#738a90;}
.phdi9-panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px;flex-wrap:wrap;}
.phdi9-panel-title h2{font-size:18px!important;color:#254a54!important;margin:0!important;font-weight:750!important;}
#phdi9-counter{border:1px solid #a8d7d1;background:#e8f8f5;color:#17766b;border-radius:30px;padding:2px 12px;font-size:13px;font-weight:750;}
.phdi9-selected,.phdi9-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.phdi9-slot{min-height:110px;background:#fbfdfd;border:1px dashed #c9dce0;border-radius:11px;padding:13px 14px;display:flex;flex-direction:column;gap:7px;}
.phdi9-slot:has(.phdi9-slot-name){border-style:solid;border-color:#acd5d0;background:#f1faf8;}
.phdi9-slot-label{font-weight:700;color:#23776f;font-size:12px;}
.phdi9-slot-name{font-size:14px;color:#263e48;line-height:1.4;overflow-wrap:anywhere;}
.phdi9-slot-empty{font-size:13px;color:#92a5a8;margin-top:6px;}
.phdi9-remove{align-self:flex-start;color:#876444;background:none;border:0;padding:0;cursor:pointer;font-size:12px;text-decoration:underline;}
.phdi9-legend{display:flex;align-items:center;gap:7px;font-size:12px;color:#607780;}
.phdi9-swatch{width:11px;height:11px;border-radius:3px;background:#fff0ad;border:1px solid #e8c86f;}
.phdi9-summary{margin:0 0 13px;font-size:13px;color:#4c6971;}
.phdi9-column{background:#fcfefe;border:1px solid #dae6e8;border-radius:11px;min-height:150px;padding:14px 15px;min-width:0;}
.phdi9-column-no{font-size:11px;font-weight:750;color:#18857b;letter-spacing:.03em;margin-bottom:8px;}
.phdi9-column h3{font-size:15px!important;font-weight:750!important;line-height:1.55!important;margin:0 0 4px!important;color:#243f4b!important;overflow-wrap:anywhere;}
.phdi9-meta{font-size:11px;color:#788d94;margin-bottom:12px;}
.phdi9-muted{color:#9aadb3;font-size:13px;}
.phdi9-herbs{padding:0!important;margin:0 0 12px!important;list-style:none!important;display:flex;flex-direction:column;gap:5px;}
.phdi9-herbs li{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f1f5f5;border-radius:7px;padding:7px 11px;font-size:13px;color:#2b444c;margin:0!important;}
.phdi9-herbs li.phdi9-repeated{background:#fff1b8;border:1px solid #eed388;color:#624b12;font-weight:750;}
.phdi9-flag{font-size:10px;border-radius:4px;background:#f3d978;padding:1px 6px;white-space:nowrap;color:#5a450a;}
.phdi9-pmda{display:inline-flex;align-items:center;border:1px solid #9ed3d0;border-radius:7px;background:#edf8f8;padding:6px 11px;font-size:12px;color:#126c75!important;font-weight:700;}
.phdi9-pmda:hover{background:#dff1f1;}
.phdi9-disclaimer{color:#7b6744;font-size:12px;line-height:1.8;margin:0 0 5px;background:#fff9ed;border:1px solid #f2e0bc;border-left:3px solid #dfb36a;border-radius:7px;padding:12px 16px;}
@media(max-width:780px){.phdi9-main{padding:20px 15px 45px}.phdi9-hero{padding:23px 21px;border-radius:13px}.phdi9-header-inner{padding:12px 15px}.phdi9-footer-inner{padding:18px 15px}.phdi9-tools-nav a{flex:1;justify-content:center;font-size:12px;text-align:center;padding:10px 8px}.phdi9-overlap>div{padding:16px}.phdi9-selected,.phdi9-columns{grid-template-columns:1fr;}.phdi9-candidates{grid-template-columns:1fr}.phdi9-overlap .phdi9-info{display:block}.phdi9-overlap .phdi9-info p{margin:4px 0 0}body.phdi9-body .phdk-intro,body.phdi9-body .phdk-controls,body.phdi9-body .phdk-results-wrap{padding:16px}body.phdi9-body .phdk-results{grid-template-columns:1fr}}
@media(max-width:450px){.phdi9-hero h1{font-size:25px!important}.phdi9-search-row{flex-direction:column}#phdi9-search{width:100%}.phdi9-tools-nav{gap:6px}.phdi9-brand-text strong{font-size:15px}.phdi9-legend{width:100%}}

/* P10: 10-product comparison wraps into readable cards, not 10 thin columns. */
.phdi9-selected,.phdi9-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
.phdi9-herbs li.phdi9-repeated{border-left:4px solid #d9a221;}
@media(max-width:980px){.phdi9-selected,.phdi9-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.phdi9-selected,.phdi9-columns{grid-template-columns:minmax(0,1fr)}}
/* Native checkbox presentation for No.27 standalone page. */
body.phdi9-body .phdk .phdk-herbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-height:360px;overflow-y:auto;gap:7px;padding:13px}
body.phdi9-body .phdk .phdk-herb-label{display:flex;align-items:center;gap:9px;border-radius:8px;background:#fff;border:1px solid #d3e2e4;padding:9px 10px;font-weight:500}
body.phdi9-body .phdk .phdk-herb-label.phdk-active{background:#e4f5f2;border-color:#79c6b9;color:#075f54}
body.phdi9-body .phdk .phdk-herb-label input[type=checkbox]{display:inline-block!important;position:static!important;opacity:1!important;visibility:visible!important;appearance:auto!important;-webkit-appearance:checkbox!important;width:17px!important;height:17px!important;margin:0!important;flex:0 0 auto;accent-color:#0c8a7d}
@media(max-width:800px){body.phdi9-body .phdk .phdk-herbs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){body.phdi9-body .phdk .phdk-herbs{grid-template-columns:1fr;max-height:260px}}

/* P12: each repeated herb has a stable name-derived color, not a single yellow. */
.phdi9-herbs li.phdi9-repeated {
  background:var(--phdi-herb-bg,#e2f4ed)!important;
  border:1px solid var(--phdi-herb-edge,#38a18b)!important;
  border-left:4px solid var(--phdi-herb-edge,#38a18b)!important;
  color:#263e48!important;
}
.phdi9-herbs li.phdi9-repeated .phdi9-flag {
  background:rgba(255,255,255,.74)!important;
  color:#304856!important;
  border:1px solid rgba(50,75,80,.14);
}
.phdi9-swatch {background:linear-gradient(90deg,#fbd48b 0 25%,#a2ded7 25% 50%,#d5c4f5 50% 75%,#bbdafa 75% 100%);}
