:root{--bg:#f5f7f6;--surface:#ffffff;--surface-muted:#eef3f0;--border:#d8e1dc;--border-strong:#b9c8c0;--text:#17231d;--muted:#617268;--accent:#174a3a;--accent-soft:#e3eee8;--warning:#8b5a00;--warning-bg:#fff8e7;--error:#9b2c2c;--error-bg:#fff1f1;--shadow:0 1px 2px rgba(20,42,31,0.06);--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--text-micro:11px;--text-caption:12px;--text-small:13px;--text-body:14px;--text-medium:15px;--text-large:16px;--text-title:19px;--text-heading:22px;--text-display:24px;--header-height:81px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-body);line-height:1.5;letter-spacing:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3{line-height:1.2;letter-spacing:-.015em}body:before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat}button,input,select{font:inherit}button{cursor:pointer}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-header{min-height:var(--header-height);padding:0 26px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.app-header h1,.app-header p,.empty-state h2,.shop-header h2,.shop-header p,.sidebar h2,.sidebar p{margin:0}.app-header h1{font-size:var(--text-heading);line-height:1.2}.app-header p{margin-top:4px;color:var(--muted);font-size:var(--text-small)}.brand-block{margin-right:auto}.app-header .brand-disclaimer{display:flex;align-items:center;gap:6px;margin-top:6px;padding:3px 9px 3px 7px;border:1px solid #e3d3a8;border-radius:999px;background:var(--warning-bg);color:var(--warning);font-size:var(--text-caption);font-weight:600;line-height:1.35}.brand-disclaimer svg{flex-shrink:0}.brand-link{color:inherit;text-decoration:none}.brand-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.header-navigation{display:flex;align-items:center;justify-content:flex-end;gap:10px}.history-link{height:40px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text);font-size:var(--text-small);font-weight:650;white-space:nowrap;text-decoration:none;transition:border-color .2s var(--ease-out-quart),background-color .2s var(--ease-out-quart),transform .25s var(--ease-spring)}.history-link:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.history-link:active{transform:translateY(0) scale(.98);transition-duration:.1s}.history-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.campaign-selector{display:flex;flex-direction:column;flex-shrink:0;gap:2px}.campaign-selector .eyebrow{margin-bottom:0}.campaign-select{height:40px;padding:0 11px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text);font-size:var(--text-small);cursor:pointer;transition:border-color .2s var(--ease-out-quart),box-shadow .2s var(--ease-out-quart)}.campaign-select:hover{border-color:var(--accent)}.campaign-select:focus{outline:2px solid var(--accent);outline-offset:2px}.download-button,.upload-button{height:40px;flex-shrink:0;position:relative;display:inline-flex;align-items:center;gap:8px;padding:0 15px;overflow:hidden;border:1px solid var(--accent);border-radius:6px;background:linear-gradient(155deg,#1d5b47 0,var(--accent) 55%,#123527 100%);color:white;font-weight:650;font-size:var(--text-small);box-shadow:var(--shadow);white-space:nowrap;transition:transform .35s var(--ease-spring),box-shadow .25s var(--ease-out-quart),background-color .2s var(--ease-out-quart),border-color .2s var(--ease-out-quart)}.download-button:before,.upload-button:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.22) 48%,transparent 76%);transform:translateX(-120%);pointer-events:none}.download-button:hover:before,.upload-button:hover:before{transform:translateX(120%);transition:transform .7s var(--ease-out-quart)}.download-button:hover,.upload-button:hover{box-shadow:0 6px 16px rgba(23,74,58,.22);transform:translateY(-1px)}.download-button:active,.upload-button:active{transform:translateY(0) scale(.97);transition-duration:.12s}.download-button:focus-visible,.upload-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.upload-button.secondary{background:linear-gradient(155deg,#ffffff 0,var(--surface) 55%,var(--surface-muted) 100%);color:var(--accent)}.upload-button.secondary:before{background:linear-gradient(115deg,transparent 20%,rgba(23,74,58,.08) 48%,transparent 76%)}.upload-button.secondary:hover{box-shadow:0 6px 16px rgba(23,74,58,.1)}.upload-button input{display:none}.download-button:disabled{cursor:not-allowed;opacity:.55;transform:none!important;box-shadow:var(--shadow)!important}.download-button:disabled:before{display:none}.error-banner{margin:14px 26px 0;min-height:46px;display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #e7bcbc;border-radius:6px;background:var(--error-bg);color:var(--error);font-size:var(--text-small);line-height:1.5}.error-banner>svg{flex-shrink:0}.empty-state{min-height:calc(100vh - var(--header-height));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted)}.empty-state h2{color:var(--text);font-size:var(--text-title)}.home-dashboard{width:min(1280px,calc(100% - 48px));min-height:calc(100vh - var(--header-height));margin:0 auto;padding:42px 0 56px;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(560px,1.5fr);align-items:start;grid-gap:28px;gap:28px}.history-panel,.intake-card{border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 10px 34px rgba(20,42,31,.07)}.intake-card{position:-webkit-sticky;position:sticky;top:28px;overflow:hidden;padding:30px}.intake-mark{width:50px;height:50px;margin-bottom:36px;display:grid;place-items:center;border:1px solid #9db9aa;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.history-heading h2,.intake-card h2{margin:0}.intake-card h2{max-width:15ch;font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,3vw,37px);font-weight:500;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}.intake-card>p{max-width:46ch;margin:18px 0 26px;color:var(--muted);font-size:var(--text-body);line-height:1.6;text-wrap:pretty}.intake-upload{width:-moz-fit-content;width:fit-content;height:44px}.intake-footnote{margin-top:22px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:var(--text-caption)}.history-panel{min-width:0;overflow:hidden}.history-heading{min-height:114px;padding:22px 24px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}.history-heading h2{font-size:var(--text-heading)}.history-heading p{margin:5px 0 0;color:var(--muted);font-size:var(--text-small)}.history-count{min-width:40px;height:40px;padding:0 8px;display:grid;place-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);color:var(--accent);font-size:var(--text-small);font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.history-filters{min-height:52px;padding:9px 16px;display:flex;align-items:center;gap:5px;overflow-x:auto;border-bottom:1px solid var(--border);background:#fafcfb}.history-filters button{height:34px;flex:0 0 auto;padding:0 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:var(--text-small);font-weight:650;white-space:nowrap;transition:color .18s var(--ease-out-quart),background-color .18s var(--ease-out-quart),border-color .18s var(--ease-out-quart)}.history-filters button:hover{color:var(--text);background:var(--surface-muted)}.history-filters button:active{transform:scale(.97);transition-duration:.06s}.history-filters button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.history-filters button.active{border-color:var(--border-strong);background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.history-list{min-height:250px}.history-row{min-height:104px;position:relative;display:grid;grid-template-columns:4px minmax(0,1fr) auto 22px;align-items:center;grid-gap:15px;gap:15px;padding:13px 18px 13px 0;border-bottom:1px solid var(--border);background:var(--surface);color:inherit;text-decoration:none;transition:background-color .2s var(--ease-out-quart),box-shadow .25s var(--ease-out-quart)}.history-row:last-child{border-bottom:0}.history-row:hover{z-index:1;background:#f8faf9;box-shadow:0 9px 24px rgba(20,42,31,.08)}.history-row:focus-visible{z-index:2;outline:2px solid var(--accent);outline-offset:-2px}.history-rail{width:4px;align-self:stretch;margin:4px 0;border-radius:0 4px 4px 0;background:var(--accent)}.history-rail.review{background:#c38a1a}.history-rail.block{background:var(--error)}.history-main{min-width:0}.history-title-line{display:flex;align-items:center;gap:6px;min-width:0}.history-title-line>strong{min-width:0;flex:0 1 auto;overflow:hidden;font-size:var(--text-medium);text-overflow:ellipsis;white-space:nowrap}.confirmation-chip,.quality-chip{flex:0 0 auto;padding:3px 7px;border:1px solid;border-radius:4px;font-size:var(--text-micro);font-weight:750;letter-spacing:.03em;line-height:1.35;white-space:nowrap;text-transform:uppercase}.quality-chip.pass{border-color:#9db9aa;background:var(--accent-soft);color:var(--accent)}.quality-chip.review{border-color:#ddc47f;background:var(--warning-bg);color:var(--warning)}.quality-chip.block{border-color:#d7a5a5;background:var(--error-bg);color:var(--error)}.confirmation-chip{border-color:var(--border);background:var(--surface-muted);color:var(--muted);letter-spacing:0;text-transform:none}.confirmation-chip.confirmed{border-color:#9db9aa;color:var(--accent)}.confirmation-chip.escalated{border-color:#ddc47f;color:var(--warning)}.history-filename{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-filename,.history-meta{color:var(--muted);font-size:var(--text-caption)}.history-meta{margin-top:10px;display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.history-meta span{display:inline-flex;align-items:center;gap:4px}.history-expiry{min-width:112px;align-self:start;padding-top:2px;text-align:right}.history-expiry span,.history-expiry strong{display:block}.history-expiry span{color:var(--muted);font-size:var(--text-micro);letter-spacing:.03em;text-transform:uppercase}.history-expiry strong{margin-top:4px;font-size:var(--text-small);white-space:nowrap}.history-chevron{color:var(--border-strong);transition:transform .25s var(--ease-spring),color .2s var(--ease-out-quart)}.history-row:hover .history-chevron{color:var(--accent);transform:translateX(3px)}.history-state{min-height:250px;padding:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--muted);text-align:center;font-size:var(--text-small)}.history-state strong{color:var(--text);font-size:var(--text-large)}.history-state.error{color:var(--error)}.history-state button{margin-top:6px;padding:8px 14px;border:1px solid;border-radius:6px;background:transparent;color:inherit;font-size:var(--text-small);font-weight:650;transition:background-color .18s var(--ease-out-quart)}.history-state button:hover{background:rgba(155,44,44,.07)}.history-state button:active{transform:scale(.97);transition-duration:.06s}.history-state button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.history-limit{margin:0;padding:11px 18px;border-top:1px solid var(--border);background:var(--surface-muted);color:var(--muted);font-size:var(--text-caption);text-align:center}.run-error-state,.run-loading-state{min-height:calc(100vh - var(--header-height));display:flex;align-items:center;justify-content:center;padding:40px 24px 64px}.run-error-card,.run-loading-card{position:relative;width:min(520px,100%);padding:34px 32px 30px;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 10px 34px rgba(20,42,31,.07);text-align:center;animation:run-state-in .5s var(--ease-out-quart) both}.run-error-card:after,.run-loading-card:after{content:"";position:absolute;inset:0 0 auto;height:3px}.run-loading-card:after{background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:run-sheen 1.9s var(--ease-out-quart) infinite}.run-error-card:after{background:var(--error);opacity:.75}.run-error-card .eyebrow{color:var(--error)}.run-error-card h2,.run-loading-card h2{margin:0 0 9px;color:var(--text);font-size:var(--text-title);letter-spacing:-.015em;text-wrap:balance}.run-error-card p,.run-loading-card>p{margin:0 auto;max-width:42ch;color:var(--muted);font-size:var(--text-body);line-height:1.6;text-wrap:pretty}.run-error-card .eyebrow,.run-loading-card .eyebrow{display:block;margin-bottom:6px}.run-error-mark,.run-loading-mark{position:relative;width:58px;height:58px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.run-error-mark{background:var(--error-bg);color:var(--error)}.run-loading-ring{position:absolute;inset:-5px;border-radius:50%;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent);border-top:2px solid transparent;border-left:2px solid transparent;animation:run-spin 1.15s linear infinite}.run-loading-steps{margin:22px 0 0;padding:0;list-style:none;text-align:left}.run-loading-steps li{display:flex;align-items:center;gap:10px;padding:8px 4px;border-top:1px solid var(--border);opacity:.35;animation:run-step-in .6s var(--ease-out-quart) forwards}.run-loading-steps li div{display:flex;flex-direction:column}.run-loading-steps strong{color:var(--text);font-size:var(--text-body);font-weight:650}.run-loading-steps span{color:var(--muted);font-size:var(--text-small)}.run-loading-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--accent)}.run-loading-track{margin-top:22px;height:3px;overflow:hidden;border-radius:999px;background:var(--surface-muted)}.run-loading-track span{display:block;width:40%;height:100%;border-radius:inherit;background:var(--accent);animation:run-track 1.6s var(--ease-out-quart) infinite}.run-error-detail{margin-top:2px;padding:10px 13px;border:1px solid #e7bcbc;border-radius:6px;background:var(--error-bg);color:var(--error);font-size:var(--text-small);overflow-wrap:anywhere}.run-error-help{margin-top:12px}.run-error-actions{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}@keyframes run-state-in{0%{opacity:0;transform:translateY(8px)}}@keyframes run-spin{to{transform:rotate(1turn)}}@keyframes run-sheen{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes run-step-in{to{opacity:1}}@keyframes run-track{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}@media (prefers-reduced-motion:reduce){.run-loading-steps li{opacity:1}}.workspace{height:calc(100vh - var(--header-height));display:grid;grid-template-columns:286px minmax(0,1fr)}.sidebar{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border-right:1px solid var(--border)}.sidebar-heading{flex:0 0 auto;padding:17px 16px;border-bottom:1px solid var(--border)}.sidebar-heading>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-heading h2{font-size:var(--text-large)}.sidebar-heading span{min-width:28px;padding:3px 8px;border-radius:999px;background:var(--surface-muted);color:var(--muted);text-align:center;font-size:var(--text-caption);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sidebar-heading p{margin-top:7px;overflow:hidden;color:var(--muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap}.shop-list{flex:1 1 auto;min-height:0;overflow-y:auto}.shop-row{width:100%;min-height:64px;padding:10px 14px 10px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;transition:background-color .2s var(--ease-out-quart),box-shadow .25s var(--ease-out-quart),padding-left .25s var(--ease-out-quart)}.shop-row:hover{background:#f8faf9;padding-left:19px}.shop-row.active,.shop-row:active{background:var(--accent-soft)}.shop-row.active{box-shadow:inset 3px 0 0 var(--accent)}.shop-row.active strong{color:var(--accent)}.shop-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.shop-row>div:first-child{min-width:0}.shop-row span,.shop-row strong{display:block}.shop-row strong{font-size:var(--text-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shop-row span{margin-top:3px;overflow:hidden;color:var(--muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap}.shop-totals{flex:0 0 auto;text-align:right}.shop-totals span{font-size:var(--text-caption);white-space:nowrap}.shop-totals b{display:block;margin-top:2px;color:var(--accent);font-size:var(--text-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.content{min-width:0;overflow:auto;padding:22px 26px 32px}.quality-banner{margin-bottom:12px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.quality-banner.pass{border-color:#9db9aa}.quality-banner.review{border-color:#ddc47f}.quality-banner.block{border-color:#d7a5a5}.quality-summary{min-height:50px;padding:11px 14px;display:flex;align-items:center;gap:10px;font-size:var(--text-body)}.quality-summary>svg{flex-shrink:0}.quality-banner.pass .quality-summary,.quality-banner.pass .review-lead{background:var(--accent-soft)}.quality-banner.review .quality-summary,.quality-banner.review .review-lead{background:var(--warning-bg)}.quality-banner.block .quality-summary,.quality-banner.block .review-lead{background:var(--error-bg)}.quality-banner.pass .quality-summary{color:var(--accent)}.quality-banner.review .quality-summary{color:var(--warning)}.quality-banner.block .quality-summary{color:var(--error)}.quality-summary strong{flex:0 0 auto;padding:3px 9px;border:1px solid;border-radius:999px;font-size:var(--text-micro);font-weight:750;letter-spacing:.05em;text-transform:uppercase}.quality-summary span{min-width:0;color:var(--text);font-weight:600;text-wrap:pretty}.profile-bar{margin-top:12px;margin-bottom:12px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.profile-bar.approved{border-color:#9db9aa}.profile-bar.candidate,.profile-bar.none,.profile-bar.retired{border-color:#ddc47f}.profile-bar.conflict{border-color:#d7a5a5}.profile-summary{min-height:62px;padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;font-size:var(--text-small)}.profile-summary>svg{flex-shrink:0;color:var(--accent)}.profile-bar.conflict .profile-summary>svg{color:var(--error)}.profile-bar.candidate .profile-summary>svg,.profile-bar.none .profile-summary>svg,.profile-bar.retired .profile-summary>svg{color:var(--warning)}.profile-summary>div{min-width:0}.profile-summary>div>span{display:block;color:var(--muted);font-size:var(--text-micro);font-weight:650;letter-spacing:.04em;text-transform:uppercase}.profile-summary>div>strong{display:block;margin-top:3px;font-size:var(--text-medium)}.profile-summary>div>code{display:block;margin-top:3px;overflow:hidden;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap}.profile-summary .approval-form{margin-left:auto}.confirmation-identity{min-width:0;flex:1 1 auto}.confirmation-hint{margin:3px 0 0;color:var(--muted);font-size:var(--text-small);line-height:1.5;text-wrap:pretty}.profile-summary .approval-cancel,.profile-summary .approve-button{margin-left:auto}.profile-summary .approve-button~.approval-cancel{margin-left:0}.approve-button{height:38px;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid var(--accent);border-radius:6px;background:linear-gradient(155deg,#1d5b47 0,var(--accent) 55%,#123527 100%);color:white;font-weight:650;font-size:var(--text-small);white-space:nowrap;box-shadow:0 1px 2px rgba(20,42,31,.18),inset 0 1px 0 rgba(255,255,255,.12);transition:transform .2s var(--ease-out-quart),box-shadow .2s var(--ease-out-quart),filter .2s var(--ease-out-quart)}.approve-button:hover:not(:disabled){filter:brightness(1.09);box-shadow:0 5px 14px rgba(23,74,58,.26),inset 0 1px 0 rgba(255,255,255,.14);transform:translateY(-1px)}.approve-button:active:not(:disabled){filter:brightness(.95);transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 5px rgba(9,26,18,.32);transition-duration:.06s}.approve-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.approve-button:disabled{cursor:not-allowed;opacity:.55;filter:none;transform:none;box-shadow:none}.approve-button[aria-busy=true]{cursor:progress;opacity:1;box-shadow:inset 0 2px 5px rgba(9,26,18,.32)}.approval-form{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-muted)}.approval-form-grid{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));grid-gap:8px;gap:8px}.approval-form label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:var(--text-micro);font-weight:650;letter-spacing:.04em;text-transform:uppercase}.approval-form input{height:36px;padding:0 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text);font-size:var(--text-small);letter-spacing:0;text-transform:none}.approval-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.approval-error{color:var(--error);font-size:var(--text-small);font-weight:600}.approval-form-actions{display:flex;justify-content:flex-end;gap:8px}.approval-cancel{height:38px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--muted);font-size:var(--text-small);font-weight:600;white-space:nowrap;transition:border-color .2s var(--ease-out-quart),color .2s var(--ease-out-quart),background-color .2s var(--ease-out-quart)}.approval-cancel:hover:not(:disabled){color:var(--text);border-color:var(--accent);background:var(--surface-muted)}.approval-cancel:active:not(:disabled){transform:scale(.97);transition-duration:.06s}.approval-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.approval-cancel:disabled{cursor:not-allowed;opacity:.55}.audit-bar{min-height:62px;display:grid;grid-template-columns:132px 152px minmax(210px,1fr) minmax(210px,1fr);align-items:center;grid-gap:0;gap:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.audit-bar>div{min-width:0;padding:11px 14px;border-right:1px solid var(--border);font-size:var(--text-small)}.audit-bar>div:last-child{border-right:0}.audit-bar>div:first-child{display:flex;align-items:center;gap:7px;color:var(--accent);font-weight:650}.audit-bar code,.audit-bar span,.audit-bar strong{display:block}.audit-bar span{color:var(--muted);font-size:var(--text-micro);font-weight:650;letter-spacing:.04em;text-transform:uppercase}.audit-bar strong{margin-top:3px;font-size:var(--text-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.audit-bar code{margin-top:3px;overflow:hidden;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap}.shop-header{padding:26px 0 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.eyebrow{display:block;margin-bottom:6px;color:var(--accent);font-size:var(--text-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.shop-header>div:first-child{min-width:0}.shop-header h2{font-size:var(--text-display);text-wrap:balance}.shop-header p{margin-top:6px;color:var(--muted);font-size:var(--text-body)}.header-actions{display:flex;align-items:center;gap:10px}.metric{min-width:104px;padding:4px 12px;border-left:1px solid var(--border-strong)}.metric span,.metric strong{display:block}.metric span{color:var(--muted);font-size:var(--text-micro);font-weight:650;letter-spacing:.04em;white-space:nowrap;text-transform:uppercase}.metric strong{margin-top:3px;font-size:var(--text-heading);line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.warnings{margin-bottom:14px;display:grid;grid-gap:5px;gap:5px}.warnings>div{min-height:38px;padding:8px 12px;display:flex;align-items:center;gap:9px;border:1px solid;border-radius:6px;font-size:var(--text-small);line-height:1.5}.warnings>div>svg{flex-shrink:0}.warnings .warning{border-color:#ead8a6;background:var(--warning-bg);color:var(--warning)}.warnings .error{border-color:#e7bcbc;background:var(--error-bg);color:var(--error)}.warnings code{margin-left:auto;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-caption)}.warning-sources{max-width:50%;margin-left:auto}.warning-sources summary{cursor:pointer;font-size:var(--text-caption);font-weight:650;white-space:nowrap}.warning-sources>code{display:block;margin-top:5px;line-height:1.45;overflow-wrap:anywhere;white-space:normal}.table-toolbar{min-height:44px;padding:0 14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;border:1px solid var(--border);border-bottom:0;border-radius:8px 8px 0 0;background:var(--surface-muted);color:var(--muted);font-size:var(--text-small)}.table-toolbar>div{display:flex;align-items:center;gap:6px;color:var(--text);font-weight:650}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:0 0 8px 8px;background:var(--surface);box-shadow:var(--shadow)}table{width:100%;min-width:980px;border-collapse:collapse;font-size:var(--text-small)}td,th{padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-muted);color:var(--muted);font-size:var(--text-micro);font-weight:700;letter-spacing:.05em;white-space:nowrap;text-transform:uppercase}tbody tr:hover{background:#fafcfb}td code{display:inline-block;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-caption)}.number{width:84px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quantity{color:var(--accent);font-weight:750}.hidden-badge{display:inline-block;margin-left:7px;padding:2px 6px;border:1px solid #ccb879;border-radius:999px;background:#fff8e7;color:#795400;font-size:var(--text-micro);font-weight:700;letter-spacing:.03em;white-space:nowrap;text-transform:uppercase}.row-action,.row-action-header{width:1%;white-space:nowrap;text-align:right}.exclude-button{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--muted);font-size:var(--text-caption);font-weight:600;white-space:nowrap;transition:border-color .2s var(--ease-out-quart),color .2s var(--ease-out-quart),background-color .2s var(--ease-out-quart)}.exclude-button:hover:not(:disabled){border-color:#d7a5a5;background:var(--error-bg);color:var(--error)}.exclude-button:active:not(:disabled){transform:scale(.96);transition-duration:.06s}.exclude-button:focus-visible{outline:2px solid var(--error);outline-offset:2px}.exclude-button:disabled{cursor:not-allowed;opacity:.5}.excluded-panel{margin-bottom:14px;border:1px solid #d7a5a5;border-radius:6px;background:var(--surface);overflow:hidden}.excluded-heading{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--error-bg);color:var(--error);font-size:var(--text-small)}.excluded-heading>svg{flex-shrink:0}.excluded-heading span{color:var(--muted);font-size:var(--text-caption);font-weight:500}.excluded-list{margin:0;padding:0;list-style:none}.excluded-list li{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:var(--text-small)}.excluded-list li:last-child{border-bottom:0}.excluded-list code{flex:0 0 auto;padding:3px 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-caption)}.excluded-identity{min-width:0;flex:1 1 auto}.excluded-identity strong{font-size:var(--text-body)}.excluded-identity span{display:block;margin-top:2px;color:var(--muted);font-size:var(--text-caption)}.excluded-list .approval-cancel{height:34px;padding:0 12px;font-size:var(--text-caption)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.toast-viewport{position:fixed;right:24px;bottom:24px;z-index:60;width:384px;transition:height .22s var(--ease-out-quart)}.toast{position:absolute;right:0;bottom:0;width:100%;display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font-size:var(--text-body);line-height:1.5;box-shadow:0 6px 20px rgba(20,42,31,.13);transform-origin:bottom center;transition:transform .22s var(--ease-out-quart),opacity .22s var(--ease-out-quart);will-change:transform}.toast.error{border-color:#e7bcbc;background:var(--error-bg);color:var(--error)}.toast.success{border-color:#bcd6c9;background:var(--accent-soft);color:var(--accent)}.toast>svg{flex:none;margin-top:1px}.toast>span{flex:1 1}.toast-close{flex:none;display:inline-flex;padding:2px;border:0;border-radius:4px;background:transparent;color:inherit;opacity:.55;cursor:pointer}.toast-close:hover{opacity:1}@media (max-width:900px){:root{--text-heading:21px;--text-display:22px}.app-header{padding:12px 16px}.brand-block{width:100%}.header-navigation{width:100%;justify-content:flex-start;flex-wrap:wrap}.home-dashboard{width:min(680px,calc(100% - 28px));padding:24px 0 38px;grid-template-columns:1fr}.intake-card{position:relative;top:auto}.workspace{grid-template-columns:1fr;height:auto}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.shop-list{flex:0 0 auto;height:200px}.audit-bar{grid-template-columns:1fr 1fr}.audit-bar>div{border-bottom:1px solid var(--border)}.shop-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;flex-wrap:wrap}.metric:first-of-type{padding-left:0;border-left:0}.content{padding:18px 16px 28px}.review-checklist{padding:12px}.profile-summary .approval-form{margin-left:0;width:100%}.profile-summary .approval-cancel,.profile-summary .approve-button{margin-left:0;flex:1 1;min-width:128px}.approval-form-grid{grid-template-columns:1fr}.toast-viewport{right:12px;bottom:12px;left:12px;width:auto}}@media (max-width:620px){.home-dashboard{width:calc(100% - 20px);gap:16px}.intake-card{padding:22px}.intake-mark{margin-bottom:24px}.history-heading{padding:18px}.history-row{grid-template-columns:4px minmax(0,1fr) 18px;gap:11px;padding-right:13px}.history-expiry{display:none}.history-title-line{align-items:flex-start;flex-wrap:wrap}.history-title-line>strong{width:100%}.campaign-selector{flex:1 1 180px;min-width:0}.campaign-select{width:100%;min-width:0}}.session-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px;padding:32px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 10px 34px rgba(20,42,31,.07)}.login-mark{width:46px;height:46px;margin-bottom:18px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.login-card h1{margin:0 0 11px;font-size:var(--text-heading)}.login-intro{margin:0 0 24px;color:var(--muted);font-size:var(--text-body);line-height:1.6;text-wrap:pretty}.login-field{display:block;margin-bottom:16px}.login-field span{display:block;margin-bottom:6px;font-size:var(--text-small);font-weight:650}.login-field input{width:100%;height:44px;padding:0 13px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg);color:var(--text);font-size:var(--text-body)}.login-field input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.login-field input:disabled{opacity:.6}.login-error{margin:0 0 16px;padding:10px 13px;border:1px solid var(--error);border-radius:6px;background:var(--error-bg);color:var(--error);font-size:var(--text-small);line-height:1.5}.login-submit{width:100%;height:44px;margin-top:6px;justify-content:center;font-size:var(--text-body)}.login-submit:disabled{opacity:.55;cursor:not-allowed}.signout-button{height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;max-width:200px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--muted);font-size:var(--text-small);font-weight:600;transition:border-color .2s var(--ease-out-quart),color .2s var(--ease-out-quart),background-color .2s var(--ease-out-quart)}.signout-button>svg{flex-shrink:0}.signout-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signout-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.signout-button:active{transform:scale(.97);transition-duration:.06s}.signout-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prompt-dialog{padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:0 24px 60px rgba(20,42,31,.22);width:min(440px,calc(100vw - 32px))}.prompt-dialog::-webkit-backdrop{background:rgba(20,42,31,.42)}.prompt-dialog::backdrop{background:rgba(20,42,31,.42)}.prompt-form{padding:24px}.prompt-form h2{margin:0 0 14px;font-size:var(--text-title);overflow-wrap:anywhere;text-wrap:balance}.prompt-consequence{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;padding:11px 13px;border:1px solid var(--warning);border-radius:6px;background:var(--warning-bg);color:var(--warning);font-size:var(--text-small);line-height:1.55}.prompt-consequence svg{flex-shrink:0;margin-top:1px}.prompt-description{margin:0 0 18px;color:var(--muted);font-size:var(--text-body);line-height:1.6;text-wrap:pretty}.prompt-field,.prompt-field span{display:block;margin-bottom:6px}.prompt-field span{font-size:var(--text-small);font-weight:650}.prompt-field textarea{width:100%;padding:9px 11px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:var(--text-body);line-height:1.55;resize:vertical}.prompt-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.prompt-field textarea[aria-invalid=true]{border-color:var(--error)}.prompt-field textarea:disabled{opacity:.6}.prompt-error{margin:0 0 4px;color:var(--error);font-size:var(--text-small);font-weight:600}.prompt-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.prompt-confirm{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:white;font-weight:650;font-size:var(--text-small);white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);transition:filter .2s var(--ease-out-quart),transform .2s var(--ease-out-quart),box-shadow .2s var(--ease-out-quart)}.prompt-confirm:hover:not(:disabled){filter:brightness(1.09)}.prompt-confirm:active:not(:disabled){filter:brightness(.95);transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 5px rgba(9,26,18,.32);transition-duration:.06s}.prompt-confirm:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prompt-confirm.destructive{border-color:var(--error);background:var(--error)}.prompt-confirm.destructive:focus-visible{outline-color:var(--error)}.prompt-confirm:disabled{opacity:.6;cursor:not-allowed}@media (max-width:480px){.prompt-actions{flex-direction:column-reverse}.prompt-actions button{width:100%;justify-content:center}}.review-lead{margin:0;padding:0 max(14px,calc(100% - 82ch)) 13px 14px;color:var(--text);font-size:var(--text-body);line-height:1.6;text-wrap:pretty}.review-checklist{margin:0;padding:14px;list-style:none;display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--border);background:var(--bg);counter-reset:review}.review-item{display:flex;gap:12px;padding:14px 15px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.review-item.blocking{border-color:var(--error)}.review-badge{flex-shrink:0;align-self:flex-start;margin-top:1px;padding:3px 9px;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:var(--text-micro);font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.review-item.blocking .review-badge{background:var(--error-bg);color:var(--error)}.review-body{min-width:0;flex:1 1}.review-body>strong{display:block;margin-bottom:4px;font-size:var(--text-medium);line-height:1.35;text-wrap:pretty}.review-action{margin:0;color:var(--text);font-size:var(--text-body);line-height:1.6}.review-action,.review-because{max-width:76ch;text-wrap:pretty}.review-because{margin:6px 0 0;color:var(--muted);font-size:var(--text-small);line-height:1.55;font-style:italic}.review-cells{margin-top:10px}.review-cells summary{display:inline-block;padding:2px 0;cursor:pointer;color:var(--accent);font-size:var(--text-small);font-weight:650}.review-cells summary:hover{text-decoration:underline}.review-cells summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.review-cell-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;max-height:148px;overflow-y:auto}.review-cell-list code{padding:3px 7px;border-radius:4px;background:var(--surface-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-caption)}.review-diff-list{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.review-diff{display:grid;grid-gap:4px;gap:4px;padding:9px 11px;border-radius:6px;background:var(--surface-muted)}.review-diff span{font-size:var(--text-small);font-weight:650}.review-diff code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-caption);overflow-wrap:anywhere}.review-detail{margin:0 0 7px;max-width:76ch;color:var(--text);font-size:var(--text-body);line-height:1.55;text-wrap:pretty}.review-location{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 9px;color:var(--muted);font-size:var(--text-small)}.review-location span{display:inline-flex;align-items:baseline;gap:5px}.review-location strong{color:var(--text);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:560px){.review-item{flex-direction:column;gap:7px}}.review-item.sensitive{border-color:var(--warning)}.review-item.sensitive .review-badge{background:var(--warning-bg);color:var(--warning)}