*{box-sizing:border-box}body{margin:0;background:#0d141e;color:#e5edf4;font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#75b8df;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid #344456;border-radius:7px;background:#151f2d;color:#d8e5f0;padding:10px 17px;display:inline-block;text-align:center}button:hover,.button:hover{filter:brightness(.96);text-decoration:none}.primary{background:#75b8df;color:#f7fbff;border-color:#75b8df;font-weight:600}.top{background:#101923;color:#f7fbff;min-height:82px;display:flex;align-items:center;justify-content:space-between;padding:16px max(28px,calc((100% - 1260px)/2));gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:30px;color:#f7fbff}.brand span{font-size:16px;letter-spacing:2px;font-weight:700}.brand small{display:block;font-size:11px;letter-spacing:1px;font-weight:400;color:#a1b2c4}.top nav{display:flex;gap:20px;align-items:center}.top nav a{color:#d8e5f0}.top form{margin:0}.username{color:#a1b2c4}.text{border:0;background:none;color:#d8e5f0;padding:0}main{max-width:1260px;margin:38px auto;padding:0 28px}h1{font-size:32px;line-height:1.2;letter-spacing:-.7px;margin:10px 0}h2{font-size:19px;margin:0 0 15px}h3{font-size:15px}p{margin:10px 0}.eyebrow{font-size:11px;letter-spacing:1.7px;color:#8fb2cb;font-weight:700}.muted,.sub{color:#a1b2c4}.sub{font-size:12px;margin-top:4px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:26px 0}.card{background:#151f2d;border:1px solid #283749;border-radius:10px;padding:25px;margin-bottom:23px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats .card{border-top:3px solid #2876a3}.stats span{display:block;font-size:13px;color:#a1b2c4}.stats strong{display:block;font-size:32px;margin-top:8px}.registry{padding:0}.filters{display:flex;align-items:center;gap:12px;padding:22px;flex-wrap:wrap}.filters input{flex:1;min-width:200px}.filters select{width:auto}input,select,textarea{width:100%;border:1px solid #344456;border-radius:6px;background:#151f2d;color:#e5edf4;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:2px solid #75b8df;outline-offset:1px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{background:#182535;color:#a1b2c4;font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:600}th,td{padding:16px 22px;border-bottom:1px solid #283749}td:first-child{white-space:normal;min-width:210px}.strong{font-weight:650}.badge{display:inline-block;padding:4px 10px;border-radius:5px;font-size:12px;background:#253447;color:#c0cfde;white-space:nowrap}.badge.ready{background:#17382e;color:#9adbbd}.badge.inspection{background:#1c354b;color:#a2d4f4}.badge.hold{background:#3d321e;color:#eed198}.empty{text-align:center;padding:55px 20px;color:#a1b2c4}.empty h2{color:#e5edf4}.pagination{padding:18px 22px;display:flex;gap:24px;font-size:13px}.back{display:inline-block;margin-bottom:7px;font-size:13px}.actions{display:flex;gap:10px}.passport-layout{display:grid;grid-template-columns:1fr 265px;gap:23px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:24px 0 0}dt{font-size:12px;color:#a1b2c4}dd{margin:3px 0 0;overflow-wrap:anywhere}.qr-card{text-align:center}.qr-card img{display:block;margin:0 auto 14px}.qr-card strong{display:block}.qr-card p{font-size:12px}.subtitle{font-size:20px}.notes{border-top:1px solid #283749;margin-top:25px;padding-top:20px}.file-group{border-top:1px solid #283749;padding:10px 0}.count{color:#a1b2c4;font-size:12px;margin-left:8px}.file-row{padding:10px 0}.file-row p{font-size:13px}details{font-size:12px;color:#a1b2c4}summary{cursor:pointer}code{display:block;overflow-wrap:anywhere;white-space:normal}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.wide{grid-column:1/-1}.form-card{max-width:880px;margin:20px auto}.form-actions{display:flex;align-items:center;gap:22px;margin-top:28px}.errorlist{background:#46282d;color:#ffb3ab;padding:12px 24px;border-radius:6px;font-size:13px}.help{font-size:12px;color:#a1b2c4;margin-top:8px}.login{max-width:420px;margin:80px auto}.login label{display:block;font-size:13px;margin-bottom:5px}.login button{width:100%;margin-top:10px}.notice{background:#18382d;color:#a7dfc5;border:1px solid #325c4b;padding:14px 20px;border-radius:7px}.event{padding:13px 0;border-top:1px solid #283749}.audit div{display:grid;grid-template-columns:160px 1fr;gap:16px;margin-bottom:8px}.label{display:flex;align-items:center;gap:20px;border:1px solid #e5edf4;padding:20px;background:#151f2d;max-width:650px;overflow-wrap:anywhere}.label h2{font-size:21px}.label p{font-size:13px;margin:4px 0}footer{text-align:center;color:#8a9eb2;font-size:11px;padding:30px}form p label{font-weight:500}.print-tools{margin-bottom:25px}@media(max-width:760px){.top{padding:16px 20px;display:block}.top nav{gap:12px;flex-wrap:wrap;margin-top:15px;font-size:12px}main{padding:0 16px;margin-top:24px}.heading{align-items:flex-start;flex-direction:column}h1{font-size:27px}.stats{gap:8px}.stats .card{padding:13px}.stats span{font-size:11px}.stats strong{font-size:25px}.passport-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.card{padding:20px}.registry{padding:0}.filters{padding:16px}.filters input{flex-basis:100%}.actions{flex-wrap:wrap}.section-heading{flex-wrap:wrap}.login{margin:30px auto}.label{flex-wrap:wrap}}@media print{.top,footer,.print-tools{display:none!important}body{background:#151f2d}main{margin:0;padding:0}.label{max-width:none;width:100%;break-inside:avoid}a{color:black}}

/* ELEMET: permanent dark theme, blue and silver corporate identity. */
:root{color-scheme:dark;--elemet-blue:#2876a3;--elemet-silver:#aeb6bd}
.primary{background:var(--elemet-blue);border-color:var(--elemet-blue);color:#fff}
.primary:hover{background:#3488b8;border-color:#3488b8;filter:none}
.top{border-bottom:1px solid #283749}
.brand{gap:13px;text-decoration:none!important;flex-shrink:0}
.brand-mark{width:46px;height:46px;object-fit:contain}
.brand .brand-type{display:block;letter-spacing:0}
.brand .brand-word{display:block;font-size:25px;line-height:1.05;font-weight:800;letter-spacing:.4px;color:#d9dfe4}
.brand-word b{color:#4799c7}
.brand .brand-type small{font-size:10px;font-weight:600;letter-spacing:2.5px;color:#d9dfe4;margin-top:7px}
input::placeholder,textarea::placeholder{color:#91a4b8;opacity:1}
input,select,textarea{background:#101923}
input[type=file]::file-selector-button{background:#253a50;color:#e5edf4;border:0;border-radius:4px;padding:7px 11px;margin-right:12px;cursor:pointer}
tbody tr:hover{background:#192638}
.qr-card img{background:#fff;border-radius:6px}
.label{background:#151f2d;border-color:#52667e}
.label img{background:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #75b8df;outline-offset:4px}
@media(max-width:760px){.brand .brand-word{font-size:23px}.filters select{max-width:100%}}
@media print{:root{color-scheme:light}body{background:#fff!important;color:#111!important}.label{background:#fff!important;color:#111!important;border-color:#111}.label p,.label h2{color:#111!important}}

.quick-search label{display:block;font-size:14px;font-weight:650;margin-bottom:10px}
.quick-search-controls{display:flex;align-items:center;gap:14px;max-width:720px}
.quick-search-controls input{flex:1;min-width:0;font-variant-numeric:tabular-nums}
.quick-search-controls button{white-space:nowrap}
.part-number{font-variant-numeric:tabular-nums;white-space:nowrap}
.text-label{display:block;max-width:100%;width:fit-content;overflow-x:auto}
.marking-text{font:600 22px/1.6 ui-monospace,Consolas,monospace;white-space:pre;user-select:all;overflow-wrap:normal;color:inherit}
#copy-status{min-height:24px;color:#a7dfc5}
@media(max-width:600px){.quick-search-controls{flex-wrap:wrap}.quick-search-controls input{flex-basis:100%}.marking-text{font-size:17px}}
@media print{.text-label{border:0;padding:0;max-width:none;width:auto;overflow:visible}.marking-text{color:#111!important}}

.batch-toolbar{padding:0 22px 18px;border-bottom:1px solid #283749}
.batch-toolbar form{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.batch-toolbar .help{margin-bottom:0}
.top nav{flex-wrap:wrap;justify-content:flex-end}
[data-bulk-field][hidden]{display:none!important}
.checkbox-cell{width:48px;min-width:48px!important;padding-right:8px}
.checkbox-cell input{width:18px;height:18px;accent-color:#2876a3;cursor:pointer;vertical-align:middle}
button:disabled{opacity:.45;cursor:default}
.sheet-preview{overflow:auto;max-width:100%;padding-bottom:20px}
.sheet-paper{width:190mm;min-height:276mm;box-sizing:border-box;background:#fff;color:#111;margin:0 auto 24px;padding:0;box-shadow:0 2px 16px #0005}
.label-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm}
.label-card{--copy-scale:1;height:64mm;min-width:0;border:.25mm solid #444;padding:4mm;display:flex;flex-direction:column;gap:2mm;color:#111;background:#fff;break-inside:avoid;page-break-inside:avoid;font-family:Arial,"Segoe UI",sans-serif}
.label-card-copy{flex:1;min-height:0;overflow:hidden;overflow-wrap:anywhere}
.label-card-designation{font-size:calc(18pt * var(--copy-scale));line-height:1.15;font-weight:700;margin:0 0 1.5mm;color:#111;letter-spacing:0}
.label-card-name{font-size:calc(12pt * var(--copy-scale));line-height:1.25;margin:0 0 1.5mm;color:#111}
.label-card-theme{font-size:calc(11pt * var(--copy-scale));line-height:1.25;margin:0;color:#111}
.label-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:3mm;flex-shrink:0;min-height:24mm}
.label-card-ordinal{font:700 23pt/1.1 Arial,"Segoe UI",sans-serif;color:#111;letter-spacing:.3mm;font-variant-numeric:tabular-nums;padding-bottom:1.5mm}
.label-card-qr{display:block;width:24mm;height:24mm;object-fit:contain;flex-shrink:0}
@media print{@page{size:A4 portrait;margin:10mm}html,body{margin:0!important;padding:0!important}main{max-width:none!important;margin:0!important;padding:0!important}.sheet-preview{overflow:visible;padding:0}.sheet-paper{background:#fff;color:#111;margin:0;min-height:0;box-shadow:none;break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid}.sheet-paper:last-child{break-after:auto;page-break-after:auto}.label-card{border-color:#444;background:#fff!important;color:#111!important}}

body.photo-viewer-open{overflow:hidden}
#photo-viewer{position:fixed;inset:0;margin:0;border:0;padding:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:#080d13;color:#edf3fa}
#photo-viewer::backdrop{background:#000}
.photo-viewer-layout{height:100%;display:flex;flex-direction:column}
.photo-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;background:#101923;flex-shrink:0}
.photo-viewer-info{display:flex;align-items:baseline;gap:15px;min-width:0}.photo-viewer-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.photo-viewer-info span{white-space:nowrap;color:#a1b2c4;font-size:13px}
.photo-viewer-actions{display:flex;gap:10px;align-items:center}
#photo-viewer button,#photo-viewer .button{min-height:44px;min-width:44px;border-color:#344456;background:#1d2d40;color:#f0f6fc}
.photo-viewer-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none}
#photo-viewer-image{display:block;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;-webkit-user-drag:none;flex-shrink:0}
.photo-viewer-stage.zoomed{cursor:grab}.photo-viewer-stage.zoomed:active{cursor:grabbing}
#photo-viewer-message{position:absolute;left:15%;right:15%;top:45%;text-align:center;pointer-events:none;color:#b9ccdd;font-size:14px}
#photo-viewer .photo-viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);font-size:36px;line-height:1;padding:6px 12px;background:#182535dd;border-radius:8px;z-index:2}
.photo-viewer-arrow.prev{left:14px}.photo-viewer-arrow.next{right:14px}
.photo-viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px max(10px,env(safe-area-inset-bottom));background:#101923;flex-shrink:0}
.photo-viewer-zoom{display:flex;gap:8px}.photo-viewer-hint{font-size:12px;color:#a1b2c4}
@media(max-width:600px){.photo-viewer-toolbar{padding:8px 10px;gap:8px}.photo-viewer-info{display:block}.photo-viewer-info strong{display:block;max-width:45vw;font-size:12px}.photo-viewer-actions{gap:6px}.photo-viewer-actions .button{font-size:12px;padding:9px}.photo-viewer-bottom{justify-content:center}.photo-viewer-hint{display:none}#photo-viewer .photo-viewer-arrow{background:#182535b8}.photo-viewer-arrow.prev{left:6px}.photo-viewer-arrow.next{right:6px}}
@media print{#photo-viewer{display:none!important}}

.part-indicators{display:inline-flex;align-items:center;gap:8px;vertical-align:middle;margin:5px 0}
.part-indicator{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid #344456;border-radius:7px;color:#718397;background:#192432}
.part-indicator.complete{color:#69e1a1;border-color:#307d5b;background:#153a2c;box-shadow:0 0 9px #4bd08e24}
.marking-status-card h2{margin-bottom:8px}.indicator-legend{font-size:12px;margin-left:14px}
#marking-status-form{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}
.marking-checkbox{display:inline-flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}
.marking-checkbox input,.field input[type=checkbox]{width:20px;height:20px;accent-color:#2876a3;cursor:pointer}
@media(max-width:600px){.indicator-legend{display:block;margin-left:0}}

.notice.error{background:#46282d;color:#ffb3ab;border-color:#7c434d}.notice.warning{background:#3d321e;color:#eed198;border-color:#75613b}

.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stats a.card{color:inherit;text-decoration:none}.stats a.card:hover{border-color:#75b8df}
.inline-status-form{display:flex;align-items:center;gap:6px}.inline-status-select{width:auto;min-width:140px;padding:5px 8px;font-size:12px;cursor:pointer;border:1px solid #344456}.status-save{padding:4px 8px;font-size:12px}.auto-status .status-save{display:none}.status-pending{opacity:.6;pointer-events:none}
.photo-quality{margin-top:12px;padding:12px;border-left:3px solid #75b8df;background:#182535;font-size:13px}.photo-quality ul{padding-left:20px}.passport-summary li{margin-bottom:5px}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.qr-card .actions{flex-wrap:wrap;justify-content:center;align-items:center}
