:root{--canvas:#f2f4f9;--paper:#fff;--ink:#171c2e;--ink-600:#555d75;--sand:#667085;--sand-300:#98a2b3;--line:#e4e9f2;--butter-100:#d3f8df;--butter-200:#aaf0c4;--butter-300:#73e2a3;--butter-400:#3ccb7f;--butter-500:#16b364;--card-shadow:0 1px 2px rgba(23,28,46,.04),0 14px 36px -14px rgba(23,28,46,.14);--card-shadow-hover:0 2px 4px rgba(23,28,46,.05),0 22px 48px -16px rgba(23,28,46,.22)}body{background:radial-gradient(1300px 950px at 92% 18%,rgba(22,179,100,.06),transparent 68%),linear-gradient(102deg,#fbfcfe,#f4f6fa 55%,#eef1f8);background-attachment:fixed;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:Space Grotesk,system-ui,sans-serif;letter-spacing:-.01em}:focus-visible{outline:2px solid var(--butter-500);outline-offset:2px;border-radius:4px}::selection{background:var(--butter-200);color:var(--ink)}@keyframes aurora-drift{0%{transform:translate(0) scale(1)}50%{transform:translate(4%,-6%) scale(1.08)}to{transform:translate(-3%,4%) scale(.97)}}.aurora-blob{position:absolute;border-radius:9999px;filter:blur(70px);pointer-events:none;animation:aurora-drift 11s ease-in-out infinite alternate}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.fade-up{opacity:0;animation:fade-up .7s cubic-bezier(.22,1,.36,1) forwards}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float-chip{animation:float-y 5s ease-in-out infinite}.mark-draw{background-image:linear-gradient(#aaf0c4,#aaf0c4);background-repeat:no-repeat;background-position:0 68%;background-size:0 32%;animation:mark-sweep .9s cubic-bezier(.22,1,.36,1) .5s forwards}@keyframes mark-sweep{to{background-size:100% 32%}}.radar-ring{position:absolute;inset:0;border-radius:9999px;border:2px solid #16b364;animation:radar-ping 2.4s cubic-bezier(0,0,.2,1) infinite}@keyframes radar-ping{0%{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal.reveal-visible{opacity:1;transform:translateY(0)}[data-reveal] .on-reveal{animation-play-state:paused!important}[data-reveal].reveal-visible .on-reveal{animation-play-state:running!important}.path-draw-sm{stroke-dasharray:420;stroke-dashoffset:420;animation:path-draw-sm 1.4s cubic-bezier(.4,0,.2,1) forwards}@keyframes path-draw-sm{to{stroke-dashoffset:0}}.pop-in{opacity:0;transform:scale(0);transform-origin:center;transform-box:fill-box;animation:pop-in .45s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes pop-in{to{opacity:1;transform:scale(1)}}.svg-ping{transform-origin:center;transform-box:fill-box;animation:svg-ping 2.4s cubic-bezier(0,0,.2,1) infinite}@keyframes svg-ping{0%{transform:scale(1);opacity:.6}to{transform:scale(3);opacity:0}}.travel-dot{offset-rotate:0deg;animation:travel var(--travel-dur,6s) linear infinite}@keyframes travel{0%{offset-distance:0;opacity:0}6%{opacity:1}94%{opacity:1}to{offset-distance:100%;opacity:0}}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee 32s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.nav-link{position:relative}.nav-link:after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:100%;border-radius:2px;background:linear-gradient(90deg,#3ccb7f,#16b364);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.22,1,.36,1)}.nav-link:hover:after{transform:scaleX(1)}.path-draw{stroke-dasharray:1600;stroke-dashoffset:1600;animation:path-draw 2.4s cubic-bezier(.4,0,.2,1) .2s forwards}@keyframes path-draw{to{stroke-dashoffset:0}}.seg-fill{transform-origin:left;transform:scaleX(0);animation-name:seg-fill;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes seg-fill{to{transform:scaleX(1)}}@keyframes tick-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tick-in{animation:tick-in .35s ease-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.panel-card{background:var(--paper);border:1px solid var(--line);border-radius:1.75rem;box-shadow:var(--card-shadow)}.panel-card-tinted{background:#f8fafd}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-card{background:var(--paper);border:1px solid var(--line);border-radius:1.5rem;padding:1.5rem;box-shadow:var(--card-shadow)}.skeleton-line{border-radius:.375rem;background:linear-gradient(90deg,#eef1f7 25%,#e3e8f1 50%,#eef1f7 75%);background-size:800px 100%;animation:skeleton-shimmer 1.4s linear infinite}.job-card{background:var(--paper);border:1px solid var(--line);border-radius:1.5rem;padding:1.5rem;transition:box-shadow .2s ease,border-color .2s ease;contain:layout style paint;will-change:auto;position:relative;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);box-shadow:var(--card-shadow)}.job-card:hover{box-shadow:var(--card-shadow-hover);border-color:#cfd7e6}.job-card:before{content:"#" attr(data-position);position:absolute;top:.7rem;right:.9rem;font-size:.65rem;font-weight:700;color:#d3dae6;letter-spacing:.03em;pointer-events:none}.job-card[data-status=PENDING]:before,.job-card[data-status=RUNNING]:before{color:var(--butter-500)}@keyframes reprocess-pop{0%{transform:translateY(-12px) scale(1.01);box-shadow:0 0 0 3px rgba(22,179,100,.35),0 12px 32px rgba(22,179,100,.22);border-color:var(--butter-500)}60%{transform:translateY(2px) scale(1.002)}to{transform:translateY(0) scale(1);box-shadow:var(--card-shadow);border-color:var(--line)}}.job-card-reprocess{animation:reprocess-pop .7s cubic-bezier(.22,1,.36,1) forwards}.job-card[data-status=COMPLETED]{border-left:5px solid var(--butter-400);background:linear-gradient(135deg,rgba(60,203,127,.07) 0,var(--paper) 55%)}.job-card[data-status=PENDING],.job-card[data-status=RUNNING]{border-left:5px solid var(--ink);background:linear-gradient(135deg,rgba(23,28,46,.045) 0,var(--paper) 55%)}.job-card[data-status=FAILED]{border-left:5px solid #d92d20;background:linear-gradient(135deg,rgba(214,83,43,.05) 0,var(--paper) 55%)}.badge{display:inline-block;padding:.375rem .75rem;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge-pending{background:var(--paper);color:var(--ink-600);border:1px solid #d3dae6}.badge-running{background:var(--ink);color:#fbfcfe;border:1px solid var(--ink)}.badge-completed{background:var(--butter-300);color:#085d3a;border:1px solid var(--butter-500)}.badge-failed{background:#fee4e2;color:#b42318;border:1px solid #fecdca}.table-scroll{overflow-x:auto;overflow-y:auto;border-radius:1rem;border:1px solid var(--line);background:var(--paper);box-shadow:0 1px 4px rgba(23,28,46,.06);max-height:600px;flex-shrink:0;contain:layout style paint;will-change:scroll-position}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.8125rem;color:#2a3147;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}th{background:linear-gradient(135deg,#f8fafd,#eef2f8);font-weight:700;border-bottom:2px solid var(--line);text-align:left;position:-webkit-sticky;position:sticky;top:0;z-index:10;color:#555d75;text-transform:uppercase;letter-spacing:.75px;font-size:.7rem;white-space:nowrap}td,th{padding:.875rem 1rem}td{border-bottom:1px solid #eef1f7;vertical-align:middle;max-width:300px;overflow:hidden;text-overflow:ellipsis}tr:last-child td{border-bottom:none}tr:hover td{background:#f6f8fc}td.sticky-col{z-index:2;background:var(--paper)}td.sticky-col,th.sticky-col{position:-webkit-sticky;position:sticky}th.sticky-col{z-index:12;background:linear-gradient(135deg,#f8fafd,#eef2f8)}tr:hover td.sticky-col{background:#f6f8fc}td.sticky-col:after,th.sticky-col:after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:1px;background:var(--line)}td.sticky-col-1:after,td.sticky-col-2:after,th.sticky-col-1:after,th.sticky-col-2:after{display:none}td.sticky-col-3:after,th.sticky-col-3:after{display:block;box-shadow:2px 0 6px rgba(23,28,46,.08);width:2px}td a{color:#171c2e;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;transition:all .2s ease;border-bottom:1px solid var(--butter-400)}td a:hover{color:#000;border-bottom-color:var(--ink)}.results-table-wrap{margin-top:1.25rem;padding-top:1.25rem;border-top:2px solid var(--line);animation:fadeIn .15s ease-out;contain:layout style paint;will-change:auto;position:relative;z-index:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.log-scroll-area{background:#161a2b!important;border:1px solid #232941;border-radius:1rem!important;box-shadow:inset 0 2px 4px rgba(0,0,0,.3);height:100%;min-height:256px;overflow-y:auto;overflow-x:hidden;flex-shrink:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d3dae6;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#98a2b3}.loader{display:inline-flex;gap:3px;align-items:center}.loader span{display:inline-block;width:6px;height:6px;background:var(--ink);border-radius:50%;animation:bounce 1s ease-in-out infinite both}.loader span:first-child{animation-delay:-.32s}.loader span:nth-child(2){animation-delay:-.16s}.actions-group{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:0}.btn-action{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:999px;font-size:.75rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none!important;cursor:pointer;border:1px solid transparent;white-space:nowrap}.btn-download-csv{background:var(--paper);color:var(--ink);border-color:#cfd7e6}.btn-download-csv:hover{background:var(--butter-100);border-color:var(--butter-400);transform:translateY(-2px);box-shadow:0 2px 8px rgba(23,28,46,.12)}.btn-download-xlsx{background:var(--paper);color:var(--ink);border-color:#cfd7e6}.btn-download-xlsx:hover{background:var(--butter-100);border-color:var(--butter-400);transform:translateY(-2px);box-shadow:0 2px 8px rgba(23,28,46,.12)}.btn-view-results{background:var(--ink);color:#fbfcfe;box-shadow:0 6px 16px -6px rgba(23,28,46,.5);border-color:var(--ink)}.btn-view-results:hover{background:#000;box-shadow:0 10px 20px -6px rgba(23,28,46,.55);transform:translateY(-2px)}.btn-hide-results{background:#eef1f7;color:var(--ink-600);border-color:#cfd7e6}.btn-hide-results:hover{background:#e3e8f1;border-color:#b9c3d6;transform:translateY(-2px)}.btn-logs-toggle{background:var(--paper);color:var(--ink-600);border-color:var(--line)}.btn-logs-toggle:hover{background:#eef1f7;color:var(--ink)}.btn-logs-toggle.active{background:var(--ink);color:#fff;border-color:#000}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.city-item,.state-item{transition:background-color .15s ease}.city-item:active,.state-item:active{background-color:var(--butter-100)}.job-card>div:has(>.flex.items-center.justify-between.gap-4){margin-bottom:1rem}#logs-arrow-job-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;transition:color .2s ease}.logs-toggle-btn{padding:.5rem .95rem;border-radius:999px;transition:all .2s cubic-bezier(.4,0,.2,1);background:var(--paper);border:1px solid var(--line);font-size:.75rem;font-weight:600}.logs-toggle-btn:hover{background-color:#eef1f7;color:var(--ink);border-color:#d3dae6;transform:translateY(-1px);box-shadow:0 2px 4px rgba(23,28,46,.06)}.logs-container{margin-top:1rem;padding:0;min-height:0}.logs-container.hidden{display:none!important}.logs-container:not(.hidden){animation:fadeIn .3s ease-out}.job-details{animation:fadeIn .2s ease-out;transition:opacity .2s ease-out;contain:layout style paint;overflow:hidden}.job-details.hidden{display:none!important;contain:layout style paint}.job-info-section{display:block;background:transparent;border:none;border-radius:0;padding:0;margin:1rem 0 0;width:auto;clear:none;transition:all .2s ease}.job-info-section:first-of-type{margin-top:1rem}.job-info-section:hover{background:transparent}.job-info-section>div:first-child{font-size:.7rem;font-weight:700;color:var(--sand);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.75px;display:flex;align-items:center;gap:.4rem}.job-info-section>div:last-child{font-size:.75rem;color:var(--sand);display:flex;flex-wrap:wrap;gap:.625rem;align-items:center}.results-table-wrap+div{margin-top:.875rem;padding:.875rem 1rem;background:linear-gradient(135deg,#f8fafd,#eef2f8);border:1px solid var(--line);border-radius:1rem;font-size:.8125rem;color:var(--ink-600);font-weight:500}.results-table-wrap+div strong{color:var(--ink);font-weight:700}.results-table-wrap+div .text-sand-200{color:#d3dae6}.job-card .bg-cream-200{transition:all .2s ease;font-weight:500;letter-spacing:.5px;border:1px solid var(--line);padding:.25rem .5rem}.progress-loader{display:inline-flex;align-items:center;justify-content:center;min-height:28px;transition:opacity .2s ease;background:var(--butter-300);border:1px solid var(--butter-500);border-radius:999px;padding:.25rem .8rem}.progress-loader .progress-text{color:#085d3a!important}.progress-loader .loader span{background:#085d3a}.progress-loader.hidden{display:none!important}.status-badge{display:inline-block;transition:opacity .2s ease;white-space:nowrap}#system-modal{animation:fadeIn .2s ease-out}#system-modal.hidden{display:none!important}#system-modal>div{animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#modal-cancel-btn:active,#modal-ok-btn:active{transform:scale(.98)}.pin-emoji{font-size:.6em;opacity:.8}input[type=checkbox],input[type=radio]{accent-color:var(--ink)}input,select,textarea{background-color:var(--paper)}