*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#18212f;font-family:Arial,Helvetica,sans-serif}.container{max-width:1120px;margin:0 auto;padding:28px 18px}.card{background:#fff;border:1px solid #dbe3ee;border-radius:14px;padding:24px;box-shadow:0 8px 30px rgba(31,50,81,.08);margin-bottom:20px}.narrow{max-width:680px;margin-left:auto;margin-right:auto}h1,h2,h3{margin-top:0}label{display:block;font-weight:700;margin:16px 0 7px}input,select{width:100%;padding:12px;border:1px solid #b9c6d8;border-radius:8px;font-size:16px}button,.button{display:inline-block;border:0;border-radius:8px;background:#165dba;color:#fff;padding:12px 18px;font-weight:700;text-decoration:none;cursor:pointer}.button.secondary{background:#44546a}.button.danger{background:#a62a2a}.muted{color:#607086}.error{background:#fff2f2;border:1px solid #efb3b3;padding:12px;border-radius:8px;color:#8b1d1d}.success{background:#effbf3;border:1px solid #9ed9ad;padding:12px;border-radius:8px;color:#17652a}.progress-wrap{height:22px;background:#e7edf5;border-radius:999px;overflow:hidden}.progress-bar{height:100%;width:0;background:#177245;transition:width .4s ease}.progress-label{font-size:28px;font-weight:700;margin:12px 0}.steps{padding-left:20px}.steps li{margin:8px 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.topnav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid #e2e8f0;padding:10px;text-align:left;vertical-align:top}th{background:#eef3f9;white-space:nowrap}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e6edf7;font-size:12px;font-weight:700}.badge.done{background:#d9f2df;color:#145923}.badge.failed{background:#ffe2e2;color:#8b1d1d}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kv{padding:10px;background:#f8fafc;border-radius:8px}.kv strong{display:block;margin-bottom:4px}.code{font-family:Consolas,monospace;white-space:pre-wrap;word-break:break-word;background:#111827;color:#e5e7eb;padding:14px;border-radius:8px;max-height:520px;overflow:auto}@media(max-width:700px){.grid{grid-template-columns:1fr}.topnav{align-items:flex-start;flex-direction:column}}

/* Admin & Company Audit V1.3 */
.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{background:#fff;border:1px solid #dbe3ee;border-radius:12px;padding:18px;box-shadow:0 5px 18px rgba(31,50,81,.06)}.metric strong{display:block;font-size:30px;line-height:1;margin-bottom:8px}.metric span{color:#607086;font-size:13px}.metric.good{border-left:5px solid #177245}.metric.warn{border-left:5px solid #cf8a00}.danger-metric{border-left:5px solid #b42318}.badge.review{background:#fff0cc;color:#7a4b00}.button.small,button.small{padding:7px 10px;font-size:12px}.actions.compact{gap:6px;align-items:center}.actions.compact form{margin:0}.table-actions{display:flex;justify-content:flex-end;margin-bottom:10px}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.chart-row{display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(140px,2fr) 60px;gap:10px;align-items:center;margin:10px 0}.chart-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.chart-track{height:16px;background:#e8eef6;border-radius:999px;overflow:hidden}.chart-track span{display:block;height:100%;background:#2367c9;border-radius:999px}.chart-track.alt span{background:#177245}.chart-value{text-align:right;font-size:12px;font-weight:700}.stacked{height:18px;background:#e8eef6;border-radius:999px;overflow:hidden;display:flex}.stacked span{height:100%;display:block}.stack-good{background:#177245}.stack-warn{background:#cf8a00}.compliance-row{margin:16px 0}.compliance-row>div:first-child{display:flex;justify-content:space-between;gap:20px;margin-bottom:7px}.notice{background:#fff8df;border:1px solid #ead083;border-radius:9px;padding:14px;margin-top:18px}.recommendation-list{display:grid;gap:12px}.recommendation{display:grid;grid-template-columns:90px 1fr;gap:16px;border:1px solid #dfe6ef;border-radius:10px;padding:14px}.recommendation h3{margin-bottom:6px}.recommendation p{margin:5px 0}.priority{display:flex;align-items:center;justify-content:center;border-radius:8px;background:#e8eef6;font-weight:700;min-height:54px}.priority-khẩn,.priority-cao{background:#ffe2e2;color:#8b1d1d}.priority-trung-bình{background:#fff0cc;color:#7a4b00}.priority-duy-trì{background:#d9f2df;color:#145923}.finding{border-left:5px solid #8293aa;background:#f8fafc;padding:13px 15px;margin:12px 0;border-radius:7px}.finding p{margin:6px 0}.finding-high{border-left-color:#b42318;background:#fff2f2}.finding-medium{border-left-color:#cf8a00;background:#fff8df}.finding-ok{border-left-color:#177245;background:#effbf3}.danger-zone{border-color:#efb3b3}.print-title{display:none}.no-print{display:flex}code{background:#eef3f9;padding:2px 5px;border-radius:4px}
@media(max-width:1000px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-columns{grid-template-columns:1fr}}
@media(max-width:700px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-row{grid-template-columns:1fr}.chart-value{text-align:left}.recommendation{grid-template-columns:1fr}}
@media print{body{background:#fff;font-size:11px}.container{max-width:none;padding:0}.card{box-shadow:none;border:1px solid #bbb;break-inside:avoid}.no-print,.danger-zone,.topnav{display:none!important}.print-title{display:block;margin-bottom:20px}.summary-grid{grid-template-columns:repeat(3,1fr)}a{color:#000;text-decoration:none}.table-wrap{overflow:visible}table{font-size:9px}.chart-track,.stacked{-webkit-print-color-adjust:exact;print-color-adjust:exact}}


/* Asset, License & Upgrade Advisor V1.4 */
textarea{width:100%;padding:12px;border:1px solid #b9c6d8;border-radius:8px;font-size:16px;font-family:inherit;resize:vertical}
.device-summary .metric-text{font-size:18px;line-height:1.2}
.decision-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}
.decision{border-radius:10px;padding:14px;background:#eef3f9;text-align:center}
.decision strong{display:block;font-size:25px}.decision span{font-size:12px;color:#607086}
.decision.keep{border-bottom:4px solid #177245}.decision.upgrade{border-bottom:4px solid #cf8a00}
.decision.monitor{border-bottom:4px solid #718096}.decision.replace{border-bottom:4px solid #b42318}
.score-circle{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;background:#e8eef6}
.score-keep{background:#d9f2df;color:#145923}.score-upgrade{background:#fff0cc;color:#7a4b00}
.score-monitor{background:#e8eef6;color:#334155}.score-replace_soon,.score-replace_now{background:#ffe2e2;color:#8b1d1d}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.upgrade-option{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.4fr);gap:18px;border:1px solid #dce5ef;border-radius:10px;padding:14px;margin:12px 0}
.action-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.action-form button{grid-column:1/-1}
.license-covered,.license-covered_manual{background:#d9f2df;color:#145923}
.license-shortage,.license-missing,.license-expired{background:#ffe2e2;color:#8b1d1d}
.license-review{background:#fff0cc;color:#7a4b00}
.license-unused_or_not_detected{background:#e8eef6;color:#334155}
.mini-code{max-width:520px;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#111827;color:#e5e7eb;padding:10px;border-radius:7px}
input[type="checkbox"]{width:auto}
@media(max-width:900px){.decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upgrade-option{grid-template-columns:1fr}}
@media(max-width:600px){.action-form{grid-template-columns:1fr}.section-heading{flex-direction:column}}

.consent-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:16px 0}.consent-check input{width:auto;margin-top:3px}.consent-check span{line-height:1.45}


/* Hardware Health & Maintenance V1.5 */
.health-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.health-category{border:1px solid #dce5ef;border-radius:10px;padding:14px;background:#fff}
.health-category>span{display:block;color:#607086;font-size:13px}
.health-category>strong{display:block;font-size:25px;margin:5px 0 9px}
.health-category small{display:block;margin-top:7px;color:#728197}
.score-good{background:#d9f2df;color:#145923}.score-service{background:#e3f2fd;color:#124e78}
.score-repair{background:#fff0cc;color:#7a4b00}.score-replace_plan,.score-critical{background:#ffe2e2;color:#8b1d1d}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.check-item{display:flex;align-items:flex-start;gap:10px;border:1px solid #dce5ef;border-radius:8px;padding:11px;font-weight:400}
.check-item input{width:auto;margin-top:3px}
.timeline-plan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.timeline-plan>div{border-left:5px solid #2367c9;background:#f6f9fd;border-radius:8px;padding:14px}
.timeline-plan strong{font-size:17px}.timeline-plan p{margin:7px 0 0}
.hardware-device-block{break-inside:avoid}
.hardware-device-block table{font-size:12px}
.metric-text{font-size:18px!important;line-height:1.2!important}
@media(max-width:1000px){.health-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-plan{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.health-category-grid,.check-grid,.timeline-plan{grid-template-columns:1fr}}
@media print{.health-category-grid{grid-template-columns:repeat(4,1fr)}.timeline-plan{grid-template-columns:repeat(4,1fr)}.health-category,.timeline-plan>div{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.physical-confirm{margin:10px 0;background:#eef6ff;border-color:#9fc2ef}.physical-confirm span{line-height:1.4}


/* User Guide V1.5.1 */
.public-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.public-card-heading h1{margin-bottom:0}.guide-home-link{white-space:nowrap}
.guide-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.6fr);gap:24px;align-items:center;background:linear-gradient(135deg,#fff 0%,#eef5ff 100%);border:1px solid #cddcf0;border-radius:18px;padding:34px;box-shadow:0 10px 35px rgba(31,50,81,.09);margin-bottom:20px}
.guide-hero h1{font-size:42px;line-height:1.1;margin:8px 0 14px}.guide-hero p{font-size:19px;line-height:1.6;color:#53657c;max-width:760px}.guide-eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:800;color:#165dba}.guide-hero-note{background:#fff;border:1px solid #cddcf0;border-radius:14px;padding:22px}.guide-hero-note strong,.guide-hero-note span{display:block}.guide-hero-note strong{font-size:18px;margin-bottom:8px}.guide-hero-note span{color:#607086;line-height:1.5}
.guide-toc{display:flex;gap:9px;flex-wrap:wrap;position:sticky;top:10px;z-index:10;background:rgba(244,247,251,.94);backdrop-filter:blur(9px);padding:11px;border:1px solid #dbe3ee;border-radius:12px;margin-bottom:20px}.guide-toc a{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #dbe3ee;color:#334155;text-decoration:none;font-weight:700;font-size:13px}.guide-toc a:hover{background:#165dba;color:#fff;border-color:#165dba}
.guide-section{scroll-margin-top:95px}.guide-section-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.guide-section-heading h2{margin:0 0 5px}.guide-section-heading p{margin:0}.guide-number{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#165dba;color:#fff;font-size:22px;font-weight:800}
.guide-figure{margin:18px 0 0}.guide-figure img{width:100%;height:auto;display:block;border-radius:13px;border:1px solid #dbe3ee;box-shadow:0 8px 24px rgba(31,50,81,.09)}.guide-figure figcaption{padding:11px 3px 0;color:#607086;font-size:14px;line-height:1.5}
.guide-checks,.guide-data-grid,.guide-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.guide-checks>div,.guide-data-grid>div,.guide-report-grid>div{border:1px solid #dbe3ee;border-radius:11px;padding:16px;background:#f8fafc}.guide-checks strong,.guide-checks span{display:block}.guide-checks strong{margin-bottom:6px}.guide-checks span,.guide-data-grid p,.guide-report-grid p{color:#607086;line-height:1.55;margin-bottom:0}.guide-data-grid h3,.guide-report-grid h3{margin-bottom:7px}
.guide-tip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.guide-tip{border-left:5px solid #2367c9;border-radius:9px;background:#f3f7fc;padding:14px}.guide-tip strong,.guide-tip span{display:block}.guide-tip strong{margin-bottom:5px}.guide-tip span{color:#607086;line-height:1.5}
.guide-safe-box{margin-top:17px;background:#effbf3;border:1px solid #9ed9ad;border-radius:10px;padding:17px;color:#17652a}.guide-safe-box p{margin:7px 0 0;line-height:1.55}
.guide-faq details{border:1px solid #dbe3ee;border-radius:10px;background:#fff;margin:10px 0;padding:0 16px}.guide-faq summary{cursor:pointer;font-weight:800;padding:15px 0}.guide-faq details p{color:#53657c;line-height:1.6;margin-top:0;padding-bottom:14px}
.guide-list,.guide-steps-list{padding-left:23px}.guide-list li,.guide-steps-list li{margin:10px 0;line-height:1.55}
.guide-final-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:16px;background:#18212f;color:#fff;padding:26px 30px;margin:22px 0}.guide-final-cta h2{margin:0 0 6px}.guide-final-cta p{margin:0;color:#c7d2e0}
.guide-workflow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}.guide-workflow span{padding:10px 13px;border:1px solid #c8d7ea;background:#f3f7fc;border-radius:10px;font-weight:700}.guide-workflow b{color:#165dba;font-size:22px}
@media(max-width:800px){.guide-hero{grid-template-columns:1fr}.guide-hero h1{font-size:34px}.guide-checks,.guide-data-grid,.guide-report-grid,.guide-tip-grid{grid-template-columns:1fr}.public-card-heading{flex-direction:column}.guide-home-link{width:100%;text-align:center}.guide-final-cta{align-items:flex-start;flex-direction:column}.guide-toc{position:static}}
@media print{.guide-hero{box-shadow:none;background:#fff}.guide-toc{display:none!important}.guide-figure img{box-shadow:none}.guide-section{break-inside:auto}.guide-figure{break-inside:avoid}.guide-hero h1{font-size:30px}.guide-final-cta{display:none!important}}
