:root {
  --primary:#1677D2;--primary-hover:#0F63B6;--navy-sidebar:#0B1F33;--navy-active:#123C61;
  --background:#F5F7FA;--surface:#FFFFFF;--border:#D9E1E8;--text:#102A43;--text-muted:#627D98;
  --success:#15803D;--warning:#D97706;--danger:#DC2626;--info:#2563EB;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;
  --navy-950:var(--navy-sidebar);--navy-900:#0B2B48;--navy-800:var(--navy-active);--navy-700:#194B75;
  --blue-600:var(--primary);--blue-500:#2589DE;--blue-100:#DDECFB;--blue-50:#F1F7FD;
  --green:var(--success);--green-bg:#EAF7EF;--red:var(--danger);--red-bg:#FDECEC;--amber:var(--warning);
  --orange:#C96416;--purple:#6950A1;--cyan:#187C8B;--rose:#B93A5C;
  --gray-950:var(--text);--gray-800:#334E68;--gray-700:#486581;--gray-600:var(--text-muted);
  --gray-500:#829AB1;--gray-400:#9FB3C8;--gray-300:var(--border);--gray-200:#E5EBF0;
  --gray-100:#EEF2F6;--gray-50:var(--background);--white:var(--surface);
  --shadow:0 2px 8px rgba(11,31,51,.06);--shadow-lg:0 14px 34px rgba(11,31,51,.18);
  --radius:11px;--sidebar:228px;--topbar:64px;
}
*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI","Noto Sans",Arial,sans-serif;color:var(--gray-950);background:var(--gray-50)}body{margin:0;min-height:100vh;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin-bottom:8px}h2{font-size:18px}h3{font-size:15px}small{font-size:12px}.muted,.page-heading p,.panel-head p{color:var(--gray-600)}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:800;color:var(--blue-600);margin-bottom:7px}.eyebrow.light{color:#7ec2ff}.required,.text-danger,.danger-link{color:var(--red)!important}.text-link{color:var(--blue-600);font-weight:700;background:none;border:0;padding:0;cursor:pointer}.text-link:hover{text-decoration:underline}.link-button{border:0;background:none;color:var(--red);cursor:pointer;padding:8px 0}.wide{width:100%}
.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:var(--sidebar);background:var(--navy-950);color:#dbe8f3;display:flex;flex-direction:column;padding:22px 16px}.brand{display:flex;gap:11px;align-items:center;padding:0 8px 24px}.brand-mark{width:38px;height:38px;border-radius:11px;display:inline-grid;place-items:center;background:linear-gradient(145deg,#2b9cf1,#1064b6);color:#fff;font-weight:900;letter-spacing:-1px;box-shadow:0 6px 14px rgba(18,116,202,.35);flex:none}.brand-mark.large{width:48px;height:48px;font-size:17px}.brand strong{font-size:17px;display:block;color:#fff}.brand small{display:block;color:#829db2;margin-top:3px;font-size:10px}.side-nav{display:flex;flex-direction:column;gap:5px;flex:1}.side-nav a{display:flex;align-items:center;gap:12px;border-radius:10px;padding:11px 12px;color:#a9bdcd;font-weight:600;position:relative}.side-nav a>span{font-size:19px;width:22px;text-align:center}.side-nav a:hover{background:#102e48;color:#fff}.side-nav a.active{background:linear-gradient(90deg,#164b78,#123c61);color:#fff;box-shadow:inset 3px 0 #38a7ff}.nav-label{color:#637f94;font-size:10px;font-weight:800;letter-spacing:1.4px;padding:20px 12px 5px}.nav-badge{background:var(--red);color:#fff;border-radius:20px;font-size:10px;padding:2px 6px;margin-left:auto}.sidebar-user{border-top:1px solid #1e3a50;padding:17px 7px 0;display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:var(--blue-100);color:var(--blue-600);display:inline-grid;place-items:center;font-weight:800;flex:none}.sidebar-user strong{display:block;font-size:12px;color:#fff}.sidebar-user small{display:block;color:#7892a6;margin-top:3px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-area{width:calc(100% - var(--sidebar));margin-left:var(--sidebar);min-width:0}.topbar{height:var(--topbar);position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;padding:0 28px;gap:18px}.menu-button{display:none}.global-search{background:var(--gray-100);height:40px;border-radius:9px;display:flex;align-items:center;gap:9px;padding:0 13px;width:min(480px,48vw);color:var(--gray-500)}.global-search input{border:0;background:transparent;outline:0;flex:1;color:var(--gray-950)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.icon-button{border:1px solid var(--gray-200);background:#fff;width:40px;height:40px;border-radius:10px;display:inline-grid;place-items:center;cursor:pointer;position:relative}.notification-button{font-size:20px}.notification-button b,.mobile-nav>a>b{position:absolute;right:-4px;top:-5px;background:var(--red);color:#fff;border:2px solid #fff;border-radius:14px;min-width:19px;height:19px;display:grid;place-items:center;font-size:9px}.user-menu{position:relative}.user-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-weight:600}.user-menu[open] form{position:absolute;right:0;top:45px;background:#fff;box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);border-radius:10px;padding:8px 18px;min-width:130px}.content{padding:28px;max-width:1600px;margin:0 auto}.mobile-nav{display:none}.page-heading{margin-bottom:22px}.page-heading.split{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-heading p{margin-bottom:0}.button-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.breadcrumb{font-size:12px;color:var(--gray-600);display:flex;gap:8px;margin-bottom:8px}.breadcrumb a{color:var(--blue-600);font-weight:700}
.button{border:1px solid transparent;border-radius:9px;min-height:39px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer;transition:.16s;background:#fff}.button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(7,26,44,.1)}.button.primary{background:var(--blue-600);color:#fff}.button.secondary{border-color:var(--gray-300);color:var(--gray-800)}.button.ghost{color:var(--blue-600);background:var(--blue-50)}.button.success{background:var(--green);color:#fff}.button.danger-solid{background:var(--red);color:#fff}.button.danger-outline{border-color:#efb0b3;color:var(--red)}.button.large{min-height:46px;padding:11px 21px}.round-button{width:42px;height:42px;border:0;border-radius:50%;background:rgba(6,25,43,.75);color:#fff;font-size:18px;cursor:pointer}
.panel{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:0 1px 3px rgba(7,26,44,.025);margin-bottom:20px}.panel-head{padding:18px 20px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-head h2,.panel-head p{margin:0}.panel-head p{font-size:12px;margin-top:3px}.kpi-grid{display:grid;gap:13px;margin-bottom:20px}.kpi-grid.six{grid-template-columns:repeat(6,1fr)}.kpi-grid.seven{grid-template-columns:repeat(7,1fr)}.kpi-card{position:relative;background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:15px;min-width:0}.kpi-card>span{display:block;color:var(--gray-600);font-size:12px;font-weight:600}.kpi-card>strong{display:block;font-size:27px;letter-spacing:-.7px;margin:9px 0 4px}.kpi-card>small{display:block;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-icon{width:31px;height:31px;border-radius:9px;float:right;display:grid;place-items:center;font-weight:800}.kpi-icon.blue{color:var(--blue-600);background:var(--blue-100)}.kpi-icon.red{color:var(--red);background:var(--red-bg)}.kpi-icon.amber{color:var(--amber);background:#fff2d8}.kpi-icon.orange{color:var(--orange);background:#ffede2}.kpi-icon.purple{color:var(--purple);background:#eee8fb}.kpi-icon.green{color:var(--green);background:var(--green-bg)}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.chart-panel{overflow:hidden}.chart{min-height:315px;padding:20px;overflow-x:auto}.chart svg{width:100%;min-width:530px;height:280px;overflow:visible}.chart text{font-family:inherit;fill:var(--gray-600);font-size:10px}.chart-tooltip{position:fixed;z-index:100;background:var(--navy-950);color:#fff;border-radius:7px;padding:7px 10px;font-size:11px;pointer-events:none;box-shadow:var(--shadow)}.legend{font-size:11px;color:var(--gray-600);display:flex;align-items:center;gap:7px}.bar-key,.line-key{width:12px;height:8px;background:var(--blue-500);border-radius:2px}.line-key{height:2px;background:var(--orange);margin-left:8px}.donut-layout{min-width:0}.inline-filters{display:flex;gap:9px}.inline-filters select{min-width:120px}
label{display:block;color:var(--gray-700);font-size:12px;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--gray-300);border-radius:8px;background:#fff;color:var(--gray-950);padding:10px 11px;outline:0;min-height:41px;margin-top:6px}input:focus,select:focus,textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(37,145,237,.12)}textarea{resize:vertical;line-height:1.5}.check-label{display:flex;align-items:center;gap:8px}.check-label input,.confirmation-check input{width:17px;height:17px;min-height:auto;margin:0}.form-grid{display:grid;gap:15px;margin-bottom:16px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid .full,.info-grid .full,.review-grid .full{grid-column:1/-1}.field-hint{display:block;color:var(--gray-500);margin-top:5px;font-weight:400}.input-action{display:flex}.input-action input{border-radius:8px 0 0 8px}.input-action button{margin-top:6px;border:0;background:var(--navy-800);color:#fff;border-radius:0 8px 8px 0;padding:0 14px;font-weight:700;cursor:pointer}.helper-box{background:var(--gray-50);border:1px dashed var(--gray-300);padding:10px 12px;border-radius:8px;color:var(--gray-600);font-size:12px}.helper-box.error{color:var(--red);background:var(--red-bg);border-color:#f1b8bb}.helper-box.warning{color:#8a5a08;background:#fff7df;border-color:#e8cf91}.helper-box.success{color:#0f7545;background:var(--green-bg);border-color:#a9dbc0}.flash-stack{position:fixed;right:24px;top:86px;z-index:80;display:grid;gap:8px;width:min(420px,calc(100vw - 32px))}.flash{padding:12px 14px;border-radius:9px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);font-weight:600}.flash button{border:0;background:none;font-size:20px;cursor:pointer}.flash-success{background:var(--green-bg);color:#12643e;border:1px solid #b6e1c9}.flash-danger{background:var(--red-bg);color:#a52d32;border:1px solid #f1b7ba}.flash-warning{background:#fff5dc;color:#906012;border:1px solid #ead7a4}
.badge,.severity-pill{display:inline-flex;align-items:center;border-radius:20px;padding:4px 9px;font-size:10px;font-weight:800;white-space:nowrap}.badge.red{color:#b82d34;background:var(--red-bg)}.badge.blue{color:#1768ad;background:#e1effc}.badge.amber{color:#976009;background:#fff3d9}.badge.orange{color:#b64f16;background:#ffe9dc}.badge.green{color:#117547;background:var(--green-bg)}.badge.purple{color:#6040a6;background:#eee8fb}.badge.cyan{color:#127180;background:#e1f4f7}.badge.rose{color:#a63054;background:#fae4eb}.badge.gray{color:#5d6872;background:#edf0f2}.large-badge{font-size:12px;padding:7px 12px}.severity-pill{color:var(--severity);background:color-mix(in srgb,var(--severity) 12%,white);border:1px solid color-mix(in srgb,var(--severity) 25%,white)}.severity-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:7px}
.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:850px}.table-wrap th{text-align:left;color:var(--gray-600);font-size:10px;letter-spacing:.5px;text-transform:uppercase;background:var(--gray-50);padding:11px 14px;border-bottom:1px solid var(--gray-200);white-space:nowrap}.table-wrap td{padding:12px 14px;border-bottom:1px solid var(--gray-200);vertical-align:middle;color:var(--gray-800)}.table-wrap tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover{background:#f8fbfe}.table-wrap td b,.table-wrap td small{display:block}.table-wrap td small{color:var(--gray-500);margin-top:3px}.table-wrap .cell-wrap{max-width:260px;white-space:normal}.click-row{cursor:pointer}.table-summary{padding:13px 18px;color:var(--gray-600);border-bottom:1px solid var(--gray-200)}.pagination{padding:14px;display:flex;justify-content:center;align-items:center;gap:20px}.pagination a{width:34px;height:34px;border:1px solid var(--gray-300);border-radius:8px;display:grid;place-items:center}.filter-panel{padding:15px}.filter-grid{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(140px,1fr)) auto auto;gap:10px;align-items:center}.filter-grid input,.filter-grid select{margin:0}.search-field{position:relative}.search-field span{position:absolute;left:12px;top:11px;color:var(--gray-500)}.search-field input{padding-left:34px}.empty-state{padding:35px!important;text-align:center;color:var(--gray-500)}.empty-state>*{display:block;margin:5px auto}.empty-state b{color:var(--gray-800);font-size:15px}.empty-state.large{background:#fff;border:1px dashed var(--gray-300);border-radius:var(--radius);padding:55px 20px}.empty-icon{font-size:36px;color:var(--gray-400)}
.wizard-shell{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.wizard-steps{list-style:none;margin:0;padding:18px 28px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--gray-200);counter-reset:step}.wizard-steps li{display:flex;align-items:center;gap:10px;position:relative;color:var(--gray-500)}.wizard-steps li:not(:last-child):after{content:"";height:2px;background:var(--gray-200);position:absolute;left:50px;right:10px;top:18px}.wizard-steps li>b{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;background:var(--gray-100);display:grid;place-items:center}.wizard-steps li>span{font-size:12px;font-weight:800}.wizard-steps small{display:block;font-weight:400;margin-top:2px}.wizard-steps li.active,.wizard-steps li.done{color:var(--blue-600)}.wizard-steps li.active>b,.wizard-steps li.done>b{background:var(--blue-600);color:#fff}.wizard-steps li.done:not(:last-child):after{background:var(--blue-500)}.wizard-panel{display:none;padding:27px 30px}.wizard-panel.active{display:block}.section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px}.section-title>span{width:34px;height:34px;border-radius:9px;background:var(--blue-100);color:var(--blue-600);display:grid;place-items:center;font-weight:900;font-size:11px;flex:none}.section-title h2,.section-title p{margin:0}.section-title p{font-size:12px;color:var(--gray-600);margin-top:4px}.scan-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;margin-bottom:24px}.camera-box{height:330px;background:linear-gradient(150deg,#102a40,#071725);border-radius:13px;position:relative;overflow:hidden;color:#fff}.camera-box.compact{height:300px}.camera-box video{width:100%;height:100%;object-fit:cover;display:none}.camera-box.running video{display:block}.camera-box.running .camera-placeholder{display:none}.camera-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#c1d1de}.scan-symbol{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;background:rgba(32,135,215,.15);color:#53adf2;font-size:35px}.scan-symbol.small{width:39px;height:39px;border-radius:10px;font-size:23px;flex:none}.camera-placeholder small{color:#7792a7}.scan-frame{position:absolute;width:64%;height:38%;top:28%;left:18%;z-index:2;pointer-events:none}.scan-frame i{position:absolute;width:35px;height:35px;border-color:#43b0ff;border-style:solid}.scan-frame i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px}.scan-frame i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0}.scan-frame i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px}.scan-frame i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0}.scan-frame span{position:absolute;top:calc(100% + 11px);width:100%;text-align:center;font-size:11px;color:#c0d2e0;text-shadow:0 1px 2px #000}.camera-controls{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:16px;z-index:3}.camera-start{background:#fff!important;color:var(--navy-900)!important}.scan-fields{display:flex;flex-direction:column;gap:14px}.resolved-product{border:1px solid #acdcbf;background:var(--green-bg);border-radius:10px;padding:13px;display:flex;gap:11px}.resolved-product[hidden]{display:none}.resolved-product .success-mark{width:27px;height:27px;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center}.resolved-product small,.resolved-product strong,.resolved-product span{display:block}.resolved-product strong{margin:3px 0}.resolved-product div>span{color:#3f6e58;font-size:11px;margin-top:3px}.subheading{border-top:1px solid var(--gray-200);padding-top:20px}.severity-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.severity-options input,.cause-options input{position:absolute;opacity:0;pointer-events:none}.severity-options label>span{border:1px solid var(--gray-300);border-radius:10px;min-height:53px;padding:10px 12px;display:flex;gap:9px;align-items:center;cursor:pointer}.severity-options i{width:11px;height:11px;border-radius:50%;background:var(--severity)}.severity-options input:checked+span{border-color:var(--severity);background:color-mix(in srgb,var(--severity) 7%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--severity) 17%,white)}.severity-empty{grid-column:1/-1}.wizard-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--gray-200);padding-top:20px;margin-top:24px}.product-review-card,.confirmation-card{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:11px;padding:17px;margin:20px 0}.product-review-card h3{margin-bottom:15px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.review-grid span{color:var(--gray-600);font-size:11px}.review-grid b{display:block;color:var(--gray-950);font-size:13px;margin-top:5px}.upload-zone{border:2px dashed var(--gray-300);border-radius:12px;padding:28px;text-align:center;cursor:pointer;background:var(--gray-50)}.upload-zone:hover{border-color:var(--blue-500);background:var(--blue-50)}.upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.upload-zone b,.upload-zone small{display:block}.upload-zone small{font-weight:400;color:var(--gray-500);margin-top:5px}.upload-icon{display:block;font-size:25px;color:var(--blue-600);margin-bottom:7px}.file-previews{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.file-preview{width:100px;border:1px solid var(--gray-200);border-radius:8px;padding:6px;background:#fff}.file-preview img,.file-preview video{width:86px;height:65px;object-fit:cover;border-radius:5px}.file-preview small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirmation-head{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--gray-200);padding-bottom:15px;margin-bottom:15px}.confirmation-head h3,.confirmation-head small{margin:0}.confirmation-head .badge{margin-left:auto}.confirmation-check{display:flex;gap:9px;align-items:center;background:#fff7e7;border:1px solid #f0d89f;padding:13px;border-radius:9px}
.product-code-picker{position:relative}.field-label{display:block;color:var(--gray-700);font-size:12px;font-weight:700}.product-picker-trigger{width:100%;min-height:58px;margin-top:6px;padding:9px 12px;border:1px solid var(--gray-300);border-radius:9px;background:#fff;color:var(--text);display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer}.product-picker-trigger:not(:disabled):hover{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(37,145,237,.1)}.product-picker-trigger:disabled{cursor:not-allowed;background:var(--gray-50);color:var(--gray-500)}.product-picker-trigger>i{width:20px;height:20px;flex:none;border-radius:50%;background:var(--selected-color,#94a3b8);border:1px solid rgba(11,31,51,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.product-picker-trigger span{min-width:0}.product-picker-trigger b,.product-picker-trigger small{display:block}.product-picker-trigger small{margin-top:3px;color:var(--gray-500);font-weight:500;white-space:normal}.product-native-select{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;left:10px;bottom:4px;opacity:0;margin:0!important;padding:0!important;pointer-events:none}.product-picker-dialog{width:min(760px,calc(100vw - 24px));max-height:88dvh;padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 30px 90px rgba(7,26,44,.35);overflow:auto}.product-picker-dialog::backdrop{background:rgba(5,21,36,.62);backdrop-filter:blur(3px)}.product-picker-head{display:flex;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--gray-200)}.product-picker-head h2,.product-picker-head p{margin:0}.product-picker-head .eyebrow{margin-bottom:4px}.product-picker-head p:last-child{margin-top:4px;color:var(--gray-600)}.product-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 20px}.product-choice{position:relative;min-width:0}.product-choice>input{position:absolute;opacity:0;pointer-events:none}.product-choice-body{min-height:92px;padding:14px;border:1px solid var(--gray-300);border-left:6px solid var(--product-color);border-radius:12px;background:color-mix(in srgb,var(--product-color) 4%,#fff);display:grid;grid-template-columns:19px minmax(0,1fr);gap:10px;align-items:start;cursor:pointer}.product-choice-body>i{width:17px;height:17px;margin-top:1px;border-radius:50%;background:var(--product-color);border:2px solid #fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--product-color) 55%,var(--gray-300))}.product-choice-body b,.product-choice-body small,.product-choice-body em{display:block;overflow-wrap:anywhere}.product-choice-body b{font-size:14px}.product-choice-body small{margin-top:4px;color:var(--gray-600);font-weight:500}.product-choice-body em{width:max-content;max-width:100%;margin-top:8px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--product-color) 12%,#fff);color:var(--gray-700);font-size:10px;font-style:normal;font-weight:700}.product-choice>input:checked+.product-choice-body{border-color:var(--product-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--product-color) 16%,transparent)}.product-choice-empty{grid-column:1/-1;padding:28px;text-align:center;color:var(--gray-500);border:1px dashed var(--gray-300);border-radius:10px}.product-picker-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;border-top:1px solid var(--gray-200);background:var(--gray-50)}.product-picker-actions>span{color:var(--gray-600);font-weight:700}
@media(max-width:600px){.product-picker-dialog{width:calc(100vw - 14px);max-height:94dvh}.product-picker-head{padding:16px}.product-choice-grid{grid-template-columns:1fr;padding:14px}.product-picker-actions{padding:12px 14px}.product-choice-body{min-height:82px}}
.detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.detail-kpis article{background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:13px 15px}.detail-kpis span,.info-grid span{display:block;color:var(--gray-600);font-size:11px}.detail-kpis b,.info-grid b{display:block;margin-top:5px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:20px}.info-section{padding-bottom:18px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px;padding:19px 20px}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 20px}.media-grid img,.video-file{width:100%;height:125px;object-fit:cover;border-radius:9px;background:var(--navy-950);display:grid;place-items:center;color:#fff}.video-file{font-size:28px}.video-file small{font-size:9px;max-width:90%;overflow:hidden}.table-wrap.compact{margin:0 20px;border:1px solid var(--gray-200);border-radius:9px}.action-panel{padding:18px}.action-panel h2{margin-bottom:15px}.action-panel>form,.action-panel>details{margin-top:9px}.inline-details summary{list-style:none;cursor:pointer}.inline-details form{margin-top:8px;padding:10px;background:var(--gray-50);border-radius:9px}.inline-details form>*{margin-top:7px}.attachment-mini{border-top:1px solid var(--gray-200);padding-top:13px!important;margin-top:17px!important}.timeline-panel{padding-bottom:15px}.timeline{list-style:none;padding:18px 20px;margin:0}.timeline li{display:grid;grid-template-columns:16px 1fr;gap:9px;position:relative;padding-bottom:23px}.timeline li:not(:last-child):before{content:"";position:absolute;left:5px;top:13px;bottom:0;width:2px;background:var(--gray-200)}.timeline li>i{width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--blue-600);box-shadow:0 0 0 2px var(--blue-100);z-index:1}.timeline li.green>i{background:var(--green)}.timeline li.red>i{background:var(--red)}.timeline li.amber>i,.timeline li.orange>i{background:var(--amber)}.timeline b,.timeline span,.timeline time{display:block}.timeline span,.timeline time{font-size:10px;color:var(--gray-500);margin-top:3px}.timeline p{font-size:11px;color:var(--gray-700);margin:7px 0 0}.timeline p.note{background:#fff3da;padding:7px;border-radius:5px}.comments{padding:17px 20px}.comments article{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--gray-200)}.comments article b,.comments article time{display:inline-block}.comments time{color:var(--gray-500);font-size:10px;margin-left:8px}.comments p{margin:5px 0 0;color:var(--gray-700)}.comment-form{padding:0 20px 20px;display:flex;gap:10px;align-items:flex-end}.comment-form textarea{margin:0}.detail-side{min-width:0}
.scan-repair-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:20px}.repair-scanner,.scan-help{padding:20px}.divider-text{display:flex;align-items:center;gap:10px;color:var(--gray-500);font-size:11px;margin:16px 0}.divider-text:before,.divider-text:after{content:"";height:1px;background:var(--gray-200);flex:1}.scan-search{display:flex;gap:9px}.scan-search input{margin:0;font-size:16px}.scan-help ol{padding:0;list-style:none;counter-reset:help}.scan-help li{display:grid;grid-template-columns:28px 1fr;column-gap:10px;padding:13px 0;border-bottom:1px solid var(--gray-200);counter-increment:help}.scan-help li:before{content:counter(help);grid-row:1/3;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--blue-100);color:var(--blue-600);font-weight:800}.scan-help li span{font-size:11px;color:var(--gray-600);margin-top:4px}.results-section{margin-top:10px}.section-heading{margin:20px 0}.result-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.result-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:18px}.result-card-head,.result-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.result-card-head h3{font-size:17px;color:var(--blue-600);margin-bottom:3px}.result-card-head span{font-size:11px;color:var(--gray-500)}.result-product{display:flex;align-items:center;gap:10px;background:var(--gray-50);padding:12px;border-radius:9px;margin:15px 0}.result-product b,.result-product span{display:block}.result-product span{font-size:11px;color:var(--gray-600);margin-top:4px}.defect-summary{padding:12px;border-left:3px solid var(--red);background:var(--red-bg);line-height:1.5}.defect-summary small{display:block;color:#a12a30;font-weight:800}.result-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-card dl div{border:1px solid var(--gray-200);border-radius:8px;padding:9px}.result-card dt{font-size:10px;color:var(--gray-500)}.result-card dd{margin:4px 0 0;font-weight:700}.result-actions{border-top:1px solid var(--gray-200);padding-top:14px}.result-actions form{margin-left:auto}
.analysis-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.form-section{padding:21px}.form-section>.section-title{margin-bottom:18px}.cause-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cause-options label>span{border:1px solid var(--gray-300);border-radius:9px;padding:13px;display:flex;gap:8px;align-items:center;cursor:pointer;min-height:51px}.cause-options i{width:15px;height:15px;border:2px solid var(--gray-400);border-radius:50%}.cause-options input:checked+span{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-600)}.cause-options input:checked+span i{border:4px solid var(--blue-600)}.conditional-section{display:none}.conditional-section.visible{display:block}.part-row{border:1px solid var(--gray-200);border-radius:10px;padding:15px;margin-bottom:12px;background:var(--gray-50)}.part-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sticky-summary{position:sticky;top:calc(var(--topbar) + 20px);padding:19px}.sticky-summary dl div{padding:10px 0;border-bottom:1px solid var(--gray-200)}.sticky-summary dt{font-size:10px;color:var(--gray-500)}.sticky-summary dd{margin:4px 0 0;font-weight:700}.sticky-actions{margin-top:17px;display:grid;gap:7px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.process-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:22px;transition:.16s}.process-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#b9d9f4}.process-code{color:var(--blue-600);background:var(--blue-50);padding:5px 8px;border-radius:6px;font-size:10px;font-weight:800}.process-card h2{margin:14px 0 6px}.process-card p{color:var(--gray-600)}
.admin-tabs>nav{display:flex;gap:5px;border-bottom:1px solid var(--gray-300);overflow-x:auto;margin-bottom:20px}.admin-tabs>nav button{border:0;background:none;padding:12px 14px;color:var(--gray-600);font-weight:700;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent}.admin-tabs>nav button.active{color:var(--blue-600);border-color:var(--blue-600)}.admin-tabs>nav b{background:var(--gray-100);border-radius:12px;padding:2px 6px;font-size:9px}.admin-tabs [data-tab-panel]{display:none}.admin-tabs [data-tab-panel].active{display:block}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.admin-layout.single{grid-template-columns:1fr}.admin-form{padding:19px;height:max-content}.admin-form form{display:grid;gap:13px}.import-form{display:flex;gap:7px;align-items:center}.import-form input{margin:0;max-width:210px;padding:7px}.severity-admin-list{padding:10px 20px}.severity-admin-list>div,.master-row{display:grid;grid-template-columns:20px 1fr auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--gray-200)}.severity-admin-list i{width:12px;height:12px;border-radius:50%}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:20px}.master-row{grid-template-columns:80px 1fr auto}.notification-list{overflow:hidden}.notification-item{display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;padding:16px 19px;border-bottom:1px solid var(--gray-200)}.notification-item.unread{background:#f3f9fe}.notification-item.unread:before{content:"";position:absolute;width:4px;height:40px;background:var(--blue-500);left:0}.notification-item{position:relative}.notification-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--blue-100);color:var(--blue-600);font-weight:900}.notification-title{display:flex;justify-content:space-between;gap:10px}.notification-title time{font-size:10px;color:var(--gray-500)}.notification-item p{margin:5px 0 0;color:var(--gray-600)}.error-page{text-align:center;padding:12vh 20px}.error-page>b{font-size:70px;color:var(--blue-100)}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr}.login-visual{padding:55px clamp(40px,7vw,100px);color:#fff;background:radial-gradient(circle at 75% 20%,rgba(42,145,224,.28),transparent 35%),linear-gradient(145deg,#071827,#0c3152);display:flex;flex-direction:column;justify-content:space-between}.login-brand{display:flex;align-items:center;gap:12px;font-size:20px}.login-visual h1{font-size:clamp(38px,4.5vw,65px);line-height:1.05;letter-spacing:-2px;margin-bottom:22px}.login-visual p:not(.eyebrow){color:#a9bece;max-width:540px;line-height:1.7}.login-stats{display:flex;gap:40px;color:#9fb5c5}.login-stats b{display:block;color:#fff;font-size:18px}.login-panel{display:grid;place-items:center;padding:35px;background:#fff}.login-card{width:min(410px,100%)}.login-card h2{font-size:27px;margin-bottom:6px}.login-card>label{margin-top:17px}.login-card>.button{margin-top:23px}.demo-box{margin-top:25px;padding:13px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:9px;display:grid;gap:5px;color:var(--gray-600);font-size:11px}.demo-box b{color:var(--gray-800)}.mobile-login-brand{display:none}
@media(max-width:1250px){.kpi-grid.six{grid-template-columns:repeat(3,1fr)}.kpi-grid.seven{grid-template-columns:repeat(4,1fr)}.filter-grid{grid-template-columns:minmax(220px,2fr) repeat(2,1fr);}.filter-grid .button{width:100%}.info-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){:root{--sidebar:220px}.content{padding:22px}.dashboard-grid{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr}.detail-side{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.analysis-layout{grid-template-columns:1fr}.sticky-summary{position:static}.wizard-steps li>span{display:none}.scan-layout{grid-template-columns:1fr}.camera-box{height:300px}.severity-options{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.result-cards{grid-template-columns:1fr}.kpi-grid.seven{grid-template-columns:repeat(3,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr 1fr}.login-stats{gap:20px}.cause-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){:root{--topbar:60px}.sidebar{transform:translateX(-100%);transition:.2s;width:270px;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translateX(0)}.main-area{width:100%;margin-left:0}.topbar{padding:0 14px}.menu-button{display:grid}.global-search{display:none}.user-name{display:none}.content{padding:17px 13px 95px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:25;left:0;right:0;bottom:0;height:68px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--gray-200);box-shadow:0 -7px 20px rgba(7,26,44,.08)}.mobile-nav>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--gray-500);position:relative}.mobile-nav>a>span{font-size:19px}.mobile-nav>a.active{color:var(--blue-600)}.mobile-nav .mobile-primary{transform:translateY(-17px);color:var(--blue-600)}.mobile-nav .mobile-primary>span{width:50px;height:50px;border-radius:50%;background:var(--blue-600);color:#fff;display:grid;place-items:center;border:5px solid #fff;box-sizing:content-box;box-shadow:0 5px 16px rgba(22,119,210,.35);font-size:27px}.page-heading.split,.detail-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:24px}.button-row{width:100%}.button-row>.button{flex:1}.kpi-grid.six,.kpi-grid.seven{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.kpi-grid .kpi-card{min-width:145px;scroll-snap-align:start}.panel{border-radius:11px}.dashboard-grid{gap:0}.chart{padding:12px;min-height:280px}.table-wrap table{min-width:750px}.table-wrap th,.table-wrap td{padding:10px 11px}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid .search-field{grid-column:1/-1}.wizard-shell{margin:0 -4px}.wizard-steps{padding:12px 16px}.wizard-steps li{justify-content:center}.wizard-steps li:not(:last-child):after{left:65%;right:-35%}.wizard-panel{padding:20px 15px}.camera-box{height:270px}.form-grid.two,.review-grid{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr 1fr}.severity-options{grid-template-columns:1fr 1fr}.wizard-actions .button{flex:1}.detail-kpis{display:flex;overflow-x:auto}.detail-kpis article{min-width:170px}.info-grid{grid-template-columns:1fr 1fr;padding:16px}.media-grid{grid-template-columns:repeat(2,1fr);padding:0 16px}.detail-side{display:block}.comment-form{flex-direction:column}.comment-form .button{width:100%}.scan-repair-layout{grid-template-columns:1fr}.scan-help{display:none}.repair-scanner{padding:13px}.scan-search{flex-direction:column}.result-actions{flex-wrap:wrap}.result-actions>*{flex:1}.cause-options{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.admin-tabs{margin:0 -13px}.admin-tabs>nav{padding:0 13px}.two-columns{grid-template-columns:1fr}.notification-item{grid-template-columns:38px 1fr}.notification-item form{grid-column:2}.login-page{display:block;background:#fff}.login-visual{display:none}.login-panel{min-height:100vh;padding:28px 22px}.mobile-login-brand{display:flex;align-items:center;gap:10px;font-size:18px;margin-bottom:60px}.flash-stack{top:70px;right:16px}.inline-filters{width:100%}.inline-filters select,.inline-filters .button{flex:1}.analysis-form .panel{margin-left:-4px;margin-right:-4px}.form-section{padding:16px}.part-row{padding:12px}.notification-title{display:block}.notification-title time{display:block;margin-top:3px}}
@media(max-width:430px){.filter-grid{grid-template-columns:1fr}.filter-grid .search-field{grid-column:auto}.severity-options{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.detail-kpis article{min-width:155px}.wizard-actions{flex-direction:column-reverse}.wizard-actions>span{display:none}.wizard-actions .button{width:100%}.result-card-head{align-items:flex-start;flex-direction:column}.result-card dl{grid-template-columns:1fr}.login-card h2{font-size:24px}}
@media print{.sidebar,.topbar,.mobile-nav,.button-row,.action-panel,.comment-form{display:none!important}.main-area{margin:0;width:100%}.content{padding:0}.panel{box-shadow:none}.detail-layout{display:block}.detail-side{display:none}}
.ticket-qr{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--gray-200);padding-bottom:14px;margin-bottom:15px}.ticket-qr img{width:64px;height:64px;border:1px solid var(--gray-200);border-radius:6px}.ticket-qr b,.ticket-qr small{display:block}.ticket-qr small{color:var(--gray-500);margin-top:4px}
.annotation-workspace{margin-top:12px;border:1px solid var(--gray-300);border-radius:11px;background:var(--gray-50);overflow:hidden}.annotation-workspace[hidden]{display:none}.annotation-head{padding:12px 14px;background:#fff;border-bottom:1px solid var(--gray-200)}.annotation-head b,.annotation-head small{display:block}.annotation-head small{color:var(--gray-500);margin-top:3px}.annotation-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px}.annotation-toolbar button{border:1px solid var(--gray-300);background:#fff;border-radius:7px;padding:7px 9px;cursor:pointer}.annotation-toolbar button.active{border-color:var(--blue-600);color:var(--blue-600);background:var(--blue-50)}.annotation-toolbar input{width:auto;margin:0;min-height:35px}.annotation-toolbar [data-note]{flex:1;min-width:150px}.annotation-toolbar [data-color]{width:40px;padding:3px}.annotation-canvas-wrap{background:#17222c;padding:10px;overflow:auto;text-align:center}.annotation-canvas-wrap canvas{max-width:100%;height:auto;touch-action:none;cursor:crosshair;background:#fff}.annotation-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;font-size:11px;color:var(--gray-600)}
@media(max-width:760px){.annotation-foot{align-items:stretch;flex-direction:column}.annotation-toolbar button{flex:1}.annotation-toolbar [data-note]{order:2;flex-basis:100%}}
.direct-notification-button{border-color:#9bc9ec!important;color:#126aaa!important;background:#eef7fe!important}.direct-notification-modal{width:min(620px,calc(100vw - 24px));max-height:90vh;padding:0;border:0;border-radius:16px;box-shadow:0 30px 80px rgba(7,26,44,.3);overflow:auto}.direct-notification-modal::backdrop{background:rgba(4,18,31,.62);backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--gray-200)}.modal-head h2,.modal-head p{margin-bottom:3px}.modal-close{border:0;background:var(--gray-100);width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}.modal-body{padding:20px 22px;display:grid;gap:16px}.modal-body fieldset{border:0;padding:0;margin:0}.modal-body legend{font-size:12px;font-weight:800;color:var(--gray-700);margin-bottom:7px}.target-options,.notification-type-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.notification-type-options{grid-template-columns:repeat(3,1fr)}.target-options input,.notification-type-options input{position:absolute;opacity:0}.target-options span,.notification-type-options span{display:block;text-align:center;border:1px solid var(--gray-300);border-radius:9px;padding:10px;cursor:pointer}.target-options input:checked+span{border-color:var(--blue-600);background:var(--blue-50);color:var(--blue-600);font-weight:800}.notification-type-options .info input:checked+span{border-color:var(--blue-600);background:var(--blue-50);color:var(--blue-600)}.notification-type-options .attention input:checked+span{border-color:var(--orange);background:#fff0e7;color:#b75017}.notification-type-options .urgent input:checked+span{border-color:var(--red);background:var(--red-bg);color:#b22d33}.auto-attachment-summary{background:var(--gray-50);border:1px dashed var(--gray-300);border-radius:9px;padding:10px 12px}.auto-attachment-summary b,.auto-attachment-summary span{display:block}.auto-attachment-summary span{font-size:11px;color:var(--gray-600);margin-top:4px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--gray-200);background:var(--gray-50)}.button.direct-send{background:#126aaa;color:#fff}.notification-icon.attention{color:#b75017;background:#fff0e7}.notification-icon.urgent{color:#b22d33;background:var(--red-bg)}.notification-history-list article{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:16px 20px;border-bottom:1px solid var(--gray-200)}.notification-history-list article p{white-space:pre-line;color:var(--gray-700);line-height:1.55;margin:7px 0}.notification-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--gray-500)}.history-lock{font-size:10px;color:#397252;background:var(--green-bg);padding:5px 8px;border-radius:15px}
@media(max-width:600px){.notification-type-options{grid-template-columns:1fr}.direct-notification-modal{max-height:96vh}.modal-head,.modal-body{padding-left:16px;padding-right:16px}.notification-history-list article{padding:14px}}
.notification-filters{display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;padding-bottom:3px}.notification-filters a{white-space:nowrap;padding:8px 13px;border:1px solid var(--gray-300);border-radius:18px;background:#fff;color:var(--gray-600);font-size:11px;font-weight:700}.notification-filters a.active{color:#fff;background:var(--blue-600);border-color:var(--blue-600)}.notification-message{white-space:pre-line;line-height:1.55}.notification-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.notification-tags span{font-size:9px;background:var(--gray-100);color:var(--gray-600);padding:4px 7px;border-radius:12px}
.master-filter{display:grid;grid-template-columns:minmax(240px,1fr) 180px 150px auto auto;gap:9px;padding:12px;margin-bottom:18px}.master-filter input,.master-filter select{margin:0}.data-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.data-tools .import-form input{max-width:170px}.button.small{min-height:32px;padding:6px 9px;font-size:10px}.master-actions{display:flex;gap:5px;align-items:center;justify-content:flex-end}.master-actions form{margin:0}.master-edit-corner{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--blue-100);border-radius:7px;background:var(--blue-50);color:var(--blue-700);font-weight:700;cursor:pointer}.master-select-cell{width:42px;text-align:center!important}.master-select-cell input{width:18px;height:18px;accent-color:var(--blue-600)}.bulk-delete-button:disabled{opacity:.45;cursor:not-allowed}.color-swatch{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:7px;vertical-align:middle}.audit-detail{font-family:ui-monospace,Consolas,monospace;font-size:10px;max-width:420px}.master-edit-modal{width:min(520px,calc(100vw - 24px));padding:0;border:0;border-radius:16px;box-shadow:0 30px 80px rgba(7,26,44,.3)}.master-edit-modal::backdrop{background:rgba(4,18,31,.62);backdrop-filter:blur(3px)}.master-edit-modal [data-master-edit-fields]{display:grid;grid-template-columns:1fr 1fr}.master-edit-modal [data-master-edit-fields] label:last-child:nth-child(odd){grid-column:1/-1}.master-checkbox{padding:12px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;margin-top:6px}.settings-panel{max-width:900px}.settings-body{padding:20px}.setting-switch-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid var(--gray-200)}.setting-switch-row b,.setting-switch-row span{display:block}.setting-switch-row span{font-size:11px;color:var(--gray-500);margin-top:4px}.switch{position:relative;display:inline-block;width:46px;height:26px;flex:none}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch i{display:block;width:46px;height:26px;border-radius:20px;background:var(--gray-300);cursor:pointer;transition:.2s}.switch i:after{content:"";display:block;width:20px;height:20px;border-radius:50%;background:#fff;transform:translate(3px,3px);box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s}.switch input:checked+i{background:var(--green)}.switch input:checked+i:after{transform:translate(23px,3px)}.small-switch,.small-switch i{width:40px;height:23px}.small-switch i:after{width:17px;height:17px}.small-switch input:checked+i:after{transform:translate(20px,3px)}.schedule-section{margin-top:22px}.schedule-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.schedule-heading h3,.schedule-heading p{margin:0}.schedule-heading p{font-size:11px;color:var(--gray-500);margin-top:3px}.schedule-rows{display:grid;gap:8px}.schedule-row{display:grid;grid-template-columns:140px 45px 1fr 38px;gap:12px;align-items:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:9px;padding:8px 10px}.schedule-row input[type="time"]{margin:0}.schedule-row>span{font-size:11px;color:var(--gray-600)}.schedule-status{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.schedule-status>div{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:9px;padding:12px}.schedule-status span,.schedule-status b{display:block}.schedule-status span{font-size:10px;color:var(--gray-500);margin-bottom:5px}.settings-actions{border-top:1px solid var(--gray-200);padding:15px 20px;text-align:right}
@media(max-width:900px){.master-filter{grid-template-columns:1fr 1fr}.master-filter .search-field{grid-column:1/-1}.data-tools{align-items:stretch}.data-tools .import-form{width:100%}.data-tools .import-form input{max-width:none;flex:1}.panel-head:has(.data-tools){align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.master-filter{grid-template-columns:1fr}.master-filter .search-field{grid-column:auto}.master-edit-modal [data-master-edit-fields]{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr 42px 70px 38px}.schedule-status{grid-template-columns:1fr}.data-tools>a{flex:1}.setting-switch-row{align-items:flex-start}}

/* RepairFlow UI 2026: design system, shell và trạng thái dùng chung. */
.ui-icon{width:20px;height:20px;display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.button .ui-icon{width:17px;height:17px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;left:16px;top:-60px;z-index:200;background:var(--surface);color:var(--primary);border:2px solid var(--primary);padding:10px 14px;border-radius:8px;font-weight:700}.skip-link:focus{top:12px}.connection-banner{position:fixed;z-index:160;left:50%;top:8px;transform:translateX(-50%);background:var(--danger);color:#fff;padding:9px 16px;border-radius:8px;font-weight:700;box-shadow:var(--shadow-lg)}
html{color:var(--text);background:var(--background);scroll-behavior:smooth}body{background:var(--background);line-height:1.45}h1{font-size:clamp(26px,2.2vw,30px)}h2{font-size:19px}h3{font-size:16px}.sidebar{background:var(--navy-sidebar);padding:18px 12px}.brand{padding:0 8px 18px}.brand-mark{border-radius:9px;background:var(--primary);box-shadow:none}.side-nav{gap:2px;overflow-y:auto;scrollbar-width:thin}.side-nav .nav-label{padding:16px 12px 6px;color:#7F9BB3}.side-nav a{min-height:44px;border-radius:8px;padding:10px 12px;gap:11px;color:#B8C8D6}.side-nav a>span{font-size:13px;width:auto;text-align:left;flex:1}.side-nav a>.ui-icon{width:19px;height:19px}.side-nav a.active{background:var(--navy-active);box-shadow:inset 3px 0 var(--primary)}.sidebar-user{min-height:61px}.main-area{transition:margin .2s ease,width .2s ease}.topbar{height:var(--topbar);padding:0 24px;gap:14px;background:rgba(255,255,255,.98)}.menu-button{display:grid}.global-search{height:44px;border:1px solid var(--border);background:#F8FAFC;max-width:560px}.global-search input{margin:0;min-height:0;padding:0}.quick-scan{height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border:1px solid #A9CDED;border-radius:9px;color:var(--primary);font-weight:700;background:#F5FAFE}.quick-scan:hover{background:var(--blue-50)}.icon-button{min-width:44px;width:44px;height:44px;border-radius:9px}.notification-button{font-size:inherit}.user-identity{display:grid;line-height:1.2}.user-identity b{font-size:12px}.user-identity small{font-size:10px;color:var(--text-muted);margin-top:3px}.user-menu summary>.ui-icon{width:15px;height:15px}.user-menu[open] form{top:48px;min-width:170px}.link-button{display:flex;align-items:center;gap:8px;min-height:40px}.content{padding:24px;max-width:1680px}.sidebar-scrim{display:none}.panel{border-color:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}.panel-head{padding:16px 20px}.button{min-height:42px;border-radius:8px;transition:background-color .15s,border-color .15s,box-shadow .15s}.button:hover{transform:none;box-shadow:0 2px 7px rgba(11,31,51,.1)}.button.primary{background:var(--primary)}.button.primary:hover{background:var(--primary-hover)}.button.large{min-height:46px}.icon-button:hover{border-color:#A7C6E3;color:var(--primary)}input,select,textarea{min-height:44px;border-color:var(--border);border-radius:8px;color:var(--text)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,119,210,.16)}:focus-visible{outline:3px solid rgba(22,119,210,.32);outline-offset:2px}.field-error{display:block;color:var(--danger);font-size:12px;margin-top:5px}.is-invalid{border-color:var(--danger)!important;box-shadow:0 0 0 3px rgba(220,38,38,.1)!important}.unsaved-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--warning);font-size:12px;font-weight:700}.unsaved-indicator:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warning)}
.flash-stack{top:76px}.flash{background:var(--surface);color:var(--text);border:1px solid var(--border);border-left:4px solid var(--info);gap:10px;justify-content:flex-start}.flash>.ui-icon{color:var(--info)}.flash>span{flex:1}.flash button{width:32px;height:32px;display:grid;place-items:center}.flash button .ui-icon{width:16px}.flash-success{border-left-color:var(--success)}.flash-success>.ui-icon{color:var(--success)}.flash-danger{border-left-color:var(--danger)}.flash-danger>.ui-icon{color:var(--danger)}.flash-warning{border-left-color:var(--warning)}.flash-warning>.ui-icon{color:var(--warning)}
.kpi-card{border-color:var(--border);padding:16px;border-radius:10px}.kpi-card>strong{font-size:29px}.kpi-icon{float:none;position:absolute;right:14px;top:14px;border-radius:8px}.kpi-icon .ui-icon{width:18px;height:18px}.kpi-delta{display:inline-flex!important;margin-top:4px;color:var(--success)!important}.kpi-delta.negative{color:var(--danger)!important}.dashboard-filter-panel{padding:14px 16px}.dashboard-filters{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr)) auto;gap:10px;align-items:end}.dashboard-filters label{margin:0}.dashboard-filters input,.dashboard-filters select{margin-top:4px}.custom-range{display:contents}.chart-controls{display:flex;align-items:center;gap:8px}.chart-mode{width:auto;min-width:110px;margin:0}.chart{overflow:hidden}.chart svg{min-width:0}.chart-scroll-hint{display:none}.table-wrap thead{position:sticky;top:0;z-index:2}.table-wrap th{font-size:11px;background:#F5F7FA}.table-wrap tbody tr{transition:background .12s}.row-actions{position:relative}.row-actions summary{list-style:none;width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;cursor:pointer}.row-actions[open] summary{background:var(--gray-100)}.row-actions-menu{position:absolute;right:0;top:42px;z-index:10;min-width:170px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:6px;border-radius:9px}.row-actions-menu a,.row-actions-menu button{width:100%;min-height:40px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;background:none;border-radius:6px;text-align:left;color:var(--text);cursor:pointer}.row-actions-menu a:hover,.row-actions-menu button:hover{background:var(--gray-100)}
.empty-state{min-height:150px;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:6px}.empty-state .ui-icon{width:34px;height:34px;color:var(--gray-400)}.loading-state{min-height:180px;display:grid;place-items:center;color:var(--text-muted)}.skeleton{background:#E7EDF2;min-height:14px;border-radius:5px}.camera-box{background:#0B1F33;border-radius:11px}.scan-symbol,.upload-icon{font-size:0}.scan-symbol .ui-icon,.upload-icon .ui-icon{width:28px;height:28px}.upload-zone{padding:24px}.file-preview{position:relative;width:118px}.file-preview img,.file-preview video{width:104px}.file-preview button{position:absolute;right:2px;top:2px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(11,31,51,.86);color:#fff;display:grid;place-items:center;cursor:pointer}.file-summary{font-size:12px;color:var(--text-muted);margin-top:8px}.wizard-shell{box-shadow:var(--shadow);border-color:var(--border)}.wizard-steps li>b{border-radius:9px}.wizard-steps li.active>b,.wizard-steps li.done>b{background:var(--primary)}.wizard-panel{padding:24px}.severity-options label>span,.cause-options label>span{min-height:58px}.severity-options input:focus-visible+span,.cause-options input:focus-visible+span,.target-options input:focus-visible+span,.notification-type-options input:focus-visible+span{outline:3px solid rgba(22,119,210,.3);outline-offset:2px}
.report-success-banner{display:flex;align-items:center;gap:16px;background:var(--green-bg);border:1px solid #A8D7B8;border-left:5px solid var(--success);border-radius:10px;padding:16px 18px;margin-bottom:18px}.report-success-banner>.ui-icon{width:32px;height:32px;color:var(--success)}.report-success-banner>div{flex:1}.report-success-banner h2,.report-success-banner p{margin:0}.report-success-banner p{color:#3E6B4E;margin-top:3px}.detail-layout{grid-template-columns:minmax(0,1fr) 310px}.detail-side{min-width:0}.detail-side>.panel:first-child{position:sticky;top:calc(var(--topbar) + 16px)}.detail-header-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.detail-header-facts span{font-size:12px;color:var(--text-muted);padding-right:10px;border-right:1px solid var(--border)}.secondary-contact-card{border-left:3px solid var(--info)}.secondary-contact-card .direct-notification-button{width:100%}.repair-stepper{display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 18px;padding:0;list-style:none;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.repair-stepper li{padding:11px 12px;color:var(--text-muted);font-size:12px;font-weight:700;border-right:1px solid var(--border);position:relative}.repair-stepper li:last-child{border:0}.repair-stepper li.active{color:var(--primary);background:var(--blue-50)}.repair-stepper li.done{color:var(--success)}.analysis-product-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:16px}.analysis-product-strip div{background:#fff;padding:12px}.analysis-product-strip span,.analysis-product-strip b{display:block}.analysis-product-strip span{font-size:10px;color:var(--text-muted);margin-bottom:4px}.analysis-action-bar{position:sticky;bottom:12px;z-index:12;background:rgba(255,255,255,.98);border:1px solid var(--border);box-shadow:0 8px 26px rgba(11,31,51,.14);border-radius:10px;padding:10px 12px;display:flex;justify-content:flex-end;align-items:center;gap:8px}.analysis-action-bar .unsaved-indicator{margin-right:auto}.part-row{background:#F8FAFC}.part-row-head{border-bottom:1px solid var(--border);padding-bottom:10px}.part-row-head>b{display:flex;align-items:center;gap:8px}.part-row-head>b:before{content:"";width:4px;height:20px;background:var(--primary);border-radius:3px}.sticky-summary{top:calc(var(--topbar) + 14px)}
.notification-overview{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.notification-schedule{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px}.notification-schedule b{color:var(--text)}.notification-date-label{font-size:12px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin:18px 0 8px}.notification-item{grid-template-columns:44px minmax(0,1fr) auto}.notification-message{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.notification-icon{border-radius:9px}.notification-icon .ui-icon{width:20px;height:20px}.notification-filters a{border-radius:8px;min-height:40px;display:flex;align-items:center}.notification-filters a.active{background:var(--primary)}
.process-alert-banner{display:flex;gap:12px;align-items:center;background:var(--red-bg);border:1px solid #F0B2B2;border-left:5px solid var(--danger);padding:14px 16px;border-radius:9px;margin-bottom:16px}.process-alert-banner>.ui-icon{color:var(--danger);width:25px;height:25px}.process-filter{padding:14px}.process-filter form{display:grid;grid-template-columns:repeat(6,1fr) auto;gap:9px;align-items:end}.process-filter input,.process-filter select{margin-top:4px}
.admin-layout{display:block}.admin-form{display:none}.admin-create-dialog{width:min(520px,calc(100vw - 24px));padding:0;border:0;border-radius:11px;box-shadow:var(--shadow-lg)}.admin-create-dialog::backdrop,.master-edit-modal::backdrop,.direct-notification-modal::backdrop{background:rgba(11,31,51,.62)}.admin-create-dialog .admin-form{display:block;margin:0;padding:20px}.admin-create-dialog .admin-form h2{padding-right:45px}.admin-create-dialog .dialog-close{position:absolute;right:14px;top:14px}.master-edit-modal,.direct-notification-modal{border-radius:11px}.master-actions{display:block}.master-actions>button,.master-actions>form{display:none}.master-actions-menu{display:grid;gap:3px}.master-actions-menu form{display:block}.data-tools{gap:8px}.data-tools .import-form{border:1px solid var(--border);border-radius:8px;padding:4px}.data-tools .import-form input{border:0;min-height:32px}.admin-tabs>nav{background:#fff;border:1px solid var(--border);border-radius:10px;padding:4px;position:sticky;top:calc(var(--topbar) + 8px);z-index:12}.admin-tabs>nav button{min-height:42px;border-radius:7px;border-bottom:0}.admin-tabs>nav button.active{background:var(--blue-50);color:var(--primary)}
.auth-body{background:#fff}.login-visual{background:var(--navy-sidebar)}.brand-mark,.login-visual{background-image:none!important}.camera-box,.kpi-card,.process-card{background-image:none!important}
@media(max-width:1120px) and (min-width:761px){:root{--sidebar:76px}.sidebar{padding-left:9px;padding-right:9px}.brand{justify-content:center}.brand>span:last-child,.side-nav a>span,.side-nav .nav-label,.sidebar-user>span:last-child,.nav-badge{display:none}.side-nav a{justify-content:center;padding:10px}.side-nav a.active{box-shadow:inset 3px 0 var(--primary)}.sidebar-user{justify-content:center}.quick-scan span,.user-identity{display:none}.content{padding:20px}.dashboard-filters{grid-template-columns:repeat(3,1fr)}.process-filter form{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.dashboard-filters{grid-template-columns:repeat(3,1fr)}.analysis-product-strip{grid-template-columns:repeat(3,1fr)}.process-filter form{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){:root{--topbar:58px}.sidebar{width:278px}.sidebar.open+.main-area{}.sidebar-scrim{position:fixed;inset:0;z-index:29;border:0;background:rgba(11,31,51,.55)}.sidebar.open~.sidebar-scrim,.app-shell:has(.sidebar.open)+.sidebar-scrim{display:block}.topbar{padding:0 12px}.quick-scan{width:44px;padding:0;justify-content:center}.quick-scan span,.user-identity,.user-menu summary>.ui-icon{display:none}.content{padding:16px 12px calc(92px + env(safe-area-inset-bottom))}.mobile-nav{height:70px}.mobile-nav>a>.ui-icon{width:21px;height:21px}.mobile-nav .mobile-primary>span{width:52px;height:52px}.mobile-nav .mobile-primary .ui-icon{width:26px;height:26px}.page-heading{margin-bottom:16px}.page-heading .button-row{display:grid;grid-template-columns:1fr 1fr}.dashboard-filters{grid-template-columns:1fr 1fr}.dashboard-filters .button{width:100%}.custom-range{display:contents}.chart{overflow-x:auto}.chart svg{min-width:560px}.chart-scroll-hint{display:block;color:var(--text-muted);font-size:11px;padding:0 14px 10px}.wizard-panel{padding:18px 14px}.camera-box{height:min(56vh,430px)}.camera-box.running{position:fixed;z-index:140;inset:0;height:100dvh;border-radius:0}.camera-box.running .camera-controls{bottom:calc(24px + env(safe-area-inset-bottom))}.button.primary.large{min-height:48px}.report-success-banner{align-items:flex-start;flex-wrap:wrap}.detail-header-facts{display:grid;grid-template-columns:1fr 1fr}.detail-header-facts span{border:0;padding:0}.detail-layout{display:flex;flex-direction:column}.detail-side{order:-1}.detail-side>.panel:first-child{position:static}.repair-stepper{overflow-x:auto}.repair-stepper li{min-width:115px}.analysis-product-strip{grid-template-columns:1fr 1fr}.analysis-action-bar{bottom:76px;flex-wrap:wrap}.analysis-action-bar .unsaved-indicator{width:100%;margin:0}.analysis-action-bar .button{flex:1}.notification-overview{grid-template-columns:1fr}.notification-item{grid-template-columns:40px minmax(0,1fr)}.notification-item>form,.notification-item>a{grid-column:2;width:100%}.notification-item>form .button,.notification-item>a{width:100%}.process-filter form{grid-template-columns:1fr 1fr}.admin-tabs>nav{top:var(--topbar);border-radius:0}.admin-create-dialog{max-height:94dvh;overflow:auto}.responsive-cards{overflow:visible}.responsive-cards table,.responsive-cards thead,.responsive-cards tbody,.responsive-cards tr,.responsive-cards td{display:block;min-width:0;width:100%}.responsive-cards thead{display:none}.responsive-cards tbody{display:grid;gap:10px;padding:10px}.responsive-cards tr{position:relative;border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff;box-shadow:var(--shadow)}.responsive-cards td{border:0;padding:5px 0;padding-left:42%;min-height:28px}.responsive-cards td:before{content:attr(data-label);position:absolute;left:12px;width:36%;color:var(--text-muted);font-size:11px;font-weight:700}.responsive-cards td:first-child{padding-left:0;padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:5px}.responsive-cards td:first-child:before{display:none}.responsive-cards td:last-child{padding-left:0}.responsive-cards td:last-child:before{display:none}.responsive-cards .row-actions summary{position:absolute;right:8px;top:7px}.responsive-cards .row-actions-menu{right:6px;top:42px}.flash-stack{top:66px;right:12px;width:calc(100vw - 24px)}}
@media(max-width:430px){.dashboard-filters,.process-filter form{grid-template-columns:1fr}.analysis-product-strip{grid-template-columns:1fr}.page-heading .button-row{grid-template-columns:1fr}.notification-schedule{flex-wrap:wrap}.schedule-row{grid-template-columns:1fr 42px 65px 38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.sidebar-collapsed{--sidebar:76px}.sidebar-collapsed .sidebar{padding-left:9px;padding-right:9px}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .brand>span:last-child,.sidebar-collapsed .side-nav a>span,.sidebar-collapsed .side-nav .nav-label,.sidebar-collapsed .sidebar-user>span:last-child,.sidebar-collapsed .nav-badge{display:none}.sidebar-collapsed .side-nav a,.sidebar-collapsed .sidebar-user{justify-content:center}.report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:11px;align-items:end}.report-filter-grid label{margin:0}.report-filter-grid input,.report-filter-grid select{margin-top:4px}.report-filter-grid .full-filter{grid-column:span 2}.report-filter-grid .search-field input{margin-top:0}.report-filter-grid .search-field>.ui-icon,.master-filter .search-field>.ui-icon{position:absolute;left:11px;top:12px;width:18px;height:18px;color:var(--text-muted)}.report-filter-grid .open-only{min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:8px}.filter-actions{display:flex;gap:8px}.table-summary{display:flex;justify-content:space-between;align-items:center;gap:12px}.table-summary form label{display:flex;align-items:center;gap:8px}.table-summary select{width:auto;margin:0;min-height:36px}.rank-list{padding:10px 18px}.rank-list a{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.rank-list a>span{width:25px;height:25px;display:grid;place-items:center;border-radius:6px;background:var(--blue-50);color:var(--primary);font-weight:800}.rank-list a>strong{color:var(--text-muted);font-size:12px}.process-direct-list article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;padding:15px 18px;border-bottom:1px solid var(--border)}.process-direct-list article>.ui-icon{color:var(--info)}.process-direct-list article.urgent>.ui-icon{color:var(--danger)}.process-direct-list p{margin:4px 0;color:var(--text-muted)}.process-direct-list small{color:var(--text-muted)}.process-card>.ui-icon{float:right;color:var(--primary);width:25px;height:25px}.process-card .text-link{display:flex;align-items:center;gap:5px}.process-card .text-link .ui-icon{width:16px}.file-preview button{width:auto;min-width:34px;padding:0 5px;font-size:9px}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:10px;padding:12px;border-top:1px solid var(--border)}.admin-pagination button{width:38px;height:38px;border:1px solid var(--border);border-radius:7px;background:#fff;cursor:pointer}.dialog-close{width:auto;padding:0 9px;font-size:11px}.confirm-dialog{width:min(440px,calc(100vw - 24px))}.confirm-dialog .modal-head{border:0}.search-field>span.sr-only{position:absolute!important}.modal-close .ui-icon{width:18px;height:18px}

/* Popup thông báo phát sinh: dùng chung cho xác nhận gửi và cảnh báo người nhận. */
.notification-popup{width:min(620px,calc(100vw - 24px));max-height:min(88dvh,760px);padding:0;border:0;border-radius:15px;background:#fff;color:var(--text);box-shadow:0 28px 80px rgba(5,24,41,.34);overflow:auto}.notification-popup::backdrop{background:rgba(5,21,36,.64);backdrop-filter:blur(3px)}.notification-popup-head{display:grid;grid-template-columns:48px minmax(0,1fr) 36px;gap:13px;align-items:start;padding:21px 22px;border-bottom:1px solid var(--border)}.notification-popup-head h2,.notification-popup-head p{margin:0}.notification-popup-head h2{font-size:20px;margin-top:3px}.notification-popup-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--blue-50);color:var(--primary)}.notification-popup-icon .ui-icon{width:24px;height:24px}.notification-popup.attention .notification-popup-icon,.notification-popup.warning .notification-popup-icon{background:#fff3df;color:#a95d12}.notification-popup.urgent .notification-popup-icon{background:var(--red-bg);color:var(--danger)}.notification-popup-sent .notification-popup-icon{background:var(--green-bg);color:var(--success)}.notification-popup-body{display:grid;gap:14px;padding:20px 22px}.notification-popup-meta{display:flex;gap:8px;flex-wrap:wrap}.notification-popup-meta span,.notification-popup-meta time{font-size:11px;color:var(--text-muted);background:var(--gray-50);border:1px solid var(--border);border-radius:999px;padding:5px 9px}.notification-popup-status{display:flex;align-items:baseline;gap:8px;color:var(--text-muted)}.notification-popup-status b{font-size:28px;color:var(--success)}.notification-problem{padding:15px 16px;border:1px solid var(--border);border-left:4px solid var(--info);border-radius:9px;background:var(--gray-50)}.attention .notification-problem,.warning .notification-problem{border-left-color:var(--warning)}.urgent .notification-problem{border-left-color:var(--danger)}.notification-problem>span{display:block;margin-bottom:7px;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.notification-problem strong{display:block;margin-bottom:6px;font-size:16px}.notification-problem p{margin:0;white-space:pre-line;line-height:1.58;overflow-wrap:anywhere}.notification-popup-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid var(--border);background:var(--gray-50)}.notification-popup-actions form{margin:0}.notification-popup-actions .button{margin:0}@media(max-width:600px){.notification-popup{width:calc(100vw - 18px);max-height:94dvh}.notification-popup-head{grid-template-columns:42px minmax(0,1fr) 34px;padding:17px 15px;gap:10px}.notification-popup-icon{width:40px;height:40px}.notification-popup-body{padding:16px 15px}.notification-popup-actions{padding:12px 15px}.notification-popup-actions .button{flex:1}.notification-popup-actions form{display:flex;flex:1}.notification-popup-actions form .button{width:100%}}
.notification-popup-locked .notification-popup-head{grid-template-columns:48px minmax(0,1fr)}.notification-popup-locked .notification-popup-actions{align-items:center}.notification-confirm-error{margin:0 auto 0 0;color:var(--danger);font-size:12px;font-weight:700}@media(max-width:600px){.notification-popup-locked .notification-popup-head{grid-template-columns:42px minmax(0,1fr)}.notification-popup-locked .notification-popup-actions{display:grid}.notification-confirm-error{margin:0}.notification-popup-locked .notification-popup-actions .button{width:100%}}
@media(max-width:1050px){.report-filter-grid{grid-template-columns:repeat(3,1fr)}.report-filter-grid .full-filter{grid-column:span 2}}
@media(max-width:760px){.sidebar-collapsed{--sidebar:278px}.report-filter-grid{grid-template-columns:1fr 1fr}.report-filter-grid .full-filter{grid-column:1/-1}.filter-actions{grid-column:1/-1}.filter-actions>*{flex:1}.process-direct-list article{grid-template-columns:28px 1fr}.process-direct-list article>a{grid-column:2}.table-summary{align-items:flex-start;flex-direction:column}.table-summary form{width:100%}.table-summary form label{justify-content:space-between}}
@media(max-width:430px){.report-filter-grid{grid-template-columns:1fr}.report-filter-grid .full-filter,.filter-actions{grid-column:auto}.filter-actions{display:grid;grid-template-columns:1fr}.process-direct-list article{padding:13px}}
.admin-pagination button{width:auto;min-width:58px;padding:0 9px}
.severity-options input,.cause-options input,.target-options input,.notification-type-options input{width:1px!important;height:1px!important;min-height:1px!important;margin:0!important;overflow:hidden}.scan-layout>* ,.analysis-layout>* ,.analysis-main,.analysis-side,.form-section,.part-row{min-width:0}select{max-width:100%;min-width:0}
.product-color-row{background:color-mix(in srgb,var(--product-color) 5%,#fff)}
.product-color-row:hover{background:color-mix(in srgb,var(--product-color) 9%,#fff)!important}
.product-color-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--product-color) 35%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--product-color) 10%,#fff);font-weight:700;color:var(--text)}
.product-color-pill i{width:14px;height:14px;flex:none;border-radius:50%;background:var(--product-color);border:1px solid rgba(11,31,51,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.notification-tags .email-status.sent{color:var(--success);background:var(--green-bg)}
.notification-tags .email-status.failed{color:var(--danger);background:var(--red-bg)}
.notification-tags .email-status.missing{color:var(--warning);background:#fff3d9}
[hidden]{display:none!important}

/* Tổng hợp lỗi, điều phối và danh mục máy móc */
.summary-heading small{display:block;margin-top:8px;color:var(--text-muted)}
.summary-tabs{display:flex;gap:4px;margin:0 0 16px;border-bottom:1px solid var(--border)}
.summary-tabs a{padding:12px 18px;color:var(--text-muted);font-weight:700;border-bottom:3px solid transparent}
.summary-tabs a.active{color:var(--primary);border-bottom-color:var(--primary)}
.summary-filter{margin-bottom:16px;padding:0;overflow:visible}
.summary-filter>summary{display:flex;align-items:center;gap:8px;padding:16px 18px;cursor:pointer;font-weight:800;list-style:none}
.summary-filter>summary span{margin-left:auto;color:var(--text-muted);font-size:12px;font-weight:600}
.summary-filter>form{padding:0 18px 18px;border-top:1px solid var(--border)}
.summary-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;padding-top:16px;align-items:end}
.summary-filter-grid label{min-width:0}.summary-filter-grid .custom-range{display:grid;grid-template-columns:1fr 1fr;gap:8px;grid-column:span 2}.summary-filter-grid .include-cancelled{align-self:center;min-height:44px}
.summary-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.summary-kpi{position:relative;min-height:128px;padding:18px;background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow)}
.summary-kpi span,.summary-kpi small{display:block;color:var(--text-muted)}.summary-kpi b{display:block;margin:10px 0 4px;font-size:30px;line-height:1;color:var(--text)}.summary-kpi .kpi-text{font-size:18px;line-height:1.25}
.summary-kpi.cause-operation{border-top-color:var(--warning)}.summary-kpi.cause-component{border-top-color:#0891B2}.summary-kpi.cause-machine{border-top-color:var(--danger)}.summary-kpi.cause-unknown{border-top-color:#829AB1}.summary-kpi.resolved{border-top-color:var(--success)}
.summary-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.summary-chart{min-height:320px;overflow:auto}.summary-chart svg{display:block;width:100%;min-width:520px;min-height:300px}.chart-legend{display:flex;flex-wrap:wrap;gap:10px;padding:8px 12px}.chart-legend span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.chart-legend i{width:10px;height:10px;border-radius:3px}
.summary-process-table,.summary-detail-list,.summary-history{margin-bottom:16px}.summary-process-table td small,.summary-detail-list td small,.summary-history td small{display:block;margin-top:3px;color:var(--text-muted)}.summary-detail-list table{min-width:1500px}.summary-process-table table{min-width:1120px}.summary-history table{min-width:1100px}
.summary-send-modal{width:min(720px,calc(100% - 24px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:12px;color:var(--text);box-shadow:var(--shadow-lg)}.summary-send-modal::backdrop{background:rgba(11,31,51,.65)}.summary-send-modal form{display:flex;flex-direction:column;max-height:calc(100vh - 32px)}.summary-send-modal .modal-body{overflow:auto}.summary-scope-options{display:flex;gap:16px;flex-wrap:wrap}
.recent-repair-picker{border:1px solid var(--border)!important;border-radius:10px;padding:14px!important;background:var(--gray-50)}.recent-repair-picker>legend{padding:0 6px;color:var(--text)!important;font-size:13px!important}.recent-repair-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.recent-repair-heading b{font-size:13px}.recent-repair-heading p{margin:3px 0 0;color:var(--text-muted);font-size:11px}.recent-repair-heading .check-label{flex:0 0 auto;background:#fff;border:1px solid var(--border);border-radius:7px;padding:7px 9px}.recent-repair-list{display:grid;gap:7px;max-height:280px;overflow:auto;padding-right:3px}.recent-repair-option{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:11px;background:#fff;border:1px solid var(--border);border-radius:9px;cursor:pointer}.recent-repair-option:hover{border-color:#9bc9ec;background:var(--blue-50)}.recent-repair-option:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px rgba(37,145,237,.1)}.recent-repair-option>input{width:17px;height:17px;min-height:auto;margin:2px 0 0}.recent-repair-content,.recent-repair-content>span,.recent-repair-content>strong{display:block}.recent-repair-content{min-width:0;color:var(--text-muted);font-size:11px;line-height:1.45}.recent-repair-content>strong{margin:5px 0;color:var(--text);font-size:12px}.recent-repair-title{display:flex!important;justify-content:space-between;gap:10px}.recent-repair-title b{color:var(--primary);font-size:12px}.recent-repair-title time{white-space:nowrap}.recent-repair-product{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-repair-tags{display:flex!important;gap:5px;flex-wrap:wrap;margin-top:7px}.recent-repair-tags i{font-style:normal;background:var(--gray-100);border-radius:999px;padding:3px 7px;color:var(--text-muted);font-size:9px}.recent-repair-empty{padding:20px;text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:8px;background:#fff}.recent-repair-picker>small{display:block;margin-top:9px;color:var(--text-muted)}
.export-menu{position:relative}.export-menu>summary{list-style:none;cursor:pointer}.export-menu>div{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:130px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg)}.export-menu a{display:block;padding:9px 10px;border-radius:7px;color:var(--text);font-weight:700}.export-menu a:hover{background:var(--blue-50);color:var(--primary)}
.machine-analysis-section .upload-zone{min-height:130px}select[multiple]{height:auto;min-height:112px;padding:8px}
.history-filter{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto auto;gap:10px;align-items:end;padding:14px}.history-filter .button{margin-bottom:0}
@media(max-width:1200px){.summary-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.summary-chart-grid{grid-template-columns:1fr}.summary-filter-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.summary-filter-grid .custom-range{grid-column:span 2}.summary-kpis{overflow-x:auto;display:flex;scroll-snap-type:x proximity;padding-bottom:4px}.summary-kpi{min-width:230px;scroll-snap-align:start}.history-filter{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.summary-heading .heading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.summary-heading .heading-actions>*{justify-content:center}.summary-filter-grid{grid-template-columns:1fr}.summary-filter-grid .custom-range{grid-column:auto;grid-template-columns:1fr}.summary-chart{min-height:280px}.summary-chart svg{min-width:480px}.summary-process-table .responsive-cards table,.summary-detail-list .responsive-cards table,.summary-history .responsive-cards table{min-width:0}.summary-detail-list .responsive-cards tr,.summary-process-table .responsive-cards tr,.summary-history .responsive-cards tr{padding:14px}.summary-detail-list .responsive-cards td,.summary-process-table .responsive-cards td,.summary-history .responsive-cards td{grid-template-columns:42% 58%}.summary-send-modal{margin-bottom:calc(76px + env(safe-area-inset-bottom))}.summary-tabs{position:sticky;top:58px;z-index:7;background:var(--background)}}
@media(max-width:430px){.summary-heading .heading-actions{grid-template-columns:1fr}.summary-kpi{min-width:205px}.summary-chart svg{min-width:430px}.history-filter{grid-template-columns:1fr}}
@media(max-width:760px){.master-filter{grid-template-columns:1fr 1fr}.master-filter .search-field{grid-column:1/-1}.responsive-cards .master-actions{position:static}.responsive-cards .master-edit-corner{position:absolute;right:52px;top:7px;width:40px;height:40px;padding:0;justify-content:center;z-index:3}.responsive-cards .master-edit-corner span{display:none}.responsive-cards td.master-select-cell{position:absolute;left:auto;right:100px;top:13px;width:24px;padding:0;z-index:3}.responsive-cards td.master-select-cell:before{display:none}.bulk-delete-button{order:-1}}

/* Phân quyền, nhóm lỗi, QC/ME, âm thanh và AI. */
.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kpi-grid.compact{grid-template-columns:repeat(4,1fr)}.department-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.metric-list{padding:8px 18px}.metric-list>div{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.metric-list.horizontal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric-list.horizontal>div{padding:11px;border:1px solid var(--border);border-radius:8px}.issue-groups{margin-bottom:16px}.issue-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.issue-group-card{padding:15px;border:1px solid var(--border);border-radius:11px;background:linear-gradient(180deg,#fff,var(--gray-50))}.issue-group-card:has([data-group-checkbox]:checked){border-color:var(--primary);box-shadow:0 0 0 2px rgba(37,145,237,.12)}.issue-group-head,.issue-group-actions,.group-toolbar,.dispatch-preview-head,.dispatch-destination{display:flex;align-items:center;justify-content:space-between;gap:8px}.issue-group-card h3{margin:10px 0 5px}.issue-group-card>p{color:var(--text-muted);margin:0 0 10px}.issue-group-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.issue-group-metrics span{padding:8px;background:#fff;border:1px solid var(--border);border-radius:7px;color:var(--text-muted);font-size:10px}.issue-group-metrics b{display:block;color:var(--text);font-size:18px}.issue-group-card dl{display:grid;gap:5px}.issue-group-card dl>div{display:grid;grid-template-columns:125px 1fr;gap:10px}.issue-group-card dt{color:var(--text-muted);font-size:10px;font-weight:700}.issue-group-card dd{margin:0;font-size:11px}.issue-group-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:12px}.issue-group-card details{margin-top:10px}.issue-group-card details summary{cursor:pointer;color:var(--primary);font-weight:700}.issue-group-card details>div{display:grid;gap:5px;padding:8px}.group-toolbar{padding:12px 16px;border-top:1px solid var(--border);background:var(--gray-50)}.group-toolbar p{margin:0;color:var(--text-muted)}.dispatch-preview{display:grid;gap:7px;padding:12px;border:1px solid var(--blue-100);border-radius:9px;background:var(--blue-50)}.dispatch-preview-head span,.dispatch-destination span{color:var(--text-muted);font-size:11px}.dispatch-destination{padding-top:7px;border-top:1px solid var(--blue-100)}.notification-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.notification-detail-grid>div{padding:10px;border:1px solid var(--border);border-radius:8px}.notification-detail-grid dt{font-size:9px;font-weight:800;color:var(--text-muted);text-transform:uppercase}.notification-detail-grid dd{margin:4px 0 0;font-weight:700}.audio-settings-dialog,.ai-proposal-dialog{width:min(720px,calc(100vw - 24px));max-height:90dvh;padding:0;border:0;border-radius:14px;box-shadow:var(--shadow-lg);overflow:auto}.audio-settings-dialog::backdrop,.ai-proposal-dialog::backdrop{background:rgba(5,21,36,.64)}.audio-settings-dialog form{padding-bottom:14px}.audio-settings-dialog form>label,.audio-settings-dialog form>.two-columns{margin:12px 20px;padding:0}.ai-proposal-body{display:grid;gap:10px;padding:16px 20px;max-height:62dvh;overflow:auto}.ai-proposal-body section{padding:12px;border:1px solid var(--border);border-radius:9px}.ai-proposal-body h3{margin:0 0 7px}.ai-proposal-body pre{margin:0;white-space:pre-wrap;font:inherit;color:var(--text-muted)}
@media(max-width:900px){.issue-group-grid,.department-grid{grid-template-columns:1fr}.kpi-grid.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.permission-grid,.notification-detail-grid{grid-template-columns:1fr}.issue-group-grid{padding:10px}.issue-group-card dl>div{grid-template-columns:1fr}.issue-group-actions>*{flex:1}.group-toolbar{align-items:stretch;flex-direction:column}.metric-list.horizontal{grid-template-columns:1fr}.audio-settings-dialog,.ai-proposal-dialog{max-height:96dvh}.kpi-grid.compact{display:flex;overflow:auto}.kpi-grid.compact .kpi-card{min-width:155px}}

/* Chụp ảnh mobile: tách capture khỏi bộ chọn nhiều ảnh/video để Android/iOS mở đúng camera. */
.camera-status{margin:10px 0 0}.attachment-picker{border:2px dashed var(--gray-300);border-radius:12px;padding:22px;text-align:center;background:var(--gray-50)}.attachment-picker-input{position:fixed!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.attachment-picker>.upload-icon{display:block;margin:0 auto 7px}.attachment-picker>b,.attachment-picker>small,.attachment-picker>.file-summary{display:block}.attachment-picker>small{margin-top:8px;color:var(--gray-500)}.attachment-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:13px}.attachment-actions .button{cursor:pointer}.attachment-picker .file-previews{justify-content:center}.attachment-picker.compact{padding:12px;border-width:1px}.attachment-picker.compact .attachment-actions{display:grid;grid-template-columns:1fr 1fr}.attachment-picker.compact .button{padding:8px}.attachment-picker.compact .file-summary{margin-top:8px}.machine-analysis-section .attachment-picker{min-height:130px}
@media(max-width:520px){.attachment-picker{padding:18px 12px}.attachment-actions{display:grid;grid-template-columns:1fr 1fr}.attachment-actions .button{justify-content:center;padding-left:8px;padding-right:8px}.camera-status{font-size:12px}}

/* Danh sách mã sản phẩm theo từng dòng, kèm ô màu trực quan. */
.product-choice-grid{grid-template-columns:1fr;gap:9px}.product-choice-body{min-height:74px;padding:11px 14px;border-left-width:7px;background:color-mix(in srgb,var(--product-color) 7%,#fff);grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center}.product-choice-body>i{width:30px;height:30px;margin:0;border-radius:8px;border-width:3px}.product-choice-body small{margin-top:3px}.product-choice-body em{margin-top:6px;padding:3px 8px;background:color-mix(in srgb,var(--product-color) 16%,#fff);font-weight:800}
.product-inline-list{margin-top:7px;padding:10px;border:1px solid var(--gray-300);border-radius:10px;background:var(--gray-50)}.product-inline-list>p{margin:0;color:var(--gray-600);font-size:11px;font-weight:700}.product-inline-list .product-choice-grid{max-height:340px;padding:10px 2px 2px;overflow-y:auto}.product-inline-list .product-choice-body{background:#fff}.product-inline-list .product-choice>input:focus-visible+.product-choice-body{outline:3px solid rgba(37,145,237,.22);outline-offset:2px}
.product-code-picker{min-width:0;margin:0;padding:0;border:0}.product-code-picker .field-label{padding:0}.product-inline-list .product-choice-grid{grid-template-columns:1fr}.product-choice[hidden]{display:none}.kpi-grid.eight{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.severity-kpis .kpi-card{border-top-width:4px}.severity-kpis .severity-normal{border-top-color:var(--blue-500)}.severity-kpis .severity-high{border-top-color:var(--orange)}.severity-kpis .severity-urgent{border-top-color:var(--red)}
@media(max-width:1000px){.kpi-grid.eight{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kpi-grid.eight,.kpi-grid.three{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.kpi-grid.eight .kpi-card,.kpi-grid.three .kpi-card{min-width:165px;scroll-snap-align:start}}
.process-jump{display:flex;align-items:end;gap:9px;min-width:min(100%,470px)}.process-jump label{flex:1;margin:0}.process-jump select{margin-top:5px}.process-overview-grid .process-direct-list{max-height:390px;overflow:auto}.process-selector-panel .process-grid{padding:16px}.process-selector-panel .process-card{box-shadow:none}.process-overview-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1250px){.process-overview-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.process-jump{width:100%;min-width:0;align-items:stretch;flex-direction:column}.process-jump .button{width:100%}.process-overview-kpis{display:flex;overflow-x:auto}.process-overview-kpis .kpi-card{min-width:155px}}
.product-inline-list .product-choice-grid{max-height:280px;gap:6px}.product-inline-list .product-choice-body{min-height:46px;padding:7px 9px;border-left-width:5px;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:center}.product-inline-list .product-choice-body>i{width:14px;height:14px;margin:0}.product-inline-list .product-choice-body>span{min-width:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) auto;gap:9px;align-items:center}.product-inline-list .product-choice-body b,.product-inline-list .product-choice-body small,.product-inline-list .product-choice-body em{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-inline-list .product-choice-body b{font-size:12px}.product-inline-list .product-choice-body small{font-size:10px}.product-inline-list .product-choice-body em{font-size:9px;padding:2px 6px}
@media(max-width:430px){.product-inline-list .product-choice-body>span{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) auto;gap:5px}.product-inline-list .product-choice-body small{font-size:9px}}

/* KPI chi tiết công đoạn: thêm lỗi phát sinh ảnh hưởng công đoạn khác. */
.process-detail-kpis{grid-template-columns:repeat(8,minmax(0,1fr))}.process-detail-kpis .cross-process-impact{border-top:4px solid var(--red)}.process-detail-kpis .cross-process-impact>span{min-height:30px;line-height:1.25}
@media(max-width:1350px){.process-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.process-detail-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.process-detail-kpis .kpi-card{min-width:165px;scroll-snap-align:start}}

/* Bộ chọn ngày dữ liệu trên thanh điều hướng. */
.topbar-date-selector{margin-left:auto;display:flex;align-items:center;gap:5px;padding:4px 5px 4px 9px;border:1px solid var(--border);border-radius:9px;background:#f8fafc}.topbar-date-selector label{display:flex;align-items:center;gap:7px;margin:0;color:var(--text-muted);font-size:11px;font-weight:800;white-space:nowrap}.topbar-date-selector label>.ui-icon{width:18px;height:18px;color:var(--primary)}.topbar-date-selector input{width:128px;height:32px;min-height:32px;margin:0;padding:0 4px;border:0;background:transparent;color:var(--text);font-weight:800;box-shadow:none}.topbar-date-selector input:focus{box-shadow:none}.topbar-date-selector button{height:32px;min-height:32px;padding:0 11px;border:0;border-radius:7px;background:var(--primary);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.top-actions{margin-left:0}
@media(max-width:1250px){.topbar-date-selector label>span{display:none}.topbar-date-selector{padding-left:7px}.topbar-date-selector input{width:120px}}
@media(max-width:900px){.topbar-date-selector{display:none}}

/* Cửa sổ chỉnh sửa người dùng và phân quyền được mở ngay từ menu ba chấm. */
.master-edit-action{color:var(--blue-700)!important;font-weight:800!important}.user-permission-modal{width:min(860px,calc(100vw - 24px))}.user-permission-modal [data-master-edit-fields]{grid-template-columns:1fr 1fr}.user-permission-modal select[multiple]{min-height:145px}.permission-edit-note{grid-column:1/-1;padding:10px 12px;border:1px solid var(--blue-100);border-radius:8px;background:var(--blue-50);color:var(--text-muted);font-size:12px}
@media(max-width:760px){.user-permission-modal [data-master-edit-fields]{grid-template-columns:1fr}.permission-edit-note{grid-column:1}.product-choice-body{min-height:74px}}

/* One-page report creation */
.report-page-heading{margin-bottom:18px}.report-page-heading h1{margin-bottom:5px}.report-create-shell{max-width:1320px;margin:0 auto}.report-create-form{display:grid;gap:16px}.report-section{margin:0;padding:22px 24px}.report-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.report-section-heading h2,.report-section-heading p{margin:0}.report-section-heading h2{font-size:18px}.report-section-heading p{margin-top:4px;color:var(--gray-600);font-size:12px}.report-section-icon{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--blue-100);color:var(--blue-700);font-size:11px;font-weight:900}.scan-code-label{display:block}.scan-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-top:6px}.scan-code-row input{width:100%;min-width:0}.scan-code-row .button{min-height:44px}.scan-camera-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:92px;color:var(--blue-700);background:#f5faff}.scan-camera-trigger .ui-icon{width:17px;height:17px}.scan-message{margin:10px 0 0}.product-select-row{margin-top:14px}.product-picker-trigger{width:100%;min-height:62px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;cursor:pointer}.product-picker-trigger:hover{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(22,119,210,.1)}.product-picker-trigger-copy{display:block;min-width:0}.product-picker-trigger-copy small,.product-picker-trigger-copy strong{display:block}.product-picker-trigger-copy small{color:var(--gray-600);font-size:10px;letter-spacing:.04em;font-weight:800}.product-picker-trigger-copy strong{margin-top:4px;overflow:hidden;color:var(--gray-900);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.product-picker-trigger>.button{flex:none}.product-select-row .resolved-product{margin-top:10px}.report-process-fields{margin-bottom:18px}.report-severity-block h3{margin:0 0 10px;font-size:13px}.report-severity-block .severity-options{grid-template-columns:repeat(3,minmax(0,1fr))}.report-notes-label{margin-top:14px}.report-attachment-picker{padding:20px;background:var(--gray-50)}.report-submit-row{position:sticky;bottom:12px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(11,31,51,.12);backdrop-filter:blur(10px)}.report-submit-row>span{color:var(--gray-600);font-size:12px}.report-submit-row .button{flex:none}.report-submit-error{margin:0}.product-picker-dialog{overscroll-behavior:contain}.product-picker-form{display:grid;gap:14px;padding:18px 20px;max-height:calc(88dvh - 150px);overflow:auto}.product-picker-form>label{display:block}.product-picker-form input[type=search]{margin-top:5px}.product-picker-form select{margin-top:5px}.product-picker-form .product-choice-grid{max-height:340px;overflow:auto}.product-choice-prompt{grid-column:1/-1;margin:0;padding:20px;text-align:center;color:var(--gray-500);border:1px dashed var(--gray-300);border-radius:10px}.product-choice-prompt[hidden]{display:none}.product-choice-empty[hidden]{display:none}.product-picker-error{margin:0 20px 14px}.product-picker-actions>div{display:flex;gap:8px}.scanner-dialog{width:min(760px,calc(100vw - 28px));max-height:94dvh;padding:18px;border:0;border-radius:16px;background:#fff;box-shadow:0 30px 90px rgba(7,26,44,.35);overflow:auto}.scanner-dialog::backdrop{background:rgba(5,21,36,.64);backdrop-filter:blur(3px)}.scanner-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.scanner-dialog-head .eyebrow{margin:0 0 3px}.scanner-dialog-head h2{margin:0;font-size:17px}.scanner-dialog .camera-box{position:relative;height:min(55vh,440px);min-height:260px;overflow:hidden}.scanner-dialog .camera-box.running{position:relative;inset:auto;z-index:auto;height:min(55vh,440px);border-radius:11px}.scanner-dialog .camera-controls{bottom:14px}.scanner-dialog .camera-status{margin:10px 0 0}
@media(max-width:760px){.report-section{padding:17px 15px}.scan-code-row{grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.scan-camera-trigger{min-width:46px;padding:0 10px}.scan-camera-trigger span{display:none}.report-severity-block .severity-options{grid-template-columns:1fr 1fr}.report-submit-row{bottom:calc(76px + env(safe-area-inset-bottom));align-items:stretch;flex-direction:column;gap:8px}.report-submit-row .button{width:100%}.report-submit-row>span{text-align:center}.product-picker-trigger{align-items:flex-start}.product-picker-trigger>.button{min-height:38px;padding:7px 10px}.product-picker-head{padding:16px}.product-picker-form{padding:14px;max-height:calc(94dvh - 145px)}.product-picker-actions{padding:12px 14px;flex-wrap:wrap}.product-picker-actions>span{width:100%}.scanner-dialog{padding:14px;width:calc(100vw - 16px)}.scanner-dialog .camera-box,.scanner-dialog .camera-box.running{height:min(58vh,430px);min-height:250px}}
@media(max-width:430px){.scan-code-row{grid-template-columns:minmax(0,1fr) 76px 46px}.scan-code-row .scan-action{padding:0 10px}.report-severity-block .severity-options{grid-template-columns:1fr}.product-picker-trigger-copy strong{max-width:58vw;font-size:12px}.product-picker-trigger>.button{font-size:11px}.product-picker-actions>div{width:100%}.product-picker-actions>div .button{flex:1}}

/* Compact product and defect entry layout based on the supplied reference. */
.report-product-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.report-serial-pane{display:grid;grid-template-columns:126px minmax(0,1fr);gap:16px;align-items:end;padding-right:20px;border-right:1px solid var(--border)}.report-serial-pane .scan-code-label{margin:0}.report-serial-pane input{margin-top:5px}.report-create-form .scan-camera-trigger{height:72px;min-width:0;flex-direction:column;gap:5px;padding:10px;border:1px dashed var(--blue-300);border-radius:10px;background:var(--blue-50);color:var(--blue-700);font-weight:800}.report-create-form .scan-camera-trigger .ui-icon{width:22px;height:22px}.report-select-row,.product-select-row{min-width:0;margin:0}.product-picker-trigger{min-height:72px}.product-select-row .resolved-product{padding:9px 11px;border-radius:9px;background:#f0faf5}.report-details-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}.report-details-grid>.report-section{min-width:0}.report-process-fields{margin-bottom:16px}.report-defect-content{margin-top:18px;padding-top:15px;border-top:1px solid var(--border)}.report-subsection-heading{margin-bottom:12px}.report-subsection-heading .report-section-icon{width:28px;height:28px}.report-subsection-heading h2{font-size:15px}.report-subsection-heading p{font-size:11px}.report-notes-label{margin-top:12px}.report-attachment-picker{min-height:258px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.report-attachment-picker .file-summary,.report-attachment-picker .file-previews{width:100%}.report-severity-block .severity-options{gap:8px}.report-severity-block .severity-options>label>span{min-height:42px}
@media(max-width:760px){.report-product-grid,.report-details-grid{grid-template-columns:1fr}.report-serial-pane{grid-template-columns:96px minmax(0,1fr);gap:10px;padding:0 0 14px;border-right:0;border-bottom:1px solid var(--border)}.report-create-form .scan-camera-trigger{height:64px}.product-picker-trigger{min-height:64px}.report-attachment-picker{min-height:220px}.report-severity-block .severity-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.report-serial-pane{grid-template-columns:80px minmax(0,1fr)}.report-create-form .scan-camera-trigger{padding:8px 4px;font-size:11px}.report-severity-block .severity-options{grid-template-columns:1fr}}

/* Excel-like repair intake grid with range paste support. */
.repair-grid-heading h1{margin-bottom:5px}.repair-grid-search{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:17px 20px}.repair-grid-search-copy{display:grid;gap:4px;min-width:250px}.repair-grid-search-copy b{font-size:13px}.repair-grid-search-copy span{color:var(--gray-600);font-size:12px}.repair-grid-search .scan-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;flex:1;max-width:940px;margin:0}.repair-grid-search .scan-search input{min-width:0}.repair-quick-grid-panel{padding:18px 20px;margin-bottom:30px}.repair-grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.repair-grid-toolbar h2,.repair-grid-toolbar p{margin:0}.repair-grid-toolbar h2{font-size:18px}.repair-grid-toolbar p{margin-top:4px;color:var(--gray-600);font-size:12px}.repair-grid-toolbar>div:last-child{display:flex;gap:8px;flex:none}.repair-grid-hint{margin-bottom:12px;font-size:12px}.repair-grid-error,.repair-grid-success{margin:0 0 12px}.repair-grid-scroll{max-height:calc(100vh - 395px);min-height:300px;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff}.repair-quick-grid{width:100%;min-width:1660px;border-collapse:separate;border-spacing:0;font-size:12px}.repair-quick-grid th{position:sticky;top:0;z-index:3;padding:11px 9px;border-right:1px solid #e1e7ed;border-bottom:1px solid #d6dfe8;background:#f2f5f8;color:#45576c;text-align:left;line-height:1.35;white-space:normal}.repair-quick-grid td{position:relative;min-width:92px;height:94px;padding:8px;border-right:1px solid #e8edf2;border-bottom:1px solid #e8edf2;vertical-align:top;background:#fff}.repair-quick-grid tr:last-child td{border-bottom:0}.repair-quick-grid td:nth-child(1){min-width:130px}.repair-quick-grid td:nth-child(2){min-width:100px}.repair-quick-grid td:nth-child(3){min-width:150px}.repair-quick-grid td:nth-child(4){min-width:165px}.repair-quick-grid td:nth-child(5){min-width:125px}.repair-quick-grid td:nth-child(6){min-width:160px}.repair-quick-grid td:nth-child(7){min-width:125px}.repair-quick-grid td:nth-child(8){min-width:110px}.repair-quick-grid td:nth-child(9){min-width:190px}.repair-quick-grid td:nth-child(10){min-width:140px}.repair-quick-grid td:nth-child(11){min-width:150px}.repair-quick-grid td:nth-child(12){min-width:190px}.repair-quick-grid td:focus-within{z-index:2;outline:2px solid #3b82c4;outline-offset:-2px}.repair-quick-grid tr:nth-child(even) td{background:#fbfcfe}.repair-quick-grid tr.is-looking-up td{background:#f2f8fd}.repair-quick-grid tr.has-grid-error td{background:#fff7f5}.repair-quick-grid tr.is-readonly td{background:#f5f7f9;color:#667386}.repair-grid-ticket{display:block;color:var(--blue-700);font-weight:850;text-decoration:none;line-height:1.4}.repair-grid-state{display:block;margin-top:5px;color:var(--gray-600);font-size:10px}.repair-repeat-badge{display:inline-block;margin-top:5px;padding:4px 6px;border-radius:6px;background:#fff1d6;color:#975c0b;font-size:10px;font-weight:800}.repair-grid-readonly{display:block;color:#3d5065;font-size:12px;line-height:1.4}.repair-grid-photo{display:block;width:66px;height:58px;object-fit:cover;border:1px solid #d6dee7;border-radius:6px}.repair-grid-photo-link{display:inline-block}.repair-grid-cell-input,.repair-grid-cell-select{width:100%;min-width:70px;height:auto;min-height:34px;margin:0;padding:6px 7px;border:1px solid #dce3eb;border-radius:6px;background:#fff;color:#26384c;font-size:12px;line-height:1.3}.repair-grid-cell-input:focus,.repair-grid-cell-select:focus{border-color:#4385be;outline:2px solid rgba(57,126,183,.13)}.repair-grid-picker{position:relative;min-width:130px}.repair-grid-picker-summary{min-height:34px;padding:7px 22px 7px 8px;border:1px solid #dce3eb;border-radius:6px;background:#fff;color:#26384c;font-size:11px;line-height:1.45;cursor:pointer;list-style:none}.repair-grid-picker-summary::-webkit-details-marker{display:none}.repair-grid-picker-summary:after{position:absolute;right:8px;top:9px;content:'▾';color:#65758a}.repair-grid-picker[open] .repair-grid-picker-list{position:absolute;top:calc(100% + 3px);left:0;z-index:9;display:grid;gap:4px;min-width:215px;max-height:220px;overflow:auto;padding:8px;border:1px solid #d7e0e9;border-radius:8px;background:#fff;box-shadow:0 10px 28px rgba(23,43,62,.18)}.repair-grid-picker-list{display:none}.repair-grid-picker-option{display:flex;align-items:flex-start;gap:7px;padding:5px;border-radius:5px;color:#32465b;font-size:11px;cursor:pointer}.repair-grid-picker-option:hover{background:#f2f7fb}.repair-grid-picker-option input{margin:1px 0 0;accent-color:#287bc1}.repair-grid-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:var(--gray-600);font-size:11px}.quick-repair-scanner{z-index:15}
@media(max-width:900px){.repair-grid-search{align-items:stretch;flex-direction:column;gap:12px}.repair-grid-search .scan-search{max-width:none}.repair-grid-toolbar{align-items:flex-start;flex-direction:column}.repair-grid-scroll{max-height:65vh}.repair-quick-grid{min-width:1450px}}
@media(max-width:600px){.repair-grid-search,.repair-quick-grid-panel{padding:14px}.repair-grid-search .scan-search{grid-template-columns:1fr 1fr}.repair-grid-search .scan-search input{grid-column:1/-1}.repair-grid-toolbar>div:last-child{width:100%}.repair-grid-toolbar>div:last-child .button{flex:1;justify-content:center}.repair-grid-bottom{align-items:flex-start;flex-direction:column}.repair-grid-scroll{min-height:260px}}
/* Excel-like quick repair grid selection / paste preview */
.repair-quick-grid tr.is-saving td{opacity:.68}.repair-quick-grid tr.is-saved td{box-shadow:inset 0 2px 0 rgba(37,145,84,.35)}
.repair-grid-preview{width:min(1100px,94vw);max-width:none;border:0;border-radius:14px;padding:18px;box-shadow:0 24px 70px rgba(18,35,52,.28)}.repair-grid-preview::backdrop{background:rgba(18,35,52,.44)}.repair-grid-preview .modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.repair-grid-preview .modal-head h2,.repair-grid-preview .modal-head p{margin:0}.repair-grid-preview-scroll{max-height:58vh;overflow:auto;margin:12px 0;border:1px solid var(--border);border-radius:9px}.repair-grid-preview-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.repair-grid-preview-table td{max-width:260px;padding:7px 9px;border-right:1px solid #e6ebf0;border-bottom:1px solid #e6ebf0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repair-grid-preview .modal-actions{display:flex;justify-content:flex-end;gap:8px}

/* Repair intake v5 — compact spreadsheet-first UX */
.repair-sheet{margin:18px 0 28px;padding:0;overflow:hidden;border-radius:12px}
.repair-sheet-toolbar{display:grid;grid-template-columns:auto minmax(360px,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);background:#fff}
.repair-sheet-title{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.repair-sheet-title h1{margin:0;font-size:19px;line-height:1.2}.repair-sheet-title span{color:var(--gray-500);font-size:11px;font-weight:700}
.repair-sheet-search{display:grid;grid-template-columns:minmax(180px,1fr) 38px auto;gap:6px;min-width:0;margin:0}.repair-sheet-search input{width:100%;min-width:0;height:38px;margin:0;padding:7px 10px;border-radius:7px}.repair-sheet-search .button{height:38px;padding:0 12px}.repair-camera-button{width:38px;height:38px;border:1px solid var(--border);border-radius:7px;color:var(--blue-700);background:#fff}
.repair-sheet-actions{display:flex;gap:7px}.repair-sheet-actions .button{height:38px;padding:0 12px;white-space:nowrap}
.repair-grid-message{margin:8px 12px 0;padding:8px 10px;border-radius:7px;font-size:11px;line-height:1.35}.repair-grid-error{border:1px solid #f3c5bf;background:#fff5f3;color:#9b2c1f}.repair-grid-success{border:1px solid #bfe3cd;background:#f1fbf5;color:#22633c}
.repair-grid-scroll{max-height:calc(100vh - 170px);min-height:420px;overflow:auto;border:0;border-radius:0;background:#fff}
.repair-quick-grid{width:max-content;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:11px}
.repair-quick-grid th{position:sticky;top:0;z-index:6;height:38px;padding:7px 8px;border-right:1px solid #dfe5eb;border-bottom:1px solid #cfd8e2;background:#f3f6f9;color:#35495f;font-size:10.5px;font-weight:800;line-height:1.15;text-align:left;white-space:nowrap}
.repair-quick-grid th:nth-child(1){width:116px}.repair-quick-grid th:nth-child(2){width:78px}.repair-quick-grid th:nth-child(3){width:142px}.repair-quick-grid th:nth-child(4){width:145px}.repair-quick-grid th:nth-child(5){width:110px}.repair-quick-grid th:nth-child(6){width:155px}.repair-quick-grid th:nth-child(7){width:125px}.repair-quick-grid th:nth-child(8){width:120px}.repair-quick-grid th:nth-child(9){width:155px}.repair-quick-grid th:nth-child(10){width:124px}.repair-quick-grid th:nth-child(11){width:138px}.repair-quick-grid th:nth-child(12){width:155px}
.repair-quick-grid td{position:relative;width:auto;min-width:0;height:58px;padding:5px 6px;border-right:1px solid #e5eaf0;border-bottom:1px solid #e5eaf0;vertical-align:middle;background:#fff;overflow:visible}.repair-quick-grid tr:nth-child(even) td{background:#fbfcfd}.repair-quick-grid tr.is-looking-up td{background:#f2f8fd}.repair-quick-grid tr.has-grid-error td{background:#fff7f5}.repair-quick-grid tr.is-readonly td{background:#f5f7f9;color:#667386}.repair-quick-grid tr.is-saving td{opacity:.66}.repair-quick-grid tr.is-saved td{box-shadow:inset 0 2px 0 rgba(37,145,84,.32)}

.repair-grid-ticket{display:block;overflow:hidden;color:var(--blue-700);font-weight:850;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.repair-grid-state{display:block;margin-top:3px;overflow:hidden;color:var(--gray-500);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.repair-repeat-badge{display:inline-block;margin-top:3px;padding:2px 4px;border-radius:4px;background:#fff1d6;color:#975c0b;font-size:9px;font-weight:800}.repair-grid-readonly,.repair-grid-muted{display:block;overflow:hidden;color:#4a5d71;font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.repair-grid-muted{color:var(--gray-400);text-align:center}
.repair-grid-cell-input,.repair-grid-cell-select{width:100%;min-width:0;min-height:30px;height:30px;margin:0;padding:4px 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:#26384c;font-size:11px;line-height:1.2}.repair-grid-cell-input:hover,.repair-grid-cell-select:hover{border-color:#d6dee7;background:#fff}.repair-grid-cell-input:focus,.repair-grid-cell-select:focus{border-color:#4385be;background:#fff;outline:0;box-shadow:0 0 0 2px rgba(57,126,183,.12)}
.repair-grid-picker{position:relative;min-width:0}.repair-grid-picker-summary{display:block;min-height:30px;overflow:hidden;padding:6px 20px 5px 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:#26384c;font-size:11px;line-height:1.2;cursor:pointer;list-style:none;text-overflow:ellipsis;white-space:nowrap}.repair-grid-picker-summary:hover{border-color:#d6dee7;background:#fff}.repair-grid-picker-summary::-webkit-details-marker{display:none}.repair-grid-picker-summary:after{position:absolute;right:6px;top:7px;content:'▾';color:#65758a}.repair-grid-picker[open] .repair-grid-picker-summary{border-color:#4385be;background:#fff;box-shadow:0 0 0 2px rgba(57,126,183,.12)}.repair-grid-picker-list{display:none}.repair-grid-picker[open] .repair-grid-picker-list{position:absolute;top:calc(100% + 3px);left:-1px;z-index:20;display:grid;gap:1px;width:max-content;min-width:190px;max-width:260px;max-height:230px;overflow:auto;padding:5px;border:1px solid #d3dde7;border-radius:7px;background:#fff;box-shadow:0 12px 30px rgba(23,43,62,.18)}.repair-grid-picker-option{display:flex;align-items:center;gap:7px;min-height:28px;padding:4px 6px;border-radius:4px;color:#32465b;font-size:11px;cursor:pointer}.repair-grid-picker-option:hover{background:#f1f6fb}.repair-grid-picker-option input[type=checkbox]{box-sizing:border-box!important;flex:0 0 15px!important;width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;margin:0!important;padding:0!important;accent-color:#287bc1}.repair-grid-picker-option span{line-height:1.25}
.repair-grid-photo-cell{display:flex;align-items:center;justify-content:center;gap:4px;min-height:40px}.repair-grid-photo{display:block;width:38px;height:38px;object-fit:cover;border:1px solid #d6dee7;border-radius:5px}.repair-grid-photo-link{display:block;flex:none}.repair-grid-photo-add{height:28px;min-width:48px;padding:0 7px;border:1px dashed #9bbbd6;border-radius:5px;background:#f7fbff;color:#176dad;font-size:10px;font-weight:800;cursor:pointer}.repair-grid-photo-add.compact{width:24px;min-width:24px;height:24px;padding:0;border-style:solid;border-radius:50%;font-size:14px}.repair-grid-photo-add:hover:not(:disabled){border-color:#2e7fbd;background:#edf7ff}.repair-grid-photo-add:disabled{cursor:not-allowed;opacity:.38}.repair-quick-grid td.is-uploading-photo{opacity:.55;pointer-events:none}
.quick-repair-scanner{z-index:30}
@media(max-width:1200px){.repair-sheet-toolbar{grid-template-columns:1fr auto}.repair-sheet-title{grid-column:1/-1}.repair-sheet-search{min-width:0}.repair-grid-scroll{max-height:calc(100vh - 205px)}}
@media(max-width:720px){.repair-sheet{margin:8px 0 90px;border-radius:8px}.repair-sheet-toolbar{grid-template-columns:1fr;padding:10px}.repair-sheet-title{justify-content:space-between}.repair-sheet-search{grid-template-columns:minmax(0,1fr) 38px 66px}.repair-sheet-actions{display:grid;grid-template-columns:1fr 1fr}.repair-sheet-actions .button{justify-content:center}.repair-grid-scroll{min-height:420px;max-height:calc(100dvh - 285px)}.repair-quick-grid{min-width:1520px}}

/* Repair grid v6: spreadsheet drag selection + row controls */
.repair-grid-scroll.is-drag-selecting,.repair-grid-scroll.is-drag-selecting *{-webkit-user-select:none!important;user-select:none!important}
.repair-quick-grid th.repair-grid-action-head{position:sticky;right:0;z-index:8;width:42px;min-width:42px;max-width:42px;padding:0;border-left:1px solid #dfe5eb;background:#f3f6f9;text-align:center}
.repair-quick-grid td.repair-grid-row-action{position:sticky;right:0;z-index:4;width:42px;min-width:42px;max-width:42px;padding:0 4px;border-left:1px solid #e2e8ef;background:#fff!important;text-align:center;box-shadow:-3px 0 6px rgba(35,56,78,.04)}
.repair-quick-grid tr:nth-child(even) td.repair-grid-row-action{background:#fbfcfd!important}
.repair-quick-grid tr.is-looking-up td.repair-grid-row-action{background:#f2f8fd!important}
.repair-quick-grid tr.has-grid-error td.repair-grid-row-action{background:#fff7f5!important}
.repair-quick-grid tr.is-readonly td.repair-grid-row-action{background:#f5f7f9!important}
.repair-grid-delete-row{display:inline-grid;place-items:center;width:26px;height:26px;margin:0;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:#8a98a8;font:700 18px/1 Arial,sans-serif;cursor:pointer}
.repair-grid-delete-row:hover,.repair-grid-delete-row:focus-visible{border-color:#efc7c1;background:#fff2f0;color:#b83427;outline:0}

/* V8.3 — resizable repair intake columns */
.repair-quick-grid th:not(.repair-grid-action-head){position:sticky}
.repair-grid-column-resizer{position:absolute;top:0;right:-4px;z-index:12;width:9px;height:100%;cursor:col-resize;touch-action:none}
.repair-grid-column-resizer::after{position:absolute;top:7px;bottom:7px;left:4px;width:1px;background:transparent;content:''}
.repair-quick-grid th:hover>.repair-grid-column-resizer::after,.repair-quick-grid th.is-resizing>.repair-grid-column-resizer::after{background:#4b91c8}
body.is-resizing-repair-column,body.is-resizing-repair-column *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}

/* V8.4 pending repair photo */
.repair-grid-photo-link.is-pending{position:relative;display:block}.repair-grid-photo-pending-badge{position:absolute;right:-3px;bottom:-3px;padding:1px 4px;border-radius:5px;background:#fff3cd;border:1px solid #e4c86b;color:#7b5a00;font-size:8px;font-weight:900;line-height:1.4}.repair-grid-photo-remove{width:22px;height:22px;padding:0;border:1px solid #e1a4a4;border-radius:50%;background:#fff;color:#a33;font-size:14px;line-height:18px;cursor:pointer}.repair-grid-photo-remove:hover{background:#fff0f0}

/* V1.1 — sản phẩm được khóa khi Serial/mã quét đã xác định chính xác master data. */
.product-picker-trigger.is-scan-locked{
  border-color:#86efac;
  background:#f0fdf4;
  cursor:help;
}
.product-picker-trigger.is-scan-locked .product-picker-trigger-copy small::after{
  content:" · KHÓA THEO MÃ QUÉT";
  color:#15803d;
  font-weight:800;
}


/* V1.3 — Excel/Table UX: compact toolbar, visible history controls, stable selection. */
.repair-grid-history-actions{display:flex;gap:4px;align-items:center;padding-right:2px;border-right:1px solid var(--border)}
.repair-grid-history-actions .icon-button{width:34px;height:38px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#344054;font-size:20px;line-height:1}
.repair-grid-history-actions .icon-button:hover:not(:disabled){border-color:#84adff;background:#f5f8ff;color:#175cd3}
.repair-grid-history-actions .icon-button:disabled{opacity:.35;cursor:not-allowed}
.repair-grid-file-action{min-width:88px}
@media(max-width:1100px){.repair-sheet-actions{flex-wrap:wrap;justify-content:flex-end}.repair-grid-file-action{min-width:0}}
@media(max-width:720px){.repair-sheet-actions{grid-template-columns:auto auto 1fr 1fr}.repair-grid-history-actions{border-right:0}.repair-grid-file-action{font-size:11px;padding:0 8px}}


/* V1.3 camera hotfix: webcam thật cho nút Chụp ảnh trên desktop. */
.attachment-camera-dialog{width:min(760px,calc(100vw - 24px));padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 30px 90px rgba(7,26,44,.35);overflow:hidden}.attachment-camera-dialog::backdrop{background:rgba(5,21,36,.68);backdrop-filter:blur(3px)}.attachment-camera-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--border)}.attachment-camera-head b,.attachment-camera-head small{display:block}.attachment-camera-head small{margin-top:3px;color:var(--text-muted)}.attachment-camera-stage{position:relative;display:grid;place-items:center;min-height:320px;max-height:62dvh;background:#071725;overflow:hidden}.attachment-camera-stage video{display:block;width:100%;height:min(62dvh,520px);object-fit:contain;background:#071725}.attachment-camera-stage p{position:absolute;inset:auto 18px 18px;margin:0;padding:9px 12px;border-radius:8px;background:rgba(7,23,37,.82);color:#fff;text-align:center}.attachment-camera-actions{display:flex;justify-content:flex-end;gap:9px;padding:13px 16px;border-top:1px solid var(--border);background:#fff}@media(max-width:760px){.attachment-camera-dialog{width:calc(100vw - 12px)}.attachment-camera-stage{min-height:260px}.attachment-camera-actions>*{flex:1}}
