:root{--paper: #f7f1e5;--paper-dim: #efe6cf;--card: #fffefb;--card-warm: #fdf8ec;--ink: #16213d;--ink-soft: #2d3a52;--ink-faded: #6b6a63;--rule: #d8cfb6;--rule-soft: #e6decc;--rule-strong: #a89e7e;--stamp-red: #b8312b;--stamp-red-deep: #8b231d;--post-blue: #34516e;--success: #3f7a52;--success-tint: #ecf3ed;--warn: #b07520;--warn-tint: #f7eed8;--error: #8b3127;--error-tint: #f5e7e3;--display: "Fraunces", "Iowan Old Style", "Georgia", serif;--body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", "Menlo", "Consolas", monospace}*{box-sizing:border-box}*:focus-visible{outline:2px solid var(--stamp-red);outline-offset:3px;border-radius:2px}html,body,#root{margin:0;padding:0;min-height:100vh}body{background-color:var(--paper);background-image:radial-gradient(ellipse at 18% 22%,rgba(184,49,43,.018) 0%,transparent 55%),radial-gradient(ellipse at 82% 78%,rgba(52,81,110,.022) 0%,transparent 55%),radial-gradient(ellipse at 50% 95%,rgba(22,33,61,.018) 0%,transparent 60%);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern","liga"}h1,h2,h3,h4,.display{font-family:var(--display);font-feature-settings:"kern","liga","ss01";color:var(--ink);margin:0}h1{font-size:clamp(2.6rem,4.5vw + 1rem,4.25rem);font-variation-settings:"opsz" 144,"SOFT" 30;font-weight:400;line-height:1.02;letter-spacing:-.03em}h2{font-size:1.6rem;font-variation-settings:"opsz" 36,"SOFT" 50;font-weight:500;letter-spacing:-.015em;line-height:1.2}h3{font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faded);margin:28px 0 14px}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--stamp-red)}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}a{color:var(--post-blue)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:baseline;justify-content:space-between;padding:22px 36px 20px;border-bottom:1px solid var(--rule);background:transparent;position:relative}.topbar:after{content:"";position:absolute;bottom:-1px;left:36px;right:36px;height:1px;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 6px,var(--rule-strong) 6px,var(--rule-strong) 7px);opacity:.45}.topbar .brand{font-family:var(--display);font-size:22px;font-variation-settings:"opsz" 48,"SOFT" 80;font-weight:500;letter-spacing:-.025em;color:var(--ink);display:inline-flex;align-items:baseline;gap:4px}.topbar .brand:after{content:"";display:inline-block;width:5px;height:5px;background:var(--stamp-red);border-radius:50%;transform:translateY(-2px)}.topbar nav{display:flex;gap:4px;align-items:baseline}.topbar nav a{position:relative;color:var(--ink-soft);text-decoration:none;padding:6px 14px;font-size:13px;font-weight:500;letter-spacing:.005em;border-radius:3px;transition:color .15s}.topbar nav a:hover{color:var(--ink)}.topbar nav a.active{color:var(--stamp-red)}.topbar nav a.active:after{content:"";position:absolute;bottom:-22px;left:14px;right:14px;height:2px;background:var(--stamp-red);z-index:1}.topbar .email{font-family:var(--mono);font-size:11px;color:var(--ink-faded);margin-left:16px;padding-left:16px;border-left:1px solid var(--rule);letter-spacing:-.005em}.topbar .signout{margin-left:10px;padding:4px 12px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;background:transparent;border:1px solid var(--rule);color:var(--ink-faded);border-radius:3px;cursor:pointer;transition:color .15s,border-color .15s}.topbar .signout:hover{color:var(--stamp-red);border-color:var(--stamp-red)}main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:32px 36px 56px}.loading{color:var(--ink-faded);padding:80px 0;text-align:center;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.2em}.muted{color:var(--ink-faded)}.footnote{color:var(--ink-faded);font-size:12px;margin-top:22px;line-height:1.55}button{font-family:var(--body);cursor:pointer;border:1px solid var(--rule-strong);border-radius:3px;padding:11px 22px;font-size:14px;font-weight:500;letter-spacing:.005em;background:var(--card);color:var(--ink);transition:transform .08s,background .15s,border-color .15s,box-shadow .15s}button:hover{background:var(--card-warm);border-color:var(--ink-soft)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--ink);color:var(--card);border-color:var(--ink);padding:13px 26px;font-weight:500;box-shadow:0 2px 0 var(--ink-soft)}button.primary:hover{background:var(--stamp-red);border-color:var(--stamp-red);box-shadow:0 2px 0 var(--stamp-red-deep)}button.primary:disabled:hover{background:var(--ink);border-color:var(--ink)}button.primary:active{box-shadow:0 0 0 var(--ink-soft);transform:translateY(2px)}button.big{font-size:15px;padding:15px 32px}button.secondary{background:transparent;border-color:var(--rule);color:var(--ink-soft)}button.secondary:hover{border-color:var(--ink-soft);color:var(--ink)}.postmark{display:block;margin:0 auto 22px;transform:rotate(-5deg);filter:drop-shadow(0 1px 0 rgba(22,33,61,.08))}.postmark:hover{transform:rotate(-3deg);transition:transform .4s ease}.page.login{max-width:620px;margin:0 auto;padding-top:24px;text-align:center}.login .eyebrow{margin-bottom:14px;display:block}.login h1{margin:0 0 16px;font-size:clamp(2.2rem,4vw + 1rem,3.6rem)}.login h1 em{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 50;color:var(--stamp-red)}.login p.lead{font-size:16px;line-height:1.5;color:var(--ink-soft);max-width:480px;margin:0 auto 24px}.login button.primary{padding:13px 32px;font-size:15px}.login .receipt{margin:32px auto 0;max-width:420px;padding:14px 22px;border-top:1px dashed var(--rule-strong);border-bottom:1px dashed var(--rule-strong);text-align:left;font-family:var(--mono);font-size:11px;line-height:1.85;color:var(--ink-faded)}.login .receipt strong{color:var(--ink);font-weight:600}.login .receipt-row{display:flex;justify-content:space-between}.page h1{font-size:clamp(2.2rem,3.5vw + 1rem,3.4rem);margin:0 0 4px}.page .page-lead{color:var(--ink-soft);font-size:16px;margin:0 0 36px;max-width:620px;line-height:1.5}.card{background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:30px 32px;margin-bottom:22px;position:relative;box-shadow:0 1px #d8cfb699,0 1px 14px -4px #16213d0d}.card.connected{border-color:var(--success);background:linear-gradient(180deg,var(--success-tint) 0%,var(--card) 32%)}.card-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.card h2{margin:0;font-size:1.4rem}.badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);font-family:var(--mono);font-weight:700;font-size:12px;border-radius:50%;flex-shrink:0}.card.connected .badge{border-color:var(--success);color:var(--success)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:28px}@media(max-width:720px){.cards{grid-template-columns:1fr}}.card>p{color:var(--ink-soft);margin:0 0 18px;line-height:1.55}.status-ok{font-family:var(--mono);color:var(--success);font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:10px;padding:6px 0 16px;letter-spacing:.02em}.status-ok:before{content:"";width:7px;height:7px;background:var(--success);border-radius:50%;box-shadow:0 0 0 3px #3f7a522e}.continue-cta{text-align:center;margin:36px 0 0}.form-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px dashed var(--rule)}.form-row:last-of-type{border-bottom:none}.form-row label{width:92px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faded);font-weight:600;flex-shrink:0}.form-row input,.form-row select{padding:9px 13px;border:1px solid var(--rule);border-radius:3px;font-size:14px;font-family:var(--body);background:var(--card);color:var(--ink);min-width:160px;transition:border-color .15s}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--ink)}.form-row input[type=date]{font-family:var(--mono);font-size:13px;letter-spacing:.02em}.filters{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:8px 0 32px}@media(max-width:720px){.filters{grid-template-columns:1fr}}.toggle{display:flex;align-items:flex-start;gap:12px;padding:12px 0;font-size:14px;cursor:pointer;border-bottom:1px dotted var(--rule);transition:color .15s}.toggle:hover{color:var(--ink)}.toggle input{margin-top:3px;width:14px;height:14px;accent-color:var(--stamp-red);cursor:pointer}.toggle small{color:var(--ink-faded);font-size:13px}.progress-banner{position:relative;background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:22px 28px 26px;margin-bottom:22px;box-shadow:0 1px 0 var(--rule-soft),0 4px 22px -8px #16213d14;overflow:hidden}.progress-banner.status-running,.progress-banner.status-queued{border-color:var(--stamp-red);background:linear-gradient(180deg,#fcefe9 0%,var(--card) 28%)}.progress-banner.status-succeeded{border-color:var(--success);background:linear-gradient(180deg,var(--success-tint) 0%,var(--card) 28%)}.progress-banner.status-failed{border-color:var(--error);background:linear-gradient(180deg,var(--error-tint) 0%,var(--card) 28%)}.progress-banner-head{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}.progress-banner-head h2{margin:0;font-size:1.4rem;flex:1}.progress-banner-time{font-size:11px;color:var(--ink-faded);letter-spacing:.02em}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 28px;padding:8px 0 4px}@media(max-width:560px){.progress-stats{grid-template-columns:1fr}}.progress-stat{display:flex;flex-direction:column;gap:4px;padding-right:24px;border-right:1px dashed var(--rule)}.progress-stat:last-child{border-right:none;padding-right:0}.progress-stat-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faded);font-weight:600}.progress-stat-value{font-family:var(--mono);font-size:clamp(1.5rem,2.2vw + .6rem,2.1rem);font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-.02em;line-height:1.1}.progress-bar{height:3px;margin:18px -28px -26px;background:var(--rule-soft);overflow:hidden;position:relative}.progress-bar:after{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(90deg,transparent 0%,var(--stamp-red) 50%,transparent 100%);animation:progress-slide 1.6s cubic-bezier(.4,0,.4,1) infinite}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(400%)}}.progress-error{margin:18px -28px -26px;padding:12px 28px;background:var(--error-tint);border-top:1px solid var(--error);color:var(--error);font-size:12px;line-height:1.45;word-break:break-word}.jobs-table{width:100%;border-collapse:collapse;font-size:14px}.jobs-table th{text-align:left;padding:10px 14px 14px;border-bottom:2px solid var(--ink);color:var(--ink);font-family:var(--mono);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.jobs-table th.num,.jobs-table td.num{text-align:right}.jobs-table td{padding:16px 14px;border-bottom:1px dashed var(--rule);vertical-align:middle}.jobs-table tbody tr{cursor:pointer;transition:background .12s}.jobs-table tbody tr:hover{background:var(--paper-dim)}.jobs-table tr.active{background:var(--card-warm);box-shadow:inset 3px 0 0 var(--stamp-red)}.jobs-table td:first-child{font-family:var(--mono);font-size:12px;color:var(--ink-faded);letter-spacing:-.005em}.jobs-table td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14px}.jobs-empty{padding:60px 14px;text-align:center;color:var(--ink-faded);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.2em}.status-pill{display:inline-block;padding:3px 10px 2px;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;border:1.5px solid currentColor;border-radius:2px;background:transparent;transform:rotate(-2deg);-webkit-user-select:none;user-select:none}.status-pill.queued{color:var(--ink-faded)}.status-pill.running{color:var(--stamp-red);animation:stamp-pulse 1.4s ease-in-out infinite}.status-pill.succeeded{color:var(--success)}.status-pill.failed{color:var(--error)}.status-pill.cancelled{color:var(--ink-faded);opacity:.7}@keyframes stamp-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page>*{animation:fadeUp .55s cubic-bezier(.2,.65,.2,1) backwards}.page>*:nth-child(1){animation-delay:0ms}.page>*:nth-child(2){animation-delay:60ms}.page>*:nth-child(3){animation-delay:.12s}.page>*:nth-child(4){animation-delay:.18s}.page>*:nth-child(5){animation-delay:.24s}.page>*:nth-child(6){animation-delay:.3s}@media(prefers-reduced-motion:reduce){.page>*{animation:none}.postmark{transform:rotate(-5deg)}.progress-bar:after{animation:none}.status-pill.running{animation:none}}.footer{border-top:1px solid var(--rule);padding:20px 36px 24px;margin-top:32px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faded);position:relative}.footer:before{content:"";position:absolute;top:-1px;left:36px;right:36px;height:1px;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 6px,var(--rule-strong) 6px,var(--rule-strong) 7px);opacity:.4}.footer-row{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.footer-sep{color:var(--rule-strong)}.footer a{color:var(--ink-soft);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--rule-strong);transition:color .15s,text-decoration-color .15s}.footer a:hover{color:var(--stamp-red);text-decoration-color:var(--stamp-red)}
