*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;color:#1a1a1a;background:#f0f2f5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;font-size:inherit}:root{--brand-main: #123434;--brand-main-light: #1a4f4d;--brand-main-dark: #0c2323;--brand-dark-bg: #666766;--brand-light-bg: #a4afbb;--brand-orange: #d3431f;--brand-orange-hover: #b8391a;--navy: #123434;--navy-light: #1a4f4d;--navy-dark: #0c2323;--blue-accent: #d3431f;--green: #16a34a;--green-bg: #dcfce7;--green-border: #86efac;--amber: #d97706;--amber-bg: #fef3c7;--amber-border: #fcd34d;--red: #dc2626;--red-bg: #fee2e2;--red-border: #fca5a5;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--white: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--radius: 8px;--radius-sm: 4px}.login-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#123434,#1a4f4d)}.login-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:40px;width:100%;max-width:400px}.login-logo{display:flex;justify-content:center;margin-bottom:16px}.login-logo-mark{height:60px;width:auto}.login-card h1{text-align:center;color:#123434;font-size:28px;font-weight:700;margin-bottom:4px}.login-card .login-subtitle{text-align:center;color:var(--gray-500);font-size:14px;margin-bottom:32px}.login-card .form-group{margin-bottom:16px}.login-card label{display:block;font-weight:600;color:var(--gray-700);margin-bottom:6px;font-size:13px}.login-card input[type=email],.login-card input[type=password]{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:14px;transition:border-color .15s}.login-card input:focus{outline:none;border-color:#d3431f;box-shadow:0 0 0 3px #d3431f1a}.login-btn{width:100%;padding:10px;background:#d3431f;color:var(--white);font-size:15px;font-weight:600;border:none;border-radius:var(--radius-sm);margin-top:8px;transition:background .15s}.login-btn:hover{background:#b8391a}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:16px;font-size:13px}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-shell-matrix{height:100vh;overflow:hidden}.app-header{background:var(--navy);color:var(--white);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px;flex-shrink:0}.app-header-non-production{background-color:var(--navy);background-image:repeating-linear-gradient(-45deg,#ffffff29,#ffffff29 10px,#ffffff0d 10px,#ffffff0d 20px)}.app-header .brand{display:flex;align-items:center}.header-logo{height:28px;width:auto}.header-title{margin-left:14px;font-size:16px;font-weight:600;letter-spacing:.3px;opacity:.95}.header-right{display:flex;align-items:center;gap:16px}.header-right .user-email{font-size:13px;opacity:.85}.logout-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:var(--white);padding:6px 14px;border-radius:var(--radius-sm);font-size:13px;transition:background .15s}.logout-btn:hover{background:#ffffff40}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:#fff4db;border-bottom:1px solid #f3cc80;color:#5b420f}.update-banner-message{font-size:13px;font-weight:600}.update-banner-actions{display:flex;align-items:center;gap:8px}.update-banner-actions .btn{padding:6px 12px}.tab-nav{background:var(--white);border-bottom:1px solid var(--gray-200);display:flex;padding:0 24px;flex-shrink:0}.tab-nav a{background:none;border:none;padding:12px 20px;font-size:14px;font-weight:500;color:var(--gray-500);border-bottom:2px solid transparent;transition:all .15s;display:inline-block}.tab-nav a:hover{color:var(--navy)}.tab-nav a.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}@media(max-width:768px){.update-banner{flex-direction:column;align-items:flex-start;padding:10px 16px}.page-header{flex-direction:column;align-items:stretch;gap:10px}.page-header-actions{justify-content:flex-start}.app-footer{padding:8px 16px}.app-footer-meta{text-align:center}}.page-content{padding:24px}.page-content-matrix{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.page-layout{display:grid;gap:16px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-header-main{min-width:0;display:grid;gap:6px}.page-header-actions{display:flex;align-items:center;gap:8px}.app-footer{flex-shrink:0;padding:8px 24px}.app-footer-meta{display:block;text-align:center;font-size:11px;color:var(--gray-500)}.page-title{font-size:20px;font-weight:700;color:var(--gray-800);margin:0}.page-subtitle{margin:0;font-size:13px;color:var(--gray-500);line-height:1.4}.filter-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.filter-bar select,.filter-bar input[type=text]{padding:8px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:13px;background:var(--white);min-width:160px}.filter-bar select:focus,.filter-bar input:focus{outline:none;border-color:#d3431f;box-shadow:0 0 0 3px #d3431f1a}.filter-bar input[type=text]{min-width:220px}.result-count{font-size:13px;color:var(--gray-500);margin-bottom:12px}.dm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dm-result-count{font-size:13px;color:var(--gray-500)}.condition-set-color-chip{display:inline-block;width:28px;height:18px;border-radius:4px;border:1px solid rgba(0,0,0,.18);vertical-align:middle}.swatch-dropdown{position:relative;min-width:240px;z-index:20000!important}.swatch-dropdown-trigger,.swatch-dropdown-option{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--gray-300);background:var(--white);color:var(--gray-700);font:inherit;text-align:left}.swatch-dropdown-trigger{min-height:34px;padding:6px 32px 6px 8px;border-radius:var(--radius-sm);cursor:pointer;position:relative}.swatch-dropdown-trigger:after{content:"";position:absolute;right:10px;top:50%;width:7px;height:7px;border-right:1px solid var(--gray-500);border-bottom:1px solid var(--gray-500);transform:translateY(-65%) rotate(45deg)}.swatch-dropdown-trigger:disabled{cursor:not-allowed;opacity:.55}.swatch-dropdown-trigger:focus-visible,.swatch-dropdown-option:focus-visible{outline:2px solid var(--brand-main);outline-offset:2px}.swatch-dropdown-selected,.swatch-dropdown-option-label{display:flex;flex-direction:column;gap:1px;min-width:0}.swatch-dropdown-selected>span,.swatch-dropdown-option-label>span{white-space:normal;overflow-wrap:anywhere}.swatch-dropdown-selected small,.swatch-dropdown-option-label small{font-size:11px;line-height:1.1;color:var(--gray-500)}.swatch-dropdown-swatch{width:24px;height:16px;flex:0 0 24px;border:1px solid rgba(0,0,0,.18);border-radius:4px}.swatch-dropdown-menu{position:absolute;z-index:20000!important;top:calc(100% + 4px);left:0;width:max(100%,280px);max-height:280px;overflow:auto;padding:4px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);box-shadow:var(--shadow-lg)}.swatch-dropdown-option{min-height:38px;padding:6px 8px;border-color:transparent;border-radius:var(--radius-sm);cursor:pointer}.swatch-dropdown-option:hover,.swatch-dropdown-option[aria-selected=true]{background:var(--gray-50)}.condition-set-color-dropdown{max-width:260px}.table-wrapper{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{background:var(--gray-50);font-weight:600;text-align:left;padding:10px 14px;border-bottom:2px solid var(--gray-200);white-space:nowrap;color:var(--gray-700);cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th:hover{background:var(--gray-100)}.data-table th .sort-arrow{margin-left:4px;font-size:10px;opacity:.4}.data-table th .sort-arrow.active{opacity:1}.data-table td{padding:10px 14px;border-bottom:1px solid var(--gray-100);vertical-align:top}.data-table tr:nth-child(2n) td{background:var(--gray-50)}.data-table tr:hover td{background:#0337360a}.data-table .conditions-cell{max-width:250px;white-space:normal;font-size:12px;color:var(--gray-600);line-height:1.4}.generator-port-list{display:grid;gap:2px}.generator-port-row{display:grid;grid-template-columns:16px minmax(24px,max-content) minmax(0,1fr);gap:3px;align-items:baseline}.lead-connector-row{display:grid;grid-template-columns:16px minmax(0,1fr);gap:3px;align-items:baseline}.generator-port-index,.generator-port-location,.generator-port-connector{white-space:nowrap}.generator-port-index{text-align:right}.data-issue-comments-cell{max-width:390px;white-space:normal;font-size:12px;color:var(--gray-700);line-height:1.4}.data-issue-comment-line{margin:0}.data-issue-comment-line+.data-issue-comment-line{margin-top:1px}.data-issue-chat-row{display:grid;grid-template-columns:minmax(76px,112px) minmax(0,1fr);gap:6px;align-items:baseline;width:100%;padding:1px 0 1px 7px;border-left:1px solid var(--gray-300)}.data-issue-chat-row.is-issue-author{border-left-color:#03373699}.data-issue-chat-author{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:600;line-height:1.2;color:var(--gray-600)}.data-issue-chat-row.is-issue-author .data-issue-chat-author{color:var(--navy)}.data-issue-chat-author:after{content:":";margin-left:1px;color:var(--gray-400)}.data-issue-chat-text{min-width:0;font-size:12px;line-height:1.2;color:var(--gray-700);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.data-issue-comment-ellipsis{display:block;width:100%;text-align:center;line-height:1;margin:2px 0;color:var(--gray-500);font-weight:600}.scan-conditions-list{display:grid;gap:6px}.scan-conditions-list-aligned{gap:4px}.scan-conditions-line-aligned{display:grid;grid-template-columns:56px 96px 70px 88px 86px;gap:6px;align-items:center;justify-items:start;width:fit-content;max-width:100%}.scan-conditions-line-aligned>span{display:inline-flex;align-items:center;min-height:22px}.scan-conditions-line-aligned .scan-condition-values{white-space:nowrap}.scan-conditions-line-aligned .scan-condition-value-max{justify-self:end;text-align:right}.scan-conditions-line-aligned .scan-condition-value-zone{justify-self:start;text-align:left}.scan-conditions-table{display:grid;gap:4px;font-size:11px;color:var(--gray-700);width:fit-content;max-width:100%}.scan-conditions-header,.scan-conditions-row{display:grid;grid-template-columns:56px 96px 118px 120px 86px 88px 70px 88px 88px 96px;gap:6px;align-items:center}.scan-conditions-header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--gray-500);padding-bottom:2px;border-bottom:1px solid var(--gray-200)}.scan-conditions-row{padding-top:2px}.scan-conditions-header span,.scan-conditions-row span{white-space:nowrap}.scan-conditions-header-max{text-align:right}.scan-conditions-row>span{display:inline-flex;align-items:center;min-height:22px}.scan-conditions-row .scan-condition-bore-types{white-space:normal;line-height:1.25}.scan-conditions-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.scan-condition-pill{display:inline-block;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}.scan-condition-pill-strength-15t{color:#334155;background:#e2e8f0;border:1px solid #cbd5e1}.regulatory-body-badges{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.regulatory-body-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--gray-300);background:var(--white);color:var(--gray-700);padding:2px 6px;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}.regulatory-body-badge-flag-only{min-width:24px;padding:2px 4px}.lead-generator-compatibility{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.lead-generator-compatibility-badge{display:inline-flex;align-items:center;gap:4px;min-width:38px;justify-content:center;border-radius:999px;border:1px solid var(--gray-300);background:var(--white);color:var(--gray-700);padding:2px 6px;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}.generator-condition-set-list{display:grid;gap:6px}.generator-condition-set-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:4px}.generator-condition-set-regulatory-bodies{width:56px;display:inline-flex;justify-content:flex-start}.generator-condition-set-name{font-weight:600;color:var(--gray-800);min-width:0}.generator-condition-set-leads{color:var(--gray-500);font-size:11px}.generator-condition-set-action{background:transparent;border:0;cursor:pointer;font:inherit;padding:0;text-align:left}.generator-condition-set-action:hover,.generator-condition-set-action:focus-visible{color:var(--brand-main);text-decoration:underline}.generator-condition-set-action:focus-visible{outline:2px solid rgba(18,52,52,.2);outline-offset:2px}.generator-condition-set-modal-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;color:var(--gray-600);font-size:12px}.modal-table-wrapper{overflow-x:auto;max-width:100%}.associated-leads-table{min-width:520px}.scan-condition-pill-strength-3t{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.scan-condition-pill-scope-whole-body{color:#4b5563;background:#f3f4f6;border:1px solid #d1d5db}.scan-condition-pill-scope-head{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.scan-condition-pill-mode,.scan-condition-pill-mode-normal{color:#4b5563;background:#f3f4f6;border:1px solid #d1d5db}.scan-condition-pill-mode-unknown{color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db}.scan-condition-pill-mode-first{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.scan-condition-pill-mode-second{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.scan-condition-pill-rf-sar{color:#4b5563;background:#f3f4f6;border:1px solid #d1d5db}.scan-condition-pill-rf-b1{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.scan-condition-values{font-size:12px;color:var(--gray-700);white-space:normal}.scan-condition-value-max{justify-self:end;text-align:right}.scan-condition-pill-zone-full-body{color:#4b5563;background:#f3f4f6;border:1px solid #d1d5db}.scan-condition-pill-zone-hip-eye{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.scan-condition-pill-zone-other{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.scan-condition-pill-zone-na{color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db}.scan-condition-attrs{display:grid;gap:4px}.scan-condition-attr{display:grid;grid-template-columns:minmax(130px,180px) 1fr;gap:8px;align-items:start;font-size:12px;color:var(--gray-700)}.scan-condition-detail-tabs{display:grid;gap:8px}.scan-condition-detail-tab-list{display:flex;flex-wrap:wrap;gap:6px}.scan-condition-detail-tab{border:1px solid var(--gray-300);border-radius:999px;background:var(--white);color:var(--gray-700);font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer}.scan-condition-detail-tab:hover{border-color:var(--brand-main);color:var(--brand-main)}.scan-condition-detail-tab.active{border-color:var(--brand-main);background:#12343414;color:var(--brand-main)}.scan-condition-detail-tab.error{border-color:var(--red-border);background:var(--red-bg);color:var(--red)}.scan-condition-detail-tab.error:hover,.scan-condition-detail-tab.error.active{border-color:var(--red);color:var(--red)}.scan-condition-detail-panel{border:1px solid var(--gray-200);border-radius:6px;padding:8px 10px}.data-table .scan-conditions-cell{width:36%;max-width:none}.data-table .conditions-text-cell{width:22%;max-width:260px}.system-conditionality-page{max-width:none;flex:1;min-height:0;display:flex;flex-direction:column}.system-conditionality-filters .filter-group{display:grid;gap:4px}.system-conditionality-filters label{font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase}.system-conditionality-filters .checkbox-filter-group .checkbox-label{display:inline-flex;align-items:center;gap:6px;min-height:34px;font-size:13px;font-weight:500;color:var(--gray-700);text-transform:none}.system-conditionality-filters .checkbox-filter-group input[type=checkbox]{width:16px;height:16px;margin:0}.system-conditionality-toolbar{position:sticky;top:0;z-index:20000!important;display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:40px;margin-bottom:12px;padding:8px 0;font-size:13px;color:var(--gray-600);background:var(--white);border-bottom:1px solid var(--gray-100)}.system-conditionality-assignment-editor{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.system-conditionality-assignment-editor .condition-set-swatch-dropdown{min-width:280px;max-width:min(420px,60vw);font-size:13px}.system-conditionality-impact{color:var(--gray-600)}.system-conditionality-impact.warning{color:var(--red);font-weight:600}.system-conditionality-table-wrapper{flex:1;min-height:0;width:100%;overflow:auto;border:1px solid var(--gray-200);background:var(--gray-50)}.system-conditionality-table{border-collapse:separate;border-spacing:0;font-size:11px;min-width:100%}.system-conditionality-table th,.system-conditionality-table td{border-right:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);padding:0}.system-conditionality-table thead tr{background:var(--gray-50)}.system-conditionality-table thead th{position:sticky;top:0;z-index:3;background:var(--gray-50);color:var(--gray-700);min-width:75px;width:75px;max-width:75px;height:128px;padding:0;vertical-align:bottom;text-align:left}.system-conditionality-generator-header{position:sticky;overflow:visible}.system-conditionality-table thead th.system-conditionality-generator-header{border-right:0}.system-conditionality-table thead th.system-conditionality-generator-header:before,.system-conditionality-table thead th.system-conditionality-generator-header:after{content:"";position:absolute;left:0;bottom:0;z-index:0;box-sizing:border-box;width:100%;height:128px;pointer-events:none;opacity:0;transform:skew(-45deg);transform-origin:bottom left}.system-conditionality-table thead th.system-conditionality-generator-header:after{background:var(--gray-50);border:1px solid var(--gray-200);opacity:1}.system-conditionality-column-spacer{background:var(--gray-50);pointer-events:none}.system-conditionality-row-spacer td{background:var(--white);border-right:0;pointer-events:none}.system-conditionality-rotated-header-container{position:relative;width:100%;min-width:75px;height:128px}.system-conditionality-header-button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.system-conditionality-rotated-header-content{position:absolute;bottom:18px;left:0;width:calc(100% + 65px);transform:translate(37.5px) rotate(-45deg);transform-origin:bottom left;z-index:1;font-size:10px;line-height:1.1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;text-align:left}.system-conditionality-row-header span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-conditionality-row-header small{display:block;color:var(--gray-500);font-size:10px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-conditionality-row-header{position:sticky;left:0;z-index:2;background:var(--white);min-width:190px;max-width:220px;padding:0!important;text-align:left;color:var(--gray-700);width:190px}.system-conditionality-row-header .system-conditionality-header-button{display:block;width:100%;height:100%;padding:6px 8px;text-align:left}thead .system-conditionality-row-header{z-index:10000!important;background:var(--gray-50);width:190px;min-width:190px;max-width:220px}.system-conditionality-corner-header{position:sticky;height:128px}.system-conditionality-corner-generator,.system-conditionality-corner-lead{position:absolute;font-size:11px;font-weight:700;color:var(--gray-600)}.system-conditionality-corner-generator{top:8px;right:8px}.system-conditionality-corner-lead{bottom:8px;left:8px}.system-conditionality-select-header.selected{background:#fef3c7;box-shadow:inset 0 0 0 2px #f59e0b}.system-conditionality-select-header.partial{background:#fffbeb;box-shadow:inset 0 0 0 2px #fbbf24}.system-conditionality-table thead th.system-conditionality-generator-header.system-conditionality-select-header.selected,.system-conditionality-table thead th.system-conditionality-generator-header.system-conditionality-select-header.partial{background:var(--gray-50);box-shadow:none}.system-conditionality-table thead th.system-conditionality-generator-header.system-conditionality-select-header.selected:after,.system-conditionality-table thead th.system-conditionality-generator-header.system-conditionality-select-header.partial:after{opacity:0}.system-conditionality-table thead th.system-conditionality-generator-header.system-conditionality-select-header.selected:before{background:#fef3c7;border:2px solid #f59e0b;opacity:1}.system-conditionality-table thead th.system-conditionality-generator-header.system-conditionality-select-header.partial:before{background:#fffbeb;border:2px solid #fbbf24;opacity:1}.system-conditionality-select-header .system-conditionality-header-button:hover{color:#92400e}.system-conditionality-table tbody .system-conditionality-row-header{z-index:20}.system-conditionality-table thead .system-conditionality-generator-header{z-index:30}.system-conditionality-table thead .system-conditionality-row-header{z-index:10000}.system-conditionality-cell{width:75px;height:75px;border:0;border-radius:0;display:grid;grid-auto-flow:row;grid-auto-rows:minmax(0,1fr);align-items:stretch;gap:1px;padding:2px;cursor:pointer;color:var(--gray-800);background:var(--gray-50)}.system-conditionality-cell:hover,.system-conditionality-cell.selected{outline:2px solid #f59e0b;outline-offset:-2px}.system-conditionality-cell-label{min-width:0;display:grid;align-content:center;justify-items:center;gap:1px;border-radius:3px;padding:1px 2px;color:var(--white);font-size:8px;line-height:1.05;overflow:hidden}.system-conditionality-cell-label strong,.system-conditionality-cell-label span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-conditionality-cell-label .system-conditionality-condition-lines{display:grid;justify-items:center;gap:1px}.system-conditionality-cell-label .system-conditionality-condition-lines span{display:block}.system-conditionality-empty-cell{align-self:center;justify-self:center;color:var(--gray-400)}.mr-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.mr-pill.conditional{background:var(--green-bg);color:var(--green)}.mr-pill.legacy{background:var(--red-bg);color:var(--red)}.field-strength-pills{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;vertical-align:middle}.field-strength-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.1;white-space:nowrap;color:var(--brand-main);background:#12343414;border:1px solid rgba(18,52,52,.24)}.field-strength-pills-inline{vertical-align:baseline}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px}.pagination button{padding:6px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);font-size:13px;color:var(--gray-700);transition:all .15s}.pagination button:hover:not(:disabled){background:var(--gray-50);border-color:var(--navy);color:var(--navy)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination button.active{background:var(--navy);color:var(--white);border-color:var(--navy)}.pagination .page-info{font-size:13px;color:var(--gray-500);margin:0 8px}.system-check{display:flex;gap:24px;height:calc(100vh - 149px)}.system-check .selector-panel{width:420px;min-width:380px;display:flex;flex-direction:column;gap:16px;overflow:hidden}.system-check .result-panel{flex:1;overflow-y:auto;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.selector-box{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.selector-box .selector-header{padding:12px 16px;background:var(--gray-50);border-bottom:1px solid var(--gray-200);font-weight:600;font-size:14px;color:var(--gray-700);flex-shrink:0}.selector-box .selector-filters{padding:10px 12px;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--gray-100);flex-shrink:0}.selector-box .selector-filters select,.selector-box .selector-filters input{padding:6px 10px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:12px;flex:1;min-width:0}.selector-box .selector-filters select:focus,.selector-box .selector-filters input:focus{outline:none;border-color:#d3431f}.selector-list{flex:1;overflow-y:auto;min-height:0}.selector-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--gray-100)}.selector-item:hover{background:#0337360f}.selector-item.selected{background:#0337361f}.selector-item .status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot.green{background:var(--green)}.status-dot.red{background:var(--red)}.manufacturer-tag{background:var(--navy);color:var(--white);font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;flex-shrink:0;letter-spacing:.5px}.selector-item .item-info{flex:1;min-width:0}.selector-item .item-name{font-size:13px;font-weight:500;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selector-item .item-model{font-size:11px;color:var(--gray-500)}.selector-item .check-mark{color:#d3431f;font-size:18px;font-weight:700;flex-shrink:0}.result-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--gray-400);text-align:center}.result-empty .empty-icon{font-size:48px;margin-bottom:16px}.result-empty p{font-size:15px;line-height:1.5}.generator-detail{max-width:600px}.generator-detail h2{font-size:18px;font-weight:700;color:var(--gray-800);margin-bottom:4px}.generator-detail .gen-manufacturer{color:var(--gray-500);font-size:13px;margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:13px}.detail-grid .label{font-weight:600;color:var(--gray-600)}.detail-grid .value{color:var(--gray-800)}.compat-report h2{font-size:18px;font-weight:700;color:var(--gray-800);margin-bottom:16px}.status-banner{padding:16px 20px;border-radius:var(--radius);margin-bottom:20px;display:flex;align-items:center;gap:12px}.status-banner .status-icon{font-size:24px}.status-banner .status-text{font-size:18px;font-weight:700}.status-banner .status-sub{font-size:13px;margin-top:2px;opacity:.85;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.status-banner.green{background:var(--green-bg);border:1px solid var(--green-border);color:#166534}.status-banner.amber{background:var(--amber-bg);border:1px solid var(--amber-border);color:#92400e}.status-banner.red{background:var(--red-bg);border:1px solid var(--red-border);color:#991b1b}.report-section{margin-bottom:20px}.report-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);margin-bottom:8px}.generator-summary{padding:12px 16px;background:var(--gray-50);border-radius:var(--radius-sm);border:1px solid var(--gray-200);font-size:13px}.generator-summary strong{color:var(--gray-800)}.warning-box{padding:14px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13px;line-height:1.5}.warning-box.amber{background:var(--amber-bg);border:1px solid var(--amber-border);color:#92400e}.warning-box.red{background:var(--red-bg);border:1px solid var(--red-border);color:#991b1b}.warning-box .warning-title{font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:6px}.lead-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px;margin-bottom:12px}.lead-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}.lead-card-header .lead-title{font-weight:600;font-size:14px;color:var(--gray-800)}.lead-card-header .lead-meta{font-size:12px;color:var(--gray-500)}.lead-card-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.badge.off-label{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.badge.mr-cond{background:var(--green-bg);color:var(--green)}.badge.not-mr{background:var(--red-bg);color:var(--red)}.badge.system-ok{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.badge.system-warn{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.badge.system-danger{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.lead-card-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px}.lead-card-details .detail-row{display:flex;flex-direction:column}.lead-card-details .detail-label{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px}.lead-card-details .detail-value{color:var(--gray-800);margin-top:2px}.lead-card .lead-conditions{margin-top:10px;padding-top:10px;border-top:1px solid var(--gray-100);font-size:12px;color:var(--gray-600);line-height:1.5}.lead-card .lead-conditions strong{color:var(--gray-700)}.mri-settings-box{background:var(--green-bg);border:1px solid var(--green-border);border-radius:var(--radius);padding:20px;margin-top:20px}.mri-settings-box h3{color:#166534;font-size:15px;margin-bottom:12px}.mri-settings-grid{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;font-size:13px}.mri-settings-grid .label{font-weight:600;color:#15803d}.mri-settings-grid .value{color:#166534}.mri-settings-box .conditions-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--green-border)}.mri-settings-box .conditions-section h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#15803d;margin-bottom:6px}.mri-settings-box .conditions-section p{font-size:13px;color:#166534;line-height:1.5}.mfr-ref-cards{display:flex;flex-direction:column;gap:16px}.mfr-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.mfr-card-header{padding:14px 20px;color:var(--white);display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.mfr-card-header h3{font-size:16px;font-weight:700}.mfr-card-header .tech-badge{font-size:12px;opacity:.85;font-weight:500}.mfr-card-header .expand-icon{font-size:20px;transition:transform .2s}.mfr-card-header .expand-icon.open{transform:rotate(180deg)}.mfr-card-body{padding:0 20px 20px}.mfr-section{margin-top:16px}.mfr-section h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--gray-100)}.mfr-item{display:grid;grid-template-columns:200px 1fr;gap:4px 12px;padding:6px 0;font-size:13px;border-bottom:1px solid var(--gray-50)}.mfr-item:last-child{border-bottom:none}.mfr-item .mfr-label{font-weight:600;color:var(--gray-600)}.mfr-item .mfr-value{color:var(--gray-800);line-height:1.4}.mfr-color-1{background:#005eb8}.mfr-color-2{background:#8b1a4a}.mfr-color-3{background:#2e7d32}.mfr-color-4{background:#1565c0}.mfr-color-5{background:#6a1b9a}.mfr-color-6{background:#d84315}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--gray-400);font-size:14px}.spinner{width:24px;height:24px;border:3px solid var(--gray-200);border-top-color:var(--navy);border-radius:50%;animation:spin .6s linear infinite;margin-right:10px}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media(max-width:1200px){.system-check{flex-direction:column;height:auto}.system-check .selector-panel{width:100%;min-width:0;max-height:50vh}}.device-link{color:#d3431f;text-decoration:none;font-weight:500;font-size:13px;white-space:nowrap}.device-link:hover{text-decoration:underline}.action-link-btn{background:transparent;border:none;padding:0;cursor:pointer;display:block;text-align:left;white-space:nowrap}.device-actions-list{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.device-action-disabled{font-size:12px;color:var(--gray-500);white-space:nowrap}.add-user-btn{background:#d3431f;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.add-user-btn:hover{background:#b8391a}.user-form{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.user-form .form-group label{display:block;font-size:12px;font-weight:600;color:var(--gray-600);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.user-form .form-group input,.user-form .form-group select{width:100%;padding:8px 12px;background:var(--white);border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-800);font-size:14px}.user-form .form-group input:focus,.user-form .form-group select:focus{outline:none;border-color:var(--blue-accent);box-shadow:0 0 0 3px #d3431f1a}.form-error{color:var(--red);font-size:13px;margin-bottom:8px}.role-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.role-admin{background:#ede9fe;color:#7c3aed;border:1px solid #c4b5fd}.role-editor{background:#dbeafe;color:#2563eb;border:1px solid #93c5fd}.role-viewer{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-300)}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.status-badge.inactive{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.workflow-status-pill{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.workflow-status-draft{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.workflow-status-published{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.toggle-btn{padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer;border:1px solid}.toggle-btn:disabled{opacity:.55;cursor:not-allowed}.toggle-btn.api-key-generate,.toggle-btn.api-key-rotate{background:transparent;color:#1d4ed8;border-color:#93c5fd}.toggle-btn.api-key-generate:hover:not(:disabled),.toggle-btn.api-key-rotate:hover:not(:disabled){background:#eff6ff}.toggle-btn.api-key-revoke{background:transparent;color:#b91c1c;border-color:#fca5a5}.toggle-btn.api-key-revoke:hover:not(:disabled){background:#fef2f2}.toggle-btn.deactivate{background:transparent;color:var(--red);border-color:var(--red-border)}.toggle-btn.deactivate:hover{background:var(--red-bg)}.toggle-btn.activate{background:transparent;color:var(--green);border-color:var(--green-border)}.toggle-btn.activate:hover{background:var(--green-bg)}.row-inactive{opacity:.5}.actions-cell{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.toggle-btn.reset,.toggle-btn.edit-role{background:transparent;color:var(--brand-orange);border-color:var(--brand-orange)}.toggle-btn.reset:hover,.toggle-btn.edit-role:hover{background:#d3431f14}.toggle-btn.delete{background:transparent;color:var(--red);border-color:var(--red-border)}.toggle-btn.delete:hover{background:var(--red-bg)}.action-row td{background:var(--gray-50)!important;padding:10px 14px}.action-row.delete-row td{background:var(--red-bg)!important}.action-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.api-key-panel{display:flex;flex-direction:column;gap:8px}.api-key-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.api-key-warning{margin:0;font-size:12px;font-weight:600;color:#b91c1c}.api-key-secret{display:block;white-space:pre-wrap;word-break:break-all;background:#0f172a;color:#f8fafc;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.4}.api-key-meta{margin:0;font-size:12px;color:var(--gray-600)}.action-label{font-size:13px;font-weight:500;color:var(--gray-700)}.action-label.delete-warning{color:var(--red);font-weight:600}.reset-input{padding:7px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:13px;width:220px}.reset-input:focus{outline:none;border-color:var(--brand-orange);box-shadow:0 0 0 3px #d3431f1a}.role-select{padding:7px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:13px;background:var(--white)}.role-select:focus{outline:none;border-color:var(--brand-orange)}.cancel-action{background:none;border:none;color:var(--gray-500);font-size:13px;text-decoration:underline;cursor:pointer}.cancel-action:hover{color:var(--gray-700)}.delete-confirm-btn{background:var(--red);color:#fff;border:none;padding:6px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer}.delete-confirm-btn:hover{background:#b91c1c}.delete-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.action-msg{font-size:12px;color:var(--green);font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50000!important;padding:24px}.modal-overlay-top{z-index:51000!important}.modal-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:24px;max-height:85vh;overflow-y:auto;width:100%}.modal-sm{max-width:420px}.modal-lg{max-width:700px}.modal-xl{max-width:1100px}.modal-title{font-size:16px;font-weight:600;color:var(--brand-main);margin-bottom:16px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--gray-200)}.modal-actions-left{margin-right:auto}.modal-action-link{color:var(--brand);font-size:13px;font-weight:500;text-decoration:underline}.modal-action-link:hover{color:var(--brand-main)}.record-detail-grid{display:grid;grid-template-columns:minmax(140px,180px) 1fr;gap:10px 14px}.record-detail-label{font-size:12px;font-weight:600;color:var(--gray-500)}.record-detail-value{font-size:13px;color:var(--gray-800);min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.bool-mark{font-size:15px;font-weight:700;line-height:1}.bool-mark-true{color:var(--green)}.bool-mark-false{color:var(--red)}.record-detail-value a{overflow-wrap:anywhere;word-break:break-word}.record-detail-value .device-link{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.record-detail-row{display:contents}.record-detail-bottom{margin-top:14px;padding-top:10px;border-top:1px solid var(--gray-200);font-size:13px}.data-table tbody tr.clickable-row{cursor:pointer}.data-table tbody tr.clickable-row:hover td{background:var(--gray-50)}@media(max-width:720px){.record-detail-grid{grid-template-columns:1fr;gap:4px}.record-detail-label{margin-top:8px}}.empty-state-card{text-align:center;padding:48px 24px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-top:16px}.empty-state-icon{font-size:40px;margin-bottom:12px}.empty-state-text{font-size:15px;font-weight:600;color:var(--gray-700);margin-bottom:6px}.empty-state-sub{font-size:13px;color:var(--gray-500)}.admin-page{display:grid;gap:16px}.admin-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.admin-section.danger-section{border-color:var(--red-border);background:#fff7f7}.admin-section-title{font-size:16px;font-weight:700;color:var(--gray-800);margin-bottom:8px}.admin-section-text{font-size:13px;color:var(--gray-700);line-height:1.5;margin-bottom:16px}.admin-reset-btn{padding:10px 18px;font-size:14px}.admin-result-summary{font-size:13px;color:var(--gray-700);margin-bottom:10px}.admin-result-list{margin:0;padding-left:20px;font-size:13px;color:var(--gray-700);display:grid;gap:4px}.admin-danger-warning{display:grid;gap:10px;font-size:13px;color:var(--gray-700);line-height:1.45}.admin-confirm-input{width:100%;padding:8px 10px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:13px}.admin-confirm-input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #dc26261f}.admin-danger-error{color:var(--red);font-weight:500}.admin-reset-confirm-btn{min-width:220px}.dm-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid var(--gray-200)}.dm-tab{padding:8px 20px;font-size:13px;font-weight:500;background:none;border:none;color:var(--gray-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.dm-tab:hover{color:var(--gray-700)}.dm-tab.active{color:var(--brand-main);border-bottom-color:var(--brand-main);font-weight:600}.edit-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-form-grid .form-group{display:flex;flex-direction:column}.edit-form-grid .form-group.full-width{grid-column:1 / -1}.edit-form-grid .form-group label{font-size:12px;font-weight:500;color:var(--gray-600);margin-bottom:4px}.edit-form-grid .form-group input,.edit-form-grid .form-group textarea,.edit-form-grid .form-group select{padding:7px 10px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:13px;color:var(--gray-800);transition:border-color .15s}.edit-form-grid .form-group input:focus,.edit-form-grid .form-group textarea:focus,.edit-form-grid .form-group select:focus{outline:none;border-color:var(--brand-main);box-shadow:0 0 0 2px #1234341a}.edit-form-grid .form-group textarea{resize:vertical}.edit-form-grid fieldset.form-group{border:0;margin:0;padding:0}.edit-form-grid fieldset.form-group legend{font-size:12px;font-weight:500;color:var(--gray-600);margin-bottom:4px;padding:0}.checkbox-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-height:34px}.edit-form-grid .checkbox-row label{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--gray-800)}.edit-form-grid .checkbox-row input[type=checkbox]{width:16px;height:16px;padding:0}.scanning-conditions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.scanning-conditions-hint{margin:0 0 10px;font-size:12px;color:var(--gray-500)}.scanning-conditions-list{display:grid;gap:10px}.scanning-condition-edit-tabs{display:grid;gap:8px}.scanning-condition-card{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:10px;background:var(--gray-50)}.scanning-condition-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13px}.scanning-condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.scanning-condition-assignment-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.scanning-conditions-empty{border:1px dashed var(--gray-300);border-radius:var(--radius-sm);padding:10px;font-size:12px;color:var(--gray-500);background:var(--white)}.associated-leads-editor{display:grid;gap:8px}.associated-lead-chip-row{display:flex;flex-wrap:wrap;gap:6px}.associated-lead-chip{align-items:center;background:var(--white);border:1px solid var(--gray-300);border-radius:999px;display:inline-flex;font-size:12px;gap:6px;max-width:100%;padding:4px 6px 4px 10px}.associated-lead-chip button{background:transparent;border:0;color:var(--gray-500);cursor:pointer;font-size:11px;padding:0}.associated-lead-results{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);display:grid;max-height:180px;overflow-y:auto}.associated-lead-results button{background:var(--white);border:0;border-bottom:1px solid var(--gray-100);cursor:pointer;padding:8px 10px;text-align:left}.associated-lead-results button:last-child{border-bottom:0}.associated-lead-results button:disabled{color:var(--gray-400);cursor:default}.muted-text{color:var(--gray-500);font-size:12px}.bulk-import-wizard{display:flex;flex-direction:column;gap:12px}.bulk-stepper{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:2px}.bulk-step{display:flex;align-items:center;gap:8px;min-width:220px;padding:8px 10px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:12px;color:var(--gray-600);background:var(--white)}.bulk-step-marker{width:22px;height:22px;border-radius:999px;border:1px solid var(--gray-300);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--gray-600);flex-shrink:0;background:var(--white)}.bulk-step-text-wrap{display:inline-flex;flex-direction:column;gap:1px}.bulk-step-title{font-size:12px;font-weight:700;color:var(--gray-700)}.bulk-step-caption{font-size:11px;color:var(--gray-500);line-height:1.2}.bulk-step-connector{height:2px;min-width:24px;flex:1 1 24px;background:var(--gray-300)}.bulk-step.active{border-color:var(--brand-main);background:var(--gray-50)}.bulk-step.active .bulk-step-marker{border-color:var(--brand-main);background:var(--brand-main);color:var(--white)}.bulk-step.done{border-color:var(--green-border);background:var(--green-bg)}.bulk-step.done .bulk-step-marker{border-color:var(--green-border);background:var(--green);color:var(--white)}.bulk-step.done .bulk-step-title{color:var(--green)}.bulk-step-connector.done{background:var(--green)}.bulk-step-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);padding:16px}.bulk-step-text{font-size:13px;color:var(--gray-700);margin-bottom:10px}.bulk-heading{margin:0 0 10px;font-size:20px;line-height:1.25;color:var(--gray-900)}.bulk-file-input-hidden{display:none}.bulk-dropzone{border:2px dashed var(--gray-300);border-radius:10px;background:var(--gray-50);padding:24px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:border-color .15s ease,background-color .15s ease}.bulk-dropzone.dragging{border-color:var(--brand-main);background:var(--white)}.bulk-dropzone-kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--gray-500)}.bulk-dropzone-text{margin:0;font-size:16px;font-weight:600;color:var(--gray-800)}.bulk-dropzone-subtext{margin:0 0 8px;max-width:520px;font-size:13px;color:var(--gray-600);line-height:1.35}.bulk-dropzone-link{color:var(--navy);font-weight:600;text-decoration:underline}.bulk-dropzone-link:hover{color:var(--navy-light)}.bulk-file-name{font-size:12px;color:var(--gray-600);margin:2px 0 0}.bulk-upload-meta{margin-top:10px;font-size:12px;color:var(--gray-600)}.bulk-option-toggle{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--gray-700);cursor:pointer}.bulk-option-toggle input[type=checkbox]{width:14px;height:14px;margin:0}.bulk-option-help{margin-top:4px;font-size:12px;color:var(--gray-500)}.bulk-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.bulk-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-bottom:12px}.bulk-summary-item{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:10px;background:var(--gray-50)}.bulk-summary-label{font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.4px}.bulk-summary-value{font-size:20px;line-height:1.2;font-weight:700;color:var(--brand-main)}.bulk-preview-table th,.bulk-preview-table td{vertical-align:top}.bulk-preview-table th:nth-child(1),.bulk-preview-table td:nth-child(1){width:64px}.bulk-preview-table th:nth-child(2),.bulk-preview-table td:nth-child(2){width:72px}.bulk-preview-table th:nth-child(3),.bulk-preview-table td:nth-child(3){width:96px}.bulk-preview-table th:nth-child(4),.bulk-preview-table td:nth-child(4){width:140px}.bulk-preview-table th:nth-child(5),.bulk-preview-table td:nth-child(5){width:150px}.bulk-preview-table th:nth-child(7),.bulk-preview-table td:nth-child(7){width:96px}.bulk-selection-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.bulk-selection-count{font-size:12px;color:var(--gray-600)}.bulk-selection-actions{display:flex;gap:8px;flex-wrap:wrap}.bulk-row-select{display:inline-flex;align-items:center;justify-content:center}.bulk-row-select input[type=checkbox]{width:14px;height:14px;margin:0}.bulk-action{display:inline-flex;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase}.bulk-action-create{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.bulk-action-update{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.bulk-action-deactivate{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.bulk-diff-list{display:flex;flex-direction:column;gap:6px;min-width:0}.bulk-diff-item{display:grid;grid-template-columns:minmax(130px,170px) minmax(0,1fr) 14px minmax(0,1fr);align-items:start;gap:8px;font-size:12px;padding:6px 8px}.bulk-diff-field{font-weight:600;color:var(--gray-700);word-break:break-word}.bulk-diff-old{color:var(--red);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35}.bulk-diff-arrow{color:var(--gray-400);text-align:center;line-height:1.35}.bulk-diff-new{color:var(--green);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35}.bulk-confirm-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin-bottom:12px;font-size:12px;color:var(--gray-700)}.bulk-confirm-summary>div{border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50);padding:8px}.success-box{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--green-border);background:var(--green-bg);color:var(--green);font-size:13px}@media(max-width:900px){.bulk-stepper{flex-direction:column;align-items:stretch;overflow:visible;gap:6px}.bulk-step{min-width:0;width:100%}.bulk-step-connector{display:none}.bulk-summary-grid,.bulk-confirm-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}.bulk-selection-controls{flex-direction:column;align-items:flex-start}.bulk-diff-item{grid-template-columns:1fr;gap:4px}.bulk-diff-arrow{display:none}.bulk-diff-old:before{content:"Old: ";font-weight:600;color:var(--gray-600)}.bulk-diff-new:before{content:"New: ";font-weight:600;color:var(--gray-600)}}.audit-action-create{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.audit-action-update{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.audit-action-delete{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.role-data_manager{background:#dbeafe;color:#1d4ed8}.audit-action-login{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.audit-action-insert{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.audit-action-export{background:#f0f9ff;color:#0369a1;border:1px solid #7dd3fc}.audit-action-logout{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.audit-action-role_change{background:#ede9fe;color:#6d28d9;border:1px solid #c4b5fd}.audit-action-bulk_import{background:#ecfdf5;color:#047857;border:1px solid #6ee7b7}.audit-action-data_issue_create{background:#f0f9ff;color:#0369a1;border:1px solid #7dd3fc}.audit-action-data_issue_resolve{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.audit-action-data_issue_reopen{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.audit-action-data_issue_comment{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.audit-action-publish{background:#ecfdf5;color:#047857;border:1px solid #6ee7b7}.audit-action-revert_to_draft{background:#fffbeb;color:#92400e;border:1px solid #fcd34d}.audit-table .audit-row{cursor:default}.audit-table .audit-row.expandable{cursor:pointer}.audit-table .audit-row.expandable:hover td{background:#0337360f}.audit-table .audit-row.expanded td{background:#0337360a;border-bottom:none}.expand-toggle{width:28px;text-align:center;padding:0 4px!important}.expand-arrow{display:inline-block;font-size:10px;color:var(--gray-400);transition:transform .2s ease}.expand-arrow.open{transform:rotate(90deg);color:var(--brand)}.audit-detail-row td{padding:0!important;background:var(--gray-50)!important;border-bottom:1px solid var(--gray-200)}.audit-changes-detail{padding:12px 16px 16px 44px}.changes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.changes-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500)}.changes-nav-link{font-size:12px;color:var(--brand);background:none;border:none;cursor:pointer;font-weight:500;padding:2px 6px;border-radius:4px}.changes-nav-link:hover{background:#12343414;text-decoration:underline}.changes-table{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--gray-200);border-radius:6px;overflow:hidden}.changes-table th{background:var(--gray-100);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--gray-500);padding:6px 12px;text-align:left;border-bottom:1px solid var(--gray-200)}.changes-table td{padding:6px 12px;border-bottom:1px solid var(--gray-100);vertical-align:top;word-break:break-word}.changes-table tr:last-child td{border-bottom:none}.changes-table .field-name{font-weight:500;color:var(--gray-700);white-space:normal;min-width:240px}.changes-table .old-value{color:var(--red);background:var(--red-bg);font-family:monospace;font-size:12px}.changes-table .new-value{color:var(--green);background:var(--green-bg);font-family:monospace;font-size:12px}.audit-nav-btn{background:none;border:1px solid var(--gray-200);border-radius:4px;color:var(--brand);font-size:14px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.audit-nav-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.dm-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.dm-filter-bar select,.dm-filter-bar input[type=text]{padding:7px 10px;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;background:#fff;color:var(--gray-900);min-width:140px}.dm-filter-bar select:focus,.dm-filter-bar input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #1234341a}.dm-filter-bar .filter-reset{padding:7px 12px;border:1px solid var(--gray-200);border-radius:6px;font-size:12px;background:#fff;color:var(--gray-600);cursor:pointer;white-space:nowrap}.dm-filter-bar .filter-reset:hover{background:var(--gray-50);color:var(--gray-900)}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table th.sortable:hover{background:var(--gray-100)}.sort-indicator{display:inline-block;margin-left:4px;font-size:10px;opacity:.4}.sort-indicator.active{opacity:1}.issue-warning-icon{color:var(--amber);margin-right:6px;font-size:14px}.issue-status-pill{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.issue-status-open{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.issue-status-resolved{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.device-summary-card{border:1px solid var(--gray-200);border-radius:8px;background:var(--gray-50);padding:12px 16px;margin-bottom:16px}.device-summary-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--gray-200)}.device-summary-header-text{font-weight:700;font-size:14px;color:var(--gray-800)}.device-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}.device-summary-field{display:flex;flex-direction:column;font-size:12px}.device-summary-field.full-width{grid-column:1 / -1}.device-summary-label{color:var(--gray-500);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.3px}.device-summary-value{color:var(--gray-700);font-weight:600;white-space:pre-wrap}.issue-list-in-banner{margin-top:10px;border-top:1px solid var(--amber-border);padding-top:8px}.issue-list-item{padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s;margin-bottom:4px}.issue-list-item:hover{background:#0000000d}.issue-list-item-text{font-size:13px;color:var(--gray-700);font-style:italic;margin-bottom:2px}.issue-list-item-meta{font-size:11px;color:var(--gray-500)}.issue-detail-content{max-height:70vh;overflow-y:auto}.issue-meta{margin:16px 0;font-size:13px}.issue-meta-row{display:flex;gap:8px;margin-bottom:6px;align-items:center}.issue-meta-label{font-weight:600;color:var(--gray-600);min-width:100px}.comment-thread{margin-top:16px;border-top:1px solid var(--gray-200);padding-top:12px}.comment-thread h4{margin:0 0 12px;font-size:14px;color:var(--gray-700)}.no-comments{font-size:13px;color:var(--gray-400);font-style:italic}.comment-item{padding:10px 12px;border:1px solid var(--gray-200);border-radius:8px;margin-bottom:8px;background:var(--gray-50)}.comment-item.comment-system{background:#f0f4ff;border-color:#c7d2fe}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px}.comment-author{font-weight:600;color:var(--gray-700)}.comment-system-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:#818cf8;color:#fff;font-size:10px;font-weight:500}.comment-date{color:var(--gray-400);font-size:11px}.comment-body{font-size:13px;color:var(--gray-700);white-space:pre-wrap;line-height:1.5}.comment-input-area{margin-top:16px;border-top:1px solid var(--gray-200);padding-top:12px}.comment-input-area textarea{width:100%;padding:8px 12px;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;font-family:inherit;resize:vertical;margin-bottom:8px}.comment-input-area textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 2px #1234341a}.resolve-form h4{margin:0 0 8px;font-size:14px;color:var(--gray-700)}.resolve-actions{display:flex;gap:8px}.resolved-notice{margin-top:16px;padding:10px;font-size:13px;color:var(--gray-500);font-style:italic;text-align:center;border-top:1px solid var(--gray-200)}.raise-issue-form{display:flex;flex-direction:column;gap:16px}.raise-issue-form .form-group{width:100%}.raise-issue-form .form-group label{display:block;margin-bottom:4px;font-size:13px;font-weight:600;color:var(--gray-600)}.raise-issue-form textarea{width:100%;padding:8px 12px;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;font-family:inherit;resize:vertical}.radio-group{display:flex;gap:16px}.radio-group label{display:flex;align-items:center;gap:4px;font-weight:400!important;cursor:pointer}.device-search-results{border:1px solid var(--gray-300);border-radius:6px;max-height:200px;overflow-y:auto;margin-top:4px}.device-search-item{padding:8px 12px;cursor:pointer;display:flex;justify-content:space-between;font-size:13px;border-bottom:1px solid var(--gray-100)}.device-search-item:last-child{border-bottom:none}.device-search-item:hover{background:var(--gray-50)}.device-search-name{font-weight:500}.device-search-mfr{color:var(--gray-400);font-size:12px}.hint-text{font-size:12px;color:var(--gray-400);margin-top:4px}.selected-device{color:var(--green);font-weight:500}.btn,.btn-primary,.btn-secondary,.btn-warning,.btn-success,.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:500;line-height:1.2;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,opacity .15s}.btn-sm,.btn-primary.sm,.btn-secondary.sm,.btn-warning.sm,.btn-success.sm,.submit-btn.sm{padding:6px 16px;font-size:13px}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-warning:disabled,.btn-success:disabled,.submit-btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy-light)}.btn-secondary{background:#fff;color:var(--gray-700);border-color:var(--gray-300)}.btn-secondary:hover:not(:disabled){background:var(--gray-50)}.btn-warning{background:var(--amber-bg);color:#92400e;border-color:var(--amber-border)}.btn-warning:hover:not(:disabled){background:#fde68a}.btn-success,.submit-btn{background:var(--green);color:#fff}.btn-success:hover:not(:disabled),.submit-btn:hover:not(:disabled){background:#15803d}.btn-clear{background:none;border:none;color:var(--navy);cursor:pointer;font-size:13px;text-decoration:underline}.btn-clear:hover{color:var(--navy-light)}.error-text{color:var(--red);font-size:13px;margin-bottom:8px}
