:root{--page: #f3f4f8;--paper: #f9fafc;--panel: #ffffff;--ink: #141416;--muted: #676b76;--line: #dadde5;--line-strong: #b6bdcb;--charcoal: #111113;--charcoal-2: #20202a;--gi-blue: #3c59e0;--gi-blue-hot: #5a91f6;--blue-soft: #edf1ff;--gi-yellow: #ffba08;--yellow-soft: #fff4cf;--gi-red: #c3362b;--green: #14895f;--green-soft: #e2f4ed;--red-soft: #f8dfdc;--amber-soft: #fff1c7;--focus-ring: color-mix(in srgb, var(--gi-blue) 28%, transparent);color:var(--ink);background:linear-gradient(180deg,#e8ebf3 0,var(--page) 220px),var(--page);font-family:Biennale,IBM Plex Sans,Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:0;background:var(--gi-blue);color:#f9fafc;border-radius:2px;min-height:40px;padding:0 12px;cursor:pointer;font-size:13px;font-weight:500;line-height:1;text-transform:uppercase;transform:translateY(0);transition:background-color .14s ease,box-shadow .14s ease,transform .14s ease}button:focus-visible,a:focus-visible,.help-trigger:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button:hover:not(:disabled){background:#94a4ee;box-shadow:none;transform:translateY(-1px)}button:active:not(:disabled){box-shadow:none;transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.5}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line-strong);border-radius:6px;background:#eef1f7}.segmented button{border-color:transparent;background:transparent;color:#303644;min-height:38px;text-transform:none}.segmented button:hover:not(:disabled){background:#dfe5f5;box-shadow:none}.segmented button.active{background:var(--gi-blue);color:#f9fafc}.shell{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:22px 0 42px}.topbar{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;border:1px solid #000000;border-radius:8px;background:linear-gradient(90deg,var(--charcoal) 0%,#19191f 58%,#09090b 100%);color:#f8f8f3;padding:18px;overflow:hidden}.topbar:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:var(--gi-yellow)}.brand-header{display:flex;align-items:center;gap:18px;min-width:0;padding-left:6px}.brand-logo{width:clamp(150px,22vw,240px);height:auto;filter:invert(1);flex:0 1 auto}.product-kicker{color:var(--gi-yellow);display:block;font-size:12px;font-weight:600;margin-bottom:4px;text-transform:uppercase}h1,h2,p{margin:0}h1{color:#fff;font-size:28px;font-weight:700;line-height:1.1}h2{color:var(--ink);font-size:17px;font-weight:700}.notice{align-items:center;background:var(--blue-soft);border:1px solid #cfd7f0;color:#27345f;display:flex;gap:10px;padding:10px 12px 10px 10px;margin-bottom:16px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.notice-mark{display:inline-flex;flex:0 0 auto;font-size:16px;height:20px;justify-content:center;line-height:1;position:relative;width:20px}.notice-info .notice-mark{filter:drop-shadow(0 0 4px rgb(60 89 224 / 16%))}.notice-info .notice-mark:after{content:none}.notice-success{background:var(--green-soft);border-color:#afd9c3;color:#0f6848}.notice-success .notice-mark{filter:drop-shadow(0 0 4px rgb(20 137 95 / 16%))}.notice-error{background:var(--red-soft);border-color:#e5b5af;color:#8c2118}.notice-error .notice-mark{filter:drop-shadow(0 0 4px rgb(195 54 43 / 16%))}.workspace{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:16px;align-items:start;min-width:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:12px;min-width:0}.schedule-panel{border-top:5px solid var(--gi-yellow);box-shadow:inset 0 1px 0 var(--yellow-soft)}.export-panel{border-top:5px solid var(--gi-blue);box-shadow:inset 0 1px 0 var(--blue-soft)}.schedule-panel h2,.export-panel h2{align-items:center;display:inline-flex;gap:8px}.schedule-panel h2:before,.export-panel h2:before{content:"";display:inline-block;height:8px;width:8px}.schedule-panel h2:before{background:var(--gi-yellow)}.export-panel h2:before{background:var(--gi-blue)}label,dl{display:grid;gap:5px}.field{position:relative;display:grid;gap:6px}.field-label{display:inline-flex;align-items:center;gap:7px;width:fit-content;font-weight:600}.field-hint{color:var(--muted);font-size:12px;line-height:1.4}.match-preview{border:1px solid var(--line);border-radius:6px;color:#303644;font-size:13px;font-weight:500;line-height:1.4;padding:9px 10px}.match-preview-ok{border-color:#afd9c3;border-left:5px solid var(--green);background:var(--green-soft);color:#0f6848}.match-preview-warn{border-color:#e8d285;border-left:5px solid var(--gi-yellow);background:var(--amber-soft);color:#765300}.serial-warning{display:grid;gap:4px}.serial-warning strong{color:var(--ink)}.serial-warning span{display:block}.help-trigger{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;margin:-12px -11px;border:0;border-radius:0;color:#303644;background:transparent;font-size:12px;font-weight:700;line-height:1;cursor:help;-webkit-user-select:none;user-select:none}.help-trigger:before{position:absolute;inset:12px;border:1px solid var(--line-strong);border-radius:50%;background:#eef1f7;content:"";transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.help-trigger:hover:before,.help-trigger:focus-visible:before{border-color:#bfcaf5;background:#dfe6ff;transform:scale(1.06)}.help-trigger-mark{position:relative;z-index:1}.help-tooltip{position:absolute;z-index:5;display:none;left:50%;bottom:calc(100% + 8px);width:min(320px,calc(100vw - 48px));padding:10px 12px;border:1px solid #2e2e35;border-radius:6px;background:var(--charcoal);color:#fff;box-shadow:0 12px 28px #11111338;font-size:12px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;text-align:left;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease}.help-trigger:hover .help-tooltip,.help-trigger:focus .help-tooltip{display:block;opacity:1;transform:translate(-50%)}input,select{border:1px solid var(--line-strong);border-radius:4px;min-height:44px;padding:0 10px;background:#fff;transition:border-color .14s ease,box-shadow .14s ease,outline-color .14s ease}input:focus,select:focus{border-color:var(--gi-blue);outline:3px solid var(--focus-ring);outline-offset:1px}.file-picker{position:relative;min-width:0}.file-picker-input{position:absolute;inset:0 auto auto 0;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0;pointer-events:none}.file-picker-control{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;min-height:44px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;cursor:pointer;overflow:hidden;transition:border-color .14s ease,box-shadow .14s ease}.file-picker-input:focus-visible+.file-picker-control{border-color:var(--gi-blue);outline:3px solid var(--focus-ring);outline-offset:1px}.file-picker-control:hover{border-color:#9da9c4}.file-picker-button{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;padding:0 12px;border-right:1px solid var(--line-strong);background:#eef1f7;color:#202533;font-size:13px;font-weight:500;text-transform:uppercase}.file-picker-name{min-width:0;padding:0 11px;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dl{grid-template-columns:auto 1fr;color:#303644;margin:0}dt{font-weight:600}.workbook-summary{display:grid;gap:12px;padding-top:2px}.workbook-file{display:grid;gap:3px}.workbook-file span{color:#765300;font-size:12px;font-weight:600;text-transform:uppercase}.workbook-file strong{overflow-wrap:anywhere;line-height:1.25}.meta-grid{grid-template-columns:minmax(118px,auto) minmax(0,1fr);row-gap:7px;column-gap:12px;font-size:13px}.meta-grid dd{margin:0;min-width:0;overflow-wrap:anywhere}.meta-grid dt:nth-of-type(1),.meta-grid dt:nth-of-type(5),.meta-grid dt:nth-of-type(7){color:#27345f}.meta-grid dt:nth-of-type(2),.meta-grid dt:nth-of-type(3),.meta-grid dt:nth-of-type(4){color:#765300}.issue-strip{display:flex;flex-wrap:wrap;gap:6px}.issue-strip span{border:1px solid #cfd7f0;border-radius:999px;background:var(--blue-soft);color:#27345f;font-size:12px;font-weight:600;line-height:1;padding:5px 8px;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.issue-strip span:hover{background:#dfe6ff;border-color:#bfcaf5;transform:translateY(-1px)}.skeleton-line,.skeleton-control{display:block;overflow:hidden;position:relative;border-radius:4px;background:linear-gradient(90deg,#e8ebf3,#f5f7fb,#e8ebf3 84%);background-size:220% 100%;animation:skeleton-shimmer 1.3s ease-in-out infinite}.skeleton-line{width:100%;height:13px}.skeleton-control{min-height:44px;border:1px solid var(--line-strong)}.skeleton-kicker{width:128px;height:12px}.skeleton-file-name{width:min(100%,360px);height:18px}.skeleton-meta-label{width:92px}.skeleton-meta-value{width:min(100%,180px)}.skeleton-card-title{width:70%;height:14px}.skeleton-short{width:54%;margin-top:7px}.skeleton-medium{width:72%}.skeleton-paragraph{display:grid;gap:7px}.skeleton-strip{min-height:24px}.issue-strip.skeleton-strip span{width:52px;height:24px;padding:0;border:0;border-radius:999px;background:linear-gradient(90deg,#e8ebf3,#f5f7fb,#e8ebf3 84%);background-size:220% 100%;color:transparent;transform:none}.skeleton-grid dd{display:grid;gap:7px}.preview-skeleton{background:#fff}.skeleton-row:hover{background:transparent}.skeleton-link-row{width:82%}.table-section{content-visibility:auto;contain-intrinsic-size:auto 260px;margin-top:24px;min-width:0;position:relative}.ops-section{margin-top:24px;min-width:0}.ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.ops-grid div{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}.ops-grid dd{color:#303644;font-size:13px;line-height:1.35;margin:4px 0 0}.table-section:before{background:linear-gradient(90deg,var(--gi-blue),var(--gi-yellow),var(--gi-red));content:"";display:block;height:4px;margin-bottom:12px;width:130px}.section-hint{color:var(--muted);font-size:13px;line-height:1.4;margin-top:5px}.cost-footnote{color:#858a96;font-size:11px;line-height:1.45;margin-top:14px;max-width:820px}.app-footer{color:#555b66;font-size:12px;line-height:1.5;margin-top:18px;padding-top:4px}.app-footer a{color:#394254;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.app-footer a:hover{color:var(--gi-blue)}.table-wrap{overflow-x:auto;overscroll-behavior-x:contain;margin-top:10px;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:0}table{width:100%;border-collapse:collapse;min-width:840px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #edf0f5;vertical-align:top}tbody tr{transition:background-color .14s ease}tbody tr:hover{background:#fafbff}th{background:#f6f7fb;color:var(--muted);font-size:12px;font-weight:600}td a{display:inline-block;margin-right:10px;color:var(--gi-blue);font-weight:600}.run-id{display:inline-block;border:1px solid #d7dce8;border-radius:3px;background:#f7f8fb;color:#303644;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1;padding:5px 6px}.file-link{border-radius:3px;border-bottom:1px solid currentColor;min-height:28px;padding:3px 2px 1px;text-decoration:none;transition:background-color .14s ease,color .14s ease,transform .14s ease}.file-link:hover{background:color-mix(in srgb,currentColor 12%,transparent);transform:translateY(-1px)}.file-link-printer{color:var(--gi-blue)}.file-link-exceptions{color:var(--gi-red)}.file-link-summary{color:#8b6400}.file-link-zip{color:var(--charcoal-2)}.status{align-items:center;display:inline-flex;gap:6px;justify-content:center;min-width:104px;text-align:center;border-radius:999px;padding:3px 8px;background:#e6e9f1;font-weight:600}.status-completed{background:var(--green-soft);color:#0f6848}.status-failed{background:var(--red-soft);color:var(--gi-red)}.status-running,.status-queued{background:var(--amber-soft);color:#765300}.status-running{position:relative}.status-running:before{animation:marker-pulse 1.3s ease-in-out infinite;background:currentColor;border-radius:50%;content:"";height:6px;width:6px}.run-warning{color:#765300;display:block;font-size:11px;font-weight:600;margin-top:5px}.empty-runs{background:linear-gradient(90deg,rgb(60 89 224 / 8%),transparent 40%),#fff;color:#303644;padding:18px 12px}.empty-runs strong,.empty-runs span{display:block}.empty-runs span{color:var(--muted);font-size:13px;margin-top:4px}@keyframes marker-pulse{50%{opacity:.55;transform:scale(.72)}}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(max-width:760px){.shell{width:min(100vw - 20px,1180px)}.topbar,.workspace{grid-template-columns:1fr;display:grid}.ops-grid{grid-template-columns:1fr}.brand-header{align-items:flex-start;display:grid;gap:12px}.brand-logo{width:min(210px,76vw)}.help-tooltip{left:0;transform:translateY(4px)}.help-trigger:hover .help-tooltip,.help-trigger:focus .help-tooltip{transform:translate(0)}}
