:root{color-scheme:dark;--bg:#090d16;--panel:#131d2f;--panel2:#19263c;--border:#293750;--ink:#f7f9fc;--muted:#9dacc1;--cyan:#19d4f5;--blue:#2376ff;--purple:#8c3cff;--green:#1dd1a1;--gold:#feca57;--red:#ff6b7b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse 900px 400px at 28% -13%,#22345c 0,transparent 72%),var(--bg);color:var(--ink);font:14px/1.5 Inter,'Segoe UI',Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1490px;margin:0 auto;padding:0 22px}.topbar{min-height:91px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #22314a;gap:10px}.identity{display:flex;align-items:center;gap:10px;text-decoration:none!important}.signalmark{width:52px;height:52px;border-radius:13px;background:#152840;display:flex;align-items:center;justify-content:center;border:1px solid #294465}.identity strong{font-size:30px;letter-spacing:-1.6px;color:white;line-height:1}.identity strong span{color:var(--cyan)}.identity small{display:block;color:#98aac1;font-size:9px;font-weight:800;letter-spacing:1.7px;margin-top:5px}.navright{display:flex;gap:22px;align-items:center;font-weight:700}.navright a{color:#dce7fc;font-size:13px}.version{border:1px solid #3a4960;border-radius:9px;padding:5px 10px;color:#9eacc2;font-size:11px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:27px 0 24px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:2px;color:var(--cyan)}h1{font-size:clamp(27px,3.4vw,45px);line-height:1.1;letter-spacing:-1.9px;margin:9px 0 10px}h1 em{font-style:normal;background:linear-gradient(90deg,#19d4f5,#8c3cff);background-clip:text;-webkit-background-clip:text;color:transparent}.intro p{margin:0;color:var(--muted);font-size:14px}.introchip{background:#131e30;display:flex;align-items:center;gap:12px;border:1px solid #2b3c59;border-radius:13px;padding:13px 19px;min-width:241px}.introchip strong,.introchip small{display:block}.introchip strong{font-size:12px}.introchip small{font-size:11px;color:#91a4bb}.pulse{width:9px;height:9px;background:#23c5a1;box-shadow:0 0 0 5px #1dd1a120;border-radius:50%;flex:0 0 auto}.panel{background:linear-gradient(165deg,#182439 0%,#101928 98%);border:1px solid var(--border);border-radius:15px;padding:18px 20px;margin:0 0 15px;box-shadow:0 16px 40px #0003}.paneltitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}h2{font-size:19px;letter-spacing:-.4px;margin:0}.paneltitle p{margin:2px 0 0;color:var(--muted);font-size:12px}.badge{border-radius:6px;padding:4px 9px;font-size:10px;font-weight:900;letter-spacing:.8px;white-space:nowrap}.badge.subtle{color:#76d7c2;background:#0a3b33;border:1px solid #1f695c}.badge.gold{color:#ffdf97;background:#4b3919}.badge.red{color:#ffb0bb;background:#4b222b}.badge.blue{color:#8fe5ff;background:#143d60}.filegrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}.uploadbox,.smallfile{cursor:pointer;position:relative}.uploadbox input,.smallfile input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.uploadbox{border:1.5px dashed #45618c;border-radius:12px;background:#0b1728;min-height:122px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:15px}.uploadbox:hover,.uploadbox.drag{border-color:var(--cyan);background:#122b47}.uploadbox strong{font-size:14px}.uploadbox small{color:#8ea5c5;font-size:11px}.fileicon{font-size:29px;line-height:1;color:var(--cyan);font-weight:800;margin-bottom:4px}.sidefiles{display:grid;gap:11px}.smallfile{background:#101b2c;border:1px solid #31415d;border-radius:11px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.smallfile:hover{border-color:#6487b3}.smallfile strong{display:block;font-size:12px}.smallfile small{color:#93a6bd;display:block;font-size:11px}.smallfile .add{color:#75dffe;font-size:23px}.uploadactions{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{border:0;border-radius:9px;padding:11px 16px;font-size:12px;font-weight:800;color:#fff;white-space:nowrap}.gradient{background:linear-gradient(100deg,var(--blue),var(--purple));min-width:170px;display:flex;justify-content:space-between;gap:20px}.button:hover{filter:brightness(1.15)}.button:disabled{opacity:.48;cursor:wait}.mutedbutton{background:#273851;border:1px solid #3c5271}.outlinebutton{background:transparent;border:1px solid #5e7dc0}.uploadactions #message{color:#a5b5cd;font-size:12px;flex:1;min-width:150px}.resultshead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0 16px}.resultshead h2{font-size:27px}.resultshead p{color:#9cacc3;margin:2px 0;font-size:12px}.resultbuttons{display:flex;gap:8px;flex-wrap:wrap}.notice{background:#3c3118;border-left:3px solid var(--gold);border-radius:6px;padding:12px 15px;margin-bottom:12px;font-size:12px;color:#ffe2a1}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:16px}.metric{background:linear-gradient(160deg,#1a2b46,#101a29);border:1px solid #293d5b;border-radius:11px;padding:12px 14px;min-width:0}.metric .label{font-size:11px;color:#9baec9;font-weight:700;white-space:nowrap}.metric .number{font-weight:850;font-size:clamp(21px,2vw,29px);letter-spacing:-1px;margin:5px 0 0;white-space:nowrap}.metric .number.cyan{color:#67dffa}.metric .small{font-size:10px;color:#7f94b4;margin-top:2px}.tabbar{display:flex;gap:3px;overflow:auto;border-bottom:1px solid #33435e;margin-bottom:16px;scrollbar-width:thin}.tabbar button{flex:0 0 auto;background:none;border:0;color:#aebbd1;font-weight:700;padding:12px 13px;white-space:nowrap;border-bottom:3px solid transparent;font-size:12px}.tabbar button.active{color:#fff;border-bottom-color:var(--cyan);background:#18253c}.tabbar button:hover{color:#fff}.twocol{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px}.threecol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.panel h3{margin:0;font-size:16px}.subtitle{margin:2px 0 12px;color:#9eaec4;font-size:11px}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.value{font-weight:900;font-size:21px;color:var(--cyan)}.chartbox{height:240px;display:flex;align-items:stretch;padding:10px 0 20px;gap:2px;position:relative;border-bottom:1px solid #30415e;background:repeating-linear-gradient(to top,transparent,transparent 24%,#31405740 25%)}.chartcol{flex:1;min-width:1px;height:100%;display:flex;align-items:flex-end;cursor:pointer;position:relative}.chartbar{width:100%;min-height:1px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#21d5f5,#267bfe)}.chartcol:nth-child(2n) .chartbar{background:linear-gradient(180deg,#897bff,#295cd8)}.chartcol:hover .chartbar,.chartcol.chosen .chartbar{background:var(--gold)}.chartlabels{display:flex;justify-content:space-between;color:#8297b3;font-size:10px;margin-top:6px}.hoverhint{font-size:11px;color:#94aac5;margin-top:7px}.bigrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}.progress{height:8px;background:#0c1422;border-radius:6px;overflow:hidden;flex:1;max-width:44%}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:6px}.bigrow strong{min-width:45px}.muted{color:var(--muted)}.matrix{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.matrix th{color:#9db1cb;text-align:left;border-bottom:1px solid #31435e;padding:9px 10px;font-weight:700}.matrix td{border-bottom:1px solid #26344b;padding:8px 10px}.matrix tr:hover td{background:#21324c70}.matrix th:not(:first-child),.matrix td:not(:first-child){text-align:right}.scroll{overflow-x:auto;max-width:100%}.searchline{display:flex;align-items:center;gap:10px;margin:4px 0 13px;flex-wrap:wrap}.searchline input,.searchline select{border-radius:8px;padding:9px 10px;min-height:37px;color:#fff;background:#0c1728;border:1px solid #41536d;font-size:12px;max-width:100%}.searchline input{min-width:220px;flex:1}.searchline select{min-width:110px}.searchline .count{font-size:11px;color:#9aabc4;margin-left:auto}.pillband{padding:2px 7px;border-radius:6px;background:#17456c;color:#a8eafd;font-weight:800}.quality{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:800}.quality.confirmed{background:#502733;color:#ffc2ce}.quality.review{background:#42361c;color:#ffe1a7}.mini{font-size:11px}.statbox{background:#101b2d;border:1px solid #2a3c59;border-radius:10px;padding:12px;margin:5px 0}.statbox strong{font-size:18px;color:#7bdfff}.statbox small{display:block;color:#9aabc4;font-size:10px;margin-top:1px}.entitygrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.entitybox{padding:13px 6px;border:1px solid #2c405e;background:#101b2f;border-radius:10px;text-align:center}.entitybox strong{font-size:22px;color:#74deff;display:block}.entitybox small{font-size:11px;color:#9fb0c7}.countryflag{background:#263650;border-radius:4px;padding:3px 7px}.clickline{cursor:pointer}.clickline:hover{color:#8de6ff}.tablewrap{max-height:540px;overflow:auto}.tablewrap .matrix th{position:sticky;top:0;background:#1c2940;z-index:1}.pager{display:flex;justify-content:space-between;gap:9px;align-items:center;margin-top:12px;color:var(--muted);font-size:11px}.pager button{padding:7px 14px}.empty{text-align:center;padding:35px 15px;color:#abbad0}.auditrow{border-bottom:1px solid #293950;padding:10px 2px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.auditrow strong{font-size:12px}.auditrow span{color:#829ab4;font-size:11px}.auditrow .auditdetail{flex:1}.minor-note{font-size:11px;color:#9dafc7;margin:10px 0}.operatorgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.operatorcard{padding:16px;border:1px solid #2d4262;background:#101c30;border-radius:12px}.operatorcard h3{color:#fff;margin:0 0 7px}.operatorcard .qsoNumber{font-size:29px;letter-spacing:-1px;color:var(--cyan);font-weight:900}.operatorcard .detail{font-size:11px;color:#a0b3cf}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.chips span{font-size:10px;background:#243753;padding:3px 7px;border-radius:5px}.footerbar{display:flex;gap:7px;flex-wrap:wrap}.sectiongap{margin-top:12px}footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #273854;margin:30px 0 20px;padding-top:15px;color:#8799b2;font-size:11px}body.printing .upload,body.printing .intro,body.printing .resultbuttons{display:none!important}@media (max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.operatorgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.entitygrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.shell{padding:0 12px}.topbar{min-height:80px}.identity strong{font-size:25px}.signalmark{width:41px;height:41px}.identity small{font-size:7px;letter-spacing:1px}.navright{gap:8px}.navright a{font-size:11px}.intro{padding:19px 0;display:block}.introchip{margin-top:14px;min-width:0}.filegrid{grid-template-columns:1fr}.filegrid .uploadactions{grid-column:1}.panel{padding:14px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:10px}.metric .number{font-size:22px}.twocol,.threecol{grid-template-columns:1fr}.operatorgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.resultbuttons{margin-top:10px}.resultshead{display:block}.entitygrid{grid-template-columns:repeat(3,minmax(0,1fr))}footer{display:block}footer span{display:block;margin-top:8px}}@media print{body{background:#fff;color:#111;font-size:10px}.shell{max-width:none}.topbar,.intro,.upload,.resultbuttons,.tabbar,footer,.searchline,.pager{display:none!important}.metric,.panel,.operatorcard,.statbox{color:#111;background:#fff;border:1px solid #aaa;box-shadow:none;break-inside:avoid}.metrics{grid-template-columns:repeat(6,1fr)}.metric .label,.metric .small,.muted,.subtitle,.paneltitle p{color:#444!important}.matrix th,.matrix td{color:#111;border-bottom:1px solid #999}.matrix th{background:#eee!important}.matrix tr{break-inside:avoid}.panel h3,.resultshead h2{color:#111}#tabBody{display:block!important}.chartbar,.progress span{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* v0.2 Operator intelligence: contrast, schedule lanes and drill-down controls */
.op-compare{display:grid;gap:6px}.compare-row{display:grid;grid-template-columns:96px minmax(70px,1fr) 86px;gap:14px;align-items:center;background:#101b2d;border:1px solid #263a58;border-radius:8px;padding:9px 12px;text-align:left;color:#eef7ff;cursor:pointer}.compare-row:hover,.compare-row.current{border-color:#21c2e8;background:#1a3050}.compare-row .compare-number{text-align:right;font-weight:800;color:#8cecff}.compare-meter{height:11px;background:#0b1321;border-radius:9px;overflow:hidden}.compare-meter span{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#2376ff,#19d4f5)}.compare-row.current .compare-meter span{background:linear-gradient(90deg,#2376ff,#8c3cff)}
.op-headline{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.op-headline h3{font-size:27px;color:#fff;margin:3px 0}.op-headline .op-summary{font-size:13px;color:#a5b7cc}.op-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px;margin:14px 0}.op-kpi{border:1px solid #2a3e5b;background:#101c30;border-radius:10px;padding:13px}.op-kpi strong{display:block;font-size:23px;color:#65e0ff}.op-kpi small{display:block;font-size:11px;color:#9ab1ca;margin-top:4px}.op-radio-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.operator-chart .chartcol{cursor:default}.timeline-top{display:flex;justify-content:space-between;font-size:10px;color:#8da8c8;margin:0 0 8px 79px}.timeline-row{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:9px;margin:9px 0}.timeline-row>strong{font-size:12px;color:#acd9f5}.timeline-track{height:54px;background:repeating-linear-gradient(90deg,#11243c,#11243c 24.9%,#284260 25%);border:1px solid #344c6a;border-radius:7px;position:relative;overflow:hidden}.shift-block{position:absolute;top:1px;bottom:1px;background:linear-gradient(160deg,#1d4971,#17405c);color:#e5faff;border:1px solid #557492;font-size:11px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:5px 3px}.shift-block:hover{filter:brightness(1.3);z-index:1}.shift-block.selected{background:linear-gradient(160deg,#224ff4,#763bd8);border-color:#ad96ff;z-index:1}.shift-block span{display:block;font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis}.shift-block small{display:block;font-size:9px;color:#def5ff;margin-top:3px}.op-matrices{grid-template-columns:1.2fr 1fr}.op-matrices .panel{min-width:0}
@media(max-width:850px){.op-matrices{grid-template-columns:1fr}.timeline-track{height:47px}.shift-block small{display:none}.compare-row{grid-template-columns:75px minmax(60px,1fr) 65px;gap:8px;padding:8px}.op-radio-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media print{.timeline-track{-webkit-print-color-adjust:exact;print-color-adjust:exact}.shift-block{-webkit-print-color-adjust:exact;print-color-adjust:exact}.compare-row,.op-kpi{background:#fff;color:#111;border:1px solid #999}.compare-number,.op-kpi strong{color:#111!important}}

/* DXLog preview controls */
.dxlog-panel{margin-top:0}.dxlog-panel .paneltitle{margin-bottom:11px}.dxlog-form{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.dxlog-form label{font-size:12px;color:#a4b5cb}.dxlog-form input[type=file]{max-width:340px;color:#b5c9df;font-size:12px}.dxlog-form #dxlogMessage{font-size:11px;color:#a5b5cd}.dxlog-results{margin-top:18px;border-top:1px solid #2e425f;padding-top:15px}.dxlog-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:9px;margin-bottom:15px}.dxlog-card{background:#101b2e;border:1px solid #314562;border-radius:8px;padding:11px;min-width:0;overflow-wrap:anywhere}.dxlog-card small{display:block;color:#99acc4;margin-bottom:5px}.dxlog-card strong{font-size:13px}.dxlog-results h3{font-size:14px;margin:14px 0 7px}.dxlog-results .matrix{white-space:normal;overflow-wrap:anywhere}.dxlog-results .matrix td{max-width:620px}.dxlog-results .matrix td:not(:first-child){text-align:left}.dxlog-pre{background:#101b2e;border:1px solid #263a54;border-radius:7px;padding:10px;white-space:pre-wrap;word-break:break-word;font-size:11px;color:#bad4e7}.dxlog-results li{font-size:12px;color:#c7d4e6;margin-bottom:5px}
@media(max-width:650px){.dxlog-form{align-items:flex-start;flex-direction:column}.dxlog-form input[type=file]{max-width:100%}}
@media print{#dxlogInspector{display:none!important}}

/* Non-destructive QSO exclusions and the undo list. */
.adjustment-banner{margin:-4px 0 14px;padding:10px 13px;border-radius:8px;background:#24331d;border:1px solid #74633b;color:#ffe1a7;font-size:12px}
.excluded-panel{border:1px solid #775537;background:#251e1b;border-radius:10px;margin:12px 0;padding:12px}
.excluded-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.excluded-head strong{color:#ffe2ae;font-size:13px}.excluded-head .button{padding:7px 12px}
.excluded-row{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #5a4538;padding:8px 0;font-size:12px}
.excluded-row .button{padding:7px 12px}.audit-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:end}
.exclude-button{background:#4b2b32;border:1px solid #784550;color:#ffd1d9;padding:7px 11px}
.exclude-button:hover{background:#693340}
@media print{.excluded-panel button,.exclude-button,.audit-actions,.adjustment-banner{display:none!important}}
