:root{
  --bg:#f4f6f8;--panel:#fff;--ink:#15202b;--muted:#65717d;
  --line:#dfe5ea;--brand:#111827;--accent:#38d58d;--ok:#177245;--danger:#b42318;
  --shadow:0 18px 50px rgba(15,23,42,.08);--radius:18px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
button,input{font:inherit}
.topbar{height:72px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--brand);color:#fff}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:38px;height:38px;border:1px solid #475569;border-radius:11px;display:grid;place-items:center;color:var(--accent);font-size:22px}
.brand strong,.brand span{display:block}.brand span{font-size:12px;color:#aab4c0;margin-top:2px}
.engine-badge{font-size:12px;background:#202b3b;border:1px solid #344154;border-radius:999px;padding:8px 12px;display:flex;gap:8px;align-items:center}
.engine-badge i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.12)}
.shell{max-width:1480px;margin:auto;padding:44px 5vw 70px}
.hero{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:28px}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#6b7280;margin:0 0 8px}
.hero h1{font-size:clamp(30px,4vw,52px);letter-spacing:-.045em;line-height:1.02;margin:0}
.lede{color:var(--muted);margin:12px 0 0}
.service-status{font-size:12px;padding:8px 12px;border-radius:999px;background:#e8edf2;color:#53606c;white-space:nowrap}
.service-status.ok{background:#e8f6ee;color:var(--ok)}
.service-status.bad{background:#feeceb;color:var(--danger)}
.workspace{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr);gap:22px;align-items:start}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}
.panel-head{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}
.panel-head>div{display:flex;align-items:center;gap:10px}.panel-head h2{font-size:18px;margin:0}
.panel-head p{font-size:13px;color:var(--muted);margin:8px 0 0}
.step{font:700 11px/1 ui-monospace,monospace;color:#04110b;background:#38d58d;border:1px solid #38d58d;border-radius:999px;padding:6px 8px}
.file-grid,.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dropzone{position:relative;min-height:126px;border:1.5px dashed #c9d1d9;border-radius:14px;padding:17px;cursor:pointer;background:#fafbfc;transition:.2s}
.dropzone:hover{border-color:#9ca8b4;background:#f6f8fa}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.dropzone span,.dropzone strong,.dropzone small{display:block}.dropzone span{font-size:11px;font-weight:800;color:#6b7280}
.dropzone strong{font-size:13px;margin-top:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropzone small{font-size:11px;color:#8a96a2;margin-top:5px}
fieldset{border:0;padding:0;margin:22px 0}legend,.field-grid label{font-size:12px;font-weight:700;color:#52606d;margin-bottom:8px}
.segmented{display:grid;grid-template-columns:1fr 1fr;background:#eef1f4;border-radius:12px;padding:4px}
.segmented label{position:relative}.segmented input{position:absolute;opacity:0}
.segmented span{display:block;text-align:center;padding:10px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer}
.segmented input:checked+span{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.1);color:#111827}
.field-grid input{width:100%;display:block;margin-top:7px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
details{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}
summary{cursor:pointer;color:#52606d;font-size:12px;font-weight:700}
.inline-file{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:12px;color:var(--muted)}
.primary{width:100%;border:0;background:var(--brand);color:white;border-radius:12px;padding:14px 18px;font-weight:800;margin-top:24px;cursor:pointer}
.primary:hover{background:#253247}.primary:disabled{opacity:.55;cursor:not-allowed}
.privacy{font-size:10px;color:#8b96a1;line-height:1.5;margin:10px 3px 0}
.print-head{display:none}
.result-panel{min-height:560px}
.empty-state,.busy-state{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);gap:7px}
.empty-state strong,.busy-state strong{color:var(--ink);font-size:15px}
.orbit{width:74px;height:74px;border:1px solid #dbe2e8;border-radius:50%;position:relative;margin-bottom:12px}
.orbit:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);left:31px;top:-5px}
.orbit:after{content:"GNSS";position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:800;color:#7b8793}
.spinner{width:48px;height:48px;border:4px solid #e3e8ed;border-top-color:#111827;border-radius:50%;animation:spin .9s linear infinite;margin-bottom:13px}
@keyframes spin{to{transform:rotate(360deg)}}
.hidden{display:none!important}.error-state{padding:16px;border-radius:12px;background:#fff0ef;color:var(--danger);font-size:13px;line-height:1.5}
.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:26px}
.metric{border:1px solid var(--line);border-radius:13px;padding:14px}.metric span{display:block;font-size:10px;color:#788590;text-transform:uppercase;letter-spacing:.08em}
.metric strong{display:block;font-size:16px;margin-top:6px;overflow:hidden;text-overflow:ellipsis}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:22px 0 10px}
.section-title h3{font-size:13px;margin:0}.section-title span{font-size:10px;color:#7d8994;text-align:right}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;min-width:760px;font-size:11px}
th{text-align:left;background:#f7f9fb;color:#6d7884;font-size:9px;text-transform:uppercase;letter-spacing:.07em;padding:10px}
td{padding:11px 10px;border-top:1px solid #edf0f2;font-variant-numeric:tabular-nums;white-space:nowrap}
td:first-child{font-weight:800}
.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.quality-item{background:#f7f9fb;border-radius:10px;padding:11px}.quality-item span{display:block;color:#7b8793;font-size:9px;text-transform:uppercase}
.quality-item strong{display:block;margin-top:4px;font-size:12px;font-variant-numeric:tabular-nums}
.downloads{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.downloads button{border:1px solid #cfd6dc;background:#fff;border-radius:10px;padding:10px 13px;font-size:11px;font-weight:800;cursor:pointer}
.downloads button:hover{background:#f4f6f8}
.raw{margin-top:18px}.raw pre{max-height:280px;overflow:auto;background:#111827;color:#d1d5db;border-radius:10px;padding:14px;font-size:10px;line-height:1.5}
@media(max-width:980px){
  .workspace{grid-template-columns:1fr}.result-panel{min-height:430px}
  .hero{align-items:flex-start;flex-direction:column}.service-status{align-self:flex-start}
}
@media(max-width:620px){
  .topbar{padding:0 18px}.engine-badge{font-size:10px}.shell{padding:28px 16px 50px}
  .panel{padding:19px;border-radius:15px}.file-grid,.field-grid{grid-template-columns:1fr}
  .summary-cards,.quality-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:34px}
}
@media print{
  @page{size:A4 landscape;margin:12mm}
  body{background:#fff}.topbar,.hero,.input-panel,.downloads,.raw,.service-status{display:none!important}
  .shell{max-width:none;padding:0}.workspace{display:block}.result-panel{box-shadow:none;border:0;padding:0;min-height:auto}
  .result-panel>.panel-head{display:none}.print-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #111827;padding-bottom:10px;margin-bottom:18px;font-size:11px}
  .print-head strong{font-size:16px}.summary-cards{grid-template-columns:repeat(3,1fr)}
  .table-wrap{overflow:visible}table{min-width:0;font-size:10px}.quality-grid{grid-template-columns:repeat(4,1fr)}
  .metric,.quality-item{break-inside:avoid}.section-title{margin-top:18px}
}

.project-field{display:block;font-size:12px;font-weight:700;color:#52606d;margin:0 0 18px}
.project-field input{width:100%;display:block;margin-top:7px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.print-report-head,.print-meta,.print-foot{display:none}
@media print{
  .print-report-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #111827;padding:0 0 12px;margin-bottom:12px}
  .print-brand{display:flex;align-items:center;gap:10px}
  .print-delta{width:34px;height:34px;border:1.5px solid #111827;border-radius:8px;display:grid;place-items:center;font-size:20px;font-weight:800}
  .print-brand strong,.print-brand span{display:block}.print-brand strong{font-size:15px;letter-spacing:.04em}.print-brand span{font-size:9px;color:#4b5563;margin-top:2px}
  .print-report-id{text-align:right}.print-report-id span,.print-report-id strong{display:block}.print-report-id span{font-size:8px;color:#6b7280;text-transform:uppercase}.print-report-id strong{font-size:10px;margin-top:3px}
  .print-meta{display:grid;grid-template-columns:1.1fr .8fr .8fr 1fr 1.4fr 1.3fr;gap:6px;margin-bottom:12px}
  .print-meta>div{border:1px solid #d9dee3;border-radius:6px;padding:6px 7px;min-width:0}
  .print-meta span,.print-meta strong{display:block}.print-meta span{font-size:7px;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.print-meta strong{font-size:8.5px;margin-top:2px;overflow-wrap:anywhere}
  .print-foot{display:flex;justify-content:space-between;border-top:1px solid #cfd6dc;margin-top:14px;padding-top:7px;font-size:7.5px;color:#6b7280}
  table{font-size:8.5px}th{font-size:7.5px;padding:7px}td{padding:8px 7px}
}

.elapsed-time{font-size:11px;font-variant-numeric:tabular-nums;color:#65717d;margin-top:5px}

.export-note{font-size:9px;line-height:1.45;color:#7b8793;margin:9px 2px 0}
@media print{.export-note{display:none!important}}

.rinex-preflight{margin:10px 0 0;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb;color:#65717d;font-size:10px;line-height:1.4}
.rinex-preflight.ok{background:#e8f6ee;border-color:#c8e8d5;color:var(--ok)}
.rinex-preflight.bad{background:#feeceb;border-color:#f3c8c5;color:var(--danger)}

.progress-current{font-size:12px;font-weight:800;color:var(--ink);margin-top:2px}
.upload-progress-wrap{width:min(100%,620px);margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}
.upload-progress-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;font-size:10px;color:var(--muted)}
.upload-progress-head strong{font-size:11px;color:var(--ink);font-variant-numeric:tabular-nums}
.upload-progress-track{height:10px;border-radius:999px;background:#e9edf2;overflow:hidden}
.upload-progress-bar{height:100%;width:0;border-radius:inherit;background:currentColor;color:#315bb8;transition:width .15s linear}
.upload-progress-bytes{display:block;margin-top:6px;font-size:9.5px;color:#7a8591;font-variant-numeric:tabular-nums}
.progress-panel{width:min(100%,620px);margin-top:14px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;overflow:hidden}
.progress-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#f7f9fb;border-bottom:1px solid var(--line)}
.progress-panel-head strong{font-size:11px;color:var(--ink)}
.progress-panel-head span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.progress-events{max-height:210px;overflow:auto;padding:5px 12px 7px}
.progress-event{display:grid;grid-template-columns:18px 1fr auto;gap:7px;align-items:start;padding:7px 0;border-bottom:1px solid #eef1f4}
.progress-event:last-child{border-bottom:0}
.progress-event-icon{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:900;background:#eef2f6;color:#65717d;margin-top:1px}
.progress-event.active .progress-event-icon{background:#e8eefc;color:#315bb8}
.progress-event.done .progress-event-icon{background:#e7f6ed;color:var(--ok)}
.progress-event.error .progress-event-icon{background:#feeceb;color:var(--danger)}
.progress-event-message{font-size:10.5px;line-height:1.35;color:#344054}
.progress-event-time{font-size:9px;color:#98a2b3;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:620px){.progress-panel{width:100%}.progress-events{max-height:260px}.progress-event{grid-template-columns:18px 1fr}.progress-event-time{grid-column:2}}
@media print{.progress-panel,.progress-current{display:none!important}}

.point-name-grid{margin-top:10px}
.field-help{margin:6px 0 12px;font-size:10px;line-height:1.4;color:var(--muted)}
.point-name-grid input:invalid{outline:2px solid rgba(180,35,24,.16);border-color:#b42318}

/* P443 - Delta product layer */
:root{
  --bg:#f5f6f4;
  --panel:#ffffff;
  --ink:#171a1f;
  --muted:#68727c;
  --line:#e4e7e4;
  --brand:#15191f;
  --accent:#d9a900;
  --accent-soft:#fff7d8;
  --ok:#287653;
  --danger:#b42318;
  --shadow:0 14px 42px rgba(24,31,28,.055);
  --radius:20px;
}
body{
  background:
    radial-gradient(circle at 10% -10%,rgba(217,169,0,.07),transparent 28rem),
    linear-gradient(180deg,#fafbf9 0,#f4f5f3 55%,#f7f8f6 100%);
}
.topbar{
  height:78px;padding:0 5vw;background:rgba(255,255,255,.94);color:var(--ink);
  border-bottom:1px solid rgba(20,24,28,.08);backdrop-filter:blur(14px);
  position:sticky;top:0;z-index:40;
}
.brand-home{color:inherit;text-decoration:none;min-width:0}
.brand-logo{width:42px;height:48px;object-fit:contain;display:block}
.brand strong{font-size:14px;letter-spacing:-.01em}
.brand span{color:#7a838c}
.brand-links{display:flex;align-items:center;gap:18px}
.brand-links a{color:#59636d;text-decoration:none;font-size:12px;font-weight:700;transition:.18s}
.brand-links a:hover{color:#111}
.account-button,.secondary,.text-button{
  border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;
  padding:9px 12px;font-weight:750;font-size:11px;cursor:pointer;transition:.18s;
}
.account-button:hover,.secondary:hover{border-color:#c9cec9;background:#f8f9f7}
.text-button{border-color:transparent;background:transparent;color:#69737d;padding-inline:7px}
.text-button:hover{color:#111;background:#f3f4f2}
.compact{padding:8px 10px}
.shell{max-width:1500px;padding-top:38px}
.hero{margin-bottom:18px}
.hero h1{max-width:800px;color:#14181d;font-weight:760}
.hero-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}
.hero-badges span{
  border:1px solid #e3e5df;background:rgba(255,255,255,.7);color:#66706f;
  padding:6px 9px;border-radius:999px;font-size:9px;font-weight:750;letter-spacing:.015em;
}
.service-status{border:1px solid #e0e3df;background:#f4f5f2}
.panel{border-color:#e5e7e3;box-shadow:var(--shadow)}
.dropzone{background:#fbfcfa;border-color:#d7dcd6}
.dropzone:hover{background:#fffdf5;border-color:#d7b64c}
.primary{
  background:#181c21;box-shadow:0 7px 16px rgba(24,28,33,.12);transition:.18s;
}
.primary:hover{background:#292f36;transform:translateY(-1px)}
.segmented{background:#f0f2ef}
.segmented input:checked+span{box-shadow:0 2px 8px rgba(20,24,28,.08)}
input,select{color:var(--ink)}
.field-grid input,.project-field input,.project-select-label select,
.auth-form input{
  outline:none;transition:border-color .16s,box-shadow .16s;
}
.field-grid input:focus,.project-field input:focus,.project-select-label select:focus,
.auth-form input:focus{
  border-color:#c9a737;box-shadow:0 0 0 3px rgba(217,169,0,.11);
}
.account-strip{
  min-height:68px;margin:0 0 22px;padding:12px 16px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:rgba(255,255,255,.75);border:1px solid #e4e6e1;border-radius:15px;
}
.account-copy{display:flex;flex-direction:column;gap:3px}
.account-copy strong{font-size:12px}.account-copy span{font-size:10px;color:var(--muted)}
.account-user{width:100%;display:flex;align-items:center;gap:13px}
.account-user>div:first-child{min-width:140px}
.account-kicker{
  display:block;font-size:8px;font-weight:850;letter-spacing:.1em;color:#939b9a;
  text-transform:uppercase;margin-bottom:2px;
}
.account-user strong{font-size:12px}
.project-select-label{
  margin-left:auto;display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);font-weight:700;
}
.project-select-label select{
  width:min(310px,35vw);border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 28px 8px 9px;
  font-size:11px;
}
.project-history{margin-bottom:22px;padding:18px 20px}
.project-history-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.project-history-head h2{font-size:16px;margin:0}
.project-history-list{display:grid;gap:8px;margin-top:13px}
.project-job{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;
  border:1px solid #e8eae6;border-radius:11px;padding:10px 12px;background:#fbfcfa;
}
.project-job-main{min-width:0}
.project-job-main strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-job-main span{font-size:9px;color:#7b858d}
.project-job-status{font-size:9px;font-weight:800;padding:5px 7px;border-radius:999px;background:#eef1ed;color:#59636d}
.project-job-status.completed{background:#e8f5ed;color:var(--ok)}
.project-job-status.running,.project-job-status.queued{background:#fff5ce;color:#7c6200}
.project-job button{border:0;background:transparent;color:#303943;font-size:10px;font-weight:800;cursor:pointer}
.advanced-options{border:1px solid #eceee9;border-radius:12px;padding:13px 14px;margin-top:20px;background:#fbfcfa}
.advanced-options summary{list-style-position:inside}
.atx-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.atx-links a{
  color:#5d5c44;text-decoration:none;background:#fff9df;border:1px solid #eadc9f;
  border-radius:8px;padding:7px 9px;font-size:9.5px;font-weight:750;
}
.atx-links a:hover{background:#fff3bc}
.auth-dialog{
  width:min(430px,calc(100vw - 28px));border:0;border-radius:20px;padding:0;
  box-shadow:0 28px 90px rgba(15,20,18,.22);background:#fff;color:var(--ink);
}
.auth-dialog::backdrop{background:rgba(15,20,18,.38);backdrop-filter:blur(3px)}
.auth-dialog-inner{padding:24px;position:relative}
.dialog-close{
  position:absolute;right:14px;top:12px;border:0;background:transparent;color:#858d93;
  font-size:24px;line-height:1;cursor:pointer
}
.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.auth-logo{width:38px;height:44px;object-fit:contain}
.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:15px}.auth-brand span{font-size:10px;color:var(--muted)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f3f0;padding:3px;border-radius:10px;margin-bottom:16px}
.auth-tab{border:0;background:transparent;padding:9px;border-radius:8px;color:#737c82;font-size:11px;font-weight:800;cursor:pointer}
.auth-tab.active{background:#fff;color:#171a1f;box-shadow:0 1px 5px rgba(20,24,28,.08)}
.auth-form{display:grid;gap:12px}
.auth-form label{font-size:10px;font-weight:750;color:#555f68}
.auth-form input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:11px}
.auth-form .primary{margin-top:2px}
.auth-form small{font-size:9px;color:#8a9298;line-height:1.4}
.auth-message{min-height:18px;margin-top:10px;font-size:10px;color:var(--danger)}
.upload-progress-bar{background:linear-gradient(90deg,#252b31,#c39a16);color:inherit}
@media(max-width:760px){
  .brand-links a{display:none}.brand-links{gap:7px}
  .account-strip{align-items:flex-start}.account-user{align-items:flex-start;flex-wrap:wrap}
  .project-select-label{margin-left:0;width:100%;justify-content:space-between}
  .project-select-label select{width:70%}
  .project-job{grid-template-columns:1fr auto}.project-job-status{grid-row:2}
}
@media(max-width:620px){
  .topbar{height:68px}.brand-logo{width:33px;height:38px}
  .brand strong{font-size:12px}.brand span{font-size:10px}
  .account-button{padding:7px 9px}
  .hero-badges{gap:5px}.account-strip{padding:11px}
}
@media print{
  .account-strip,.project-history,.auth-dialog,.brand-links{display:none!important}
}

.admin-dialog-inner{width:min(760px,92vw);max-width:760px}.admin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.admin-cards>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafbf9;display:flex;flex-direction:column;gap:2px}.admin-cards b{font-size:22px}.admin-cards span,.admin-queue{font-size:10px;color:var(--muted)}.admin-summary h3{font-size:12px;margin:18px 0 7px}.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.admin-summary table{width:100%;border-collapse:collapse;font-size:10px}.admin-summary th,.admin-summary td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.admin-summary tr:last-child td{border-bottom:0}@media(max-width:620px){.admin-cards{grid-template-columns:1fr 1fr 1fr}.brand-links #topLogoutBtn{display:inline-flex}.brand-links #adminBtn{display:inline-flex}}

/* ===== Delta Labs green system · replaces yellow concept ===== */
:root{
  --bg:#050b12;
  --panel:#071421;
  --panel-2:#0a1b29;
  --ink:#eef7f4;
  --muted:#8fa6a0;
  --line:#173329;
  --brand:#050b12;
  --accent:#38d58d;
  --accent-2:#23c5b5;
  --accent-soft:rgba(56,213,141,.12);
  --ok:#38d58d;
  --danger:#ff6b66;
  --shadow:none;
  --radius:2px;
}
body{
  background:
    radial-gradient(circle at 12% 0%,rgba(35,197,181,.12),transparent 30%),
    radial-gradient(circle at 88% 18%,rgba(56,213,141,.08),transparent 28%),
    linear-gradient(rgba(56,213,141,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(56,213,141,.025) 1px,transparent 1px),
    linear-gradient(160deg,#06101d 0%,#071421 50%,#050b12 100%);
  background-size:auto,auto,34px 34px,34px 34px,auto;
  color:var(--ink);
}
.topbar{
  background:rgba(5,11,18,.96);
  border-bottom:1px solid #173329;
}
.brand-mark{
  background:#071421;
  border:1px solid #38d58d;
  color:#38d58d;
  box-shadow:0 0 22px rgba(56,213,141,.12);
}
.brand strong{color:#f2fbf8}
.brand span{color:#64877d}
.lab-nav a{color:#7e9991}
.lab-nav a:hover{color:#5ce5d6}
.engine-badge{
  border-color:#20503d;
  background:rgba(56,213,141,.08);
  color:#6ce3aa;
}
.engine-badge i{
  background:#38d58d;
  box-shadow:0 0 0 3px rgba(56,213,141,.12),0 0 14px rgba(56,213,141,.45);
}
.hero{border-bottom-color:#173329}
.eyebrow{color:#38d58d}
.hero h1{color:#f4fbf9}
.hero h1 span{color:#8ba29c}
.lede{color:#809a93}
.hero-tags span{
  border-top-color:#1c4b39;
  color:#6f9187;
}
.hero-tags span:hover{color:#5ce5d6;border-top-color:#38d58d}
.hero-system{
  border-left:3px solid #38d58d;
}
.hero-system>span{color:#38d58d}
.hero-system>strong{color:#edf7f4}
.service-status{
  border-color:#1f4c3b;
  background:#0a1b17;
  color:#7fdcaf;
}
.service-status.ok{
  background:rgba(56,213,141,.12);
  border-color:#38d58d;
  color:#5ce5a0;
}
.service-status.bad{
  background:rgba(255,107,102,.1);
  border-color:#7c3430;
  color:#ff8b86;
}
.workspace{
  background:#173329;
  border-color:#173329;
  border-top:3px solid #38d58d;
}
.panel{
  background:linear-gradient(180deg,#071421 0%,#06111c 100%);
  color:#eef7f4;
}
.panel-head{
  border-bottom-color:#173329;
}
.panel-head:after{background:#38d58d}
.panel-head h2{color:#f0f8f5}
.panel-head p{color:#78928a}
.step{
  background:#38d58d;
  color:#04110b;
}
.project-field,legend,.field-grid label{
  color:#8da39d;
}
.project-field input,.field-grid input{
  color:#eff8f5;
  border-bottom-color:#285445;
  background:transparent;
}
.project-field input::placeholder,.field-grid input::placeholder{color:#506b63}
.project-field input:focus,.field-grid input:focus{border-bottom-color:#38d58d}
.file-grid{
  background:#173329;
  border-color:#173329;
}
.dropzone{
  background:#081722;
  color:#dceae6;
}
.dropzone:hover{
  background:#0b211d;
  box-shadow:inset 0 -3px 0 #38d58d;
}
.dropzone span{color:#38d58d}
.dropzone strong{color:#edf8f4}
.dropzone small{color:#6f8b82}
.rinex-preflight{
  background:#081722;
  border-color:#1d3c31;
  color:#6f8b82;
}
.rinex-preflight.ok{
  background:rgba(56,213,141,.09);
  border-color:#286247;
  color:#5ce5a0;
}
.rinex-preflight.bad{
  background:rgba(255,107,102,.08);
  border-color:#65312e;
  color:#ff8d88;
}
.segmented{
  background:#081722;
}
.segmented span{color:#77928a}
.segmented input:checked+span{
  background:#0b211d;
  color:#6fe2a8;
  border-color:#2d7b58;
  box-shadow:inset 0 -2px 0 #38d58d;
}
details{border-top-color:#173329}
summary{color:#7d9990}
summary:hover{color:#5ce5d6}
.inline-file{color:#718d84}
.primary{
  background:#38d58d;
  color:#04110b;
  border-color:#38d58d;
  box-shadow:0 0 24px rgba(56,213,141,.10);
}
.primary:hover{
  background:#5ce5a0;
  color:#03110a;
  border-color:#5ce5a0;
}
.primary:disabled{
  background:#193129;
  border-color:#193129;
  color:#607b72;
}
.privacy{color:#607b72}
.result-panel{background:linear-gradient(180deg,#071421,#06111b)}
.empty-state,.busy-state{color:#6f8b82}
.empty-state strong,.busy-state strong{color:#dceae6}
.orbit{border-color:#21483a}
.orbit:before{
  background:#38d58d;
  box-shadow:0 0 0 4px rgba(56,213,141,.10),0 0 20px rgba(56,213,141,.42);
}
.orbit:after{color:#55c88b}
.spinner{border-color:#173329;border-top-color:#38d58d}
.error-state{
  background:rgba(255,107,102,.08);
  color:#ff8b86;
}
.summary-cards{
  background:#173329;
  border-color:#173329;
  border-top:3px solid #38d58d;
}
.metric{
  background:#081722;
  color:#e7f2ee;
}
.metric:first-child{background:#0b211d}
.metric span{color:#67857b}
.metric:first-child span{color:#55cc91}
.metric strong{color:#edf8f4}
.section-title{border-top-color:#173329}
.section-title h3{color:#dceae6}
.section-title h3:before{background:#38d58d}
.section-title span{color:#607b72}
.table-wrap{border-color:#173329}
table{color:#dceae6}
th{
  background:#07100f;
  color:#5ce5a0;
  border-bottom:1px solid #173329;
}
td{border-top-color:#132b23}
tr:hover td{background:#0b211d}
.quality-grid{
  background:#173329;
  border-color:#173329;
  border-top:2px solid #38d58d;
}
.quality-item{
  background:#081722;
  color:#dceae6;
}
.quality-item:nth-child(1){background:#0b211d}
.quality-item span{color:#628077}
.downloads button{
  border-color:#285445;
  background:#081722;
  color:#b8cbc5;
}
.downloads button:first-child,
.downloads button:nth-child(4){
  border-color:#38d58d;
  background:rgba(56,213,141,.08);
  color:#63e4a3;
}
.downloads button:hover{
  background:#38d58d;
  color:#04110b;
  border-color:#38d58d;
}
.raw pre{
  background:#03080d;
  color:#9bd6c3;
  border:1px solid #173329;
}
.export-note{color:#607b72}
input{accent-color:#38d58d}
::selection{background:#38d58d;color:#04110b}
@media(max-width:980px){
  .hero-system{border-top-color:#38d58d}
}


/* ===== P477 Delta Labs · GNSS baseline visual polish ===== */
body{position:relative;isolation:isolate}
body::before{
  content:"";position:fixed;inset:69px 0 0;z-index:-1;pointer-events:none;opacity:.55;
  background:
    radial-gradient(circle at 16% 30%,rgba(56,213,141,.55) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 39% 46%,rgba(35,197,181,.48) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 64% 24%,rgba(56,213,141,.45) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 84% 43%,rgba(35,197,181,.42) 0 1.5px,transparent 2.5px),
    linear-gradient(21deg,transparent 0 34%,rgba(35,197,181,.10) 34.1% 34.22%,transparent 34.32%),
    linear-gradient(154deg,transparent 0 43%,rgba(56,213,141,.09) 43.1% 43.22%,transparent 43.32%),
    repeating-radial-gradient(ellipse at 77% 45%,transparent 0 23px,rgba(35,197,181,.033) 24px 25px,transparent 26px 38px);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,.28) 68%,transparent);
}
body::after{
  content:"";position:fixed;left:0;right:0;top:69px;height:1px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,#23c5b5 18%,#38d58d 50%,#23c5b5 82%,transparent);
  opacity:.32;
}
.shell{position:relative;z-index:1}
.hero{position:relative;overflow:hidden}
.hero::after{
  content:"";position:absolute;right:2%;top:10%;width:44%;height:82%;z-index:-1;pointer-events:none;opacity:.48;
  background:
    radial-gradient(circle at 12% 67%,#38d58d 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 43% 35%,#23c5b5 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 72% 58%,#38d58d 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 95% 29%,#23c5b5 0 1.5px,transparent 2.5px),
    linear-gradient(22deg,transparent 0 46%,rgba(56,213,141,.22) 46.25% 46.55%,transparent 46.8%),
    linear-gradient(164deg,transparent 0 49%,rgba(35,197,181,.18) 49.25% 49.55%,transparent 49.8%),
    repeating-radial-gradient(ellipse at 65% 58%,transparent 0 16px,rgba(56,213,141,.06) 17px 18px,transparent 19px 29px);
}
.account-strip{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 23% 130%,rgba(35,197,181,.10),transparent 38%),
    linear-gradient(110deg,rgba(9,29,41,.96),rgba(6,19,30,.96));
  border:1px solid #245044;color:#eef7f4;
  box-shadow:inset 0 1px 0 rgba(92,229,214,.05),0 14px 38px rgba(0,0,0,.18);
}
.account-strip::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.50;
  background:
    repeating-radial-gradient(ellipse at 18% 155%,transparent 0 14px,rgba(35,197,181,.045) 15px 16px,transparent 17px 27px),
    linear-gradient(24deg,transparent 0 51%,rgba(56,213,141,.07) 51.2% 51.45%,transparent 51.65%);
}
.account-strip>*{position:relative;z-index:1}
.account-kicker{color:#6e978a}
.account-copy span,.project-select-label{color:#78988e}
.project-select-label select{
  border:1px solid #285445;background:#071722;color:#dceae6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.project-select-label select:focus{border-color:#38d58d;box-shadow:0 0 0 3px rgba(56,213,141,.10)}
.account-button,.secondary,.text-button{
  border-color:#285445;background:#081722;color:#bfd1cb;
}
.account-button:hover,.secondary:hover,.text-button:hover{
  border-color:#38d58d;background:#0b211d;color:#71e7ac;
}
.brand-links .account-button{background:#081722;color:#b9ccc6;border-color:#245044}
.brand-links #adminBtn,.brand-links #accountBtn{
  background:rgba(56,213,141,.07);border-color:#38d58d;color:#8af0ba;
}
.hero-badges span{
  border-color:#285445;background:rgba(7,23,34,.78);color:#87a59b;
}
.project-history,.advanced-options{
  background:linear-gradient(180deg,#071722,#06121c);border-color:#1e4236;color:#dceae6;
}
.project-job{
  border-color:#1d3c31;background:#081722;color:#dceae6;
}
.project-job:hover{background:#0b211d;border-color:#285445}
.project-job-main span{color:#69877e}
.project-job-status{background:#10221d;color:#819b93}
.project-job-status.completed{background:rgba(56,213,141,.10);color:#69e3a7}
.project-job-status.running,.project-job-status.queued{background:rgba(35,197,181,.10);color:#77ddd3}
.project-job button{color:#72dba5}
.advanced-options{background:#071722}
.atx-links a{
  color:#80dfb1;background:rgba(56,213,141,.07);border-color:#285445;
}
.atx-links a:hover{background:#0b211d;border-color:#38d58d;color:#9af3c5}
.auth-dialog{
  background:linear-gradient(180deg,#081722,#050d15);color:#eef7f4;
  border:1px solid #285445;box-shadow:0 30px 100px rgba(0,0,0,.60);
}
.auth-dialog::backdrop{background:rgba(2,8,13,.76);backdrop-filter:blur(7px)}
.auth-tabs{background:#06121c}
.auth-tab{color:#718f86}
.auth-tab.active{background:#0b211d;color:#75e8ae;box-shadow:inset 0 -2px 0 #38d58d}
.auth-form label{color:#8ca39c}
.auth-form input{
  background:#06121c;color:#eaf5f1;border-color:#24483c;
}
.auth-form input:focus{border-color:#38d58d;box-shadow:0 0 0 3px rgba(56,213,141,.10)}
.auth-form small{color:#66847b}
.admin-cards>div{border-color:#1d3c31;background:#081722;color:#dceae6}
.admin-table-wrap{border-color:#1d3c31}
.admin-summary th,.admin-summary td{border-bottom-color:#183329}
.upload-progress-track{background:#132d25}
.upload-progress-bar{background:linear-gradient(90deg,#23c5b5,#38d58d)}
.upload-progress-bytes{color:#6e8c83}
.progress-panel,.upload-progress{
  background:#071722!important;border-color:#1d3c31!important;color:#dceae6!important;
}
.progress-panel-head strong,.upload-progress-head strong{color:#dceae6}
.progress-panel-head span{color:#68867d}
@media(max-width:760px){
  body::before{opacity:.35}
  .hero::after{width:65%;right:-20%;opacity:.30}
  .account-strip{background:linear-gradient(180deg,#081722,#06121c)}
}


/* ===== P477.2 · Delta Labs motion / GNSS identity ===== */
.topbar{
  overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,.16);
}
.topbar::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;
  background:
    radial-gradient(circle at 12% 120%,rgba(56,213,141,.20),transparent 28%),
    radial-gradient(circle at 78% -60%,rgba(35,197,181,.16),transparent 34%),
    linear-gradient(100deg,transparent 0 42%,rgba(56,213,141,.045) 49%,transparent 56%);
  animation:dlHeaderDrift 12s ease-in-out infinite alternate;
}
.topbar>*{position:relative;z-index:1}
.brand-home{position:relative;gap:14px}
.brand-home::before{
  content:"";position:absolute;left:-10px;top:50%;width:62px;height:62px;
  transform:translateY(-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(56,213,141,.18),rgba(35,197,181,.06) 42%,transparent 70%);
  animation:dlLogoAura 4.6s ease-in-out infinite;
}
.brand-logo{
  position:relative;z-index:1;width:46px;height:46px;padding:5px;
  border:1px solid rgba(56,213,141,.42);border-radius:12px;
  background:#050b12;
  filter:invert(1) grayscale(1) contrast(1.22) brightness(1.12);
  mix-blend-mode:screen;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 0 20px rgba(56,213,141,.08);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.brand-home:hover .brand-logo{
  transform:translateY(-1px) scale(1.035);
  border-color:rgba(56,213,141,.78);
  box-shadow:0 0 26px rgba(56,213,141,.16);
}
.brand strong{letter-spacing:.01em}
.brand span{letter-spacing:.025em}

body::before{
  animation:dlGeoField 26s ease-in-out infinite alternate;
  will-change:transform,opacity;
}
.shell::before{
  content:"";position:fixed;z-index:-1;pointer-events:none;
  width:58vw;height:58vw;max-width:900px;max-height:900px;
  right:-18vw;top:8vh;border-radius:50%;opacity:.30;
  background:
    repeating-radial-gradient(ellipse at 50% 50%,
      transparent 0 24px,
      rgba(35,197,181,.07) 25px 26px,
      transparent 27px 43px);
  transform:rotate(-14deg) scaleY(.64);
  animation:dlContours 34s linear infinite;
}
.shell::after{
  content:"";position:fixed;z-index:-1;pointer-events:none;
  width:42vw;height:42vw;left:-14vw;bottom:-17vw;border-radius:50%;opacity:.28;
  background:
    radial-gradient(circle at 50% 50%,rgba(56,213,141,.13),transparent 52%),
    repeating-radial-gradient(ellipse at 50% 50%,transparent 0 18px,rgba(56,213,141,.055) 19px 20px,transparent 21px 34px);
  transform:rotate(24deg) scaleY(.72);
  animation:dlContoursReverse 42s linear infinite;
}
.hero{min-height:245px;align-items:center}
.hero::before{
  content:"";position:absolute;inset:-20% -8% -30% 42%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(circle at 25% 50%,rgba(56,213,141,.16),transparent 24%),
    radial-gradient(circle at 72% 32%,rgba(35,197,181,.12),transparent 28%);
  animation:dlAurora 10s ease-in-out infinite alternate;
}
.hero::after{
  animation:dlBaselineNet 14s ease-in-out infinite alternate;
  transform-origin:62% 52%;
  will-change:transform,opacity;
}
.hero h1{
  text-shadow:0 12px 40px rgba(0,0,0,.24);
}
.eyebrow{
  position:relative;display:inline-flex;align-items:center;gap:8px;
}
.eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;background:#38d58d;
  box-shadow:0 0 0 4px rgba(56,213,141,.08),0 0 18px rgba(56,213,141,.55);
  animation:dlSignalPulse 2.2s ease-out infinite;
}
.service-status.ok{
  position:relative;overflow:hidden;
  box-shadow:0 0 28px rgba(56,213,141,.07);
}
.service-status.ok::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.10) 47%,transparent 68%);
  transform:translateX(-130%);
  animation:dlStatusSweep 5.5s ease-in-out infinite;
}
.account-strip,.panel{
  backdrop-filter:blur(10px);
}
.workspace>.panel{
  position:relative;overflow:hidden;
}
.workspace>.panel::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;
  background:
    radial-gradient(circle at 100% 0%,rgba(35,197,181,.065),transparent 24%),
    linear-gradient(135deg,transparent 0 70%,rgba(56,213,141,.025) 70.1% 70.3%,transparent 70.4%);
}
.workspace>.panel>*{position:relative;z-index:1}
.dropzone{
  transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.dropzone:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,0,0,.15),0 0 0 1px rgba(56,213,141,.08);
}
.primary{
  position:relative;overflow:hidden;
}
.primary::after{
  content:"";position:absolute;inset:-1px;pointer-events:none;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.13) 48%,transparent 72%);
  transform:translateX(-140%);
  transition:transform .55s ease;
}
.primary:hover::after{transform:translateX(140%)}

@keyframes dlHeaderDrift{
  from{transform:translateX(-2%) scale(1.02);opacity:.30}
  to{transform:translateX(2%) scale(1.05);opacity:.52}
}
@keyframes dlLogoAura{
  0%,100%{opacity:.38;transform:translateY(-50%) scale(.90)}
  50%{opacity:.80;transform:translateY(-50%) scale(1.10)}
}
@keyframes dlGeoField{
  0%{transform:translate3d(-.8%,0,0) scale(1.01);opacity:.45}
  50%{opacity:.66}
  100%{transform:translate3d(.8%,-.7%,0) scale(1.035);opacity:.54}
}
@keyframes dlContours{
  from{transform:rotate(-14deg) scaleY(.64) rotate(0deg)}
  to{transform:rotate(-14deg) scaleY(.64) rotate(360deg)}
}
@keyframes dlContoursReverse{
  from{transform:rotate(24deg) scaleY(.72) rotate(360deg)}
  to{transform:rotate(24deg) scaleY(.72) rotate(0deg)}
}
@keyframes dlAurora{
  from{transform:translate3d(-2%,1%,0) scale(.96);opacity:.50}
  to{transform:translate3d(3%,-2%,0) scale(1.08);opacity:.86}
}
@keyframes dlBaselineNet{
  0%{transform:translate3d(-1.5%,1%,0) scale(.98) rotate(-.4deg);opacity:.34}
  50%{opacity:.62}
  100%{transform:translate3d(1.5%,-1%,0) scale(1.035) rotate(.4deg);opacity:.50}
}
@keyframes dlSignalPulse{
  0%{box-shadow:0 0 0 0 rgba(56,213,141,.28),0 0 16px rgba(56,213,141,.42)}
  70%{box-shadow:0 0 0 9px rgba(56,213,141,0),0 0 22px rgba(56,213,141,.58)}
  100%{box-shadow:0 0 0 0 rgba(56,213,141,0),0 0 16px rgba(56,213,141,.42)}
}
@keyframes dlStatusSweep{
  0%,62%{transform:translateX(-140%)}
  82%,100%{transform:translateX(140%)}
}
@media(max-width:760px){
  .hero{min-height:unset}
  .shell::before,.shell::after{opacity:.17}
  .brand-home::before{width:52px;height:52px}
  .brand-logo{width:39px;height:39px;padding:4px}
}
@media(prefers-reduced-motion:reduce){
  body::before,.shell::before,.shell::after,.hero::before,.hero::after,
  .topbar::before,.brand-home::before,.eyebrow::before,.service-status.ok::after{
    animation:none!important;
  }
}
@media print{
  .shell::before,.shell::after{display:none!important}
}


/* P477.2 mobile motion budget: keep the Delta Labs feel without taxing old iPads */
@media(max-width:760px){
  .shell::before{animation:none;opacity:.14}
  .shell::after{display:none}
  .topbar::before{animation:none;opacity:.34}
  body::before{animation:dlGeoField 38s ease-in-out infinite alternate;opacity:.38}
  .hero::before{animation:dlAurora 18s ease-in-out infinite alternate}
  .hero::after{animation:dlBaselineNet 22s ease-in-out infinite alternate;opacity:.30}
  .account-strip,.panel{backdrop-filter:blur(5px)}
}


/* ===== P477.3 · integrated Delta mark + more dynamic GNSS field ===== */
.brand-home{
  position:relative;
  gap:13px;
  isolation:isolate;
}
.brand-home::before{
  content:"";
  position:absolute;
  left:-7px;
  top:50%;
  width:62px;
  height:62px;
  border-radius:50%;
  pointer-events:none;
  background:
    conic-gradient(from 15deg,
      transparent 0 13%,
      rgba(56,213,141,.54) 15% 17%,
      transparent 19% 48%,
      rgba(35,197,181,.38) 50% 52%,
      transparent 54% 82%,
      rgba(56,213,141,.28) 84% 86%,
      transparent 88% 100%);
  box-shadow:
    inset 0 0 18px rgba(35,197,181,.05),
    0 0 24px rgba(56,213,141,.08);
  transform:translateY(-50%) rotate(0deg);
  animation:dlLogoOrbit 13s linear infinite;
  opacity:.82;
}
.brand-home::after{
  content:"";
  position:absolute;
  left:46px;
  top:15px;
  width:5px;
  height:5px;
  border-radius:50%;
  pointer-events:none;
  background:#83f2bd;
  box-shadow:0 0 8px #38d58d,0 0 16px rgba(35,197,181,.75);
  animation:dlLogoSatellite 3.8s ease-in-out infinite;
}
.brand-logo{
  position:relative;
  z-index:2;
  width:48px;
  height:48px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  filter:
    drop-shadow(0 0 5px rgba(56,213,141,.25))
    drop-shadow(0 0 13px rgba(35,197,181,.13));
  mix-blend-mode:normal;
  box-shadow:none;
  object-fit:contain;
  transition:transform .28s ease,filter .28s ease;
}
.brand-home:hover .brand-logo{
  transform:translateY(-1px) scale(1.055);
  filter:
    drop-shadow(0 0 7px rgba(56,213,141,.48))
    drop-shadow(0 0 18px rgba(35,197,181,.23));
}
.brand-home:hover::before{opacity:1}
.brand-home>div{padding-left:1px}

/* Full-page GNSS / topographic activity */
body::before{
  inset:69px -2% -4% -2%;
  opacity:.68;
  background:
    radial-gradient(circle at 8% 18%,rgba(105,238,177,.85) 0 1px,transparent 2.2px),
    radial-gradient(circle at 24% 52%,rgba(35,197,181,.74) 0 1.2px,transparent 2.4px),
    radial-gradient(circle at 43% 27%,rgba(56,213,141,.72) 0 1.1px,transparent 2.4px),
    radial-gradient(circle at 62% 62%,rgba(35,197,181,.68) 0 1.2px,transparent 2.5px),
    radial-gradient(circle at 78% 24%,rgba(105,238,177,.74) 0 1px,transparent 2.2px),
    radial-gradient(circle at 92% 49%,rgba(35,197,181,.62) 0 1.2px,transparent 2.4px),
    linear-gradient(19deg,transparent 0 27%,rgba(35,197,181,.10) 27.1% 27.22%,transparent 27.35%),
    linear-gradient(153deg,transparent 0 39%,rgba(56,213,141,.09) 39.1% 39.22%,transparent 39.35%),
    linear-gradient(72deg,transparent 0 61%,rgba(35,197,181,.065) 61.1% 61.22%,transparent 61.35%),
    repeating-radial-gradient(ellipse at 76% 46%,transparent 0 20px,rgba(35,197,181,.047) 21px 22px,transparent 23px 35px),
    repeating-linear-gradient(0deg,transparent 0 74px,rgba(56,213,141,.018) 75px,transparent 76px),
    repeating-linear-gradient(90deg,transparent 0 96px,rgba(35,197,181,.016) 97px,transparent 98px);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.98),rgba(0,0,0,.62) 66%,transparent 100%);
  animation:dlGeoFlow 20s ease-in-out infinite alternate;
}
body::after{
  content:"";
  position:fixed;
  z-index:0;
  pointer-events:none;
  left:0;
  right:0;
  top:69px;
  height:180px;
  opacity:.22;
  background:
    linear-gradient(to bottom,
      transparent 0,
      rgba(35,197,181,.018) 34%,
      rgba(56,213,141,.12) 49%,
      rgba(35,197,181,.05) 51%,
      transparent 76%);
  transform:translateY(-210px);
  animation:dlGeoScan 10.5s linear infinite;
}
.shell::before{
  width:62vw;
  height:62vw;
  right:-17vw;
  top:4vh;
  opacity:.38;
  background:
    radial-gradient(circle at 50% 50%,rgba(35,197,181,.07),transparent 54%),
    repeating-radial-gradient(ellipse at 50% 50%,
      transparent 0 22px,
      rgba(35,197,181,.075) 23px 24px,
      transparent 25px 39px);
  animation:dlTopoOrbitA 29s linear infinite;
}
.shell::after{
  width:46vw;
  height:46vw;
  left:-14vw;
  bottom:-12vw;
  opacity:.34;
  background:
    radial-gradient(circle at 50% 50%,rgba(56,213,141,.15),transparent 48%),
    repeating-radial-gradient(ellipse at 50% 50%,
      transparent 0 17px,
      rgba(56,213,141,.066) 18px 19px,
      transparent 20px 31px);
  animation:dlTopoOrbitB 37s linear infinite reverse;
}
.hero::before{
  inset:-25% -12% -34% 34%;
  background:
    radial-gradient(circle at 20% 48%,rgba(56,213,141,.22),transparent 19%),
    radial-gradient(circle at 63% 31%,rgba(35,197,181,.18),transparent 24%),
    radial-gradient(circle at 86% 74%,rgba(56,213,141,.10),transparent 18%);
  animation:dlAuroraPlus 7.5s ease-in-out infinite alternate;
}
.hero::after{
  width:50%;
  right:-1%;
  top:3%;
  height:94%;
  opacity:.58;
  background:
    radial-gradient(circle at 8% 72%,#69eeb1 0 1.6px,transparent 3px),
    radial-gradient(circle at 34% 39%,#23c5b5 0 1.6px,transparent 3px),
    radial-gradient(circle at 65% 61%,#38d58d 0 1.6px,transparent 3px),
    radial-gradient(circle at 92% 25%,#23c5b5 0 1.6px,transparent 3px),
    linear-gradient(23deg,transparent 0 45%,rgba(56,213,141,.26) 45.25% 45.55%,transparent 45.8%),
    linear-gradient(163deg,transparent 0 48%,rgba(35,197,181,.22) 48.25% 48.55%,transparent 48.8%),
    linear-gradient(86deg,transparent 0 58%,rgba(56,213,141,.12) 58.2% 58.4%,transparent 58.6%),
    repeating-radial-gradient(ellipse at 65% 58%,transparent 0 15px,rgba(56,213,141,.072) 16px 17px,transparent 18px 28px);
  animation:dlBaselineNetPlus 9s ease-in-out infinite alternate;
}

@keyframes dlLogoOrbit{
  from{transform:translateY(-50%) rotate(0deg)}
  to{transform:translateY(-50%) rotate(360deg)}
}
@keyframes dlLogoSatellite{
  0%,100%{transform:translate3d(-2px,2px,0) scale(.8);opacity:.45}
  50%{transform:translate3d(3px,-3px,0) scale(1.25);opacity:1}
}
@keyframes dlGeoFlow{
  0%{transform:translate3d(-1.1%,.2%,0) scale(1.015);opacity:.52}
  35%{opacity:.72}
  70%{transform:translate3d(.5%,-.9%,0) scale(1.032);opacity:.64}
  100%{transform:translate3d(1.2%,-.2%,0) scale(1.045);opacity:.76}
}
@keyframes dlGeoScan{
  0%{transform:translateY(-210px);opacity:0}
  8%{opacity:.16}
  48%{opacity:.25}
  92%{opacity:.12}
  100%{transform:translateY(calc(100vh + 80px));opacity:0}
}
@keyframes dlTopoOrbitA{
  0%{transform:rotate(-13deg) scaleY(.64) rotate(0deg) scale(.97)}
  50%{opacity:.48}
  100%{transform:rotate(-13deg) scaleY(.64) rotate(360deg) scale(1.04)}
}
@keyframes dlTopoOrbitB{
  0%{transform:rotate(23deg) scaleY(.72) rotate(0deg) scale(1.03)}
  50%{opacity:.42}
  100%{transform:rotate(23deg) scaleY(.72) rotate(360deg) scale(.96)}
}
@keyframes dlAuroraPlus{
  0%{transform:translate3d(-3%,2%,0) scale(.94);opacity:.46}
  55%{opacity:.92}
  100%{transform:translate3d(4%,-3%,0) scale(1.10);opacity:.72}
}
@keyframes dlBaselineNetPlus{
  0%{transform:translate3d(-2%,1.2%,0) scale(.97) rotate(-.6deg);opacity:.38}
  50%{opacity:.72}
  100%{transform:translate3d(2%,-1.4%,0) scale(1.045) rotate(.6deg);opacity:.62}
}

@media(max-width:760px){
  .brand-logo{width:42px;height:42px}
  .brand-home::before{left:-7px;width:54px;height:54px}
  .brand-home::after{left:39px;top:14px}
  body::after{display:none}
  body::before{opacity:.42;animation:dlGeoFlow 34s ease-in-out infinite alternate}
  .shell::before{opacity:.17;animation:none}
  .shell::after{display:none}
  .hero::before{animation:dlAuroraPlus 17s ease-in-out infinite alternate}
  .hero::after{opacity:.33;animation:dlBaselineNetPlus 20s ease-in-out infinite alternate}
}
@media(prefers-reduced-motion:reduce){
  body::before,body::after,.shell::before,.shell::after,.hero::before,.hero::after,
  .brand-home::before,.brand-home::after{animation:none!important}
}


/* ===== P477.4 · Delta Labs ambient field; logo intentionally static ===== */
.brand-home::before{
  left:-6px;
  width:58px;
  height:58px;
  opacity:.72;
  animation:none!important;
  transform:translateY(-50%)!important;
  background:
    radial-gradient(circle,rgba(56,213,141,.13) 0 32%,rgba(35,197,181,.055) 48%,transparent 70%);
  border:1px solid rgba(56,213,141,.13);
  box-shadow:0 0 24px rgba(56,213,141,.055);
}
.brand-home::after{display:none!important}
.brand-logo,
.brand-home:hover .brand-logo{
  transform:none!important;
  transition:none!important;
  filter:
    drop-shadow(0 0 5px rgba(56,213,141,.24))
    drop-shadow(0 0 12px rgba(35,197,181,.11));
}

/* Dedicated page-background animation layer */
body::after{display:none!important}
.gnss-ambient{
  position:fixed;
  inset:69px 0 0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  opacity:1;
  contain:layout paint;
}
.topbar,.shell{position:relative;z-index:2}

.gnss-grid{
  position:absolute;
  inset:-12%;
  opacity:.46;
  background:
    radial-gradient(circle at 12% 21%,rgba(92,229,214,.62) 0 1px,transparent 2px),
    radial-gradient(circle at 31% 62%,rgba(56,213,141,.52) 0 1px,transparent 2px),
    radial-gradient(circle at 53% 31%,rgba(92,229,214,.50) 0 1px,transparent 2px),
    radial-gradient(circle at 74% 68%,rgba(56,213,141,.48) 0 1px,transparent 2px),
    radial-gradient(circle at 91% 29%,rgba(92,229,214,.48) 0 1px,transparent 2px),
    repeating-linear-gradient(0deg,transparent 0 91px,rgba(56,213,141,.020) 92px,transparent 93px),
    repeating-linear-gradient(90deg,transparent 0 118px,rgba(35,197,181,.018) 119px,transparent 120px);
  transform:perspective(900px) rotateX(62deg) scale(1.28);
  transform-origin:50% 72%;
  animation:dlGridDrift 28s ease-in-out infinite alternate;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.90),rgba(0,0,0,.42) 68%,transparent 98%);
}

.gnss-sweep{
  position:absolute;
  left:-25%;
  top:-22%;
  width:48%;
  height:150%;
  opacity:.38;
  background:linear-gradient(
    90deg,
    transparent 0 38%,
    rgba(35,197,181,.025) 44%,
    rgba(92,229,214,.13) 49%,
    rgba(56,213,141,.18) 50%,
    rgba(35,197,181,.055) 54%,
    transparent 62% 100%
  );
  filter:blur(.2px);
  transform:rotate(12deg);
  animation:dlSweepAcross 11s linear infinite;
}

.gnss-track{
  position:absolute;
  width:58vw;
  height:28vw;
  min-width:620px;
  min-height:300px;
  max-width:980px;
  max-height:480px;
  border:1px solid rgba(56,213,141,.105);
  border-radius:50%;
  opacity:.72;
  filter:drop-shadow(0 0 8px rgba(35,197,181,.045));
}
.gnss-track::before,
.gnss-track::after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#69eeb1;
  box-shadow:
    0 0 0 4px rgba(56,213,141,.055),
    0 0 16px rgba(56,213,141,.50);
}
.gnss-track::before{left:13%;top:12%}
.gnss-track::after{right:9%;bottom:18%}
.track-a{
  right:-15vw;
  top:8vh;
  transform:rotate(-18deg);
  animation:dlTrackFloatA 17s ease-in-out infinite alternate;
}
.track-b{
  left:-22vw;
  bottom:-7vh;
  transform:rotate(23deg) scale(.82);
  border-color:rgba(35,197,181,.085);
  animation:dlTrackFloatB 22s ease-in-out infinite alternate;
}

.gnss-node{
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#86f3c0;
  opacity:.90;
  box-shadow:0 0 12px rgba(56,213,141,.68);
}
.gnss-node::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border:1px solid rgba(92,229,214,.42);
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.4);
  opacity:.85;
  animation:dlNodePing 4.4s ease-out infinite;
}
.node-a{left:10%;top:25%}
.node-b{left:37%;top:48%}
.node-c{left:59%;top:19%}
.node-d{left:77%;top:55%}
.node-e{left:90%;top:32%}
.node-b::before{animation-delay:-1.1s}
.node-c::before{animation-delay:-2.2s}
.node-d::before{animation-delay:-3.3s}
.node-e::before{animation-delay:-.55s}

@keyframes dlGridDrift{
  0%{transform:perspective(900px) rotateX(62deg) translate3d(-1.4%,1.3%,0) scale(1.28);opacity:.34}
  50%{opacity:.50}
  100%{transform:perspective(900px) rotateX(62deg) translate3d(1.6%,-1.2%,0) scale(1.31);opacity:.43}
}
@keyframes dlSweepAcross{
  0%{transform:translateX(-35vw) rotate(12deg);opacity:0}
  10%{opacity:.22}
  45%{opacity:.40}
  90%{opacity:.18}
  100%{transform:translateX(155vw) rotate(12deg);opacity:0}
}
@keyframes dlTrackFloatA{
  0%{transform:translate3d(-1%,1%,0) rotate(-18deg) scale(.98);opacity:.44}
  50%{opacity:.78}
  100%{transform:translate3d(2.2%,-2%,0) rotate(-15deg) scale(1.035);opacity:.58}
}
@keyframes dlTrackFloatB{
  0%{transform:translate3d(1%,0,0) rotate(23deg) scale(.80);opacity:.34}
  50%{opacity:.60}
  100%{transform:translate3d(-2%,2%,0) rotate(20deg) scale(.86);opacity:.48}
}
@keyframes dlNodePing{
  0%{transform:translate(-50%,-50%) scale(.35);opacity:.72}
  75%,100%{transform:translate(-50%,-50%) scale(4.8);opacity:0}
}

/* Keep motion alive on old tablets, but with a much smaller paint budget. */
@media(max-width:760px){
  .brand-home::before{width:52px;height:52px;opacity:.62}
  .gnss-ambient{opacity:.78}
  .gnss-grid{animation:dlGridDrift 42s ease-in-out infinite alternate;opacity:.28}
  .gnss-sweep{display:none}
  .track-b,.node-d,.node-e{display:none}
  .track-a{
    min-width:430px;
    min-height:210px;
    right:-48%;
    top:16%;
    animation:dlTrackFloatA 28s ease-in-out infinite alternate;
    opacity:.34;
  }
  .gnss-node::before{animation-duration:6.5s}
}
@media(prefers-reduced-motion:reduce){
  .gnss-grid,.gnss-sweep,.gnss-track,.gnss-node::before{animation:none!important}
}


/* ===== P477.5 · dark surfaces cleanup ===== */
:root{color-scheme:dark}

.account-strip,
.project-history,
.auth-dialog,
.admin-dialog,
.auth-dialog-inner,
.admin-dialog-inner,
.advanced-options,
.progress-panel,
.upload-progress-wrap,
.upload-progress,
.project-job,
.project-job-empty,
.admin-summary,
.admin-table-wrap,
.admin-summary table{
  background-color:#06121c!important;
  color:#dceae6!important;
  border-color:#1f493b!important;
}

.auth-dialog{
  background:
    radial-gradient(circle at 18% 0%,rgba(35,197,181,.09),transparent 34%),
    linear-gradient(180deg,#081722 0%,#050d15 100%)!important;
}
.auth-dialog-inner,
.admin-dialog-inner{
  background:transparent!important;
}
.auth-brand strong,
.project-history-head h2,
.account-user strong,
.project-job strong,
.admin-summary h3,
.admin-summary b{
  color:#edf8f4!important;
}
.auth-brand span,
.account-copy span,
.project-job-main span,
.project-job-empty,
.admin-summary span,
.admin-queue{
  color:#78988e!important;
}

.project-select-label select,
.project-select-label select option,
.field-grid input,
.project-field input,
.auth-form input,
select,
option{
  color-scheme:dark!important;
  background:#06121c!important;
  color:#e8f4f0!important;
  border-color:#285445!important;
}
.project-select-label select option:checked,
.project-select-label select option:hover{
  background:#0b211d!important;
  color:#8cf0ba!important;
}

.dropzone{
  background:
    radial-gradient(circle at 15% 10%,rgba(35,197,181,.055),transparent 36%),
    linear-gradient(180deg,#071722,#06121c)!important;
  border-color:#285445!important;
  color:#dceae6!important;
}
.dropzone:hover{
  background:
    radial-gradient(circle at 15% 10%,rgba(56,213,141,.09),transparent 38%),
    linear-gradient(180deg,#092019,#071722)!important;
  border-color:#38d58d!important;
}
.dropzone strong,
.dropzone b{color:#e8f4f0!important}
.dropzone small,
.dropzone span{color:#6f8f85!important}

.segmented{
  background:#06121c!important;
  border-color:#1f493b!important;
}
.segmented input+span{
  color:#78988e!important;
  background:transparent!important;
}
.segmented input:checked+span{
  background:#0b211d!important;
  color:#79e9b0!important;
  box-shadow:inset 0 0 0 1px #285445!important;
}

.downloads button,
.secondary,
.text-button,
.account-button{
  background:#081722!important;
  color:#bfd1cb!important;
  border-color:#285445!important;
}
.downloads button:hover,
.secondary:hover,
.text-button:hover,
.account-button:hover{
  background:#0b211d!important;
  color:#78e9ae!important;
  border-color:#38d58d!important;
}

.project-job{
  background:#081722!important;
}
.project-job:hover{
  background:#0b211d!important;
}
.project-job-status{
  background:#10221d!important;
  color:#819b93!important;
}
.project-job-status.completed{
  background:rgba(56,213,141,.12)!important;
  color:#69e3a7!important;
}
.project-job-status.running,
.project-job-status.queued{
  background:rgba(35,197,181,.12)!important;
  color:#77ddd3!important;
}

.auth-tabs{
  background:#06121c!important;
  border-color:#1f493b!important;
}
.auth-tab{
  background:transparent!important;
  color:#78988e!important;
}
.auth-tab.active{
  background:#0b211d!important;
  color:#76ebb0!important;
  box-shadow:inset 0 -2px 0 #38d58d!important;
}
.dialog-close{
  background:#081722!important;
  color:#8da59d!important;
  border-color:#285445!important;
}
.dialog-close:hover{
  color:#8cf0ba!important;
  border-color:#38d58d!important;
}

.admin-cards>div{
  background:#081722!important;
  color:#dceae6!important;
  border-color:#1d3c31!important;
}
.admin-summary th{
  color:#8ca39c!important;
  background:#071722!important;
}
.admin-summary td{
  color:#d6e5e0!important;
  background:#06121c!important;
}
.admin-summary th,
.admin-summary td{
  border-bottom-color:#183329!important;
}

.progress-panel,
.upload-progress-wrap,
.upload-progress{
  background:#071722!important;
  border-color:#1d3c31!important;
  color:#dceae6!important;
}
.upload-progress-track{
  background:#132d25!important;
}

/* Prevent browser-native white flashes in controls/popovers where supported */
input,
select,
textarea,
button{
  color-scheme:dark;
}


/* P482 readability: explicit dark theme progress contrast, October 2026 */
.progress-panel{background:#091b26!important;color:#ecf5f2!important;border:1px solid #33574d!important}
.progress-panel-head{background:#153329!important;border-bottom:1px solid #33574d!important}
.progress-panel-head strong{color:#f4faf7!important;font-size:13px!important}
.progress-panel-head span{color:#b6d3c8!important;font-size:10.5px!important}
.progress-events{background:#091b26!important}
.progress-event{border-bottom-color:#28443d!important}
.progress-event-message{color:#e5f0ee!important;font-size:12px!important;line-height:1.5!important}
.progress-event-time{color:#b2c8c1!important;font-size:10px!important}
.progress-event-icon{color:#213b4b}
