
:root{--v2-bg:#f4f7fb;--v2-surface:#fff;--v2-text:#17283d;--v2-muted:#64748b;--v2-border:#dce6f1;--v2-primary:#0b5cad;--v2-primary2:#1f78c8;--v2-danger:#c63737;--v2-warning:#b86c00;--v2-success:#138a57;--v2-shadow:0 12px 30px rgba(16,47,97,.07)}
html[data-theme="dark"]{--v2-bg:#0f1720;--v2-surface:#17212d;--v2-text:#e9f0f8;--v2-muted:#a8b5c6;--v2-border:#2d3b4d;--v2-primary:#64b5ff;--v2-primary2:#93ccff;--v2-shadow:0 12px 30px rgba(0,0,0,.25)}
html[data-theme="dark"] body{background:var(--v2-bg);color:var(--v2-text)}
html[data-theme="dark"] .card,html[data-theme="dark"] .search-card,html[data-theme="dark"] .icd-card,html[data-theme="dark"] .admin-breadcrumb-card{background:var(--v2-surface)!important;border-color:var(--v2-border)!important;color:var(--v2-text)}
html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{background:#101923!important;color:#e8eef6!important;border-color:#34465a!important}
html[data-theme="dark"] table{color:var(--v2-text)}
html[data-theme="dark"] th{background:#1d2a38!important;color:#dfeaf6!important}
html[data-theme="dark"] td{border-color:#2d3b4d!important}
html[data-theme="dark"] .muted,html[data-theme="dark"] .small{color:var(--v2-muted)!important}
html[data-theme="dark"] .site-header{background:#111b26!important;border-color:#293748!important}
html[data-theme="dark"] .main-nav a,html[data-theme="dark"] .brand-title,html[data-theme="dark"] .brand-subtitle{color:#e7eef8}
.v2-theme-toggle,.v2-adr-quick{border:1px solid var(--v2-border);background:var(--v2-surface);color:var(--v2-text);border-radius:12px;padding:8px 10px;font-weight:800;text-decoration:none;cursor:pointer}
.v2-adr-quick{color:#b32929}
.v2-shell{display:grid;gap:20px}
.v2-hero{background:linear-gradient(135deg,#0d4f8d,#2176bf);color:#fff;border-radius:24px;padding:26px 30px;box-shadow:0 16px 36px rgba(13,79,141,.15)}
.v2-hero h1,.v2-hero h2{margin:0 0 8px;color:#fff!important}.v2-hero p{margin:0;line-height:1.65;max-width:900px}
.v2-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.v2-col-12{grid-column:span 12}.v2-col-8{grid-column:span 8}.v2-col-6{grid-column:span 6}.v2-col-4{grid-column:span 4}.v2-col-3{grid-column:span 3}
.v2-card{background:var(--v2-surface);border:1px solid var(--v2-border);border-radius:18px;padding:18px;box-shadow:var(--v2-shadow);color:var(--v2-text)}
.v2-card h3{margin:0 0 12px;color:var(--v2-text)}
.v2-stat{display:grid;gap:6px}.v2-stat__value{font-size:30px;font-weight:900;color:var(--v2-primary)}.v2-stat__label{font-size:13px;color:var(--v2-muted);font-weight:700}
.v2-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#e8f2ff;color:#145895;font-size:12px;font-weight:800}
.v2-badge--danger{background:#fdebec;color:#a62c35}.v2-badge--warning{background:#fff2d8;color:#915800}.v2-badge--success{background:#e6f7ef;color:#16704a}.v2-badge--dark{background:#e8ebef;color:#38485a}
html[data-theme="dark"] .v2-badge{background:#223d56;color:#b9dcff}
.v2-alert{padding:14px 16px;border-radius:14px;border-left:5px solid #7c8ca0;background:#f7f9fc;margin-bottom:10px}
.v2-alert--critical{border-color:#b42318;background:#fff0ef}.v2-alert--high{border-color:#d14444;background:#fff3f3}.v2-alert--warning{border-color:#d38b14;background:#fff8e9}.v2-alert--info{border-color:#2476b9;background:#eef7ff}
html[data-theme="dark"] .v2-alert{background:#1d2936}
.v2-alert__title{font-weight:900;margin-bottom:5px}.v2-alert__rec{font-size:13px;margin-top:6px;color:var(--v2-muted)}
.v2-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.v2-actions{display:flex;gap:8px;flex-wrap:wrap}
.v2-pills{display:flex;gap:8px;flex-wrap:wrap}
.v2-table-wrap{overflow:auto;border:1px solid var(--v2-border);border-radius:16px}.v2-table{width:100%;border-collapse:collapse}.v2-table th,.v2-table td{padding:12px 14px;border-bottom:1px solid var(--v2-border);vertical-align:top}.v2-table th{text-align:left;background:#f7f9fc;white-space:nowrap}.v2-table tr:last-child td{border-bottom:0}
.v2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v2-span-2{grid-column:span 2}.v2-field{display:grid;gap:6px}.v2-field label{font-weight:800;font-size:13px}.v2-field input,.v2-field textarea,.v2-field select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cbd8e6;border-radius:12px}.v2-field textarea{min-height:105px;resize:vertical}
.v2-check{display:flex;align-items:center;gap:8px}.v2-check input{width:auto}
.v2-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}.v2-section-title h3{margin:0}
.v2-search-suggest{position:relative}.v2-suggest-menu{position:absolute;z-index:20;left:0;right:0;top:100%;background:var(--v2-surface);border:1px solid var(--v2-border);border-radius:12px;box-shadow:var(--v2-shadow);max-height:300px;overflow:auto;display:none}.v2-suggest-menu.open{display:block}.v2-suggest-item{display:block;padding:10px 12px;border-bottom:1px solid var(--v2-border);text-decoration:none;color:var(--v2-text);cursor:pointer}.v2-suggest-item:last-child{border:0}.v2-suggest-item:hover{background:rgba(40,120,190,.08)}
.v2-compare-bar{position:sticky;bottom:12px;z-index:10;background:#173a62;color:#fff;border-radius:16px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.v2-kv{display:grid;grid-template-columns:minmax(130px,.35fr) 1fr;gap:8px 14px}.v2-kv dt{color:var(--v2-muted);font-weight:700}.v2-kv dd{margin:0;font-weight:600}
.v2-qr{display:grid;place-items:center;padding:12px;background:#fff;border-radius:14px}.v2-qr canvas,.v2-qr table{max-width:100%}
.v2-chat{display:grid;gap:14px}.v2-chat-bubble{padding:16px;border-radius:16px;line-height:1.7}.v2-chat-bubble--user{background:#eaf4ff;margin-left:12%}.v2-chat-bubble--bot{background:var(--v2-surface);border:1px solid var(--v2-border);margin-right:6%}
.v2-source{display:block;padding:12px 14px;border:1px solid var(--v2-border);border-radius:12px;text-decoration:none;color:var(--v2-text);margin-top:8px}.v2-source strong{display:block;color:var(--v2-primary)}
.v2-clinical-text{line-height:1.7;white-space:normal}
.v2-icd-block{margin-top:14px;padding-top:12px;border-top:1px dashed var(--v2-border)}
.v2-icd-label{font-size:12px;font-weight:900;color:var(--v2-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px}
.v2-icd-list{display:flex;flex-direction:column;gap:7px}
.v2-icd-item{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border:1px solid var(--v2-border);border-radius:10px;text-decoration:none;color:var(--v2-text);background:rgba(40,120,190,.035);line-height:1.4}
.v2-icd-item:hover{background:rgba(40,120,190,.08)}
.v2-icd-code{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:3px 7px;border-radius:999px;background:#e8f2ff;color:#145895;font-weight:900;font-size:12px}
html[data-theme="dark"] .v2-icd-code{background:#223d56;color:#b9dcff}
.v2-progress{height:9px;background:#e7edf5;border-radius:999px;overflow:hidden}.v2-progress>span{display:block;height:100%;background:var(--v2-primary)}
.v2-mobile-only{display:none}
@media(max-width:1100px){.main-nav{gap:8px!important}.main-nav a{font-size:13px!important}.v2-col-3{grid-column:span 6}.v2-col-4{grid-column:span 6}.v2-col-8{grid-column:span 12}}
@media(max-width:760px){.v2-grid{grid-template-columns:1fr}.v2-col-12,.v2-col-8,.v2-col-6,.v2-col-4,.v2-col-3{grid-column:span 1}.v2-form-grid{grid-template-columns:1fr}.v2-span-2{grid-column:span 1}.v2-hero{padding:20px}.v2-stat__value{font-size:25px}.v2-kv{grid-template-columns:1fr}.v2-kv dd{margin-bottom:8px}.v2-mobile-only{display:block}.v2-compare-bar{bottom:6px}.v2-adr-quick,.v2-theme-toggle{align-self:flex-start}}

/* ===== FIX11: CAPTCHA chống spam cho báo cáo ADR ===== */
.adr-honeypot {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.adr-captcha-field {
    border-top: 1px solid var(--v2-border, #dce7f4);
    padding-top: 16px;
    margin-top: 4px;
}
.adr-captcha-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.adr-captcha-image-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    min-height: 62px;
    border-radius: 10px;
    background: #f8fbff;
    overflow: hidden;
}
.adr-captcha-image-wrap img {
    display: block;
    width: 190px;
    height: 62px;
    max-width: 100%;
    user-select: none;
}
.adr-captcha-input-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 300px;
    min-width: 240px;
}
.adr-captcha-input-wrap input {
    max-width: 180px;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 800;
}
.adr-captcha-refresh {
    white-space: nowrap;
}
@media (max-width: 640px) {
    .adr-captcha-row,
    .adr-captcha-input-wrap {
        align-items: stretch;
        flex-direction: column;
    }
    .adr-captcha-input-wrap input {
        max-width: none;
        width: 100%;
    }
    .adr-captcha-refresh {
        width: 100%;
    }
}

/* ===== FIX20: ICD autocomplete + CAPTCHA cho Kiểm tra đơn ===== */
.rx-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.rx-chip-remove{border:0;background:none;color:inherit;cursor:pointer;font-size:16px;line-height:1;padding:0 1px;margin-left:2px}
.rx-icd-help{font-size:12px;color:var(--v2-muted);line-height:1.45}
.rx-icd-menu{z-index:60;max-height:340px}
.rx-icd-suggest-item.is-active{background:rgba(40,120,190,.13)}
.rx-icd-item-head{display:flex;align-items:baseline;gap:9px;line-height:1.4}
.rx-icd-item-head strong{color:var(--v2-primary);font-size:14px;min-width:max-content}
.rx-icd-item-head span{font-size:14px;font-weight:650}
.rx-icd-flags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.rx-icd-flag{font-size:10px;padding:3px 7px}
.rx-icd-selected{min-height:30px}
.rx-icd-chip{max-width:100%;gap:6px}
.rx-icd-chip-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}
.rx-captcha-field{border-top:1px solid var(--v2-border);padding-top:16px;margin-top:4px}
.rx-captcha-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rx-captcha-image-wrap{display:inline-flex;align-items:center;justify-content:center;min-width:190px;min-height:62px;border-radius:10px;background:#f8fbff;overflow:hidden}
.rx-captcha-image-wrap img{display:block;width:190px;height:62px;max-width:100%;user-select:none}
.rx-captcha-input-wrap{display:flex;align-items:center;gap:8px;flex:1 1 300px;min-width:240px}
.rx-captcha-input-wrap input{max-width:180px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.rx-captcha-refresh{white-space:nowrap}
html[data-theme="dark"] .rx-captcha-image-wrap{background:#f8fbff}
@media(max-width:640px){.rx-captcha-row,.rx-captcha-input-wrap{align-items:stretch;flex-direction:column}.rx-captcha-input-wrap input{max-width:none;width:100%}.rx-captcha-refresh{width:100%}.rx-icd-chip-title{max-width:200px}}

/* FIX21 - autocomplete Kiểm tra đơn */
.rx-autocomplete-wrap{position:relative}
.rx-autocomplete-menu,.rx-icd-menu{z-index:240!important;max-height:360px!important}
.rx-live-suggest-item{padding:11px 13px!important}
.rx-live-suggest-item.is-active{background:rgba(40,120,190,.14)!important}
.rx-suggest-main{display:flex;align-items:center;gap:8px;line-height:1.35}
.rx-suggest-code{margin-top:4px;font-size:11px;color:var(--v2-muted);line-height:1.4}
.rx-suggest-message{padding:13px 14px;font-size:13px;color:var(--v2-muted);background:var(--v2-surface)}
.rx-suggest-message--error{color:#b42318;background:#fff4f2}
.rx-suggest-message--loading{color:var(--v2-primary)}
.rx-drug-chip{gap:6px;max-width:100%}
.rx-drug-chip-sub{font-size:11px;font-weight:500;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
body.dark-mode .rx-suggest-message--error{color:#fecaca;background:#3b1717}
@media(max-width:640px){.rx-drug-chip-sub{max-width:160px}.rx-autocomplete-menu,.rx-icd-menu{max-height:300px!important}}

/* Drug PDF attachment */
.v2-drug-pdf-card{border-left:4px solid #1d6fb8}
.v2-drug-pdf-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.v2-drug-pdf-title{font-weight:700;margin-bottom:4px}
@media (max-width:720px){.v2-drug-pdf-row{align-items:flex-start;flex-direction:column}}
