:root{--navy-950:#07182c;--navy-900:#0b2039;--navy-800:#0f2b4b;--navy-700:#16406c;--ink:#0d2a4a;--muted:#5b6b7f;--muted-2:#7b8ba0;--blue:#1e6bf2;--green:#22c55e;--amber:#f0a11b;--red:#dc2626;--line:#d7e1ec;--line-soft:#e6edf5;--shadow-lg:0 30px 70px rgba(15,35,65,0.16),0 4px 14px rgba(15,35,65,0.06);--radius:22px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:#e9eff7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font:inherit}button{color:inherit}img{max-width:100%}.app-background{min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(1100px 520px at 82% -10%,#fbfdff 0,rgba(251,253,255,0) 62%),linear-gradient(135deg,#f1f6fc,#e5edf7 46%,#dde7f3)}.app-background:before{content:"";position:fixed;inset:0;background:linear-gradient(118deg,rgba(255,255,255,0),rgba(255,255,255,0) 48%,rgba(255,255,255,.55) 48.2%,rgba(255,255,255,0) 72%);opacity:.55;pointer-events:none}.metal-sheen{position:fixed;right:-10%;bottom:-34%;width:55%;height:82%;border-radius:36px;transform:rotate(-9deg);background:repeating-linear-gradient(102deg,rgba(255,255,255,.65),rgba(255,255,255,.65) 1.5px,rgba(223,233,244,.18) 0,rgba(223,233,244,.18) 4px),linear-gradient(140deg,#fbfdff,#cfdae7);opacity:.38;pointer-events:none}.login-background .metal-sheet{position:fixed;right:-6%;bottom:-26%;width:46%;height:62%;transform:rotate(-10deg) skewX(-4deg);border-radius:18px;background:repeating-linear-gradient(100deg,rgba(255,255,255,.5) 0 2px,rgba(206,219,233,.32) 2px 6px),linear-gradient(150deg,#fdfeff,#dbe5f0 45%,#c5d2e0);box-shadow:-24px -24px 60px rgba(255,255,255,.6),24px 30px 80px rgba(23,48,78,.14);opacity:.75;pointer-events:none}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:72px;justify-content:space-between;gap:24px;padding:0 30px;background:linear-gradient(180deg,#0c223d,#081a30);color:#fff;box-shadow:0 2px 14px rgba(4,16,32,.28)}.topbar,.topbar-brand{display:flex;align-items:center}.topbar-brand{gap:16px;min-width:0}.topbar-name{font-size:25px;font-weight:700;letter-spacing:-.3px;white-space:nowrap}.topbar-divider{width:1px;height:36px;background:rgba(255,255,255,.26);margin-left:2px}.topbar-subtitle{font-size:17px;color:#dbe6f3;font-weight:400;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:14px}.topbar-info{background:transparent;border:0;color:#dbe6f3;cursor:pointer;padding:7px;border-radius:50%;display:grid;place-items:center}.topbar-info:hover{background:rgba(255,255,255,.09);color:#fff}.operator-chip{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#cfe0f2;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);padding:5px 6px 5px 12px;border-radius:999px;white-space:nowrap}.icon-ghost{background:transparent;border:0;color:#cfe0f2;cursor:pointer;display:grid;place-items:center;padding:4px;border-radius:50%}.icon-ghost:hover{background:rgba(255,255,255,.12)}.icon-ghost.dark{color:var(--muted)}.icon-ghost.dark:hover{background:#eef3f9}.page-shell{position:relative;z-index:1;max-width:1460px;margin:0 auto;padding:32px 32px 56px}.page-title{display:flex;align-items:center;gap:16px;margin:0 0 22px}.page-title-bar{width:6px;height:40px;border-radius:3px;background:linear-gradient(180deg,#3a8bf8,#1559d6);flex:0 0 auto}.page-title h1{margin:0;font-size:31px;font-weight:700;letter-spacing:-.55px;color:var(--ink)}.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--navy-900)}.card{position:relative;background:linear-gradient(180deg,#ffffff,#fcfdff);border-radius:var(--radius);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-lg)}.card-band{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(90deg,#f4f8fd,#eaf1fa);border-radius:18px;margin:16px 16px 0;padding:16px 22px;border:1px solid #e3ecf7}.card-band .page-title{margin:0}.band-title h1{font-size:29px}.band-right{display:flex;align-items:center;gap:16px;flex:0 0 auto}.operator-badge{width:46px;height:46px;border-radius:50%;background:#e8eef6;border:1px solid #d3dfec;display:grid;place-items:center;font-weight:700;font-size:20px;color:#274766;flex:0 0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:0;cursor:pointer;font-weight:600;transition:filter .16s ease,transform .16s ease,background .16s ease;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,#143c66,#0b2745);color:#fff;border-radius:10px;height:58px;padding:0 26px;font-size:18px;box-shadow:0 8px 18px rgba(11,39,69,.24),inset 0 1px 0 rgba(255,255,255,.16)}.btn-primary:hover:not(:disabled){filter:brightness(1.09)}.btn-ghost{background:#eef4fb;color:#12395f;border:1px solid #d5e2f0;border-radius:10px;height:46px;padding:0 18px}.btn-ghost:hover{background:#e3edf8}.btn-ghost.small{height:36px;font-size:13px;padding:0 13px}.btn-blue{background:#2e8bdf;color:#fff;border-radius:8px;min-height:58px;padding:8px 12px;font-size:13.5px}.btn-blue:hover{background:#2679c4}.btn-blue.engaged{background:#1267b4;box-shadow:0 0 0 3px rgba(46,139,223,.24)}.btn-muted{background:#eef2f7;color:#2c4b6b;border:1px solid #d8e2ee;border-radius:8px;min-height:58px;padding:8px 12px;font-size:13.5px}.btn-muted:hover{background:#e5ecf5}.btn-muted.engaged{background:#e2eaf4;border-color:#a9c0d8}.btn-danger{background:#fef2f2;color:#b91c1c;border:1px solid #f5c6c6;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.btn-danger.small{height:36px;padding:0 10px;font-size:12px}.alert{display:flex;gap:10px;align-items:flex-start;border-radius:8px;padding:11px 14px;font-size:13px;line-height:1.45;margin:10px 0}.alert.error{background:#fef2f2;border:1px solid #f7cccc;color:#b91c1c}.alert.error.compact{margin:12px 0 0;font-size:12px}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid #cfdae7;border-top-color:#2e78d0;display:inline-block;animation:spin .8s linear infinite;flex:0 0 auto}.spinner.light{border-color:#fff rgba(255,255,255,.34) rgba(255,255,255,.34)}@keyframes spin{to{transform:rotate(1turn)}}.loading-block{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px;color:#4b6582;font-size:15px}.loading-block.card{margin-top:40px}.empty-card{max-width:620px;margin:60px auto;padding:40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:#3d5c7c}.empty-card svg{color:#b45309}.empty-card h2{margin:0;color:var(--ink);font-size:22px}.empty-card p{margin:0 0 10px;color:#6b8199;font-size:14px}.login-page{position:relative;z-index:1;max-width:1000px;margin:0 auto;padding:34px 24px 60px;display:flex;flex-direction:column;align-items:center}.login-page .page-title{width:100%;max-width:930px}.login-card{width:100%;max-width:600px;background:linear-gradient(180deg,#ffffff,#fbfdff);border-radius:22px;padding:34px 46px 26px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.85)}.login-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin:6px 0 26px}.login-brand h2{margin:0;font-size:27px;color:var(--ink);letter-spacing:-.3px}.login-form{display:flex;flex-direction:column}.field-label{font-size:17px;font-weight:600;color:var(--ink);margin:0 0 8px}.input-shell{display:flex;align-items:center;height:58px;border:1px solid #c9d6e5;border-radius:10px;background:#fff;padding:0 14px;gap:12px;margin-bottom:18px;transition:border-color .15s ease,box-shadow .15s ease}.input-shell:focus-within{border-color:#4b8bf4;box-shadow:0 0 0 4px rgba(43,124,246,.13)}.input-shell input{flex:1 1;border:0;outline:0;font-size:18px;color:var(--ink);background:transparent;height:100%;min-width:0}.input-shell input::placeholder{color:#9aabbf}.input-icon{color:#5e7188;flex:0 0 auto}.input-action{background:none;border:0;color:#5e7188;cursor:pointer;display:grid;place-items:center;padding:4px}.btn-login{margin-top:8px;width:100%}.login-footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft);text-align:center;color:#64748b;font-size:16px}.demo-credentials{margin-top:20px;color:#5b7089;font-size:13.5px;background:rgba(255,255,255,.65);padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.95);box-shadow:0 8px 20px rgba(20,45,75,.05)}.setup-card{padding-bottom:28px}.setup-body{padding:18px 30px 4px}.form-section{margin-top:20px}.section-label{font-size:18px;margin:0 0 12px;color:var(--ink);font-weight:700}.product-select{display:flex;align-items:center;gap:18px;border:1px solid #c9d6e5;border-radius:12px;background:#fff;min-height:74px;padding:4px 20px}.product-glyph{flex:0 0 auto;margin-left:4px}.product-divider{width:1px;height:40px;background:#dbe5f0;flex:0 0 auto}.select-wrap{position:relative;flex:1 1;display:flex;align-items:center;min-width:0}.select-wrap select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;border:0;outline:0;background:transparent;font-size:17px;color:var(--ink);padding:10px 40px 10px 0;cursor:pointer;font-weight:500}.select-chevron{position:absolute;right:0;color:#3f5a78;pointer-events:none}.select-wrap.plain{border:1px solid #c9d6e5;border-radius:10px;min-height:52px;padding:0 14px;background:#fff}.select-wrap.plain select{padding:0 34px 0 0;font-size:15px}.choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;max-width:660px}.choice-card{display:flex;align-items:center;gap:14px;padding:16px 22px;border-radius:11px;border:1px solid #d8e2ee;background:#eef3f9;color:#123a5f;cursor:pointer;font-size:17px;font-weight:600;transition:.15s ease;min-height:70px;text-align:left}.choice-card:hover{border-color:#b9cee4}.choice-card.active{background:linear-gradient(180deg,#16406c,#0d2b4b);border-color:#0d2b4b;color:#fff;box-shadow:0 10px 22px rgba(13,43,75,.22)}.object-row{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%;gap:12px}.object-choice{min-height:96px;padding:14px 18px}.object-choice svg{flex:0 0 auto}.object-choice span{font-size:16px;line-height:1.3}.setup-footer{display:flex;align-items:flex-end;gap:24px;margin-top:26px}.checks-panel{flex:1 1;border:1px solid #dbe5f0;border-radius:12px;background:#fbfdff;overflow:hidden;min-width:0}.checks-panel h4{margin:0;padding:13px 18px;font-size:15px;font-weight:600;color:#274766;background:#f2f6fb;border-bottom:1px solid #e4ecf5}.checks-content{display:flex;gap:18px;padding:12px 18px;align-items:center}.checks-thumb{width:190px;flex:0 0 190px;display:grid;place-items:center;border-right:1px solid var(--line-soft);padding-right:10px}.checks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:15px;color:#16405f}.checks-list li{display:flex;gap:9px;align-items:flex-start}.checks-list li.available svg{color:#16a34a;margin-top:2px;flex:0 0 auto}.checks-list li.unavailable{color:#64748b}.checks-list li.unavailable svg{color:#8aa0b8;margin-top:2px;flex:0 0 auto}.checks-list small{display:block;color:var(--muted-2);font-size:12px;margin-top:1px}.setup-actions{margin-left:auto;display:flex;flex-direction:column;gap:10px;min-width:250px}.setup-actions .btn{height:56px;width:100%}.selection-summary{margin:0;text-align:right;font-size:13px;color:#69809a}.re-inspection{margin-top:14px;max-width:660px}.re-inspection .field-label{font-size:13px;color:var(--muted)}.hint-text{font-size:13px;color:#6b8199;margin:8px 0 0}.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#eaf3ff;border:1px solid #cddff6;border-radius:14px;padding:12px 18px;margin-bottom:16px;color:#123a5f}.resume-banner div{display:flex;flex-direction:column;gap:2px;font-size:13px}.resume-banner strong{font-size:14px}.capture-card{padding:18px 18px 20px}.capture-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:18px;gap:18px}.feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.feed-tile{border:1px solid #dbe5f0;border-radius:9px;overflow:hidden;background:#e9edf2}.feed-head{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#0f2f52,#0b2543);color:#fff;padding:8px 12px;min-height:40px;gap:10px}.feed-title{gap:8px;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.feed-title,.ready-state{display:flex;align-items:center;white-space:nowrap}.ready-state{gap:6px;font-size:12px;color:#cfe0f2}.ready-state .dot{width:11px;height:11px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}.ready-state.ready .dot{background:var(--green);box-shadow:0 0 0 3px rgba(34,197,94,.2)}.feed-media{position:relative;aspect-ratio:2.05/1;background:#222;overflow:hidden}.feed-image{width:100%;height:100%;object-fit:cover;display:block}.feed-image.flipped{transform:rotate(180deg)}.feed-live{position:absolute;top:8px;left:8px;background:rgba(8,24,42,.68);color:#e8f2ff;font-size:9px;letter-spacing:1.4px;padding:3px 7px;border-radius:4px}.feed-live.demo-badge{background:rgba(15,42,74,.82);color:#9cbacf;border:1px solid rgba(255,255,255,.12)}.camera-selector{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:linear-gradient(180deg,#122d4d,#0e2440)}.camera-select-wrap{position:relative;flex:1 1;min-width:0}.camera-dropdown{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:rgba(255,255,255,.08);color:#e1ecf7;font-size:11.5px;font-weight:500;padding:5px 26px 5px 8px;cursor:pointer;outline:none;transition:border-color .15s ease,background .15s ease}.camera-dropdown:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}.camera-dropdown:focus{border-color:#4b8bf4;box-shadow:0 0 0 2px rgba(75,139,244,.2)}.camera-dropdown option{background:#0e2440;color:#e1ecf7}.camera-select-chevron{position:absolute;right:6px;top:50%;transform:translateY(-50%);pointer-events:none;color:#8da9c4}.camera-count-badge{font-size:10px;color:#8da9c4;white-space:nowrap;flex:0 0 auto}.feed-video{width:100%;height:100%;object-fit:cover;display:block}.feed-video.flipped{transform:rotate(180deg)}.feed-no-signal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;min-height:120px;color:#6b8199;font-size:12px;background:#1a1f26}.feed-no-signal svg{color:#4b5e73}.feed-boundary{position:absolute;top:10%;left:8%;right:8%;bottom:10%;border:2.5px dashed #f0c020;border-radius:6px;pointer-events:none;z-index:2;box-shadow:0 0 0 1px rgba(0,0,0,.15);animation:boundary-pulse 2.5s ease-in-out infinite}@keyframes boundary-pulse{0%,to{opacity:.85}50%{opacity:.55}}.status-panel{border:1px solid #dbe5f0;border-radius:10px;background:#fbfdff;padding:18px 18px 10px}.status-panel h2{font-size:23px;margin:4px 0 14px;color:var(--ink)}.status-list{list-style:none;margin:0;padding:0}.status-list li{display:flex;gap:12px;align-items:center;padding:14px 2px;border-bottom:1px solid #e8eef6;font-size:15px;color:#173d60;line-height:1.35}.status-list li svg{color:var(--green);flex:0 0 auto}.status-list li.wait{color:#73859a}.status-list li.bad{color:#b91c1c}.status-list li.bad svg{color:var(--red)}.status-spinner{width:18px;height:18px;border-radius:50%;border:2px solid #d3dfec;border-top-color:#f59e0b;animation:spin .8s linear infinite;flex:0 0 auto}.status-note{margin-top:14px;font-size:12px;color:var(--muted-2);line-height:1.5}.capture-footer{display:flex;align-items:center;gap:24px;margin-top:18px;flex-wrap:wrap}.capture-btn{min-width:330px;height:62px;font-size:19px}.capture-warning{display:flex;align-items:center;gap:10px;color:#b91c1c;max-width:560px}.capture-warning p{margin:0;font-size:14px;line-height:1.35}.capture-warning svg{flex:0 0 auto;color:var(--red)}.demo-select{margin-left:auto;display:flex;flex-direction:column;gap:4px;font-size:10.5px;color:#8496aa;text-transform:uppercase;letter-spacing:.6px}.demo-select select{font-size:12px;text-transform:none;letter-spacing:0;border:1px solid #d5e0ec;border-radius:6px;padding:6px 8px;background:#fff;color:#23496b;max-width:250px}.capture-alert{margin-top:16px}.capture-alert div{display:flex;flex-direction:column;gap:2px}.capture-alert strong{font-size:13px}.review-card{padding:18px}.review-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.9fr);grid-gap:18px;gap:18px}.review-main{min-width:0}.review-image-shell{position:relative;border-radius:8px;overflow:hidden;background:#1f2937;border:1px solid #cfdae7}.review-image{width:100%;height:auto;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.image-caption{left:12px;background:rgba(8,24,42,.78);color:#f0f6fc;font-size:13px;font-weight:600;padding:6px 12px;border-radius:6px}.camera-tabs,.image-caption{position:absolute;top:12px;z-index:4}.camera-tabs{right:12px;gap:4px;background:rgba(8,24,42,.66);padding:4px;border-radius:8px}.camera-tab,.camera-tabs{display:flex;align-items:center}.camera-tab{border:0;background:transparent;color:#cfe0f2;font-size:11.5px;padding:5px 9px;border-radius:5px;cursor:pointer;gap:5px}.camera-tab.active{background:#f4f8ff;color:var(--ink);font-weight:600}.camera-count{background:rgba(13,42,74,.12);border-radius:999px;padding:0 5px;font-size:10px}.camera-tab:not(.active) .camera-count{background:rgba(255,255,255,.18)}.ai-eye-btn{display:flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#8db4cf;font-size:11px;font-weight:600;letter-spacing:.3px;padding:5px 9px;border-radius:5px;cursor:pointer;margin-left:6px;transition:background .15s ease,color .15s ease,border-color .15s ease}.ai-eye-btn.active{background:rgba(74,158,255,.18);border-color:rgba(74,158,255,.5);color:#90ceff}.ai-eye-btn:hover{background:rgba(255,255,255,.14);color:#cfe0f2}.defect-bbox{position:absolute;border:2.5px solid #22c55e;border-radius:3px;background:rgba(34,197,94,.07);padding:0;cursor:pointer;z-index:3;box-sizing:border-box;transition:border-color .12s ease,background .12s ease}.defect-bbox:hover{border-color:#4ade80;background:rgba(34,197,94,.14)}.defect-bbox.selected{border-color:#86efac;background:rgba(34,197,94,.18);box-shadow:0 0 0 2px rgba(34,197,94,.35)}.defect-bbox-label{position:absolute;top:calc(100% + 3px);left:0;font-size:10px;font-weight:600;padding:2px 7px;border-radius:3px;white-space:nowrap;line-height:1.3;border:1px solid #22c55e;background:rgba(5,35,19,.88);color:#bbf7d0;pointer-events:none;z-index:4}.image-stage{position:relative;line-height:0;cursor:default;overflow:hidden}.image-stage.marking{cursor:crosshair}.image-placeholder{min-height:380px;display:grid;place-items:center;color:#c9d6e5;font-size:14px}.defect-mark{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;min-width:22px;border-radius:50%;border:2.5px solid var(--green);background:rgba(34,197,94,.06);padding:0;cursor:pointer;z-index:3}.defect-mark.operator{border-color:#ef4444;border-style:dashed;background:rgba(239,68,68,.06)}.defect-mark.selected{box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 6px rgba(34,197,94,.5)}.defect-mark.operator.selected{box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 6px rgba(239,68,68,.5)}.defect-label{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;white-space:nowrap;line-height:1.3;border:1px solid var(--green);background:rgba(5,35,19,.9);color:#bbf7d0;pointer-events:none}.defect-label.operator{border-color:#ef4444;background:rgba(38,10,10,.9);color:#fecaca}.image-instruction,.mark-hint{left:50%;bottom:12px;transform:translateX(-50%);z-index:4;background:rgba(8,24,42,.82);color:#e8f2ff;font-size:12px;padding:6px 12px;border-radius:999px;pointer-events:none;gap:6px;white-space:nowrap}.image-busy,.image-instruction,.mark-hint{position:absolute;line-height:1.4;display:flex;align-items:center}.image-busy{inset:0;background:rgba(8,24,42,.35);justify-content:center;gap:10px;color:#fff;font-size:14px;z-index:5}.review-side{border:1px solid #dbe5f0;border-radius:11px;background:#fff;padding:20px;display:flex;flex-direction:column;gap:14px;min-height:100%}.review-side-head{display:flex;align-items:center;justify-content:space-between}.review-side h2{font-size:23px;margin:0;color:var(--ink)}.defect-total{background:#eef3fa;border-radius:999px;padding:2px 9px;font-size:12px;color:#3d5c7c;font-weight:600}.defect-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:auto}.defect-row{width:100%;display:flex;align-items:center;gap:9px;border:1px solid #dbe5f0;background:#fff;border-radius:8px;padding:9px 10px;cursor:pointer;text-align:left;color:#123a5f;font-size:13px;transition:.12s ease}.defect-row:hover{border-color:#b9cee4;background:#fbfdff}.defect-row.selected{border-color:#4b8bf4;box-shadow:0 0 0 3px rgba(75,139,244,.13)}.defect-index{font-weight:700;font-size:13px}.defect-name{font-weight:600;flex:1 1}.source-tag{font-size:10.5px;padding:2.5px 8px;border-radius:999px;font-weight:600;white-space:nowrap}.source-tag.ai{background:#dcfce7;color:#166534;border:1px solid #b7f0c6}.source-tag.operator{background:#fee2e2;color:#b91c1c;border:1px solid #f7c4c4}.row-chevron{color:#8aa0b8}.defect-empty{font-size:13px;color:#6b8199;background:#f7fafd;border:1px dashed #cfdae7;border-radius:8px;padding:14px}.mark-type{display:flex;flex-direction:column;gap:6px;font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:#8496aa}.segmented{display:grid;grid-template-columns:repeat(3,1fr);background:#eef3f9;border-radius:8px;padding:3px;grid-gap:3px;gap:3px}.segmented button{border:0;background:transparent;padding:7px 4px;border-radius:6px;font-size:12px;color:#3d5c7c;cursor:pointer;font-weight:600}.segmented button.active{background:#fff;box-shadow:0 1px 4px rgba(15,35,65,.14);color:var(--ink)}.review-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.selected-editor{border:1px solid #dbe5f0;border-radius:8px;padding:10px 12px;align-items:center;justify-content:space-between;font-size:12px}.selected-editor,.selected-editor-panel{background:#fbfdff;display:flex;gap:10px}.selected-editor-panel{border:1px solid #d3e1f0;border-radius:10px;padding:12px 14px;flex-direction:column;box-shadow:0 2px 8px rgba(15,35,65,.04)}.defect-detail-form{display:flex;flex-direction:column;gap:10px}.selected-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #e8eff6}.selected-title{font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:6px}.defect-form-fields{display:flex;flex-direction:column;gap:9px}.defect-field-group{display:flex;flex-direction:column;gap:4px}.defect-field-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.defect-input-text{width:100%;border:1px solid #cbd8e7;border-radius:6px;padding:6px 10px;font-size:12.5px;color:var(--ink);background:#fff;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.defect-input-text:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.15)}.defect-textarea{width:100%;border:1px solid #cbd8e7;border-radius:6px;padding:6px 10px;font-size:12.5px;color:var(--ink);background:#fff;resize:vertical;min-height:52px;outline:none;font-family:inherit;transition:border-color .14s ease,box-shadow .14s ease}.defect-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.15)}.defect-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:2px}.defect-save-btn{height:36px;font-size:12.5px;padding:0 14px;border-radius:6px;gap:6px}.defect-success-msg{display:flex;align-items:center;gap:5px;font-size:11.5px;color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;padding:5px 8px;border-radius:5px}.defect-row-content{display:flex;flex-direction:column;flex:1 1;min-width:0;gap:2px}.defect-note-preview{font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.defect-row-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.camera-pill-tag{font-size:10px;font-weight:600;padding:1.5px 7px;border-radius:4px;background:#eef4fb;color:#2b567d;border:1px solid #d4e2f0;letter-spacing:.2px}.defect-camera-filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-bottom:4px}.camera-filter-btn{border:1px solid #d8e2ee;background:#f4f8fc;color:#4b6b88;font-size:11px;font-weight:600;padding:4px 9px;border-radius:6px;cursor:pointer;transition:all .14s ease}.camera-filter-btn:hover{background:#e9f1fa;border-color:#bccfe3;color:#1a4168}.camera-filter-btn.active{background:#143c66;border-color:#143c66;color:#fff;box-shadow:0 2px 6px rgba(20,60,102,.2)}.selected-info{display:flex;flex-direction:column;gap:5px;color:#123a5f}.selected-info.muted{color:#6b8199}.selected-camera{font-size:11px;color:var(--muted-2)}.save-continue{margin-top:auto;height:56px;font-size:17px;border-radius:8px}.info-note{display:flex;gap:9px;background:#eef4fc;border:1px solid #d9e6f6;border-radius:8px;padding:11px 12px;font-size:11.5px;color:#3d5c7c;line-height:1.45}.info-note svg{flex:0 0 auto;color:#2e78d0;margin-top:1px}.reviewed-note{gap:6px;font-size:11.5px;color:#16a34a}.flip-card,.reviewed-note{display:flex;align-items:center}.flip-card{max-width:1000px;margin:0 auto;padding:32px 40px 26px;flex-direction:column;text-align:center}.flip-status{display:flex;align-items:center;gap:12px}.flip-status h2{margin:0;font-size:30px;color:#16a34a;letter-spacing:-.3px}.flip-check{color:var(--green)}.flip-instruction{font-size:21px;line-height:1.45;color:var(--ink);margin:16px 0 20px}.flip-visual{width:100%;max-width:820px;border-radius:10px;overflow:hidden;background:#eef2f7;border:1px solid #e0e8f1}.flip-visual img{display:block;width:100%;height:auto}.flip-button{margin-top:22px;min-width:420px;height:60px;font-size:18px}.flip-note{font-size:12px;color:var(--muted-2);margin:14px 0 0}.result-card{padding-bottom:22px}.overall-chip{border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;letter-spacing:.4px}.overall-chip.pass{background:#dcfce7;color:#166534;border:1px solid #b7f0c6}.overall-chip.review{background:#fef3c7;color:#92400e;border:1px solid #f6dfa5}.result-body{padding:18px 24px 0}.product-strip{display:flex;align-items:center;gap:20px;border:1px solid #d7e2ee;border-radius:10px;background:linear-gradient(180deg,#fbfdff,#f4f8fc);min-height:96px;padding:10px 24px;flex-wrap:wrap}.product-strip-thumb{width:120px;display:grid;place-items:center;flex:0 0 auto}.product-strip-name{display:flex;flex-direction:column;gap:2px;color:var(--ink);min-width:0}.product-strip-name strong{font-size:19px}.product-strip-name span{font-size:13px;color:#5f7590}.strip-divider{width:1px;height:46px;background:#d3dfec}.strip-meta{display:flex;flex-direction:column;gap:2px;color:var(--ink)}.meta-label{font-size:11px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.6px}.meta-value{font-size:15px}.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:18px}.check-card{border:1px solid #d7e2ee;border-radius:11px;background:#fff;padding:16px 14px 14px;display:flex;flex-direction:column;gap:14px}.check-card h3{margin:0;font-size:18px;text-align:center;color:var(--ink)}.check-body{display:flex;align-items:center;justify-content:center;gap:12px;min-height:78px}.check-icon{color:#2b4a6b;flex:0 0 auto}.check-value{display:flex;flex-direction:column;gap:2px;font-size:16px;color:var(--ink)}.check-value strong{font-weight:600}.check-value strong.wrap{font-size:15px;line-height:1.3}.check-sub{font-size:12px;color:#64748b;font-weight:400}.status-pill{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;height:42px;color:#fff;font-size:16px;font-weight:600;letter-spacing:.3px;margin-top:auto}.status-pill.pass{background:var(--green)}.status-pill.review{background:var(--amber)}.status-pill.na{background:#6b7280}.saved-banner{display:flex;align-items:center;gap:12px;background:#ecfdf3;border:1px solid #bdf0cf;border-radius:9px;padding:11px 16px;margin-top:18px;color:#166534}.saved-banner div{display:flex;flex-direction:column;gap:2px}.saved-banner strong{font-size:14px}.saved-banner span{font-size:12px;color:#3f7b57}.result-footer{gap:24px;margin-top:24px}.result-actions,.result-footer{display:flex;align-items:center;flex-wrap:wrap}.result-actions{gap:12px}.save-result{min-width:300px;height:62px;font-size:19px}.result-note{display:flex;align-items:center;gap:18px;color:#3d5c7c;font-size:14px}.note-divider{width:1px;height:44px;background:#d3dfec}.result-note p{margin:0;line-height:1.4}.record-strip{display:flex;flex-wrap:wrap;gap:10px 26px;border-top:1px solid var(--line-soft);margin-top:20px;padding-top:14px;font-size:12px;color:#5f7590}.record-strip strong{color:#22476c;font-weight:600;margin-right:4px}.modal-backdrop{position:fixed;inset:0;background:rgba(6,19,34,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:grid;place-items:center;padding:24px}.modal{background:#fff;border-radius:16px;width:min(560px,100%);box-shadow:0 30px 70px rgba(5,18,34,.4);overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line-soft);background:#f7fafd}.modal-head h2{margin:0;font-size:19px;color:var(--ink)}.modal-body{padding:20px 22px}.info-list{display:flex;flex-direction:column;gap:12px;margin:0}.info-list div{display:grid;grid-template-columns:110px 1fr;grid-gap:12px;gap:12px;font-size:13px}.info-list dt{color:var(--muted-2)}.info-list dd{margin:0;color:#1c3d5e}.modal-note{margin:18px 0 0;font-size:12px;color:#5f7590;background:#f4f8fd;border-radius:8px;padding:12px;line-height:1.5}@media (max-width:1200px){.capture-grid,.review-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-footer{flex-direction:column;align-items:stretch}.setup-actions{margin-left:0;align-items:stretch;min-width:0}.selection-summary{text-align:left}}@media (max-width:820px){.page-shell{padding:24px 16px 40px}.topbar{padding:0 16px;height:64px}.topbar-divider,.topbar-subtitle{display:none}.topbar-name{font-size:21px}.operator-chip span{display:none}.page-title h1{font-size:24px}.page-title-bar{height:34px}.card-band{padding:14px 16px}.band-title h1{font-size:21px}.band-right .overall-chip{display:none}.feed-grid,.mode-row,.object-row{grid-template-columns:1fr}.capture-btn{min-width:0;width:100%}.demo-select{margin-left:0;width:100%}.check-grid,.review-actions{grid-template-columns:1fr}.login-card{padding:26px 22px}.login-page{padding:24px 16px 40px}.login-page .page-title h1{font-size:22px}.product-strip{gap:12px}.strip-divider{display:none}.flip-button{min-width:0;width:100%}.flip-card{padding:24px 18px}.flip-instruction{font-size:18px}.result-footer{flex-direction:column;align-items:flex-start}.result-note{width:100%}.checks-content{flex-direction:column;align-items:flex-start}.checks-thumb{border-right:0;border-bottom:1px solid var(--line-soft);width:100%;padding:0 0 10px}.camera-tabs,.image-caption{position:static;border-radius:0}.camera-tabs{background:#0b2543;flex-wrap:wrap;justify-content:flex-start}.image-instruction,.mark-hint{white-space:normal;width:calc(100% - 24px);justify-content:center;text-align:center}}