:root { --ink:#18201d; --muted:#65706b; --line:#dfe5e1; --soft:#f5f7f5; --green:#156b4a; --green-dark:#0d5037; --amber:#a05a12; --red:#a33a31; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fbfcfb; font-family:Arial, Helvetica, sans-serif; letter-spacing:0; }
button,input { font:inherit; letter-spacing:0; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; }
.center { min-height:100vh; display:grid; place-items:center; }
.spin { animation:spin 1s linear infinite; } @keyframes spin { to { transform:rotate(360deg); } }
.brand { height:68px; display:flex; align-items:center; gap:10px; font-size:18px; }
.brand-link { color:inherit; text-decoration:none; }
.brand-link:hover strong { text-decoration:underline; text-underline-offset:4px; }
.auth-shell { min-height:100vh; display:grid; grid-template-columns:minmax(420px, 46%) 1fr; background:white; }
.auth-panel { padding:0 clamp(44px, 7vw, 110px); display:flex; flex-direction:column; justify-content:center; max-width:680px; width:100%; margin:auto; }
.auth-panel .brand { position:absolute; top:26px; }
.auth-copy { margin-bottom:30px; }
.auth-copy h1 { margin:0 0 10px; font-size:30px; line-height:1.2; }
.auth-copy p,.section-heading p,.upload-band p,.plain-section p { margin:0; color:var(--muted); line-height:1.5; }
.auth-form { display:grid; gap:16px; }
label { display:grid; gap:7px; font-size:13px; font-weight:700; }
input { width:100%; min-height:44px; border:1px solid #c9d1cc; border-radius:6px; padding:0 12px; outline:none; background:white; color:var(--ink); }
input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(21,107,74,.11); }
input:disabled { background:var(--soft); color:var(--muted); }
.code-input { font-family:monospace; letter-spacing:8px; font-size:20px; }
.primary,.secondary { min-height:38px; border-radius:6px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:13px; border:1px solid transparent; }
.primary { background:var(--green); color:white; }.primary:hover { background:var(--green-dark); }.primary:disabled { opacity:.5; cursor:not-allowed; }
.secondary { border-color:#cfd6d1; background:white; color:var(--ink); }.secondary:hover { background:var(--soft); }
.wide { width:100%; min-height:44px; }
.text-button,.dev-code { border:0; background:none; color:var(--green); font-size:13px; }
.back-home { width:max-content; display:inline-flex; align-items:center; gap:7px; margin-top:16px; color:var(--green); font-size:13px; font-weight:700; text-decoration:none; }
.back-home:hover { text-decoration:underline; text-underline-offset:4px; }
.dev-code { padding:10px; text-align:left; background:#eef7f2; border:1px solid #cae4d7; border-radius:6px; }
.error { color:var(--red)!important; font-size:13px; margin:0; }
.auth-footer { margin-top:24px; color:var(--muted); font-size:12px; text-align:center; }
.auth-aside { margin:16px; border-radius:8px; padding:clamp(50px,8vw,120px); color:white; background:#183c31; display:flex; flex-direction:column; justify-content:center; gap:70px; }
.auth-aside h2 { max-width:620px; font-size:clamp(34px,4vw,58px); line-height:1.06; margin:12px 0 20px; }
.auth-aside p { color:#c9d8d2; max-width:560px; font-size:17px; line-height:1.6; }
.eyebrow { margin:0; text-transform:uppercase; font-size:11px!important; letter-spacing:1.2px!important; font-weight:800; color:var(--green)!important; }
.auth-aside .eyebrow { color:#70c99f!important; }
.signal-list { display:flex; flex-wrap:wrap; gap:22px; color:#dfeae6; font-size:13px; }.signal-list span { display:flex; gap:7px; align-items:center; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:230px minmax(0,1fr); }
.sidebar { position:sticky; top:0; height:100vh; background:#fff; border-right:1px solid var(--line); padding:0 14px 16px; display:flex; flex-direction:column; }
.sidebar .brand { padding:0 10px; margin-bottom:22px; }
.sidebar nav { display:grid; gap:4px; }
.sidebar nav button,.sidebar-bottom button,.sidebar-bottom a { width:100%; min-height:40px; padding:0 11px; border:0; background:none; border-radius:6px; display:flex; align-items:center; gap:10px; font-size:13px; color:#4f5a55; text-decoration:none; }
.sidebar nav button:hover,.sidebar-bottom button:hover,.sidebar-bottom a:hover { background:var(--soft); color:var(--ink); }
.sidebar nav button.active { background:#eaf3ee; color:var(--green-dark); font-weight:700; }
.sidebar-bottom { margin-top:auto; border-top:1px solid var(--line); padding-top:10px; display:grid; gap:2px; }
.workspace { padding:0 clamp(24px,4vw,58px) 60px; min-width:0; }
.workspace>header { height:98px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); margin-bottom:34px; }
.workspace>header h1 { margin:4px 0 0; font-size:24px; }
.workspace-header-actions { display:flex; align-items:center; gap:20px; }
.workspace-home { display:inline-flex; align-items:center; gap:7px; color:var(--ink); font-size:13px; font-weight:700; text-decoration:none; }
.workspace-home:hover { color:var(--green-dark); text-decoration:underline; text-underline-offset:4px; }
.user-chip { display:flex; align-items:center; gap:10px; }.user-chip>span { width:34px; height:34px; display:grid; place-items:center; background:var(--soft); border:1px solid var(--line); border-radius:50%; }.user-chip div { display:grid; gap:2px; font-size:12px; }.user-chip small { color:var(--muted); }
.content-stack { display:grid; gap:26px; }
.metrics { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); background:white; border-radius:8px; }
.metric { padding:23px 25px; display:grid; gap:6px; }.metric+ .metric { border-left:1px solid var(--line); }.metric-value { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }.metric p { margin:0; color:var(--muted); font-size:12px; font-weight:700; }.metric strong { font-size:28px; }.metric span { color:var(--muted); font-size:12px; }.metric-add-credit { min-height:28px; padding:0 10px; font-size:11px; white-space:nowrap; }.metric-add-credit:disabled { opacity:.5; cursor:not-allowed; }
.upload-band { position:relative; padding:23px 25px; background:#eef5f1; border:1px solid #d4e5dc; border-radius:8px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; }.upload-band>div:first-child { display:flex; align-items:center; gap:14px; }.section-icon { width:42px;height:42px;display:grid;place-items:center;background:white;color:var(--green);border:1px solid #d4e5dc;border-radius:6px;}.upload-band h2,.section-heading h2,.plain-section h2 { margin:0 0 5px; font-size:16px; }.upload-band p,.section-heading p,.plain-section p { font-size:13px; }.upload-error { flex-basis:100%; margin:-8px 0 0; }
.upload-dropzone { min-width:min(100%,430px); min-height:112px; padding:18px; display:grid; grid-template-columns:auto minmax(150px,1fr) auto; align-items:center; gap:14px; border:1px dashed #76685b; border-radius:13px; background:rgba(17,16,14,.42); transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease; }
.upload-dropzone.is-dragging { border-color:var(--green); background:rgba(217,119,87,.1); box-shadow:0 0 0 3px rgba(217,119,87,.12); transform:translateY(-2px); }
.upload-dropzone.is-disabled { opacity:.55; }
.dropzone-icon { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--line); border-radius:11px; color:var(--green-dark); background:#171512; }
.dropzone-copy { display:grid; gap:4px; }
.dropzone-copy strong { font-size:13px; }
.dropzone-copy>span:not(.dropzone-progress) { min-width:0; overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.upload-dropzone small { color:var(--muted); font-size:11px; }
.dropzone-progress { width:100%; height:3px; overflow:hidden; border-radius:999px; background:rgba(101,112,107,.25); }
.dropzone-progress span { display:block; height:100%; border-radius:inherit; background:var(--green); transition:width .2s ease; }
.dropzone-button { white-space:nowrap; }
.upload-band .upload-dropzone { flex:0 1 570px; }
.table-section,.plain-section,.billing-balance,.code-sample { background:white; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.section-heading { min-height:76px; padding:16px 20px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); }
.table-wrap { overflow:auto; } table { width:100%; border-collapse:collapse; font-size:12px; } th { text-align:left; color:var(--muted); background:#fafbfa; font-size:11px; text-transform:uppercase; letter-spacing:.5px; } th,td { padding:12px 18px; border-bottom:1px solid #edf0ee; white-space:nowrap; } tbody tr:last-child td { border-bottom:0; }.file-cell { display:flex; align-items:center; gap:10px; min-width:230px; }.file-cell>span { width:31px;height:31px;border-radius:5px;background:var(--soft);display:grid;place-items:center;color:var(--green);}.file-cell div { display:grid;gap:3px;}.file-cell a,.file-cell strong { font-weight:700;text-decoration:none;}.file-cell a:hover { text-decoration:underline;}.file-cell small { color:var(--muted);max-width:260px;overflow:hidden;text-overflow:ellipsis; }
.status { display:inline-flex; align-items:center; padding:4px 8px; border-radius:999px; background:#f2f4f3; color:#58615d; font-weight:700; text-transform:capitalize; }.status.succeeded { background:#e8f5ee;color:var(--green-dark);}.status.failed { background:#faecea;color:var(--red);}.capitalize { text-transform:capitalize; }.positive { color:var(--green);font-weight:700; }
.empty { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--muted); text-align:center; }.empty h3 { color:var(--ink);font-size:15px;margin:12px 0 5px;}.empty p { margin:0;font-size:13px; }
.plain-section { min-height:250px; }.plain-section.narrow { max-width:720px; }.secret,.key-row { margin:22px; border:1px solid #badbc9; background:#f0f8f4; border-radius:6px; padding:16px; display:flex; align-items:center; gap:14px; }.secret>div,.key-row>div { display:grid;gap:5px;min-width:0;flex:1;}.secret p { color:var(--ink);font-weight:700!important;}.secret code { overflow:auto;padding:3px 0;}.secret small,.key-row small { color:var(--muted);}.secret button { width:38px;height:38px;border:1px solid #cbd8d1;background:white;border-radius:5px;display:grid;place-items:center;}.key-row>span:first-child { width:38px;height:38px;background:white;display:grid;place-items:center;border-radius:5px; }
.code-sample { padding:19px 21px; }.code-sample p { margin:0 0 12px;font-size:12px;font-weight:700;color:var(--muted);}.code-sample pre { margin:0;background:#18201d;color:#dce6e1;border-radius:6px;padding:16px;overflow:auto;font-size:12px;line-height:1.7; }
.billing-balance { display:grid;grid-template-columns:1fr 1fr;}.billing-balance>div { padding:25px;display:grid;gap:9px;}.billing-balance>div+div { border-left:1px solid var(--line);}.billing-balance p { margin:0;color:var(--muted);font-size:12px;font-weight:700;}.billing-balance strong { font-size:32px;}.billing-balance span,.billing-balance small { color:var(--muted);font-size:12px;}.topups { display:flex;gap:8px; }
.notice { padding:10px;border:1px solid currentColor;border-radius:6px;margin:0 0 18px; }
.thank-you-page { min-height:100svh;padding:0 clamp(24px,5vw,72px) 64px;background:radial-gradient(circle at 82% 12%,rgba(217,119,87,.15),transparent 30rem),#171512; }
.thank-you-header { width:100%;height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line); }
.thank-you-brand { font-family:"Avenir Next",Avenir,"Helvetica Neue",sans-serif;font-size:1.35rem;letter-spacing:-.055em; }
.thank-you-close { width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink); }
.thank-you-close:hover { background:var(--soft); }
.thank-you { max-width:760px; margin:0 auto; padding:clamp(54px,9vw,110px) 0; }
.thank-you-mark { width:58px;height:58px;display:grid;place-items:center;margin-bottom:24px;border:1px solid #765545;border-radius:50%;background:#2b2823;color:#8ff0b2; }
.thank-you .eyebrow { margin:0 0 12px; }
.thank-you h2 { max-width:620px;margin:0 0 16px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,6vw,62px);font-weight:500;line-height:1;letter-spacing:-.03em; }
.thank-you-intro { max-width:610px;margin:0 0 32px;color:var(--muted);font-size:16px;line-height:1.65; }
.order-summary { overflow:hidden;margin:0 0 28px;border:1px solid var(--line);border-radius:12px;background:var(--soft); }
.order-summary h3 { margin:0;padding:19px 22px;border-bottom:1px solid var(--line);font-size:15px; }
.order-summary dl { display:grid;grid-template-columns:1fr 1fr;margin:0; }
.order-summary dt,.order-summary dd { margin:0;padding:14px 22px;border-bottom:1px solid var(--line);font-size:13px; }
.order-summary dt { color:var(--muted);font-weight:700; }
.order-summary dd { text-align:right;overflow-wrap:anywhere; }
.order-summary dt:last-of-type,.order-summary dd:last-of-type { border-bottom:0; }
.order-loading { display:flex;align-items:center;gap:9px;margin:0 0 28px;color:var(--muted);font-size:13px; }
.thank-you-actions { display:flex;flex-wrap:wrap;gap:10px; }
.feedback-button,.dialog-close { border:0;background:transparent;color:var(--muted);display:grid;place-items:center; }.feedback-button { width:32px;height:32px;border-radius:6px; }.feedback-button:hover { color:var(--red);background:var(--soft); }.feedback-backdrop { position:fixed;inset:0;z-index:10;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:20px; }.feedback-dialog { position:relative;width:min(100%,500px);background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:28px;color:var(--ink); }.feedback-dialog h2 { margin:0 34px 9px 0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:28px; }.feedback-dialog p { color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 20px; }.feedback-dialog textarea { min-height:120px;resize:vertical;width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;background:#171512;color:var(--ink); }.dialog-close { position:absolute;right:16px;top:16px;width:32px;height:32px;border-radius:6px; }.dialog-close:hover { background:#2c2923; }.dialog-actions { display:flex;justify-content:flex-end;gap:9px;margin-top:20px; }
@media (max-width:800px) { .auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{padding:80px 24px 40px}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 14px 10px}.sidebar .brand{margin:0}.sidebar nav{display:flex;overflow:auto}.sidebar-bottom{display:none}.workspace{padding:0 16px 40px}.workspace>header{height:84px;margin-bottom:22px}.workspace-header-actions{gap:12px}.workspace-home{font-size:12px}.user-chip div{display:none}.metrics{grid-template-columns:1fr}.metric+.metric{border-left:0;border-top:1px solid var(--line)}.upload-band{align-items:flex-start;flex-direction:column}.billing-balance{grid-template-columns:1fr}.billing-balance>div+div{border-left:0;border-top:1px solid var(--line)}.thank-you-page{padding:0 18px 40px}.thank-you-header{height:76px}.thank-you{padding-top:42px}.order-summary dt,.order-summary dd{padding:12px 14px}.order-summary dd{font-size:12px} }

/* Workspace entry experience */
.loading-screen { min-height:100vh; position:relative; display:grid; place-items:center; overflow:hidden; background:#f1eee7; color:#1c211d; }
.loading-screen::before { content:""; position:absolute; inset:0; opacity:.45; background-image:linear-gradient(rgba(25,41,31,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(25,41,31,.06) 1px,transparent 1px); background-size:54px 54px; mask-image:radial-gradient(circle at center,#000,transparent 70%); }
.loading-brand { position:absolute; top:32px; left:40px; display:flex; align-items:center; gap:11px; font-size:18px; }
.loading-copy { z-index:1; display:grid; place-items:center; gap:18px; color:#626960; font-size:13px; letter-spacing:.06em; }
.loading-orbit { width:54px; height:54px; display:grid; place-items:center; border:1px solid #c9cfc8; border-radius:50%; color:#c56848; background:rgba(255,255,255,.42); }
.loading-rule { position:absolute; bottom:0; left:0; height:3px; width:38%; background:#c56848; animation:load-rule 1.8s ease-in-out infinite alternate; }
@keyframes load-rule { to { width:76%; } }

.auth-shell { grid-template-columns:minmax(460px,44%) 1fr; background:#f1eee7; color:#1c211d; }
.auth-panel { position:relative; isolation:isolate; max-width:none; margin:0; padding:140px clamp(48px,7vw,112px) 56px; background:#f1eee7; justify-content:center; }
.auth-panel::before { content:""; position:absolute; width:380px; height:380px; left:-190px; bottom:-210px; border:1px solid rgba(28,33,29,.1); border-radius:50%; box-shadow:0 0 0 58px rgba(28,33,29,.025),0 0 0 116px rgba(28,33,29,.02); z-index:-1; }
.auth-panel .brand { top:31px; left:clamp(48px,7vw,112px); right:clamp(48px,7vw,112px); height:42px; }
.brand-tag { margin-left:auto; color:#777c74; text-transform:uppercase; letter-spacing:.13em; font-size:9px; font-weight:800; }
.auth-copy { max-width:560px; margin-bottom:38px; }
.auth-copy .eyebrow { color:#a84f34!important; margin:0 0 18px; }
.auth-copy h1 { margin:0 0 24px; color:#19241e; font-family:Georgia,"Times New Roman",serif; font-size:clamp(48px,4.4vw,70px); line-height:.94; letter-spacing:-.045em; }
.auth-copy h1 em { color:#b65c3d; font-weight:400; }
.auth-copy p { max-width:510px; color:#626960; font-size:15px; line-height:1.7; }
.auth-form { max-width:510px; gap:17px; }
.auth-form label { color:#30362f; font-size:12px; letter-spacing:.02em; }
.auth-form input { min-height:52px; color:#1c211d; background:rgba(255,255,255,.52); border:1px solid #c9c8bf; border-radius:3px; padding:0 16px; }
.auth-form input:focus { border-color:#a84f34; box-shadow:0 0 0 3px rgba(168,79,52,.11); }
.auth-form .primary { min-height:52px; color:#f8f3ea; background:#20372b; border-radius:3px; box-shadow:0 8px 22px rgba(32,55,43,.13); }
.auth-form .primary:hover { background:#14271d; transform:translateY(-1px); }
.auth-form .text-button { color:#8b3f29; }
.auth-panel .dev-code { color:#7b3d2a; background:#eadfd6; border-color:#d7c3b6; }
.auth-footer { max-width:510px; display:flex; justify-content:center; align-items:center; gap:7px; color:#747a72; line-height:1.5; }
.auth-aside { position:relative; overflow:hidden; margin:12px; padding:clamp(44px,6vw,90px); background:#20372b; border:0; border-radius:3px; justify-content:flex-end; min-height:calc(100vh - 24px); }
.auth-aside::before { content:""; position:absolute; width:540px; height:540px; right:-210px; top:-220px; border:1px solid rgba(240,231,214,.13); border-radius:50%; box-shadow:0 0 0 74px rgba(240,231,214,.025),0 0 0 148px rgba(240,231,214,.018); }
.aside-grid { position:absolute; inset:0; opacity:.14; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(to bottom,#000,transparent 78%); }
.proof-card { position:relative; z-index:1; background:#f4f0e8; color:#1c211d; box-shadow:0 30px 80px rgba(0,0,0,.24); }
.proof-main { width:min(100%,590px); align-self:center; margin:auto auto clamp(90px,14vh,150px); padding:18px; border-radius:4px; transform:rotate(-1.4deg); }
.proof-top { display:flex; align-items:center; gap:10px; padding:2px 2px 16px; border-bottom:1px solid #d7d4cb; }
.proof-top>span:first-child { width:34px; height:34px; display:grid; place-items:center; background:#20372b; color:#fff; border-radius:2px; }
.proof-top small { color:#6d746c; font-weight:700; }
.proof-status { margin-left:auto; display:flex; align-items:center; gap:5px; padding:6px 9px; background:#dbe8df; color:#205e3d; border-radius:999px; font-size:11px; font-weight:800; }
.file-preview { position:relative; overflow:hidden; height:190px; margin:16px 0; padding:26px; display:flex; flex-direction:column; justify-content:flex-end; background:#dad7ce; color:#2e352f; }
.file-preview::before,.file-preview::after { content:""; position:absolute; left:26px; right:26px; top:30px; height:74px; border:1px solid rgba(32,55,43,.18); background:repeating-linear-gradient(to bottom,transparent 0 11px,rgba(32,55,43,.14) 12px 13px); }
.file-preview::after { left:auto; right:26px; width:110px; height:110px; top:24px; border-radius:50%; background:transparent; }
.file-preview span,.file-preview small { position:relative; z-index:2; }
.file-preview span { font-size:12px; font-weight:900; letter-spacing:.08em; }.file-preview small { color:#777d76; margin-top:4px; }
.scan-line { position:absolute; z-index:3; left:0; right:0; top:48%; height:2px; background:#d26846; box-shadow:0 0 16px #d26846; }
.proof-result { display:flex; align-items:center; gap:12px; padding:4px 2px 2px; }.proof-result>span { color:#2d6d4b; }.proof-result div { display:grid; gap:3px; }.proof-result strong { font-size:13px; }.proof-result small { color:#777d76; font-size:10px; }.proof-result b { margin-left:auto; font-family:Georgia,serif; font-size:23px; font-weight:400; }
.proof-float { position:absolute; z-index:2; top:14%; right:clamp(24px,5vw,74px); width:230px; padding:15px; display:flex; align-items:center; gap:11px; border-radius:3px; transform:rotate(2.3deg); }.proof-float>svg { color:#b65c3d; }.proof-float div { display:grid; gap:3px; }.proof-float strong { font-size:11px; }.proof-float small { color:#737970; font-size:9px; }
.aside-caption { position:relative; z-index:1; max-width:620px; }.aside-caption .eyebrow { color:#dda78f!important; }.aside-caption blockquote { margin:12px 0 22px; max-width:600px; color:#f2eadc; font-family:Georgia,"Times New Roman",serif; font-size:clamp(27px,3vw,43px); line-height:1.08; letter-spacing:-.025em; }.signal-list { color:#d9ded7; gap:24px; }.signal-list span svg { color:#dda78f; }
@media (max-width:1050px) { .auth-shell{grid-template-columns:minmax(420px,52%) 1fr}.proof-float{display:none}.auth-aside{padding:38px}.proof-main{margin-bottom:100px}.auth-panel{padding-left:48px;padding-right:48px}.auth-panel .brand{left:48px;right:48px} }
@media (max-width:800px) { .auth-shell{display:block}.auth-panel{min-height:100vh;padding:126px 24px 42px}.auth-panel .brand{left:24px;right:24px}.auth-copy h1{font-size:clamp(44px,13vw,62px)}.auth-copy{margin-bottom:30px}.auth-aside{display:none}.auth-footer{text-align:left;justify-content:flex-start}.loading-brand{left:24px;top:24px} }

/* The marketing site is the product's visual source of truth. */
:root { --ink:#f3eee6; --muted:#b8afa4; --line:#4a443b; --soft:#211f1a; --green:#d97757; --green-dark:#f0b9a7; --amber:#f0a36f; --red:#ff9a80; }
body { background:#171512; color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.brand { gap:0; color:inherit; font-family:"Avenir Next",Avenir,"Helvetica Neue",sans-serif; font-size:1.35rem; font-weight:700; letter-spacing:-.055em; }
.auth-shell { background:#171512; }
.auth-panel { background:#171512; }
.auth-copy h1,.auth-aside h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; letter-spacing:0; }
.auth-copy h1 { max-width:520px; font-size:clamp(38px,5vw,64px); line-height:.96; }
.auth-copy p,.section-heading p,.upload-band p,.plain-section p { color:var(--muted); }
input { border-color:var(--line); background:#211f1a; color:var(--ink); border-radius:10px; }
input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(217,119,87,.16); }
input:disabled { background:#211f1a; color:var(--muted); }
.primary,.secondary { min-height:42px; border-radius:10px; }
.primary { background:var(--ink); color:#171512; }
.primary:hover { background:#fffaf0; }
.secondary { border-color:var(--line); background:transparent; color:var(--ink); }
.secondary:hover { background:rgba(255,255,255,.055); }
.text-button,.dev-code,.support-line a { color:var(--green-dark); }
.dev-code { background:#2b2823; border-color:var(--line); }
.auth-aside { background:#211f1a; border:1px solid var(--line); color:var(--ink); }
.auth-aside h2 { font-size:clamp(42px,5vw,72px); line-height:.9; }
.auth-aside p { color:var(--muted); }
.eyebrow,.auth-aside .eyebrow { color:var(--green-dark)!important; }
.signal-list { color:var(--ink); }
.sidebar { background:#11100e; border-color:var(--line); }
.sidebar nav button,.sidebar-bottom button,.sidebar-bottom a { color:var(--muted); }
.sidebar nav button:hover,.sidebar-bottom button:hover,.sidebar-bottom a:hover { background:#211f1a; color:var(--ink); }
.sidebar nav button.active { background:#2b2823; color:var(--ink); }
.workspace>header { border-color:var(--line); }
.workspace>header h1 { font-family:Georgia,"Times New Roman",serif; font-size:30px; font-weight:500; }
.user-chip>span { background:#211f1a; border-color:var(--line); }
.metrics,.table-section,.plain-section,.billing-balance,.code-sample { background:#211f1a; border-color:var(--line); }
.metric+.metric,.section-heading,.billing-balance>div+div,.support-line { border-color:var(--line); }
.upload-band { background:#2b2823; border-color:var(--line); }
.section-icon,.file-cell>span,.key-row>span:first-child { background:#171512; color:var(--green-dark); border-color:var(--line); }
th { background:#171512; color:var(--muted); }
th,td { border-color:var(--line); }
.status { background:#2b2823; color:var(--muted); }
.status.succeeded,.status.clear { background:#26352b; color:#8ff0b2; }
.status.flagged { background:#5c1917; color:#ff958a; }
.status.failed { background:#572114; color:#ffb199; }
.result-status { display:flex; flex-direction:column; align-items:flex-start; gap:7px; min-width:220px; }
.flag-explanation { margin:0; color:var(--muted); font-size:12px; line-height:1.4; white-space:normal; }
.flag-explanation strong { color:#ffb199; text-transform:capitalize; }
.positive { color:#8ff0b2; }
.secret,.key-row { border-color:var(--line); background:#2b2823; }
.secret button { border-color:var(--line); background:#171512; color:var(--ink); }
.code-sample pre { background:#11100e; color:#f3eee6; }
.notice { background:#2b2823; }

/* Authentication uses the same charcoal, cream, and coral system as the marketing site. */
html:has(.auth-shell),body:has(.auth-shell),body:has(.loading-screen) { min-height:100%; }
.loading-screen { background:radial-gradient(circle at 18% 8%,rgba(217,119,87,.13),transparent 31rem),#171512; color:var(--ink); }
.loading-screen::before { opacity:.2; background-image:linear-gradient(rgba(243,238,230,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(243,238,230,.06) 1px,transparent 1px); }
.loading-copy { color:var(--muted); }
.loading-orbit { border-color:var(--line); color:var(--green); background:#211f1a; }
.loading-rule { background:var(--green); }
.auth-shell { min-height:100svh; background:radial-gradient(circle at 12% 7%,rgba(217,119,87,.12),transparent 31rem),#171512!important; color:var(--ink); }
.auth-panel { min-height:100svh; overflow:hidden; background:transparent!important; border-right:1px solid rgba(255,255,255,.07); }
.auth-panel::before { border-color:rgba(217,119,87,.13); box-shadow:0 0 0 58px rgba(217,119,87,.025),0 0 0 116px rgba(217,119,87,.018); }
.auth-panel .brand { color:var(--ink); }
.auth-brand-signal { flex:0 0 auto; width:11px; height:11px; margin-right:10px; border-radius:3px 3px 3px 50%; background:var(--green); transform:rotate(-45deg); box-shadow:0 0 18px rgba(217,119,87,.3); }
.auth-eyebrow { margin:0 0 22px!important; color:var(--green)!important; font-size:.7rem!important; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.auth-copy h1 { color:var(--ink); font-size:clamp(48px,4.4vw,72px); line-height:.88; letter-spacing:-.06em; }
.auth-copy h1 em { color:var(--green); font-style:italic; }
.auth-copy p { color:var(--muted); }
.auth-form label { color:var(--ink); }
.auth-form input { color:var(--ink); background:#211f1a; border-color:#51493f; border-radius:10px; }
.auth-form input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(217,119,87,.16); }
.auth-form .primary { color:#171512; background:var(--ink); border-radius:10px; box-shadow:0 14px 34px rgba(0,0,0,.25); }
.auth-form .primary:hover { color:#171512; background:#fffaf0; }
.auth-form .text-button,.back-home { color:var(--green-dark); }
.auth-panel .dev-code { color:var(--green-dark); background:#2b2823; border-color:var(--line); }
.auth-footer { color:var(--muted); }
.auth-aside { min-height:0; height:calc(100svh - 24px); background:#211f1a!important; border:1px solid var(--line)!important; border-radius:20px; color:var(--ink); }
.auth-aside::before { border-color:rgba(217,119,87,.13); box-shadow:0 0 0 74px rgba(217,119,87,.025),0 0 0 148px rgba(217,119,87,.018); }
.auth-aside .aside-grid { opacity:.1; }
.auth-aside .proof-card { background:#191713; border:1px solid #51493f; border-radius:16px; color:var(--ink); box-shadow:0 42px 100px rgba(0,0,0,.42); }
.auth-aside .proof-top { border-color:#423d35; }
.auth-aside .proof-top>span:first-child { background:var(--ink); color:#171512; border-radius:7px; }
.auth-aside .proof-top small,.auth-aside .file-preview small,.auth-aside .proof-result small,.auth-aside .proof-float small { color:#8f877d; }
.auth-aside .file-preview { background:#211f1a; border:1px solid #464036; border-radius:12px; color:var(--ink); }
.auth-aside .file-preview::before,.auth-aside .file-preview::after { border-color:rgba(243,238,230,.13); background:repeating-linear-gradient(to bottom,transparent 0 11px,rgba(243,238,230,.09) 12px 13px); }
.auth-aside .file-preview::after { background:transparent; }
.auth-aside .proof-status { background:#26352b; color:#8ff0b2; }
.auth-aside .proof-result>span { color:#85d1a3; }
.auth-aside .proof-float>svg,.auth-aside .aside-caption .eyebrow,.auth-aside .signal-list span svg { color:var(--green)!important; }
.auth-aside .aside-caption blockquote { color:var(--ink); }
.auth-aside .signal-list { color:#cbc2b7; }
@media (min-width:801px) and (max-height:820px) {
  .auth-aside { padding:28px 44px; }
  .proof-main { margin:0 auto 44px; }
  .proof-top { padding-bottom:12px; }
  .file-preview { height:145px; margin:12px 0; }
  .aside-caption blockquote { margin:0 0 16px; font-size:clamp(24px,2.5vw,35px); }
}
@media (max-width:800px) {
  .auth-shell { min-height:100svh; }
  .auth-panel { min-height:100svh; padding:88px 24px 32px; overflow:hidden; border-right:0; }
  .auth-panel .brand { top:20px; }
  .auth-copy { margin-bottom:18px; }
  .auth-eyebrow { margin-bottom:14px!important; }
  .auth-copy h1 { margin-bottom:14px; font-size:clamp(35px,10vw,48px); }
  .auth-copy p { font-size:14px; line-height:1.5; }
  .auth-form { gap:12px; }
  .auth-form input,.auth-form .primary { min-height:46px; }
  .back-home { margin-top:12px; }
  .auth-footer { margin-top:16px; }
  .auth-aside { display:none; }
}

/* Anonymous trial and allowance conversion states */
.guest-shell { min-height:100svh; padding:0 clamp(22px,5vw,72px) 72px; background:radial-gradient(circle at 12% 7%,rgba(217,119,87,.14),transparent 34rem),#171512; }
.guest-shell>header { height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.guest-header-actions,.usage-gate>div:last-child { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.guest-header-actions a,.usage-gate a { text-decoration:none; }
.guest-hero { max-width:1180px; margin:0 auto; padding:clamp(58px,9vw,118px) 0 72px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); align-items:center; gap:clamp(48px,8vw,112px); }
.guest-hero h1 { max-width:730px; margin:12px 0 22px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(48px,7vw,86px); font-weight:500; line-height:.92; letter-spacing:-.05em; }
.guest-lead { max-width:650px; margin:0; color:var(--muted); font-size:17px; line-height:1.65; }
.guest-allowance { margin:30px 0 18px; display:flex; align-items:baseline; gap:9px; }
.guest-allowance strong { color:var(--green); font-family:Georgia,"Times New Roman",serif; font-size:40px; font-weight:500; }
.guest-allowance span { color:var(--muted); font-size:13px; font-weight:700; }
.guest-upload { margin-top:12px; grid-template-columns:auto minmax(170px,1fr) auto; }
.guest-upload small { grid-column:2 / -1; }
.guest-upload .error { width:100%; grid-column:1 / -1; }
.guest-proof { padding:32px; display:grid; gap:25px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(150deg,#2b2823,#1d1b17); box-shadow:0 36px 90px rgba(0,0,0,.25); }
.guest-proof>div { display:flex; align-items:center; gap:15px; }
.guest-proof>div>span { flex:0 0 auto; width:44px; height:44px; display:grid; place-items:center; border:1px solid #5d5146; border-radius:12px; color:var(--green-dark); background:#171512; }
.guest-proof>div>div { display:grid; gap:5px; }
.guest-proof strong { font-size:14px; }
.guest-proof small { color:var(--muted); font-size:12px; line-height:1.4; }
.guest-result,.usage-gate { max-width:1180px; margin:0 auto 28px; padding:30px; display:flex; align-items:flex-start; gap:20px; border:1px solid var(--line); border-radius:16px; background:#211f1a; }
.guest-result-mark { flex:0 0 auto; width:50px; height:50px; display:grid; place-items:center; border-radius:50%; }
.guest-result-mark.clear { color:#8ff0b2; background:#26352b; }
.guest-result-mark.flagged { color:#ff958a; background:#5c1917; }
.guest-result h2,.usage-gate h2 { margin:7px 0 9px; font-family:Georgia,"Times New Roman",serif; font-size:28px; font-weight:500; }
.guest-result-summary,.usage-gate p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.guest-finding { margin:12px 0 0; padding:10px 12px; border-left:2px solid var(--red); background:#2b2823; color:var(--ink); font-size:13px; }
.usage-gate { justify-content:space-between; align-items:center; background:linear-gradient(110deg,#2b2823,#211f1a); }
.usage-gate>div:first-child { max-width:720px; }
.guest-back { justify-self:center; }

@media (max-width:800px) {
  .guest-shell { padding:0 18px 44px; }
  .guest-shell>header { height:76px; }
  .guest-header-actions a { display:none; }
  .guest-hero { padding:48px 0 42px; grid-template-columns:1fr; gap:34px; }
  .guest-hero h1 { font-size:clamp(43px,14vw,64px); }
  .guest-lead { font-size:15px; }
  .guest-proof { padding:24px; }
  .guest-result,.usage-gate { padding:22px; flex-direction:column; }
  .upload-dropzone { width:100%; min-width:0; grid-template-columns:auto 1fr; }
  .dropzone-button { grid-column:1 / -1; width:100%; }
  .guest-upload small { grid-column:1 / -1; }
}
