
:root{--sky0:#06111d;--sky1:#091827;--panel:rgba(12,31,47,.94);--panel2:rgba(15,39,58,.92);--line:rgba(129,184,214,.20);--text:#edf7fb;--muted:#9fb7c5;--accent:#78c8e8;--warn:#e8bd6c}
body{color:var(--text);background:radial-gradient(circle at 18% 8%,rgba(55,117,154,.20),transparent 28rem),radial-gradient(circle at 82% 18%,rgba(72,115,151,.13),transparent 25rem),linear-gradient(180deg,var(--sky0),var(--sky1) 42%,#07131f);background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(circle at 12% 19%,#fff 0 1px,transparent 1.3px),radial-gradient(circle at 73% 11%,#fff 0 1px,transparent 1.2px),radial-gradient(circle at 41% 38%,#fff 0 1px,transparent 1.2px),radial-gradient(circle at 89% 61%,#fff 0 1px,transparent 1.2px);background-size:260px 220px,310px 260px,360px 300px,420px 340px}
.shell{position:relative;z-index:1}.topbar{border-bottom-color:var(--line)}
.brand h1,.panel h2,.themis-workflow-title,.themis-section-group>h2{color:var(--text)!important}.muted,.panel p,.themis-kpi span{color:var(--muted)}
.panel,.themis-workflow-card,.themis-kpi{background:linear-gradient(180deg,var(--panel2),var(--panel));border-color:var(--line);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.themis-section-group{background:rgba(7,22,35,.65)!important;border-color:var(--line)!important}.themis-accordion,.contact-box,.message{background:rgba(14,35,52,.88)!important;border-color:var(--line)!important;color:var(--text)!important}
table{color:var(--text)}th{color:#b9d3df!important;background:rgba(7,22,35,.75)!important}td{border-color:var(--line)!important}
input,select,textarea{color:var(--text)!important;background:#091b2a!important;border-color:rgba(135,190,218,.27)!important}
.btn{background:linear-gradient(180deg,#248bb5,#176f98)!important;border-color:#43a5cc!important;color:#fff!important}.btn.secondary,.btn.ghost{background:rgba(20,50,70,.78)!important;border-color:rgba(129,184,214,.32)!important;color:#dcecf3!important}.btn.danger{background:rgba(139,55,65,.88)!important;border-color:rgba(229,139,145,.55)!important}
.themis-chip{background:rgba(18,46,66,.9)!important;border-color:var(--line)!important;color:#d9edf5!important}.themis-chip.warn,.same-day-alert{background:rgba(104,77,28,.38)!important;border-color:rgba(232,189,108,.48)!important;color:#f2d79f!important}
.themis-attention-item{background:rgba(100,73,27,.34)!important;border-color:rgba(232,189,108,.38)!important;color:#efd79f!important}.themis-attention-item.info{background:rgba(26,61,82,.58)!important;border-color:var(--line)!important;color:#c9dce5!important}
.themis-primary-actions{background:rgba(7,21,33,.94)!important;border-color:rgba(120,200,232,.28)!important;box-shadow:0 10px 35px rgba(0,0,0,.32)!important}.version-footer{color:#708c9b}a{color:#8dd3ee}.eyebrow{color:#82cbe7!important;letter-spacing:.12em}
.quote-intel{border:1px solid rgba(120,200,232,.30);border-radius:16px;background:linear-gradient(145deg,rgba(12,38,57,.96),rgba(8,25,39,.96));padding:20px;box-shadow:0 16px 42px rgba(0,0,0,.24);margin:18px 0}
.quote-intel-head{display:flex;justify-content:space-between;gap:18px;align-items:start;flex-wrap:wrap}.quote-intel h2{margin:0;color:var(--text)}.quote-total{font-size:28px;font-weight:800;color:#b9e8f8;text-align:right}.quote-total small{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.quote-note{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(7,22,35,.58);color:var(--muted)}.quote-intel .grand-row td{font-weight:800;color:#b9e8f8}
@media(max-width:700px){.quote-total{text-align:left}.quote-intel{padding:15px}}

/* V4.3.1 status hierarchy */
:root{
 --atlas-urgent:#ff7c86;--atlas-urgent-bg:rgba(126,42,54,.46);--atlas-urgent-line:rgba(255,124,134,.58);
 --atlas-review:#f0c66f;--atlas-review-bg:rgba(102,77,29,.40);--atlas-review-line:rgba(240,198,111,.50);
 --atlas-info:#8fd5f0;--atlas-info-bg:rgba(31,79,106,.48);--atlas-info-line:rgba(143,213,240,.42);
 --atlas-good:#82d7b7;--atlas-good-bg:rgba(29,91,70,.42);--atlas-good-line:rgba(130,215,183,.44)
}
.same-day-alert{background:linear-gradient(90deg,var(--atlas-urgent-bg),rgba(88,28,39,.30))!important;border:1px solid var(--atlas-urgent-line)!important;color:#ffd4d7!important;box-shadow:inset 3px 0 0 var(--atlas-urgent)!important}
.themis-chip.urgent{background:var(--atlas-urgent-bg)!important;border-color:var(--atlas-urgent-line)!important;color:#ffd6d9!important}
.themis-chip.warn,.themis-warning{background:var(--atlas-review-bg)!important;border-color:var(--atlas-review-line)!important;color:#f6dfa8!important}
.themis-attention-item{background:var(--atlas-review-bg)!important;border-color:var(--atlas-review-line)!important;color:#f5dfa9!important;box-shadow:inset 3px 0 0 rgba(240,198,111,.82)}
.themis-attention-item.info,.themis-chip.info{background:var(--atlas-info-bg)!important;border-color:var(--atlas-info-line)!important;color:#d7f1fb!important;box-shadow:inset 3px 0 0 rgba(143,213,240,.72)}
.themis-chip.good,.themis-ok,.notice.good{background:var(--atlas-good-bg)!important;border-color:var(--atlas-good-line)!important;color:#cef1e3!important}
.notice.bad{background:var(--atlas-urgent-bg)!important;border-color:var(--atlas-urgent-line)!important;color:#ffd4d7!important}
.themis-review{background:var(--atlas-review-bg)!important;border:1px solid var(--atlas-review-line)!important;color:#f6dfa8!important}
.quote-inputs{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:12px;align-items:end;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(8,26,40,.62)}
.quote-inputs .field{margin:0}.quote-input-status{padding-bottom:8px;color:var(--muted)}
@media(max-width:700px){.quote-inputs{grid-template-columns:1fr}}


/* V4.3.2 — Same-day enquiry rows: Atlas Sky dark surface, not pink */
tr.same-day,
tr.urgent,
tr.priority,
tr[data-priority="same-day"],
tr[data-priority="urgent"],
.same-day-row,
.urgent-row{
 background:rgba(12,31,47,.92)!important;
 color:var(--text)!important;
}
tr.same-day td:first-child,
tr.urgent td:first-child,
tr.priority td:first-child,
tr[data-priority="same-day"] td:first-child,
tr[data-priority="urgent"] td:first-child,
.same-day-row td:first-child,
.urgent-row td:first-child{
 border-left:4px solid var(--atlas-urgent)!important;
}
tr.same-day td,
tr.urgent td,
tr.priority td,
tr[data-priority="same-day"] td,
tr[data-priority="urgent"] td,
.same-day-row td,
.urgent-row td{
 background:transparent!important;
 color:var(--text)!important;
}
/* Existing dashboard markup also uses inline/light danger row classes */
.danger-row,.priority-row,.sameDay,.same-day-enquiry{
 background:rgba(12,31,47,.92)!important;
 color:var(--text)!important;
}
.danger-row td,.priority-row td,.sameDay td,.same-day-enquiry td{
 background:transparent!important;
 color:var(--text)!important;
}
.danger-row td:first-child,.priority-row td:first-child,.sameDay td:first-child,.same-day-enquiry td:first-child{
 border-left:4px solid var(--atlas-urgent)!important;
}

/* V4.4.0 QA workflow */
.qa-panel{border-color:rgba(120,200,232,.32)!important}
.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.qa-check{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(7,22,35,.55);cursor:pointer}
.qa-check input{width:auto!important;margin-top:3px;accent-color:#72cbb0}.qa-check span{display:grid;gap:4px}.qa-check small{color:var(--muted);line-height:1.35}
@media(max-width:760px){.qa-grid{grid-template-columns:1fr}}


/* V4.4.1 — Production Queue same-day row correction.
   Keep urgent production rows on the dark Atlas surface. */
.production-row.same-day,
.production-row.urgent,
.production-queue tr.same-day,
.production-queue tr.urgent,
.production-queue tr.priority,
.production-queue tr[data-priority="same-day"],
.production-queue tr[data-priority="urgent"],
tr.production-same-day,
tr.job-same-day,
tr.job-priority,
tr.same-day-job,
tr.priority-job{
 background:rgba(12,31,47,.92)!important;
 color:var(--text)!important;
}
.production-row.same-day td,
.production-row.urgent td,
.production-queue tr.same-day td,
.production-queue tr.urgent td,
.production-queue tr.priority td,
.production-queue tr[data-priority="same-day"] td,
.production-queue tr[data-priority="urgent"] td,
tr.production-same-day td,
tr.job-same-day td,
tr.job-priority td,
tr.same-day-job td,
tr.priority-job td{
 background:transparent!important;
 color:var(--text)!important;
}
.production-row.same-day td:first-child,
.production-row.urgent td:first-child,
.production-queue tr.same-day td:first-child,
.production-queue tr.urgent td:first-child,
.production-queue tr.priority td:first-child,
.production-queue tr[data-priority="same-day"] td:first-child,
.production-queue tr[data-priority="urgent"] td:first-child,
tr.production-same-day td:first-child,
tr.job-same-day td:first-child,
tr.job-priority td:first-child,
tr.same-day-job td:first-child,
tr.priority-job td:first-child{
 border-left:4px solid var(--atlas-urgent)!important;
}

/* Catch legacy priority row classes still used by production tables */
.priority-high,
.same-day-priority,
.urgent-priority{
 background:rgba(12,31,47,.92)!important;
 color:var(--text)!important;
}
.priority-high td,
.same-day-priority td,
.urgent-priority td{
 background:transparent!important;
 color:var(--text)!important;
}
.priority-high td:first-child,
.same-day-priority td:first-child,
.urgent-priority td:first-child{
 border-left:4px solid var(--atlas-urgent)!important;
}

/* V4.4.1 — guide the operator into QA when entering Quality Check */
.qa-panel{scroll-margin-top:22px}
.qa-panel.qa-focus{
 border-color:rgba(120,200,232,.72)!important;
 box-shadow:0 0 0 2px rgba(120,200,232,.16),0 0 34px rgba(70,155,196,.24)!important;
 animation:qaFocusPulse 1.1s ease-in-out 2;
}
@keyframes qaFocusPulse{
 0%,100%{transform:translateY(0)}
 50%{transform:translateY(-2px)}
}
@media(prefers-reduced-motion:reduce){
 .qa-panel.qa-focus{animation:none}
}


/* V4.4.2 — Customer Access stat cards */
.access-summary{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
 margin:16px 0;
}
.access-summary .stat{
 background:linear-gradient(180deg,rgba(16,43,63,.96),rgba(9,27,42,.96))!important;
 border:1px solid rgba(129,184,214,.24)!important;
 border-radius:12px!important;
 padding:14px 16px!important;
 color:var(--text)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.access-summary .stat small{
 color:#8fb0bf!important;
 text-transform:uppercase;
 letter-spacing:.07em;
 font-weight:700;
 font-size:11px;
}
.access-summary .stat strong{
 color:#eaf6fb!important;
 font-size:15px;
 line-height:1.45;
}
.panel-head .badge{
 background:rgba(31,79,106,.52)!important;
 border:1px solid rgba(143,213,240,.34)!important;
 color:#d9f2fb!important;
}
@media(max-width:760px){
 .access-summary{grid-template-columns:1fr}
}

/* V4.5.0 — Themis Job Prioritisation */
.priority-overview{border-color:rgba(120,200,232,.34)!important}
.priority-next-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px;border:1px solid rgba(120,200,232,.25);border-radius:14px;background:linear-gradient(135deg,rgba(19,55,79,.82),rgba(8,27,42,.86))}
.priority-next-card h3{font-size:20px;margin:5px 0;color:var(--text)}
.priority-next-score{min-width:116px;text-align:center;padding:10px 14px;border:1px solid rgba(120,200,232,.25);border-radius:12px;background:rgba(7,22,35,.62)}
.priority-next-score small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}
.priority-next-score strong{display:block;font-size:30px;color:#b9e8f8;line-height:1.15}
.priority-next-score span{font-size:12px;color:#a8cad8}
.themis-priority-rank,.themis-priority-band{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:800;letter-spacing:.04em}
.themis-priority-rank{min-width:48px;padding:6px 8px;background:rgba(35,94,125,.58);border:1px solid rgba(143,213,240,.36);color:#d7f1fb}
.themis-priority-band{padding:4px 7px;font-size:10px;margin-top:4px}
.themis-priority-rank.critical,.themis-priority-band.critical,.themis-priority-rank.urgent,.themis-priority-band.urgent{background:var(--atlas-urgent-bg);border:1px solid var(--atlas-urgent-line);color:#ffd6d9}
.themis-priority-rank.high,.themis-priority-band.high{background:var(--atlas-review-bg);border:1px solid var(--atlas-review-line);color:#f6dfa8}
.themis-priority-rank.normal,.themis-priority-band.normal,.themis-priority-rank.routine,.themis-priority-band.routine{background:var(--atlas-info-bg);border:1px solid var(--atlas-info-line);color:#d7f1fb}
.themis-priority-rank.blocked,.themis-priority-band.blocked,.themis-chip.blocked{background:rgba(72,77,84,.52)!important;border:1px solid rgba(160,172,180,.28)!important;color:#c4d0d6!important}
.priority-reason{font-size:13px;line-height:1.4;color:#dcecf3}
.priority-blocked{opacity:.72}
.priority-blocked:hover{opacity:1}
.priority-reasons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.job-priority-panel{border-color:rgba(120,200,232,.30)!important}
@media(max-width:760px){.priority-next-card{align-items:flex-start;flex-direction:column}.priority-next-score{text-align:left}}


/* V4.5.2 — Enquiry workflow text contrast hotfix.
   Restore Atlas high-contrast headings after LIVE email parity merge. */
.enquiry-flow h2,
.enquiry-flow h3,
.enquiry-flow h4,
.enquiry-workflow h2,
.enquiry-workflow h3,
.enquiry-workflow h4,
.workflow-section h2,
.workflow-section h3,
.workflow-section h4,
.analysis-section h2,
.analysis-section h3,
.analysis-section h4,
details.themis-accordion > summary,
.themis-accordion > summary,
#firstSightSection h2,
#firstSightSection h3,
#attentionSection h2,
#attentionSection h3,
#productionBasisSection h2,
#productionBasisSection h3{
 color:#eaf6fb!important;
}
details.themis-accordion > summary::marker,
.themis-accordion > summary::marker{
 color:#72cbb0!important;
}

/* Exact affected markup classes discovered in enquiry.html */
.themis-workflow-card h2,.themis-workflow-card h3,.themis-workflow-card summary{color:#eaf6fb!important;}

/* V4.5.3 — dashboard cards are navigational work filters */
.dashboard-card-link{display:block;text-decoration:none!important;color:inherit!important;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.dashboard-card-link:hover{transform:translateY(-2px);border-color:rgba(120,200,232,.48)!important;box-shadow:0 14px 34px rgba(0,0,0,.22),0 0 0 1px rgba(120,200,232,.08)}
.dashboard-card-link small{display:block;margin-top:7px;color:#7896a6;font-size:11px}
.dashboard-card-link:hover small{color:#a9c8d6}


/* V4.5.4 — Quote total card refinement */
.quote-intel-head{
 align-items:stretch!important;
}
.quote-total{
 min-width:210px!important;
 max-width:260px;
 padding:16px 18px!important;
 border:1px solid rgba(120,200,232,.28)!important;
 border-radius:14px!important;
 background:linear-gradient(180deg,rgba(17,49,71,.96),rgba(8,27,42,.96))!important;
 display:flex!important;
 flex-direction:column;
 justify-content:center;
 align-items:flex-end;
 gap:4px;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.quote-total small{
 display:block!important;
 line-height:1.25!important;
 text-align:right!important;
 max-width:none!important;
 white-space:normal!important;
}
.quote-total strong,
.quote-total{
 color:#b9e8f8!important;
}
@media(max-width:760px){
 .quote-total{
   width:100%;
   max-width:none;
   min-width:0!important;
   align-items:flex-start;
 }
 .quote-total small{text-align:left!important}
}

/* V4.5.4 — Active job hover uses Atlas blue, never legacy pink/rose */
table tbody tr[data-id],
table tbody tr[data-ref]{
 transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease;
}
table tbody tr[data-id]:hover,
table tbody tr[data-ref]:hover,
.production-row:hover,
.same-day-row:hover,
.overdue:hover{
 background:rgba(28,67,91,.62)!important;
 box-shadow:inset 3px 0 0 rgba(120,200,232,.58)!important;
}
table tbody tr[data-id]:hover td,
table tbody tr[data-ref]:hover td,
.production-row:hover td,
.same-day-row:hover td,
.overdue:hover td{
 background:transparent!important;
 color:var(--text)!important;
}
.priority-blocked:hover{
 background:rgba(50,59,67,.62)!important;
 box-shadow:inset 3px 0 0 rgba(160,172,180,.34)!important;
}

/* V4.6.0 — Historic Job Memory */
.memory-panel{border-color:rgba(126,207,184,.28)!important}
.memory-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.memory-facts>div{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:rgba(7,22,35,.55)}
.memory-facts small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.memory-facts strong{color:var(--text);font-size:14px}
.memory-json{white-space:pre-wrap;overflow:auto;max-height:520px;padding:14px;border-radius:10px;border:1px solid var(--line);background:#06131e;color:#bcd4df;font-size:12px;line-height:1.45}
@media(max-width:760px){.memory-facts{grid-template-columns:1fr 1fr}}

/* V4.7.0 — Previous Job Comparison */
.comparison-panel{border-color:rgba(120,200,232,.30)!important}
.comparison-list{display:grid;gap:12px;margin-top:16px}
.comparison-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(14,38,57,.88),rgba(8,25,39,.88))}
.comparison-card.trusted{border-color:rgba(130,215,183,.30)}
.comparison-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.comparison-head strong{font-size:16px;color:var(--text)}
.comparison-rank{display:inline-flex;min-width:32px;height:26px;align-items:center;justify-content:center;margin-right:8px;border-radius:7px;background:var(--atlas-info-bg);border:1px solid var(--atlas-info-line);color:#d7f1fb;font-weight:800;font-size:11px}
.comparison-score{font-size:25px;font-weight:800;color:#b9e8f8;text-align:right;line-height:1}
.comparison-score small{display:block;margin-top:5px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.comparison-meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.comparison-reasons{color:#d8e8ef;line-height:1.45}
.comparison-facts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.comparison-facts span{padding:5px 8px;border-radius:7px;background:rgba(20,50,70,.68);border:1px solid var(--line);color:#a9c4d1;font-size:11px}
@media(max-width:700px){.comparison-head{flex-direction:column}.comparison-score{text-align:left}}

/* V4.8.0 — Production Learning */
.learning-hero{border-color:rgba(130,215,183,.30)!important}
.learning-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:16px}
.learning-stats>div,.learning-metrics span{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(7,22,35,.54)}
.learning-stats small,.learning-metrics small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;margin-bottom:4px}
.learning-stats strong{font-size:20px;color:#b9e8f8}
.learning-list{display:grid;gap:14px;margin-top:14px}
.learning-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,rgba(14,38,57,.90),rgba(8,25,39,.90))}
.learning-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.learning-card h3{margin:3px 0 6px;color:var(--text);font-size:18px}
.learning-confidence{margin-top:7px;text-align:right;color:#91b9ca;font-size:11px}
.learning-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.learning-metrics span{min-width:110px}
.learning-metrics strong{color:#dceef5}
.learning-review{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(7,22,35,.48)}
.learning-review .full,.learning-review .actions{grid-column:1/-1}
.learning-boundary{margin-top:10px;color:#88a6b4;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:850px){.learning-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-card-head{flex-direction:column}.learning-confidence{text-align:left}.learning-review{grid-template-columns:1fr}}


/* V4.8.1 — Quote Builder live-edit visual treatment */
.quote-summary{
 margin:18px 0 0 auto!important;
 width:min(360px,100%)!important;
 padding:16px 18px!important;
 border:1px solid rgba(120,200,232,.28)!important;
 border-radius:14px!important;
 background:linear-gradient(180deg,rgba(16,43,63,.96),rgba(8,27,42,.96))!important;
 color:var(--text)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 12px 28px rgba(0,0,0,.14)!important;
}
.quote-summary-row{
 display:flex;
 justify-content:space-between;
 gap:20px;
 padding:5px 0;
 color:#a9c3d0!important;
}
.quote-summary-row strong{
 color:#dceef5!important;
 font-weight:700;
}
.quote-summary-row.grand{
 margin-top:8px;
 padding-top:12px;
 border-top:1px solid rgba(129,184,214,.22);
 font-size:20px;
 color:#dff3fb!important;
}
.quote-summary-row.grand strong{
 color:#b9e8f8!important;
 font-size:23px;
}
.line-total{
 font-variant-numeric:tabular-nums;
 color:#dceef5!important;
 font-weight:700;
}
