:root{--deep:#103a3e;--teal:#0d4a50;--text:#172b40;--muted:#61768b;--line:#e1e8ec;--paper:#fff;--soft:#f5f9f9;--gold:#efa92b}*{box-sizing:border-box}body{margin:0;font:15px/1.5 Arial,Helvetica,sans-serif;color:var(--text);background:#fff}a{color:#075480;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:linear-gradient(170deg,#103b3f,#0c3337);color:#eef8f8;z-index:10;display:flex;flex-direction:column}.brand{height:89px;display:flex;align-items:center;gap:13px;padding:0 28px;color:#fff!important;text-decoration:none!important;letter-spacing:2px}.brand strong{font-size:22px;font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:1.4px}.brand-mark{font-size:34px;color:#f5bd50}.sidebar nav{overflow:auto;flex:1}.sidebar nav a{display:block;color:#ebf4f4;padding:10px 28px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#1c5960;text-decoration:none}.sidebar .nav-home{padding:16px 28px}.nav-title{font-size:11px;color:#a9c3c6;padding:25px 28px 10px}.sidebar-footer{padding:28px 38px 38px;color:#a9c3c6;letter-spacing:4px;font-size:10px;line-height:2}.shell{margin-left:255px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:73px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 31px;gap:20px}.top-search{background:#f5f8f9;border:1px solid #eef1f2;border-radius:8px;color:#6c8291;padding:10px 15px;flex:1;max-width:830px}.profile{display:flex;align-items:center;gap:9px;white-space:nowrap}.profile small{display:block;color:var(--muted);font-size:12px}.profile form button{border:0;background:none;color:var(--muted);padding:9px}.avatar{background:#164f55;color:#fff;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}main{padding:30px 32px;max-width:1580px;width:100%;margin:0 auto;flex:1}footer{border-top:1px solid var(--line);padding:16px 32px;color:var(--muted);font-size:12px}footer span{margin-left:15px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.hero h1,.page-head h1,.detail-head h1{font-size:34px;line-height:1.15;letter-spacing:-.6px;margin:0 0 6px}.hero p,.page-head p,.detail-head p{font-size:18px;color:var(--muted);margin:0}.hero-banner{height:100px;border-radius:10px;background:linear-gradient(100deg,#f2fafa,#e4f4f6);display:flex;align-items:center;gap:22px;padding:20px 28px;overflow:hidden}.hero-banner strong{line-height:1.25}.hero-banner small{display:block;color:var(--muted);margin-top:5px}.banner-icon{font-size:38px;color:#227a84}.banner-lines{margin-left:auto;color:#9dc4c7;font-size:42px;white-space:nowrap}.big-search{display:flex;align-items:center;border:1px solid #d9e3e8;box-shadow:0 3px 15px #1c3b4a10;border-radius:9px;margin:18px 0 12px;padding:7px 10px 7px 22px}.big-search span{font-size:28px;margin-right:15px}.big-search input{border:0;outline:0;flex:1;min-width:0;font-size:16px;padding:8px}.primary{background:#114c52;color:#fff;border:0;border-radius:7px;padding:11px 22px}.primary:hover{background:#0a3c42;text-decoration:none}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:65px 0 20px}.action-card,.panel{background:var(--paper);border:1px solid var(--line);box-shadow:0 3px 14px #18374b0d;border-radius:10px}.action-card{padding:20px 23px;display:flex;flex-direction:column;color:var(--text);min-height:155px}.action-card span{font-size:32px;color:#0c5760}.action-card strong{font-size:20px;margin-top:5px}.action-card small{font-size:15px;color:var(--muted);margin-top:2px}.dashboard{display:grid;grid-template-columns:minmax(0,3fr) minmax(250px,1fr);gap:18px}.panel{padding:17px}.panel h2{font-size:19px;margin:0 0 14px}.panel h3{font-size:16px;margin:18px 0 8px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head a{font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#4d667a;background:#f5f9fa;font-weight:500}td,th{padding:11px 9px;border-bottom:1px solid #e7edf0;vertical-align:middle}td{max-width:370px;overflow-wrap:anywhere}td a{font-weight:600}.status-panel>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 2px}.badge{display:inline-block;font-size:11px;padding:4px 9px;border-radius:18px;white-space:nowrap;background:#f0f5f5;color:#46616a}.badge.unopened{background:#fff0f0;color:#bb2f39}.badge.viewed{background:#edf2f5;color:#536f7e}.badge.left_for_review{background:#fff3df;color:#aa6800}.badge.human_accepted{background:#e9f6ef;color:#067c4b}.badge.not_rd{background:#f0f2f3;color:#697a80}.page-head{margin-bottom:23px}.filter-panel{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 19px}.filter-panel input,.filter-panel select,.login-card input,.review-actions textarea{border:1px solid #d6e1e5;border-radius:7px;padding:10px 12px;background:#fff;min-width:130px}.filter-panel input{flex:2;min-width:220px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}.tabs a{padding:9px 14px;background:#f3f8f8;border-radius:7px;color:#365a60}.tabs a.selected{background:#19565c;color:#fff}.detail-head{margin-bottom:20px}.detail-head>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px}.detail-head h1{font-size:25px}.detail-head p{font-size:14px}.detail-grid{display:grid;grid-template-columns:minmax(390px,1fr) minmax(450px,1.15fr);gap:18px;align-items:start}.detail-left{display:grid;gap:16px}.fields{margin:0}.fields>div{display:grid;grid-template-columns:155px 1fr;border-bottom:1px solid var(--line);padding:8px 0;gap:12px}.fields dt{color:var(--muted)}.fields dd{margin:0;overflow-wrap:anywhere}.evidence-note,.source-row small{display:block;color:var(--muted);font-size:12px}.evidence-row,.source-row{border-top:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}.evidence-row span{display:block;color:var(--muted);font-size:12px}.evidence-row p{margin:4px 0}.source-row a{font-weight:600}.attachment{display:block;margin:7px 0}.detail-right{position:sticky;top:12px;padding:0;overflow:hidden}.viewer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px}.viewer-head h2{margin:0}.viewer-head small{color:var(--muted);overflow-wrap:anywhere}.viewer-tools{display:flex;align-items:center;gap:8px;background:#f5f9fa;padding:8px 12px;border-top:1px solid var(--line)}.viewer-tools button{background:#fff;border:1px solid #d4e1e3;border-radius:5px;padding:4px 10px}.viewer-tools input{width:55px;padding:3px}#original-viewer{width:100%;height:75vh;border:0;background:#e7ebed}.image-canvas{overflow:auto;height:75vh;background:#eef1f2;text-align:center}.image-canvas img{max-width:none;height:auto}.viewer-fallback{padding:35px}.button-link{display:inline-block}.review-actions textarea{display:block;width:100%;margin:7px 0}.buttons{display:flex;flex-wrap:wrap;gap:8px}.secondary,.danger{border:1px solid #d2dfe3;background:#fff;border-radius:7px;padding:10px 16px}.danger{color:#b22d39}.link-button{border:0;background:none;color:#075480;padding:0}.scaffold{padding:30px;min-height:230px}.menu-toggle,.menu-button{display:none}.login-body{background:linear-gradient(125deg,#103b3f,#1b5c61);min-height:100vh;display:grid;place-items:center}.login-card{width:min(380px,90vw);background:#fff;padding:30px;border-radius:12px;box-shadow:0 15px 40px #0003}.login-card h1{margin:0;color:#12434a}.login-card label{display:block;margin:15px 0}.login-card input{display:block;width:100%;margin-top:5px}.login-card button{width:100%}.notice.error{color:#b22d39}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.action-grid{margin-top:28px}.dashboard{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-right{position:static}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s}.menu-toggle:checked~.sidebar{transform:translateX(0)}.menu-button{display:block;position:fixed;z-index:20;top:18px;left:13px;background:#155057;color:white;padding:6px 11px;border-radius:6px}.shell{margin-left:0}.topbar{padding:0 15px 0 58px;height:64px}.top-search{display:none}.profile strong{font-size:12px}.profile small{font-size:10px}main{padding:20px 14px}.hero h1,.page-head h1{font-size:27px}.hero-banner{height:auto}.action-grid{grid-template-columns:1fr}.action-card{min-height:105px}.detail-grid{display:block}.detail-right{margin-top:16px}.fields>div{grid-template-columns:1fr;gap:1px}.filter-panel>*{width:100%}.review-actions{display:none}#original-viewer,.image-canvas{height:67vh}footer{padding:15px}}
.documents-table th.product-column{min-width:340px;color:#163c47;font-weight:700}.documents-table td.product-cell{min-width:340px;max-width:520px}.product-cell strong{display:block;font-size:15px;line-height:1.35;color:#172b40}.product-cell small{display:block;color:#516b7d;margin-top:3px;font-size:12px}.documents-table mark{background:#ffe6a8;color:inherit;padding:0 1px;border-radius:2px}
@media(max-width:700px){.documents-table th.product-column,.documents-table td.product-cell{min-width:230px}}
.documents-table td.manufacturer-cell{min-width:175px;max-width:260px;color:#304e60}
.badge.verified{background:#e9f6ef;color:#067c4b}.badge.needs_review{background:#fff0f0;color:#bb2f39}
.review-summary p{margin:10px 0 0}.review-summary ul{margin:7px 0 0;padding-left:20px;color:#4d667a;font-size:13px}.review-summary li{margin:3px 0}
.documents-table{border-collapse:separate;border-spacing:0}.documents-table th,.documents-table td{padding:13px 14px;border-bottom:1px solid #e7edf0}.documents-table th+th,.documents-table td+td{border-left:1px solid #eef2f3}.documents-table thead th{font-weight:650;color:#304c60;background:#f5f9fa}.documents-table tbody tr:hover{background:#fbfdfd}.documents-table th:nth-child(1){min-width:185px}.documents-table th:nth-child(2){min-width:62px}.documents-table th:nth-child(3){min-width:340px}.documents-table th:nth-child(4),.documents-table th:nth-child(5){min-width:170px}.documents-table th:nth-child(6){min-width:115px}.documents-table th:nth-child(7){min-width:170px}

/* The registry reads as a document list: breathing room and short, faded group dividers. */
.documents-table th,.documents-table td{padding:15px 18px;border-bottom:1px solid rgba(86,137,143,.11)}
.documents-table th+th,.documents-table td+td{border-left:0}
.documents-table thead th{background:#f8fbfb;border-bottom-color:rgba(86,137,143,.2)}
.documents-table tbody tr:hover{background:#fbfefe}
.documents-table tbody td:nth-child(3),.documents-table tbody td:nth-child(4),.documents-table tbody td:nth-child(5),.documents-table tbody td:nth-child(7){position:relative}
.documents-table tbody td:nth-child(3)::before,.documents-table tbody td:nth-child(4)::before,.documents-table tbody td:nth-child(5)::before,.documents-table tbody td:nth-child(7)::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:linear-gradient(to bottom,transparent,rgba(75,151,155,.2) 25%,rgba(75,151,155,.2) 75%,transparent);pointer-events:none}
.documents-table .badge{display:inline-flex;align-items:center;gap:6px}
.documents-table .badge::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:currentColor;opacity:.8}

.specification-panel{margin-top:22px;padding:24px}.specification-panel>p{color:var(--muted);margin:3px 0 20px}.specification-panel form>label{display:block;margin-bottom:8px;font-weight:600}.specification-panel input[type=file]{display:block;margin:0 0 20px;max-width:100%}.spec-mapping{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 22px}.spec-mapping label{display:flex;flex-direction:column;gap:5px;min-width:190px;font-weight:600}.spec-mapping select{padding:9px;border:1px solid #d9e3e8;border-radius:7px;background:#fff}.spec-preview{margin-bottom:18px}.spec-preview th,.spec-preview td{padding:11px 14px}.spec-note{color:var(--muted);font-size:13px}.spec-result{padding:20px 4px;border-top:1px solid #e7edf0}.spec-result-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.spec-position{display:grid;grid-template-columns:minmax(120px,1fr) minmax(220px,3fr) minmax(120px,1fr);gap:18px;margin-bottom:12px}.spec-position span{overflow-wrap:anywhere}.spec-position small{display:block;color:var(--muted)}.spec-candidates{display:grid;gap:10px}.spec-candidate{display:grid;grid-template-columns:minmax(150px,1fr) 40px minmax(220px,2fr);gap:5px 14px;padding:12px 16px;background:#f8fbfb;border-radius:8px}.spec-candidate small{grid-column:3;color:var(--muted)}.spec-candidate .match-reason{color:#17626a}.spec-empty{color:#a9343e;margin:0}@media(max-width:700px){.spec-position{grid-template-columns:1fr}.spec-candidate{grid-template-columns:1fr 35px}.spec-candidate strong,.spec-candidate small{grid-column:1/-1}}
