:root{--bg: #f3f5f8;--panel: #ffffff;--ink: #101828;--ink-soft: #5b6470;--ink-faint: #8a93a0;--border: #e4e7ec;--primary: #0f766e;--primary-dark: #0b5c56;--primary-soft: #eafaf7;--accent: #1d4ed8;--danger: #d92d20;--danger-bg: #fef2f1;--warn: #b25e09;--warn-bg: #fef6e7;--ok: #17803d;--ok-bg: #ecfbf1;--plum: #9333ea;--sidebar-bg: #0c2e2b;--sidebar-bg-2: #123f3a;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 8px 24px rgba(16, 24, 40, .08);font-family:Segoe UI,-apple-system,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{touch-action:manipulation;-webkit-text-size-adjust:100%}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-size:15px;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,.model-card,.numpad-btn,.nav-item{touch-action:manipulation}h1,h2,h3{margin:0 0 8px;letter-spacing:-.01em}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:15px}svg{display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;color:var(--ink);font-weight:600;font-size:15px;min-height:48px;transition:background .12s,border-color .12s}.btn:hover{border-color:#c7ccd4}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:#f1f3f6}.btn-block{width:100%}.btn-lg{min-height:58px;font-size:17px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex-shrink:0}.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}.login-visual{background:radial-gradient(120% 140% at 0% 0%,#14746c,#0b3d3a 45%,#082825);color:#eafaf6;padding:56px;display:flex;flex-direction:column;justify-content:center;gap:14px}.login-visual-mark{width:60px;height:60px;border-radius:16px;background:#ffffff1f;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.login-visual-title{font-size:34px;font-weight:800;letter-spacing:.02em;margin:0}.login-visual-sub{font-size:16px;color:#b7ded7;margin:0 0 18px}.login-visual-org{font-size:13px;color:#7fb8ae;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:20px}.login-visual-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;max-width:380px}.login-visual-points li{position:relative;padding-left:22px;font-size:14px;color:#d6efea;line-height:1.5}.login-visual-points li:before{content:"";position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:#34d399}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--panel)}.login-card{width:100%;max-width:360px}.login-title{font-size:22px}.login-sub{color:var(--ink-soft);margin-bottom:22px;font-size:14px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field span{font-size:12.5px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em}.field input,.field select,.field textarea{padding:11px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:#fbfbfc}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0f766e1f}.form-error{margin-top:12px;padding:10px 14px;background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);font-size:13.5px;font-weight:600}@media(max-width:1024px){.login-screen{grid-template-columns:1fr}.login-visual{display:none}}.app-shell{height:100vh;height:100dvh;display:flex;overflow:hidden}.sidebar{width:224px;flex-shrink:0;background:var(--sidebar-bg);color:#cfe6e1;display:flex;flex-direction:column;padding:18px 12px;gap:8px}.brand{display:flex;align-items:center;gap:10px;padding:8px 8px 18px}.brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#14b8a6,#0b3d3a);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.brand-title{font-weight:800;font-size:14.5px;color:#fff;letter-spacing:.03em}.brand-sub{font-size:11px;color:#8fb9b1}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;background:transparent;border:none;color:#b7d6cf;padding:10px 12px;border-radius:10px;font-weight:600;font-size:13.5px;text-align:left}.nav-item .ico{width:18px;height:18px;flex-shrink:0;opacity:.85}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:#fff;color:var(--sidebar-bg)}.nav-item.active .ico{opacity:1}.nav-item[data-view=bao-loi]{background:#d92d2024;border:1px solid rgba(248,113,113,.42);color:#ffd8d5}.nav-item[data-view=bao-loi]:hover{background:#d92d203d;color:#fff}.nav-item[data-view=bao-loi].active{background:var(--danger);border-color:var(--danger);color:#fff}.main-col{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-bottom:1px solid var(--border);padding:14px 24px;flex-wrap:wrap}.view-title{font-size:18px;font-weight:800;color:var(--ink)}.mobile-nav-btn{display:none;background:none;border:none;color:var(--ink-soft)}.topbar.scan-mode{min-height:60px;padding:8px 18px;gap:10px;flex-wrap:nowrap}.topbar.scan-mode .view-title{flex:0 0 auto}.topbar-scan-tools{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.topbar-scan-tools[hidden]{display:none!important}.topbar-right{display:flex;align-items:center;gap:10px}.user-chip{background:var(--primary-soft);color:var(--primary-dark);padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:700}.device-chip{display:inline-flex;align-items:center;gap:6px;background:#f1f3f6;color:var(--ink-soft);border:1px dashed #c7ccd4;padding:7px 12px;border-radius:999px;font-size:11.5px;font-weight:600}.device-chip:hover{background:#e9ecf0}.duration-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-faint);font-weight:600}.scan-step{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px}.scan-step-num{width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.operator-line{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--primary-soft);color:var(--primary-dark);border-radius:var(--radius-sm);font-size:13px;font-weight:700;margin-bottom:14px}.view-area{flex:1;min-height:0;overflow-y:auto;padding:24px;max-width:1180px;width:100%;margin:0 auto}.view-area.no-scroll{overflow:hidden;display:flex;flex-direction:column;max-width:none;padding:8px 16px 12px}.wiz{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.wiz-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.wiz-title{font-size:19px;font-weight:800}.wiz-head-right{display:flex;align-items:center;gap:8px}.wiz-scan-input{width:180px;padding:10px 12px;border-radius:10px;border:1.5px dashed var(--border);background:#fbfbfc;font-size:13.5px}.wiz-scan-input:focus{outline:none;border-color:var(--primary)}.topbar.scan-mode .wiz-step-badge{flex:0 0 auto}.topbar.scan-mode .wiz-scan-input{width:min(270px,22vw);min-width:172px;height:42px;padding:8px 12px}.topbar.scan-mode .btn{min-height:42px}.scan-fault-shortcut{width:48px;min-height:48px;padding:0;color:var(--danger);border-color:#d92d2038;background:#fff5f4}.topbar.scan-mode .scan-fault-shortcut{width:44px;min-height:42px}.scan-fault-shortcut:hover{color:#fff;border-color:var(--danger);background:var(--danger);box-shadow:0 8px 18px #d92d2033}.wiz-camera-host{flex-shrink:0}.camera-panel{max-width:760px;margin:0 auto 8px;padding:10px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.camera-stage{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:#101828}.camera-stage video{width:100%;height:100%;object-fit:cover;display:block}.camera-guide{position:absolute;inset:22% 9%;border:2px solid rgba(255,255,255,.86);border-radius:12px;box-shadow:0 0 0 999px #10182857;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.camera-guide span{transform:translateY(50%);background:#101828d6;color:#fff;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.camera-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:8px}.camera-controls .btn{min-height:38px;padding:7px 12px;font-size:12.5px}.camera-status{flex:1;min-width:240px;color:var(--ink-soft);font-size:12.5px;font-weight:600}.camera-status strong{color:var(--primary-dark)}.camera-manual{display:flex;gap:8px;padding-top:8px}.camera-manual input{flex:1;min-width:0;min-height:42px;border:1.5px solid var(--border);border-radius:10px;padding:9px 12px;font-size:16px;font-weight:700;letter-spacing:.03em;background:#fbfbfc}.camera-manual input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0f766e1f}.camera-manual .btn{min-height:42px;padding:9px 14px;white-space:nowrap}.wiz-body{flex:1;min-height:0}.wiz-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.wiz-confirm-body{overflow-y:auto;max-width:900px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:8px}.wiz-foot .btn{max-width:780px;margin:0 auto;display:flex}.wiz-foot{flex-shrink:0;padding-top:4px}.confirm-scope-summary{text-align:center;min-width:360px}.confirm-scope-meta{color:var(--ink-soft);font-size:12.5px}.confirm-scope-photo{width:min(360px,46vw);height:182px;margin:8px auto 0;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.confirm-scope-photo img{width:100%;height:100%;object-fit:contain}.confirm-scope-photo .model-card-ico{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.wiz-model-grid{height:100%;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-auto-rows:1fr}.wiz-model-grid .model-card{min-height:0}.wiz-step-badge{padding:5px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.wiz-serial-photo{width:190px;height:130px;display:flex;align-items:center;justify-content:center}.wiz-serial-photo img{max-width:100%;max-height:100%;object-fit:contain}.serial-display{display:flex;gap:12px}.serial-digit{width:62px;height:74px;border-radius:14px;border:2px dashed #c3cbd4;background:#fbfbfc;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:var(--ink)}.serial-digit.filled{border-style:solid;border-color:var(--primary);background:var(--primary-soft)}.wiz-serial-body{display:flex;align-items:stretch;justify-content:center;gap:28px}.wiz-serial-info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;flex:0 0 auto;width:min(38%,330px)}.wiz-serial-pad{flex:0 1 560px;min-height:0;min-width:0;display:flex}.numpad.numpad-max{flex:1;min-height:0;width:100%;max-width:none;margin:0;grid-auto-rows:1fr}.numpad.numpad-max .numpad-btn{min-height:0;height:100%;font-size:clamp(28px,6.5vh,52px);border-radius:18px}.numpad.numpad-max .numpad-btn svg{width:clamp(24px,4.5vh,40px);height:clamp(24px,4.5vh,40px)}@media(max-aspect-ratio:1/1){.wiz-serial-body{flex-direction:column;align-items:center;gap:14px}.wiz-serial-info{width:auto;flex-shrink:0}.wiz-serial-info .wiz-serial-photo{width:140px;height:96px}.wiz-serial-pad{flex:1 1 auto;width:100%;max-width:620px}}.panel{background:var(--panel);border-radius:var(--radius);padding:22px;margin-bottom:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.panel h2{font-size:16.5px}.panel-sub{color:var(--ink-soft);font-size:13.5px;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border)}th{color:var(--ink-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}tr:hover td{background:#fafbfc}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:700}.badge-san_sang{background:var(--ok-bg);color:var(--ok)}.badge-dang_dung{background:#eef3ff;color:var(--accent)}.badge-dang_xu_ly{background:var(--warn-bg);color:var(--warn)}.badge-dang_say{background:#fbf0ff;color:var(--plum)}.badge-luu_kho{background:#f1f3f6;color:#364152}.badge-hong_ngung_dung{background:var(--danger-bg);color:var(--danger)}.badge-pass{background:var(--ok-bg);color:var(--ok)}.badge-fail{background:var(--danger-bg);color:var(--danger)}.badge-lifecycle-dang_su_dung{background:var(--ok-bg);color:var(--ok)}.badge-lifecycle-can_thay_the{background:var(--warn-bg);color:var(--warn)}.badge-lifecycle-muon_hang{background:#eef3ff;color:var(--accent)}.badge-lifecycle-tra_hang,.badge-lifecycle-ngung_theo_doi{background:#f1f3f6;color:#364152}.scan-box{text-align:center;padding:36px 20px}.scan-input{font-size:20px;padding:16px;text-align:center;border-radius:var(--radius);border:2px dashed var(--primary);width:100%;max-width:480px;margin:0 auto;display:block;background:var(--primary-soft);color:var(--primary-dark);font-weight:600}.scan-input::placeholder{color:#6fada4;font-weight:500}.scan-hint-icon{width:40px;height:40px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:360px;margin:18px auto 0}.numpad-btn{min-height:72px;border-radius:16px;border:1.5px solid var(--border);background:#fff;font-size:26px;font-weight:700;color:var(--ink);display:flex;align-items:center;justify-content:center}.numpad-btn:active{background:#eef0f3;transform:translateY(1px)}.numpad-fn{background:#f1f3f6;color:var(--ink-soft)}.numpad-enter{background:var(--primary);color:#fff;border-color:var(--primary)}.numpad-enter:active{background:var(--primary-dark)}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.model-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border:1.5px solid var(--border);border-radius:18px;background:#fff;color:var(--ink);cursor:pointer;min-height:190px;box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .12s,border-color .12s}.model-card:hover{border-color:#b8ddd7;box-shadow:0 6px 18px #0f766e1a}.model-card:active{transform:scale(.97);background:var(--primary-soft);border-color:var(--primary)}.model-card-photo{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;overflow:hidden}.model-card-photo img{width:100%;height:100%;object-fit:contain}.model-card-ico{color:var(--primary);opacity:.75}.model-card-name{font-weight:800;font-size:16.5px;letter-spacing:-.01em;flex-shrink:0}.model-card-type{font-size:12.5px;color:var(--ink-soft);text-align:center;flex-shrink:0}.model-card-upload{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#0f172a8c;color:#fff;border:none;display:flex;align-items:center;justify-content:center}.icon-btn{display:inline-flex;align-items:center;gap:8px}.scan-alt-row{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px dashed var(--border)}.scan-alt-row .scan-input{max-width:260px;margin:0;font-size:15px;padding:10px}.picker-block{display:flex;flex-direction:column;gap:8px;min-height:0}.picker-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}.picker-title{font-size:15px;margin:0}.picker-filter{flex:1;min-width:180px;max-width:300px;padding:11px 16px;border-radius:12px;border:1.5px solid var(--border);background:#fbfbfc;font-size:16px}.picker-filter:focus{outline:none;border-color:var(--primary);background:#fff}.chip-grid{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;padding:2px}.chip-grid-scroll{max-height:30vh;overflow-y:auto}.picker-chip{min-height:54px;padding:12px 20px;border-radius:14px;border:2px solid var(--border);background:#fff;color:var(--ink);font-weight:700;font-size:16px;white-space:nowrap}.picker-chip:active{transform:scale(.97);background:var(--primary-soft)}.picker-chip.selected{background:var(--primary);border-color:var(--primary);color:#fff}.picker-chip-add,.picker-add-toggle{border:1.5px dashed var(--border);color:var(--ink-soft);background:#f7f8fa}.room-chip-grid{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.room-chip-grid .picker-chip{flex:0 0 auto;min-height:44px;padding:9px 16px;font-size:15px;border-radius:12px}.doctor-chip-grid{max-height:110px;overflow-y:auto;padding-right:6px}.doctor-chip-grid .picker-chip{min-height:46px;padding:9px 16px;font-size:14.5px;border-radius:12px}.checkin-body{display:flex;gap:24px;align-items:stretch;min-height:0}.checkin-pad{flex:1 1 55%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:14px}.checkin-pad .numpad-max{width:100%}.checkin-msg{min-height:20px;width:100%}.checkin-list-wrap{flex:1 1 45%;min-width:0;display:flex;flex-direction:column;border:1.5px solid var(--border);border-radius:16px;background:#fafbfc;overflow:hidden}.checkin-list-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:800;font-size:14px;border-bottom:1px solid var(--border);background:#fff}.checkin-count{background:var(--primary-soft);color:var(--primary-dark);padding:3px 12px;border-radius:999px;font-size:13px}.checkin-list{flex:1;min-height:0;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.checkin-row{background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.checkin-row-main{display:flex;justify-content:space-between;align-items:center}.checkin-code{font-weight:800;font-size:14.5px}.checkin-time{font-size:12px;color:var(--ink-faint)}.checkin-row-sub{font-size:12.5px;color:var(--ink-soft);margin-top:2px}.checkin-row-actions{display:flex;gap:4px;justify-content:flex-end;margin-top:6px}.checkin-row-actions .btn{min-height:34px;padding:6px 10px;font-size:12.5px}.collision-body{display:flex;align-items:flex-start;justify-content:center}.collision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,260px));gap:16px}.collision-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;border:1.5px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.collision-card:active{transform:scale(.97);border-color:var(--primary);background:var(--primary-soft)}.collision-photo{width:100%;height:120px;display:flex;align-items:center;justify-content:center}.collision-photo img{max-width:100%;max-height:100%;object-fit:contain}.collision-model{font-weight:800;font-size:17px}.collision-serial{font-size:14px;color:var(--primary-dark);font-weight:700}.collision-type{font-size:12.5px;color:var(--ink-soft)}.btn-del{color:var(--danger)}@media(max-aspect-ratio:1/1){.checkin-body{flex-direction:column}.checkin-pad{flex:0 0 auto}.checkin-list-wrap{flex:1 1 auto}}.checkpoint-chip{display:inline-flex;align-items:center;gap:8px;margin:4px 0;padding:8px 18px;background:var(--primary);color:#fff;border-radius:999px;font-weight:700;font-size:13.5px}.stepper{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:16px 0}.step-dot{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#eef0f3;color:var(--ink-faint);font-size:11.5px;font-weight:700}.step-dot.done{background:var(--ok);color:#fff}.step-dot.current{background:var(--primary);color:#fff;box-shadow:0 0 0 3px #0f766e33}.checklist-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:1.5px solid var(--border);border-radius:14px;margin-bottom:10px;background:#fff;text-align:left;font-size:16px;box-shadow:var(--shadow-sm)}.checklist-item.checked{border-color:var(--ok);background:var(--ok-bg)}.toggle{width:62px;height:36px;border-radius:999px;background:#d3d8de;position:relative;border:none;flex-shrink:0}.toggle.on{background:var(--ok)}.toggle:after{content:"";position:absolute;top:4px;left:4px;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}.toggle.on:after{transform:translate(26px)}.hardstop-banner{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);font-weight:600;font-size:13.5px;margin-bottom:16px;border:1.5px solid #fbd5d0;text-align:left}.ok-banner{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;border-radius:var(--radius-sm);background:var(--ok-bg);color:var(--ok);font-weight:600;font-size:13.5px;margin-bottom:16px;border:1.5px solid #bdeed0;text-align:left}.hardstop-banner .ico,.ok-banner .ico{flex-shrink:0;margin-top:1px}.metric{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px}.metric-label{font-size:11.5px;color:var(--ink-faint);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.metric-value{font-size:30px;font-weight:800;margin-top:6px;color:var(--ink)}.label-sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.label-card{border:1px dashed #b6bcc4;border-radius:8px;padding:10px;text-align:center}.label-card img{width:100%;height:auto}.label-card .code{font-weight:800;font-size:13px;margin-top:4px}.label-card .meta{font-size:10px;color:var(--ink-soft)}.toast-host{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:999}.toast{background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;font-size:13.5px;font-weight:600;box-shadow:var(--shadow-md);max-width:360px}.toast.error{background:var(--danger)}.toast.success{background:var(--ok)}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tab-btn{padding:9px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:#fff;font-weight:600;font-size:13.5px;color:var(--ink-soft)}.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.admin-catalog-head .panel-sub{margin:4px 0 0}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.toolbar-actions .btn{min-height:42px;padding:9px 14px;font-size:13.5px;white-space:nowrap}.admin-catalog-add{display:flex;gap:10px;align-items:center;margin:0 0 14px;flex-wrap:wrap}.admin-catalog-add input,.admin-inline-input{min-height:42px;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;background:#fbfbfc;color:var(--ink)}.admin-catalog-add input{flex:1 1 260px}.admin-inline-input{width:min(100%,320px)}.admin-doctor-add{display:grid;grid-template-columns:minmax(210px,1.3fr) 92px 92px minmax(120px,1fr) auto;gap:10px;align-items:center;margin:0 0 14px}.admin-doctor-add input,.admin-tiny-input{min-height:42px;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 10px;background:#fbfbfc;color:var(--ink)}.admin-tiny-input{width:92px}.admin-doctor-table td:first-child{min-width:220px}.admin-doctor-table td:nth-child(4){min-width:120px}.admin-inline-input:focus,.admin-catalog-add input:focus,.admin-doctor-add input:focus,.admin-tiny-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0f766e1f}.admin-row-actions{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap}.admin-catalog-table td:last-child{text-align:right}.muted-row{opacity:.62}.muted-row .admin-inline-input{text-decoration:line-through}.table-scroll{width:100%;overflow-x:auto}.small-muted{color:var(--ink-faint);font-size:11.5px;margin-top:2px}.compact-title{font-size:14px;margin:0 0 8px}.record-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;align-items:end;margin:0 0 14px}.record-filter-bar .field{margin:0}.record-filter-bar input,.record-filter-bar select{min-height:42px;padding:9px 10px}.record-filter-actions{display:flex;gap:8px;align-items:center}.record-filter-actions .btn{min-height:42px;padding:9px 14px;white-space:nowrap}.admin-stats-grid{margin-bottom:14px}.admin-summary-grid{align-items:start;margin-top:16px}.admin-staff-add-card{background:#fafbfc;border-color:#dfe4ea;margin-bottom:14px}.admin-staff-table th,.admin-staff-table td{white-space:nowrap;vertical-align:middle}.admin-staff-table td:first-child{min-width:210px;white-space:normal}.staff-edit-options{display:grid;gap:10px;margin:4px 0 14px}.staff-edit-options label{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--ink)}.staff-edit-options input{width:18px;height:18px}.staff-reset-box{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid rgba(217,45,32,.18);border-radius:14px;background:#fff8f6;padding:12px 14px;margin:10px 0 14px}.staff-reset-box strong{display:block;color:var(--danger);margin-bottom:2px}.staff-reset-box span{display:block;color:#7a271a;font-size:13px;line-height:1.4}.admin-checkin-table th,.admin-checkin-table td{white-space:nowrap}.admin-checkin-table td:nth-child(4),.admin-checkin-table td:nth-child(5){white-space:normal;min-width:160px}.scope-table th,.scope-table td{white-space:nowrap;vertical-align:middle}.scope-table .scope-note-cell{white-space:normal;min-width:220px;max-width:380px;color:var(--ink-soft)}.scope-source-cell{white-space:normal!important;min-width:160px;max-width:280px;color:var(--ink-soft)}.scope-row-actions{min-width:170px}.scope-fault-note{margin-top:4px;color:var(--danger);font-weight:700;font-size:12.5px}.scope-row-fault td{background:snow}.scope-management-panel{padding:20px}.scope-management-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:16px}.scope-kicker{color:var(--primary-dark);font-size:12px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}.scope-management-hero h2{font-size:26px;margin-bottom:4px}.scope-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:8px}.scope-hero-stats span{display:grid;gap:2px;border:1px solid #dce4eb;border-radius:14px;background:#fff;padding:10px 12px;min-width:96px;box-shadow:0 8px 18px #1018280b}.scope-hero-stats strong{font-size:22px;color:var(--ink)}.scope-hero-stats small{color:var(--ink-soft);font-weight:800;font-size:11.5px}.scope-hero-stats .danger strong,.scope-hero-stats .danger small{color:var(--danger)}.scope-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:8px}.scope-filter-row{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(150px,.6fr) minmax(150px,.6fr) auto;gap:10px;align-items:end}.scope-filter-row .field{margin:0}.scope-search-field input{min-height:44px}.scope-fault-filter{min-height:44px;border-color:#d92d2038;color:var(--danger)}.scope-fault-filter.active{background:var(--danger);border-color:var(--danger);color:#fff}.scope-result-line{display:flex;justify-content:space-between;gap:12px;color:var(--ink-soft);font-weight:800;font-size:12.5px;margin:8px 0 12px}.scope-table-wrap{max-height:calc(100dvh - 300px);overflow:auto}.scope-table th{height:46px}.scope-table td{padding-top:12px;padding-bottom:12px}.scope-select-col{width:38px}.scope-identity-cell{min-width:330px}.scope-identity{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:center}.scope-photo-thumb{width:82px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid #dce4eb;border-radius:12px;background:#fff;overflow:hidden}.scope-photo-thumb img{max-width:100%;max-height:100%;object-fit:contain}.scope-identity-text{display:grid;gap:2px;min-width:0}.scope-identity-text strong{font-size:15.5px;overflow-wrap:anywhere}.scope-identity-text span,.scope-identity-text small{color:var(--ink-soft);font-size:12.5px;overflow-wrap:anywhere}.scope-usage-cell{min-width:132px}.scope-usage-cell strong{display:block;font-size:19px}.scope-usage-cell span,.scope-date-cell span{display:block;color:var(--ink-faint);font-size:12px;font-weight:800;margin-top:2px}.scope-source-line{color:var(--ink);font-weight:850;margin-bottom:3px}.scope-row-actions{min-width:260px}.scope-row-actions .btn{min-height:36px;padding:6px 10px;font-size:12.5px}.scope-fault-btn{background:#fff8f6;color:var(--danger);border-color:#d92d2033}.fault-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.3fr);gap:16px;align-items:start}.fault-form,.fault-list{min-width:0}.fault-form{border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:#fbfbfc}.fault-form-row{display:flex;align-items:end;gap:10px}.fault-code-field{flex:1;margin-bottom:0}.fault-context-grid{gap:10px}.fault-context-grid .field{margin-bottom:12px}.fault-custom-input{margin-top:8px}.fault-form textarea{min-height:110px;resize:vertical;line-height:1.45}.fault-scope-card{display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:12px;border:1.5px solid var(--border);border-radius:12px;background:#fff;padding:10px;margin:10px 0 14px}.fault-scope-photo{width:88px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;overflow:hidden}.fault-scope-photo img{max-width:100%;max-height:100%;object-fit:contain}.fault-scope-code{font-weight:800;font-size:16px}.fault-scope-meta{color:var(--ink-soft);font-size:12.5px;margin-top:2px}.fault-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:10px 0 14px}.fault-choice{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;text-align:left;border:1.5px solid var(--border);border-radius:12px;background:#fff;padding:9px}.fault-choice:active{transform:scale(.98);background:var(--primary-soft);border-color:var(--primary)}.fault-choice span{display:block;color:var(--ink-soft);font-size:12px;margin-top:2px}.fault-choice-photo{width:58px;height:44px;display:flex;align-items:center;justify-content:center}.fault-choice-photo img{max-width:100%;max-height:100%;object-fit:contain}.fault-capture-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.fault-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;margin-bottom:12px}.fault-media-card{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.fault-media-card img,.fault-media-card video{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;background:#101828}.fault-media-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;font-size:12px;color:var(--ink-soft);font-weight:700}.fault-media-meta .btn{min-height:28px;padding:3px 6px;font-size:11.5px}.fault-submit-row{margin:4px 0 10px}.fault-submit-btn{min-height:60px;background:var(--danger);border-color:var(--danger);color:#fff;font-size:17px;box-shadow:0 8px 18px #d92d2038}.fault-submit-btn:hover{background:#b42318;border-color:#b42318}.fault-filter-bar{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.fault-table th,.fault-table td{white-space:nowrap;vertical-align:top}.fault-note-cell{white-space:normal!important;min-width:220px;max-width:360px}.fault-status-select{min-height:38px;border:1.5px solid var(--border);border-radius:10px;padding:7px 10px;background:#fff;font-weight:700;color:var(--ink)}.fault-status-open{background:var(--warn-bg);color:var(--warn)}.fault-status-reviewing{background:#eef3ff;color:var(--accent)}.fault-status-resolved{background:var(--ok-bg);color:var(--ok)}.fault-status-dismissed{background:#f1f3f6;color:var(--ink-soft)}.fault-detail-note{border:1px solid var(--border);border-radius:12px;background:#fbfbfc;padding:12px 14px;margin-bottom:14px;line-height:1.5;font-weight:600}.fault-detail-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.fault-detail-context div{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px 12px}.fault-detail-context span{display:block;color:var(--ink-faint);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.fault-detail-context strong{color:var(--ink);font-size:13.5px}.fault-detail-media{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.fault-detail-media .fault-media-card img,.fault-detail-media .fault-media-card video{aspect-ratio:4 / 3}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:#09151d6b;display:flex;align-items:center;justify-content:center;padding:18px}.modal-panel{width:min(720px,100%);max-height:calc(100vh - 36px);overflow-y:auto;background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-md);padding:22px}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.modal-head h2{margin:0;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:8px}.scope-history-modal{width:min(860px,100%)}.scope-history-list{display:grid;gap:10px}.scope-history-item{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;border:1px solid var(--border);border-radius:12px;background:#fbfbfc;padding:12px}.scope-history-time{color:var(--ink-faint);font-weight:800;font-size:12px}.scope-history-body{display:grid;gap:4px;min-width:0}.scope-history-body span{color:var(--ink-soft);overflow-wrap:anywhere}.scope-history-body small{color:var(--ink-faint);font-weight:700}.scope-entity-modal{width:min(1180px,100%);max-height:calc(100dvh - 28px);background:linear-gradient(180deg,#fff,#f8fbfb)}.scope-entity-head{align-items:center;border-bottom:1px solid var(--border);padding-bottom:12px}.scope-entity-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.scope-entity-loading{min-height:240px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--primary-dark);border:1px dashed var(--border);border-radius:18px;background:#f8fbfb}.scope-entity-loading span{color:var(--ink-soft);font-weight:700}.scope-entity-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(220px,.55fr) minmax(280px,1fr);gap:12px;margin-bottom:12px}.scope-entity-card{border:1px solid #dce4eb;border-radius:16px;background:#fff;padding:14px;box-shadow:0 10px 24px #1018280e}.scope-entity-main{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center}.scope-entity-photo{width:150px;height:106px;display:flex;align-items:center;justify-content:center;border:1px solid #dce4eb;border-radius:14px;background:#fff;overflow:hidden}.scope-entity-photo img{max-width:100%;max-height:100%;object-fit:contain}.scope-entity-title{display:grid;gap:3px;min-width:0}.scope-entity-title span{color:var(--primary-dark);font-size:12px;font-weight:900;text-transform:uppercase}.scope-entity-title strong{font-size:22px;overflow-wrap:anywhere}.scope-entity-title small{color:var(--ink-soft);font-weight:750}.scope-entity-main .trace-badges{grid-column:1 / -1;margin-top:0}.scope-entity-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.scope-entity-stats div,.scope-entity-meta div{border:1px solid #e0e7ee;border-radius:12px;background:#fbfcfd;padding:10px 12px}.scope-entity-stats span,.scope-entity-meta span{display:block;color:var(--ink-faint);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.035em}.scope-entity-stats strong{display:block;margin-top:2px;font-size:24px}.scope-entity-meta{display:grid;gap:8px}.scope-entity-meta strong{display:block;margin-top:3px;font-size:13.5px;overflow-wrap:anywhere}.scope-entity-note{display:flex;gap:10px;align-items:flex-start;border:1px solid #dbe4ea;border-radius:16px;background:#fff;padding:12px 14px;margin:0 0 12px}.scope-entity-note.has-fault{border-color:#d92d2038;background:#fff8f6;color:var(--danger)}.scope-entity-note strong{display:block;color:inherit;margin-bottom:2px}.scope-entity-note span{display:block;color:var(--ink-soft);line-height:1.45}.scope-entity-note.has-fault span{color:#7a271a}.scope-entity-panels{align-items:start;margin-bottom:12px}.scope-last-checkin{border:1px solid #dce4eb;border-radius:12px;background:var(--primary-soft);color:var(--primary-dark);padding:10px 12px;margin-bottom:10px}.scope-last-checkin strong,.scope-last-checkin span{display:block}.scope-last-checkin span{margin-top:2px;font-size:13px;font-weight:800}.scope-history-compact{max-height:320px;overflow:auto;padding-right:4px}.empty-state{border:1px dashed var(--border);border-radius:12px;padding:18px;color:var(--ink-soft);background:#fbfbfc;text-align:center;font-weight:700}@media(max-width:760px){.scope-management-panel{padding:14px}.scope-management-hero,.scope-toolbar{grid-template-columns:1fr}.scope-management-hero h2{font-size:22px}.scope-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-filter-row{grid-template-columns:1fr}.scope-result-line{flex-direction:column;gap:4px}.scope-table-wrap{max-height:none}.scope-identity-cell{min-width:260px}.scope-identity{grid-template-columns:72px minmax(0,1fr)}.scope-photo-thumb{width:72px;height:54px}.scope-history-item{grid-template-columns:1fr;gap:6px}.scope-row-actions{min-width:180px}.scope-entity-modal{max-height:calc(100dvh - 16px)}.scope-entity-head{align-items:stretch;flex-direction:column}.scope-entity-actions{justify-content:stretch}.scope-entity-actions .btn{flex:1 1 auto}.scope-entity-grid,.scope-entity-panels{grid-template-columns:1fr}.scope-entity-main{grid-template-columns:110px minmax(0,1fr)}.scope-entity-photo{width:110px;height:82px}.scope-entity-title strong{font-size:18px}.scope-entity-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;transform:translate(-100%);transition:transform .18s;box-shadow:var(--shadow-md)}.sidebar.open{transform:translate(0)}.mobile-nav-btn{display:inline-flex}.topbar.scan-mode{flex-wrap:wrap;padding:8px 12px}.topbar.scan-mode .topbar-scan-tools{order:3;flex:1 0 100%;justify-content:flex-start}.topbar.scan-mode .wiz-scan-input{flex:1 1 180px;width:auto;min-width:0}.view-area{padding:14px}.view-area.no-scroll{padding:8px 12px 12px}.confirm-scope-summary{min-width:280px}.confirm-scope-photo{width:min(320px,58vw);height:160px}.camera-panel{max-width:680px}.label-sheet{grid-template-columns:repeat(2,1fr)}.toolbar-actions{justify-content:flex-start}.admin-doctor-add{grid-template-columns:1fr 1fr}.admin-doctor-add .btn{justify-content:center}.record-filter-actions{grid-column:1 / -1}.fault-layout{grid-template-columns:1fr}.fault-form-row{align-items:stretch}.fault-form-row .btn{align-self:end}}@media print{.sidebar,.topbar,.toast-host,.no-print{display:none!important}body{background:#fff}.app-shell{display:block}.view-area{padding:0;max-width:none}.label-sheet{grid-template-columns:repeat(3,1fr)}}html,body{background:linear-gradient(180deg,#f8fbfc,#eef4f7)}.sidebar{background:linear-gradient(180deg,#073b35,#0c2e2b 54%,#082522);border-right:1px solid rgba(255,255,255,.08)}.brand-mark{box-shadow:inset 0 1px #ffffff2e,0 8px 18px #0000002e}.nav-item{position:relative;border:1px solid transparent;transition:background .14s,color .14s,border-color .14s,transform .14s}.nav-item:hover{transform:translate(2px)}.nav-item[data-view=quet]{background:#14b8a62e;border-color:#2dd4bf57;color:#d7fffa}.nav-item[data-view=quet]:hover{background:#14b8a647;color:#fff}.nav-item[data-view=quet].active{background:linear-gradient(135deg,#0f766e,#14b8a6);border-color:#ffffff38;color:#fff}.nav-item[data-view=bao-loi]{box-shadow:inset 0 1px #ffffff12}.nav-item[data-view=bao-loi].active{background:linear-gradient(135deg,#b42318,#d92d20)}.topbar{box-shadow:0 1px #1018280a,0 10px 24px #1018280a}.panel{border-color:#dfe5ec;box-shadow:0 10px 28px #10182812}.btn{box-shadow:0 1px 2px #1018280a;transition:background .14s,border-color .14s,box-shadow .14s,transform .1s}.btn:hover{box-shadow:0 5px 14px #10182814}.btn-primary{box-shadow:0 8px 18px #0f766e2e}.btn-primary:hover{box-shadow:0 10px 22px #0f766e38}.device-chip,.user-chip{box-shadow:0 1px 2px #1018280d}.wiz-head{padding:4px 2px 8px;border-bottom:1px solid rgba(228,231,236,.72)}.serial-digit,.numpad-btn,.picker-chip,.collision-card,.fault-scope-card,.checkin-list-wrap{box-shadow:0 2px 8px #1018280a}.numpad-btn,.picker-chip{transition:background .12s,border-color .12s,box-shadow .12s,transform .08s}.numpad-btn:hover,.picker-chip:hover{border-color:#a8d7d0;box-shadow:0 6px 16px #0f766e17}.checkin-list-head{background:linear-gradient(180deg,#fff,#f8fbfa)}.checkin-row{transition:border-color .12s,box-shadow .12s,transform .08s}.checkin-row:hover{border-color:#b8ddd7;box-shadow:0 6px 18px #0f766e14;transform:translateY(-1px)}.metric{border-color:#dfe5ec;box-shadow:0 6px 18px #1018280d}.table-scroll{border-radius:12px}th{background:#f8fafc}tbody tr{transition:background .12s}.badge{border:1px solid rgba(16,24,40,.04)}.fault-form{background:linear-gradient(180deg,#fff,#fbfcfd);box-shadow:0 8px 22px #1018280f}.fault-submit-btn{box-shadow:0 12px 24px #d92d203d}.fault-submit-btn:hover{box-shadow:0 14px 28px #d92d204d}.wiz-confirm-head,.wiz-confirm-body,.wiz-confirm-foot{width:min(1460px,100%);margin-left:auto;margin-right:auto}.wiz-confirm-head{padding:0 6px 10px;border-bottom-color:#b8c5cf94}.wiz-confirm-head .btn-ghost{min-height:44px;padding:9px 16px;background:#ffffffc2;border:1px solid rgba(228,231,236,.9);color:var(--ink-soft)}.wiz-confirm-head .btn-ghost:hover{background:#fff;color:var(--primary-dark);border-color:#b8ddd7}.wiz-confirm-head .wiz-step-badge{min-height:38px;display:inline-flex;align-items:center;box-shadow:0 4px 12px #0f766e14}.wiz-confirm-head .confirm-scope-summary{flex:0 1 560px}.wiz-confirm-head .wiz-title{font-size:clamp(20px,2.1vw,28px);line-height:1.05}.wiz-confirm-head .confirm-scope-meta{font-size:14px}.wiz-confirm-head .confirm-scope-photo{width:min(470px,34vw);height:clamp(168px,18vh,214px);border-radius:18px;border-color:#d8e1e8;box-shadow:0 10px 26px #10182814}.wiz-confirm-body{max-width:min(1460px,100%);padding:0 8px;gap:12px}.wiz-confirm-body .picker-block{padding:14px 18px;border:1px solid rgba(216,225,232,.86);border-radius:18px;background:#ffffffb8;box-shadow:0 8px 24px #1018280b}.wiz-confirm-body .picker-title{font-size:17px;font-weight:850}.wiz-confirm-body .picker-filter{min-height:54px;max-width:380px;font-size:17px;background:#fff;box-shadow:0 2px 8px #1018280a}.wiz-confirm-body .chip-grid{gap:12px}.room-chip-grid .picker-chip{min-height:52px;padding:11px 20px;font-size:16px;border-radius:14px}.doctor-chip-grid{max-height:144px;padding:2px 8px 2px 2px}.doctor-chip-grid .picker-chip{flex:1 1 220px;min-width:220px;min-height:60px;padding:13px 22px;border-radius:16px;font-size:16.5px;font-weight:850;background:linear-gradient(180deg,#fff,#fbfcfd)}.doctor-chip-grid .picker-chip:hover{transform:translateY(-1px);border-color:#8fcfc6}.picker-chip.selected{background:linear-gradient(135deg,#0f766e,#14a394);border-color:#0f766e;box-shadow:0 10px 22px #0f766e2e}.wiz-confirm-foot{padding:2px 8px 0}.wiz-confirm-foot .btn{max-width:min(1120px,100%);min-height:64px;border-radius:16px;font-size:18px}@media(max-width:1024px){.wiz-confirm-head,.wiz-confirm-body,.wiz-confirm-foot{width:100%}.wiz-confirm-head{padding-bottom:8px}.wiz-confirm-head .confirm-scope-summary{min-width:0;flex-basis:420px}.wiz-confirm-head .confirm-scope-photo{width:min(360px,46vw);height:166px}.wiz-confirm-body{padding:0}.wiz-confirm-body .picker-block{padding:12px}.doctor-chip-grid .picker-chip{flex-basis:190px;min-width:190px;min-height:58px}}.duplicate-warning,.quick-action-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(760px,100%);margin:8px auto 0;padding:12px 14px;border-radius:16px;border:1px solid rgba(245,158,11,.35);background:#fffbeb;box-shadow:0 8px 22px #10182812;text-align:left}.quick-action-banner{border-color:#0f766e38;background:#f0fdfa}.duplicate-warning strong,.quick-action-banner strong{display:block;font-size:14px;color:var(--ink)}.duplicate-warning span,.quick-action-banner span{display:block;margin-top:2px;font-size:12.5px;color:var(--ink-soft)}.quick-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.quick-action-buttons .btn{min-height:38px;padding:8px 12px;font-size:13px;white-space:nowrap}.report-panel .panel-head{align-items:flex-start}.report-summary-grid{margin-top:10px}.report-tally-grid{align-items:start;margin-bottom:16px}.report-mini-table{border:1px solid var(--border);border-radius:14px;background:#fff;padding:12px;box-shadow:0 6px 18px #1018280b}.report-mini-table table{font-size:13px}.report-table-scroll{max-height:48vh;overflow:auto;border:1px solid var(--border);background:#fff}.trace-workspace,.dashboard-shell{display:grid;gap:14px}.trace-hero{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(420px,1.4fr);gap:14px;align-items:center;background:linear-gradient(135deg,#f8fffd,#fff 62%,#eefbf8)}.trace-mode-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trace-mode-card{min-height:86px;border:1.5px solid var(--border);border-radius:14px;background:#fff;color:var(--ink);padding:12px;display:grid;gap:4px;text-align:left;box-shadow:0 4px 14px #1018280a}.trace-mode-card .ico{color:var(--primary)}.trace-mode-card strong{font-size:15px}.trace-mode-card span{color:var(--ink-soft);font-size:12px;line-height:1.3}.trace-mode-card.active{border-color:#0f766e73;background:var(--primary-soft);color:var(--primary-dark)}.trace-body{display:grid;gap:14px}.trace-search-panel,.trace-filter-panel{display:grid;gap:12px}.trace-search-panel{grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr);align-items:end}.trace-search-copy h2{margin-bottom:4px}.trace-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.trace-search-field{margin:0}.trace-result-host{display:grid;gap:14px}.trace-empty-state{min-height:180px;border:1.5px dashed #ccd4df;border-radius:16px;background:#fff;color:var(--ink-soft);display:grid;place-items:center;align-content:center;gap:8px;text-align:center;padding:24px}.trace-empty-state .ico{color:var(--primary)}.trace-empty-state strong{color:var(--ink);font-size:18px}.trace-empty-state span{max-width:560px;line-height:1.45}.trace-result-title{display:flex;justify-content:space-between;gap:12px;align-items:end}.trace-result-title h3{margin:0;font-size:17px}.trace-result-title .panel-sub{margin:0}.trace-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.trace-scope-choice{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto auto;gap:3px 12px;text-align:left;border:1.5px solid var(--border);border-radius:14px;background:#fff;padding:12px;box-shadow:0 6px 18px #1018280b}.trace-scope-choice:hover{border-color:var(--primary);background:var(--primary-soft)}.trace-choice-photo{grid-row:1 / 3;width:76px;height:58px;display:flex;align-items:center;justify-content:center}.trace-choice-photo img{max-width:100%;max-height:100%;object-fit:contain}.trace-scope-choice span{color:var(--ink-soft);font-size:12.5px;overflow-wrap:anywhere}.trace-profile-card{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(180px,.45fr);gap:18px;align-items:center;border:1px solid var(--border);border-radius:18px;background:#fff;padding:16px;box-shadow:0 10px 28px #1018280f}.trace-scope-head{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(180px,.8fr);gap:16px;align-items:center;border:1px solid var(--border);border-radius:16px;background:#fff;padding:14px;box-shadow:0 8px 24px #1018280d}.trace-scope-photo{width:150px;height:104px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.trace-profile-photo{width:220px;height:150px}.trace-scope-photo img{max-width:100%;max-height:100%;object-fit:contain}.trace-scope-main h2{margin:0 0 2px;font-size:24px}.trace-profile-main h2{font-size:28px;line-height:1.1}.trace-profile-kicker{color:var(--primary-dark);font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}.trace-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.trace-profile-stats{display:grid;gap:8px}.trace-profile-stats div{border:1px solid var(--border);border-radius:12px;background:#fbfcfd;padding:10px 12px}.trace-profile-stats span{display:block;color:var(--ink-soft);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.trace-profile-stats strong{display:block;font-size:22px;margin-top:2px}.trace-alert-strip{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(217,45,32,.22);border-radius:14px;background:#fff8f6;color:var(--danger);padding:12px 14px}.trace-alert-strip strong{display:block;color:var(--danger)}.trace-alert-strip span{display:block;color:#7a271a;font-size:13px;line-height:1.45}.trace-profile-meta{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(120px,.55fr));gap:10px}.trace-profile-meta div{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px 12px}.trace-profile-meta span{display:block;color:var(--ink-faint);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.trace-profile-meta strong{display:block;margin-top:3px;color:var(--ink);font-size:13.5px;overflow-wrap:anywhere}.trace-scope-note{color:var(--ink-soft);font-size:13px;line-height:1.45;border-left:3px solid var(--primary-soft);padding-left:12px}.trace-metric-grid{gap:10px}.trace-metric-grid .metric{padding:14px}.metric-date{font-size:16px;line-height:1.25}.metric-hint{margin-top:4px;color:var(--ink-faint);font-size:12px;font-weight:700}.metric-primary{border-color:#0f766e42;background:linear-gradient(180deg,#f0fdfa,#fff)}.metric-danger{border-color:#d92d2038;background:#fff8f6}.metric-danger .metric-value{color:var(--danger)}.trace-summary-grid{align-items:start}.trace-section{border:1px solid var(--border);border-radius:14px;background:#fff;padding:12px}.trace-section h3{margin:0 0 10px;font-size:15px}.trace-fault-filter-panel{border-color:#d92d201f}.trace-filter-grid{margin-bottom:12px}.trace-filter-grid .field{margin:0}.trace-table-scroll,.dashboard-table-scroll{max-height:46vh;overflow:auto;border:1px solid var(--border);background:#fff}.trace-note-cell{white-space:normal!important;min-width:180px;max-width:360px}.dashboard-command{background:linear-gradient(135deg,#f8fffd,#fff 66%,#edfdfa)}.dashboard-command .panel-head{margin-bottom:12px}.dashboard-metrics{gap:10px}.dashboard-kpi{min-height:116px}.dashboard-alert-banner{display:flex;gap:12px;align-items:center;border:1px solid rgba(217,45,32,.24);border-radius:16px;background:#fff8f6;color:var(--danger);padding:14px 16px;box-shadow:0 6px 18px #d92d200d}.dashboard-alert-banner strong{display:block;color:var(--danger);font-size:16px}.dashboard-alert-banner span{display:block;color:#7a271a;font-size:13px;margin-top:2px}.dashboard-layout-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:14px;align-items:start}.dashboard-main-stack,.dashboard-side-stack{display:grid;gap:14px}.dashboard-balance-grid{align-items:stretch}.dashboard-focus-card{min-height:0}.dashboard-live-panel .dashboard-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.dashboard-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.dashboard-section-head h2{margin:0;font-size:18px}.dashboard-section-head .panel-sub{margin:2px 0 0}.dashboard-section-head>span,.dashboard-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:900;white-space:nowrap}.panel-alert{border-color:#d92d203d;background:snow}.dashboard-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.dashboard-chip-grid.compact{grid-template-columns:1fr;gap:8px}.dashboard-chip{display:flex;justify-content:space-between;gap:8px;align-items:center;border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px 12px;font-weight:800}.dashboard-chip span{color:var(--ink-soft);font-size:13px}.dashboard-chip strong{color:var(--ink);font-size:18px}.dashboard-list{display:grid;gap:8px}.dashboard-list-item{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px 12px;display:grid;gap:2px}.dashboard-list-item strong{color:var(--ink);font-size:13.5px;overflow-wrap:anywhere}.dashboard-list-item span{color:var(--ink-soft);font-size:12.5px;line-height:1.35;overflow-wrap:anywhere}.dashboard-list-item small{color:var(--ink-faint);font-weight:700}.dashboard-list-alert{border-color:#d92d2033;background:#fff8f6}.dashboard-bars{display:grid;gap:10px}.dashboard-bar-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(90px,1fr) 42px;gap:10px;align-items:center}.dashboard-bar-label{min-width:0;display:grid;gap:1px}.dashboard-bar-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.dashboard-bar-label span{color:var(--ink-faint);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-bar-track{height:10px;border-radius:999px;background:#edf2f7;overflow:hidden}.dashboard-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#14b8a6)}.dashboard-bar-row b{text-align:right;color:var(--ink)}@media(max-width:760px){html,body{font-size:14px}.app-shell{width:100vw}.sidebar{width:min(82vw,300px);padding:14px 10px}.brand{padding:6px 8px 12px}.nav-item{min-height:46px;padding:9px 12px;font-size:14px}.topbar{padding:8px 10px;gap:6px;flex-wrap:nowrap}.mobile-nav-btn{width:42px;height:42px;align-items:center;justify-content:center;flex:0 0 42px;border-radius:12px}.view-title{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.topbar-right{margin-left:auto;gap:6px;flex:0 0 auto}.topbar-right .device-chip{display:none}.user-chip{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 10px;font-size:11.5px}#logoutBtn{width:42px;min-height:42px;padding:0;border-radius:12px}.topbar.scan-mode{min-height:0;padding:7px 8px;gap:6px}.topbar.scan-mode .topbar-scan-tools{display:grid;grid-template-columns:auto minmax(0,1fr) 42px 42px;gap:6px;align-items:center}.topbar.scan-mode .wiz-step-badge{max-width:106px;padding:5px 8px;overflow:hidden;text-overflow:ellipsis;font-size:11px}.topbar.scan-mode .wiz-scan-input{height:42px;font-size:13px}.topbar.scan-mode .btn,.topbar.scan-mode .scan-fault-shortcut{width:42px;min-width:42px;min-height:42px;padding:0;border-radius:12px}.view-area{padding:10px}.view-area.no-scroll{overflow-y:auto;padding:8px 8px calc(10px + env(safe-area-inset-bottom))}.wiz{flex:0 0 auto;min-height:100%;gap:8px}.wiz-head{align-items:stretch;flex-wrap:wrap;gap:8px}.wiz-head .btn{min-height:42px}.checkin-body{flex-direction:column;gap:10px;min-height:auto}.checkin-pad{flex:0 0 auto;gap:9px}.serial-display{gap:8px}.serial-digit{width:48px;height:56px;border-radius:12px;font-size:28px}.numpad.numpad-max{height:clamp(300px,50vh,390px);gap:8px}.numpad.numpad-max .numpad-btn{border-radius:14px;font-size:clamp(28px,11vw,44px)}.checkin-msg{min-height:0}.checkin-list-wrap{flex:0 0 auto;min-height:180px;max-height:32vh;border-radius:14px}.checkin-list-head{padding:10px 12px}.checkin-list{padding:6px}.checkin-row{padding:8px 10px}.checkin-row-main{gap:8px}.camera-panel{width:100%;padding:8px;border-radius:14px}.camera-stage{aspect-ratio:4 / 3}.camera-guide{inset:20% 7%}.camera-controls,.camera-manual{gap:6px}.camera-status{flex:1 0 100%;min-width:0}.camera-manual input{min-width:0;font-size:15px}.camera-manual .btn{padding:8px 10px}.collision-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collision-card{padding:10px;border-radius:14px}.collision-photo{height:86px}.collision-model{font-size:14px}.collision-serial{font-size:12.5px}.wiz-confirm-head{display:grid;grid-template-columns:auto 1fr;align-items:center;padding-bottom:8px}.wiz-confirm-head .confirm-scope-summary{grid-column:1 / -1;order:3;flex-basis:auto;width:100%}.wiz-confirm-head .wiz-step-badge{justify-self:end;min-height:34px;font-size:11.5px}.wiz-confirm-head .wiz-title{font-size:20px}.wiz-confirm-head .confirm-scope-photo{width:min(100%,310px);height:126px;margin-top:6px}.wiz-confirm-body{overflow:visible;gap:10px}.wiz-confirm-body .picker-block{padding:10px;border-radius:14px}.picker-head{align-items:stretch;gap:8px}.picker-title{font-size:15px}.picker-filter{width:100%;max-width:none;min-width:0;min-height:46px;font-size:15px}.room-chip-grid .picker-chip{min-height:46px;padding:9px 14px;font-size:14.5px}.doctor-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:228px;gap:8px;padding-right:4px}.doctor-chip-grid .picker-chip{width:100%;min-width:0;min-height:56px;padding:10px 12px;white-space:normal;line-height:1.15;font-size:14.5px}.picker-chip-add,.picker-add-toggle{width:100%;justify-content:center}.wiz-confirm-foot{position:sticky;bottom:0;z-index:3;padding:8px 0 calc(4px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#eef4f700,#eef4f7 38%)}.wiz-confirm-foot .btn{min-height:56px;border-radius:14px;font-size:15.5px}.panel{padding:14px;border-radius:14px;margin-bottom:12px}.panel-head{align-items:stretch}.toolbar-actions,.record-filter-actions,.modal-actions,.fault-capture-actions{width:100%}.toolbar-actions .btn,.record-filter-actions .btn,.modal-actions .btn,.fault-capture-actions .btn{flex:1 1 auto}.record-filter-bar,.fault-filter-bar{grid-template-columns:1fr 1fr;gap:8px}.record-filter-actions{grid-column:1 / -1}.staff-reset-box{align-items:stretch;flex-direction:column}.staff-reset-box .btn{width:100%}.metric{padding:12px}.metric-value{font-size:24px}.table-scroll{margin-left:-4px;margin-right:-4px;border-radius:12px}table{font-size:12.5px}th,td{padding:9px 10px}.fault-form{padding:12px}.fault-form-row{flex-direction:column;align-items:stretch}.fault-scope-card{grid-template-columns:72px minmax(0,1fr);gap:10px}.fault-scope-photo{width:72px;height:54px}.fault-scope-card .btn{grid-column:1 / -1}.fault-choice-grid{grid-template-columns:1fr}.fault-submit-btn{min-height:56px;font-size:16px}.fault-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{align-items:flex-end;padding:8px}.modal-panel{width:100%;max-height:calc(100dvh - 16px);padding:16px;border-radius:18px}.modal-head{align-items:center}.modal-head h2{font-size:16.5px}.admin-doctor-add,.admin-catalog-add{display:grid;grid-template-columns:1fr}.admin-doctor-add input,.admin-tiny-input,.admin-inline-input{width:100%}.tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.tab-btn{flex:0 0 auto}.duplicate-warning,.quick-action-banner{align-items:stretch;flex-direction:column}.quick-action-buttons{justify-content:stretch}.quick-action-buttons .btn{flex:1}.trace-hero,.trace-search-panel,.dashboard-layout-grid,.trace-mode-cards{grid-template-columns:1fr}.trace-mode-card{min-height:64px;grid-template-columns:auto 1fr;align-items:center}.trace-mode-card span{grid-column:2}.trace-search-row{grid-template-columns:1fr}.trace-search-row .btn{justify-content:center}.trace-choice-grid{grid-template-columns:1fr}.trace-profile-card{grid-template-columns:1fr;gap:12px}.trace-scope-head{grid-template-columns:1fr;gap:10px}.trace-scope-photo,.trace-profile-photo{width:100%;height:150px}.trace-scope-main h2{font-size:20px}.trace-profile-main h2{font-size:22px}.trace-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.trace-profile-stats strong{font-size:18px}.trace-profile-meta{grid-template-columns:1fr}.trace-result-title{align-items:flex-start;flex-direction:column}.dashboard-command .panel-head{align-items:stretch}.dashboard-command .panel-head .btn{justify-content:center}.dashboard-primary-grid{grid-template-columns:1fr}.dashboard-focus-card{min-height:0}.dashboard-live-panel .dashboard-list{grid-template-columns:1fr}.dashboard-section-head{align-items:flex-start;flex-direction:column}.dashboard-section-head .btn{width:100%}.dashboard-bar-row{grid-template-columns:minmax(105px,1.1fr) minmax(72px,1fr) 36px;gap:7px}.trace-table-scroll,.dashboard-table-scroll,.report-table-scroll{max-height:none}}:root{--bg: #eef4f7;--surface: #f8fbfb;--border-strong: #d8e1e8;--shadow-lg: 0 18px 44px rgba(16, 24, 40, .1);--focus-ring: 0 0 0 3px rgba(15, 118, 110, .16)}html,body{background:linear-gradient(180deg,#f8fbfb,#eef4f7 42%,#edf2f5)}.sidebar{width:248px;background:linear-gradient(180deg,#08312e,#0b3d38 52%,#071f1d);box-shadow:14px 0 34px #06201d2e}.brand{margin:0 2px 10px;padding:10px;border-radius:16px;background:#ffffff12;border:1px solid rgba(255,255,255,.08)}.brand-mark{width:40px;height:40px;border-radius:12px;box-shadow:inset 0 1px #ffffff38,0 10px 24px #0000002e}.brand-title{font-size:17px}.brand-sub{font-size:12px;color:#a7cbc5}.nav{gap:6px}.nav-item{min-height:48px;border:1px solid transparent;border-radius:13px;font-size:14px}.nav-item:hover{background:#ffffff1a;transform:translate(2px)}.nav-item.active{background:linear-gradient(90deg,#fff,#f2fffb);border-color:#ffffffb8;color:#08312e;box-shadow:0 10px 22px #00000021}.nav-item[data-view=bao-loi]{background:#d92d2029;box-shadow:inset 0 0 0 1px #f871713d}.nav-item[data-view=bao-loi].active{background:linear-gradient(135deg,#b42318,#d92d20);color:#fff}.topbar{min-height:72px;background:#ffffffed;backdrop-filter:blur(10px);border-bottom:1px solid rgba(210,218,226,.9);box-shadow:0 1px #1018280a,0 16px 36px #1018280d}.topbar.scan-mode{min-height:58px;padding:8px 18px}.topbar.scan-mode .time-chip{display:none}.view-title{font-size:22px;letter-spacing:0}.time-chip{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 11px;border-radius:999px;background:#f7faf9;color:var(--primary-dark);border:1px solid #dfe8e5;font-size:12.5px;font-weight:900;white-space:nowrap}.time-chip small{color:var(--ink-faint);font-size:11px;font-weight:800}.device-chip,.user-chip{min-height:38px;box-shadow:0 4px 12px #1018280a}.view-area{max-width:1360px;padding:22px 24px 30px}.view-area.no-scroll{padding:8px 14px 12px}.panel,.trace-search-panel,.trace-filter-panel,.trace-section,.dashboard-command,.dashboard-focus-card,.dashboard-live-panel{border-color:var(--border-strong);box-shadow:0 14px 34px #10182813}.panel{border-radius:18px}.panel-head h2,.panel h2,.wiz-title,.view-title{letter-spacing:0}.field input,.field select,.field textarea,.wiz-scan-input,.picker-filter{background:#fff;border-color:#dce4eb;box-shadow:inset 0 1px #ffffffe6}.field input:focus,.field select:focus,.field textarea:focus,.wiz-scan-input:focus,.picker-filter:focus{box-shadow:var(--focus-ring)}.btn{border-color:#dbe3ea;box-shadow:0 3px 10px #1018280b}.btn-primary{box-shadow:0 10px 22px #0f766e2e}.btn-danger,.scan-fault-shortcut{box-shadow:0 10px 22px #d92d2024}.serial-digit,.numpad-btn,.picker-chip,.collision-card,.fault-scope-card,.trace-scope-choice,.dashboard-list-item,.dashboard-chip{border-color:#dce4eb;box-shadow:0 8px 18px #1018280e}.numpad.numpad-max .numpad-btn{border-color:#d8e0e8;box-shadow:0 8px 18px #10182812}.numpad-enter{box-shadow:0 14px 28px #0f766e38!important}.picker-chip{min-height:52px;padding:12px 18px;font-size:15.5px;font-weight:850}.doctor-chip-grid .picker-chip{min-height:58px;font-size:15.5px}.picker-chip.selected,.trace-mode-card.active{box-shadow:0 10px 22px #0f766e29}.checkin-list-wrap{background:linear-gradient(180deg,#fff,#f7faf9);box-shadow:inset 0 1px #fffc,0 12px 28px #10182812}.checkin-row{border-left:4px solid var(--primary)}.checkin-row:hover,.dashboard-list-item:hover,.trace-scope-choice:hover{transform:translateY(-1px)}.metric{border-radius:16px;border:1px solid #dbe4ea;box-shadow:0 8px 20px #1018280b}.metric-primary{background:linear-gradient(135deg,#e9fbf7,#fff);border-color:#0f766e38}.metric-danger{background:linear-gradient(135deg,#fff2f0,#fff);border-color:#d92d2033}.dashboard-command,.trace-hero{background:linear-gradient(135deg,#f7fffd,#fff 62%,#eefaf7);border-color:#d8e9e5}.dashboard-alert-banner,.panel-alert{box-shadow:0 14px 34px #d92d2012}.table-scroll,.trace-table-scroll,.dashboard-table-scroll,.report-table-scroll{border-radius:14px;border-color:#dbe3ea}table{border-collapse:separate;border-spacing:0}thead th{position:sticky;top:0;z-index:2;background:#f8fafc;border-bottom-color:#d8e0e8}tbody tr:nth-child(2n) td{background:#fbfcfd}tbody tr:hover td{background:#f2faf8}.trace-profile-card{background:linear-gradient(135deg,#fff,#f7fbfa);box-shadow:0 14px 32px #10182811}.trace-profile-stats div,.trace-profile-meta div{border-color:#dbe4ea}.toast{border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 30px #1018282e}@media(min-width:1500px){.view-area{max-width:1440px}}@media(max-width:1024px){.sidebar{width:min(84vw,310px)}.topbar{min-height:60px;padding:8px 10px}.view-area{max-width:none;padding:12px}.view-area.no-scroll{padding:8px 8px calc(10px + env(safe-area-inset-bottom))}}@media(max-width:760px){html,body{font-size:14px}.topbar{min-height:56px;gap:6px}.view-title{font-size:16px}.time-chip,.topbar-right .device-chip{display:none}.user-chip{max-width:104px;min-height:36px;padding:6px 9px;font-size:11px}#logoutBtn,.mobile-nav-btn{width:40px;min-height:40px;flex:0 0 40px}.topbar.scan-mode{min-height:52px;padding:6px 8px}.topbar.scan-mode .topbar-scan-tools{grid-template-columns:auto minmax(0,1fr) 40px 40px}.panel{border-radius:16px;padding:14px}.picker-chip{min-height:50px;padding:10px 12px;font-size:14.5px}.doctor-chip-grid .picker-chip{min-height:58px;font-size:14.5px}.checkin-list-wrap{max-height:34vh}.numpad.numpad-max{height:clamp(310px,52vh,410px)}}.scope-management-panel{padding:18px 20px 20px}.scope-management-hero{grid-template-columns:minmax(0,1fr) minmax(480px,auto);gap:16px;align-items:end;margin-bottom:14px}.scope-management-hero h2{font-size:24px;line-height:1.12}.scope-management-hero .panel-sub{max-width:680px;margin-bottom:0}.scope-hero-stats{grid-template-columns:repeat(4,minmax(104px,1fr))}.scope-hero-stats span{min-width:0;padding:11px 13px}.scope-toolbar{grid-template-columns:1fr;gap:10px;align-items:stretch;border:1px solid #dbe5eb;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfb);padding:12px;margin-bottom:8px}.scope-filter-row{grid-template-columns:minmax(280px,1fr) minmax(160px,190px) minmax(160px,190px) 132px;gap:10px;align-items:end}.scope-filter-row .field span{font-size:11.5px}.scope-fault-filter{min-width:132px;width:132px;white-space:nowrap;justify-content:center}.scope-fault-filter span{white-space:nowrap}.scope-toolbar .toolbar-actions{justify-content:flex-end;gap:10px}.scope-toolbar .toolbar-actions .btn{min-height:44px}.scope-result-line{margin:8px 2px 10px}.scope-table-wrap{max-height:calc(100dvh - 330px);overflow:auto;border:0;background:transparent}.scope-table{width:100%;min-width:1180px;table-layout:fixed;border-collapse:separate;border-spacing:0 8px}.scope-table thead th{height:42px;padding-top:8px;padding-bottom:8px;background:#f4f7fa}.scope-table th:nth-child(1),.scope-table td:nth-child(1){width:40px}.scope-table th:nth-child(2),.scope-table td:nth-child(2){width:300px}.scope-table th:nth-child(3),.scope-table td:nth-child(3){width:130px}.scope-table th:nth-child(4),.scope-table td:nth-child(4){width:140px}.scope-table th:nth-child(5),.scope-table td:nth-child(5){width:118px}.scope-table th:nth-child(6),.scope-table td:nth-child(6){width:300px}.scope-table th:nth-child(7),.scope-table td:nth-child(7){width:112px}.scope-table th:nth-child(8),.scope-table td:nth-child(8){width:248px}.scope-table tbody tr td{background:#fff;border-top:1px solid #e1e7ed;border-bottom:1px solid #e1e7ed}.scope-table tbody tr:nth-child(2n) td{background:#fbfcfd}.scope-table tbody tr td:first-child{border-left:1px solid #e1e7ed;border-radius:14px 0 0 14px}.scope-table tbody tr td:last-child{border-right:1px solid #e1e7ed;border-radius:0 14px 14px 0}.scope-table tbody tr:hover td{background:#f2faf8}.scope-row-fault td{background:#fff8f6!important}.scope-identity-cell{min-width:0}.scope-identity{grid-template-columns:74px minmax(0,1fr);gap:10px}.scope-photo-thumb{width:74px;height:54px}.scope-identity-text strong{font-size:14.5px;line-height:1.15}.scope-identity-text span,.scope-identity-text small{line-height:1.25}.scope-status-cell .badge,.scope-table .badge{max-width:100%;white-space:normal;line-height:1.15}.scope-note-cell{min-width:0!important;max-width:none!important;line-height:1.35}.scope-source-line{line-height:1.25}.scope-usage-cell strong{font-size:18px}.scope-usage-cell span{line-height:1.2}.scope-row-actions{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;justify-content:stretch}.scope-row-actions .btn{min-width:0;min-height:38px;padding:7px 8px;font-size:12.5px;border-radius:11px}.scope-row-actions .btn .ico{width:15px;height:15px}.scope-row-actions .btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-row-actions .btn-del{color:var(--danger)}@media(max-width:1220px){.scope-management-hero{grid-template-columns:1fr;align-items:stretch}.scope-toolbar .toolbar-actions{justify-content:flex-start}}@media(max-width:920px){.scope-filter-row{grid-template-columns:1fr 1fr}.scope-search-field{grid-column:1 / -1}.scope-fault-filter{width:100%;min-width:0}.scope-toolbar .toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.scope-toolbar .toolbar-actions .btn{width:100%}}@media(max-width:760px){.scope-management-panel{padding:12px}.scope-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-filter-row,.scope-toolbar .toolbar-actions{grid-template-columns:1fr}.scope-table-wrap{max-height:none;overflow:visible}.scope-table,.scope-table thead,.scope-table tbody,.scope-table tr,.scope-table td{display:block;width:100%!important;min-width:0!important}.scope-table{min-width:0;border-spacing:0}.scope-table thead{display:none}.scope-table tbody{display:grid;gap:10px}.scope-table tbody tr{display:grid;gap:8px;border:1px solid #dfe7ee;border-radius:16px;background:#fff;padding:12px;box-shadow:0 10px 22px #1018280e}.scope-table tbody tr td{border:0!important;border-radius:0!important;background:transparent!important;padding:0}.scope-select-col{display:none!important}.scope-identity{grid-template-columns:84px minmax(0,1fr)}.scope-photo-thumb{width:84px;height:62px}.scope-status-cell,.scope-date-cell,.scope-usage-cell{display:flex!important;align-items:center;justify-content:space-between;gap:10px}.scope-status-cell:before{content:"Tr\1ea1ng th\e1i"}.scope-table td:nth-child(4):before{content:"V\f2ng \111\1eddi"}.scope-usage-cell:before{content:"L\1b0\1ee3t soi"}.scope-date-cell:before{content:"Ng\e0y d\f9ng"}.scope-status-cell:before,.scope-table td:nth-child(4):before,.scope-usage-cell:before,.scope-date-cell:before{color:var(--ink-faint);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.035em}.scope-note-cell{border-top:1px solid #edf1f4!important;padding-top:8px!important}.scope-row-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.nav-item[data-view=bao-loi],.nav-item[data-view=bao-loi]:hover{background:transparent;border-color:transparent;color:inherit;box-shadow:none}.nav-item[data-view=bao-loi]:hover{background:#ffffff1a;color:#fff}.nav-item[data-view=bao-loi].active{background:linear-gradient(90deg,#fff,#f2fffb);border-color:#ffffffb8;color:#08312e}.nav-alert-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e5483f;color:#fff;border:2px solid rgba(255,255,255,.9);font-size:10px;font-weight:950;line-height:1;box-shadow:0 5px 12px #b4231847}.nav-alert-badge[hidden]{display:none}.dashboard-shell{gap:12px}.dashboard-command{padding:18px 20px 20px}.dashboard-overview-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.dashboard-eyebrow{display:block;color:var(--primary-dark);font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.dashboard-overview-head .panel-sub{margin:3px 0 0}.dashboard-kpi{min-height:102px;padding:16px}.dashboard-kpi .metric-value{font-size:30px}.dashboard-alert-banner .btn{margin-left:auto;flex:0 0 auto}.dashboard-alert-banner .btn span{color:inherit;margin-top:0;font-size:inherit}.dashboard-empty{min-height:112px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed #d7e1e7;border-radius:13px;background:linear-gradient(180deg,#fbfdfd,#f7faf9);color:var(--ink-faint);text-align:center;font-size:12.5px;font-weight:750}.dashboard-empty .ico{opacity:.65}.dashboard-trend{height:210px;display:grid;grid-template-columns:repeat(14,minmax(42px,1fr));align-items:stretch;gap:8px;padding:8px 2px 0;overflow-x:auto}.dashboard-trend-item{min-width:42px;display:grid;grid-template-rows:22px minmax(110px,1fr) 22px;gap:5px;align-items:end;text-align:center}.dashboard-trend-item>b{color:var(--ink-soft);font-size:11px}.dashboard-trend-item>div{height:100%;display:flex;align-items:end;justify-content:center;border-radius:10px;background:linear-gradient(180deg,#f7faf9,#eef4f3);overflow:hidden}.dashboard-trend-item i{width:min(24px,62%);min-height:8px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#2dd4bf,#0f766e);box-shadow:0 7px 15px #0f766e33}.dashboard-trend-item>span{color:var(--ink-faint);font-size:10.5px;font-weight:800;white-space:nowrap}.dashboard-chip>span{display:inline-flex;align-items:center;gap:8px}.dashboard-chip>span>i{width:9px;height:9px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 4px #98a2b31f}.dashboard-chip-success>span>i{background:#12a06a;box-shadow:0 0 0 4px #12a06a1f}.dashboard-chip-warning>span>i{background:#e6a000;box-shadow:0 0 0 4px #e6a00024}.dashboard-chip-danger>span>i{background:#d92d20;box-shadow:0 0 0 4px #d92d201f}.dashboard-chip-success{border-color:#12a06a2e;background:#fbfffd}.dashboard-chip-warning{border-color:#e6a00038;background:#fffdf7}.dashboard-chip-danger{border-color:#d92d202e;background:snow}.dashboard-skeleton{pointer-events:none}.skeleton-line,.skeleton-card i,.skeleton-card b,.skeleton-card span,.skeleton-grid span,.skeleton-bars{position:relative;overflow:hidden;background:#e8eef1}.skeleton-line:after,.skeleton-card i:after,.skeleton-card b:after,.skeleton-card span:after,.skeleton-grid span:after,.skeleton-bars:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:dashboard-shimmer 1.25s infinite}.skeleton-line{width:210px;height:14px;border-radius:8px;margin-bottom:14px}.skeleton-line-short{width:138px}.skeleton-card{min-height:102px;padding:16px;border:1px solid #e2e8ec;border-radius:16px;background:#fbfcfd}.skeleton-card i,.skeleton-card b,.skeleton-card span{display:block;border-radius:7px}.skeleton-card i{width:72px;height:9px}.skeleton-card b{width:52px;height:28px;margin:12px 0 8px}.skeleton-card span{width:110px;height:9px}.skeleton-panel{min-height:190px}.skeleton-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.skeleton-grid span{height:62px;border-radius:12px}.skeleton-bars{height:132px;border-radius:12px}.skeleton-bars.tall{height:260px}@keyframes dashboard-shimmer{to{transform:translate(100%)}}@media(min-width:1025px)and (max-width:1280px){.sidebar{width:82px;padding:16px 10px}.brand{justify-content:center;padding:9px}.brand-text,.nav-label{display:none}.nav-item{justify-content:center;padding:10px}.nav-item .ico{width:20px;height:20px}.nav-alert-badge{position:absolute;top:5px;right:5px;margin:0;min-width:18px;height:18px;padding:0 4px;border-width:1px}.view-area{max-width:none;padding:16px}.dashboard-layout-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr)}}@media(max-width:1024px){.brand-text,.nav-label{display:block}.nav-item{justify-content:flex-start}.nav-alert-badge{position:static;margin-left:auto}}@media(max-width:760px){.dashboard-command{padding:14px}.dashboard-overview-head{align-items:stretch;flex-direction:column}.dashboard-overview-head .quick-action-buttons{display:grid;grid-template-columns:1fr 1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpi{min-height:94px;padding:12px}.dashboard-kpi .metric-value{font-size:25px}.dashboard-kpi .metric-hint{font-size:10.5px}.dashboard-alert-banner{align-items:flex-start;flex-wrap:wrap}.dashboard-alert-banner .btn{width:100%;margin-left:0;justify-content:center}.dashboard-balance-grid{grid-template-columns:1fr}.dashboard-trend{height:190px;grid-template-columns:repeat(14,44px)}.dashboard-trend-item{grid-template-rows:20px minmax(95px,1fr) 20px}.dashboard-live-panel .dashboard-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.skeleton-line:after,.skeleton-card i:after,.skeleton-card b:after,.skeleton-card span:after,.skeleton-grid span:after,.skeleton-bars:after{animation:none}}.data-freshness{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-soft)}.data-freshness[hidden]{display:none}@media(max-width:760px){.data-freshness #dataReadTime{display:none}}
