:root{--default-font: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-font: "Montserrat", sans-serif;--nav-font: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--background-color: #ffffff;--light-background: #f7fbfa;--surface-color: #ffffff;--default-color: #47484b;--heading-color: #47484b;--accent-color: #70b646;--accent-color-dark: #4f973a;--border-color: #e3e8e4;color:var(--default-color);background:var(--background-color);font-family:var(--default-font);line-height:1.4;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;width:100%}a{color:var(--accent-color);text-decoration:none}a:hover{color:var(--accent-color-dark)}h1,h2,h3,h4,h5,h6{color:var(--heading-color);font-family:var(--heading-font)}button,.button-link,.button-like{border:0;border-radius:8px;background:var(--accent-color);color:#fff;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:.75rem 1rem;text-decoration:none;font:inherit;font-weight:700}button:disabled{cursor:wait;opacity:.65}button.secondary,.button-like.secondary{background:#47484b}.button-like input{display:none}button.ghost{background:transparent;color:var(--accent-color-dark);padding-left:0}button.danger{background:#b42318}input,select,textarea{border:1px solid #cfd7df;border-radius:8px;color:#17202a;font:inherit;min-height:44px;padding:.7rem .8rem;width:100%}textarea{resize:vertical}label{display:grid;gap:.35rem;font-weight:700}pre{background:#eef1f4;border-radius:8px;overflow:auto;padding:.75rem;white-space:pre-wrap}.app-shell{min-height:100vh}.app-shell>:not(.site-page){margin:0 auto;max-width:920px;padding:1rem;width:100%}.app-shell>.seller-form{border-left:0;border-radius:0;border-right:0;left:50%;margin:0;max-width:none;min-height:100vh;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));position:relative;transform:translate(-50%);width:100vw;width:100dvw}.app-shell>.scanner-shell{margin:0;max-width:none;padding:0;width:100%}.scanner-shell{background:var(--background-color);min-height:100vh}.scanner-shell .scan-page{margin:0 auto;max-width:920px;padding:1rem;width:100%}.scanner-header{position:sticky}.site-page{background:var(--background-color);min-height:100vh}.site-header{background:var(--background-color);color:var(--default-color);position:sticky;top:0;z-index:10;box-shadow:0 10px 30px #47484b14}.site-branding{align-items:center;display:flex;gap:.75rem 1rem;justify-content:space-between;margin:0 auto;max-width:1120px;min-height:64px;padding:.7rem 1rem;position:relative}.brand-logo{align-items:center;display:flex}.brand-logo img{display:block;height:36px;width:auto}.site-nav{align-items:center;display:flex;flex:0 0 auto;gap:.55rem;justify-content:flex-end}.site-nav a{color:#222;font-family:var(--nav-font);font-size:.94rem;font-weight:600}.site-nav a:hover,.nav-button:hover,.account-button:hover{color:var(--accent-color)}.nav-button,.account-button{background:transparent;color:var(--accent-color-dark);font-family:var(--nav-font);font-size:.94rem;font-weight:600;min-height:auto;padding:.25rem .35rem}.account-button{border:1px solid color-mix(in srgb,var(--accent-color),transparent 55%);border-radius:999px;height:36px;min-height:36px;padding:0;width:36px}.account-icon{display:block;height:18px;position:relative;width:18px}.account-icon:before,.account-icon:after{border:2px solid var(--accent-color-dark);content:"";left:50%;position:absolute;transform:translate(-50%)}.account-icon:before{border-radius:999px;height:6px;top:1px;width:6px}.account-icon:after{border-radius:999px 999px 4px 4px;border-bottom:0;bottom:1px;height:7px;width:14px}.nav-menu{position:relative}.nav-menu summary{align-items:center;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:inline-flex;flex-direction:column;gap:4px;height:36px;justify-content:center;list-style:none;width:40px}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu summary span{background:var(--accent-color-dark);border-radius:999px;display:block;height:2px;width:17px}.nav-menu-panel{background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 18px 35px #47484b24;display:grid;gap:.15rem;padding:.45rem;position:absolute;right:0;top:calc(100% + .55rem);width:min(230px,calc(100vw - 2rem));z-index:30}.nav-menu-panel a{border-radius:6px;padding:.72rem .8rem}.nav-menu-panel a:hover{background:var(--light-background)}.home{display:grid;gap:0;margin:0 auto}.landing-hero,.landing-section,.landing-split{margin:0 auto;max-width:1120px;padding:4rem 1rem;width:100%}.landing-hero{align-items:center;background:linear-gradient(135deg,var(--surface-color) 0%,color-mix(in srgb,var(--accent-color),transparent 95%) 100%);display:grid;gap:2rem;max-width:none;overflow:hidden;position:relative}.landing-hero:before{background:url(/brand/bg/abstract-bg-1.webp) center / cover no-repeat;content:"";top:0;right:0;bottom:0;left:45%;opacity:.04;position:absolute}.landing-hero>*{position:relative}.landing-copy,.landing-section,.landing-split>div{display:grid;gap:.75rem}.landing-copy h1{font-size:2.15rem;font-weight:700;line-height:1.12;margin:0}.landing-copy p,.landing-section p,.landing-split p{color:#4c5967;margin:0}.landing-section h2,.landing-split h2,.step-grid h3{margin:0}.section-title{display:grid;gap:.75rem;margin:0 auto 2rem;max-width:760px;padding:0;text-align:center}.section-title h2{font-size:2rem;font-weight:700;margin:0;padding-bottom:1rem;position:relative}.section-title h2:before{background:color-mix(in srgb,var(--default-color),transparent 65%);bottom:1px;content:"";display:block;height:1px;left:0;margin:auto;position:absolute;right:0;width:160px}.section-title h2:after{background:var(--accent-color);bottom:0;content:"";display:block;height:3px;left:0;margin:auto;position:absolute;right:0;width:60px}.hero-actions{display:grid;gap:.7rem}.hero-actions button{min-width:180px}.feedback-callout{background:#f7fbfa;border-left:4px solid var(--accent-color);border-radius:8px;color:#4c5967;font-size:.95rem;padding:.85rem 1rem}.scan-preview{background:#47484bf0;border-radius:8px;color:#fff;display:grid;gap:.75rem;justify-items:center;padding:1rem}.preview-card-frame{aspect-ratio:.69;background:#ece7dd;border:8px solid #7d3b2f;border-radius:8px;box-shadow:0 16px 30px #0000003d;display:grid;grid-template-rows:11% 42% 1fr auto auto;gap:.45rem;max-width:210px;padding:.55rem;width:58%}.landing-brand-panel{align-items:center;display:grid;gap:1.25rem;justify-items:center}.landing-brand-panel>img{max-width:320px;width:76%}.preview-title-line,.preview-art,.preview-text-lines span,.preview-setcode,.preview-passcode{border-radius:4px}.preview-title-line{background:#c7923f}.preview-art{background:linear-gradient(135deg,#2f6f91,#f1c75b 48%,#793d6a)}.preview-text-lines{display:grid;gap:.28rem;align-content:start}.preview-text-lines span{background:#d0c8ba;height:8px}.preview-text-lines span:last-child{width:72%}.preview-setcode,.preview-passcode{background:#f7f3eb;color:#38414d;font-size:.72rem;font-weight:800;padding:.16rem .25rem}.preview-passcode{justify-self:start;width:58%}.preview-result{background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:8px;display:grid;gap:.2rem;padding:.75rem;width:100%}.preview-result span{color:#d3dbe3;font-size:.88rem}.step-grid{display:grid;gap:.75rem}.step-grid article,.vision-grid article{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;display:grid;gap:.45rem;padding:1.25rem;transition:transform .3s ease,box-shadow .3s ease}.step-grid article:hover{box-shadow:0 15px 35px #47484b14;transform:translateY(-4px)}.vision-section{background:#fff}.vision-grid{display:grid;gap:.75rem}.vision-grid h3,.vision-grid p{margin:0}.step-grid span{align-items:center;background:#e8f4f2;border-radius:999px;color:var(--accent-color-dark);display:flex;font-weight:800;height:32px;justify-content:center;width:32px}.landing-split{background:var(--light-background);display:grid;gap:1rem;max-width:none}.landing-split>div{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.landing-final{align-items:center;display:grid;gap:1.5rem}.company-section{align-items:center;background:var(--light-background);display:grid;gap:1.25rem;margin:0 auto;max-width:1120px;padding:3rem 1rem 4rem;width:100%}.company-section>div{display:grid;gap:.75rem}.company-section h2,.company-section p{margin:0}.company-section p{color:#4c5967}.company-link{align-items:center;border:1px solid color-mix(in srgb,var(--accent-color),transparent 40%);border-radius:8px;color:var(--accent-color-dark);display:inline-flex;font-weight:700;justify-content:center;min-height:44px;padding:.75rem 1rem}.company-link:hover{background:var(--accent-color);color:#fff}.contact-section{display:grid;gap:1rem;margin:0 auto;max-width:1120px;padding:3rem 1rem 4rem;width:100%}.contact-grid{display:grid;gap:.75rem;margin:0 auto;max-width:520px;width:100%}.contact-grid a{border:1px solid var(--border-color);border-radius:8px;color:var(--default-color);padding:.85rem 1rem;text-align:center}.contact-grid a:hover{border-color:var(--accent-color);color:var(--accent-color-dark)}.eyebrow,.meta{color:#657384;font-size:.88rem}.home-actions,.panel,.candidate-list,.inventory-list{display:grid;gap:.85rem}.panel{background:#fff;border:1px solid #dce2e8;border-radius:8px;margin:0 0 1rem;max-width:100%;min-width:0;padding:1rem;width:100%}.site-footer{background:var(--light-background);color:var(--default-color);font-size:.9rem;padding:3rem 1rem 2rem}.footer-grid{display:grid;gap:2rem;margin:0 auto;max-width:1120px}.footer-about,.footer-links{display:grid;gap:.45rem}.footer-brand{color:var(--heading-color);font-family:var(--heading-font);font-size:1.4rem;font-weight:700}.footer-about p,.footer-copy{margin:0}.footer-links h4{font-size:1rem;margin:0 0 .35rem}.footer-links a{color:color-mix(in srgb,var(--default-color),transparent 20%)}.footer-links a:hover{color:var(--accent-color)}.footer-copy{border-top:1px solid color-mix(in srgb,var(--default-color),transparent 88%);margin:2rem auto 0;max-width:1120px;padding-top:1.5rem;text-align:center}.panel h2,.candidate-card h3,.inventory-card h3{margin:0}.preview{border-radius:8px;max-height:420px;object-fit:contain;width:100%}.scan-page{display:grid;gap:.85rem;max-width:100%;min-width:0}.loading-overlay{align-items:center;background:#111820c7;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:20}.loading-card{background:#fff;border-radius:8px;display:grid;gap:.6rem;justify-items:center;max-width:320px;padding:1.3rem;text-align:center;width:100%}.loading-card h2,.loading-card p{margin:0}.spinner{animation:spin .9s linear infinite;border:4px solid #cfd7df;border-top-color:#126c62;border-radius:999px;height:42px;width:42px}@keyframes spin{to{transform:rotate(360deg)}}.scan-camera-panel{align-content:start;display:grid;gap:.75rem;min-height:calc(100dvh - 2rem)}.camera-stage{background:#111820;border-radius:8px;height:min(620px,64dvh);min-height:360px;overflow:hidden;position:relative}.camera-video{height:100%;top:0;right:0;bottom:0;left:0;object-fit:cover;position:absolute;width:100%}.camera-shade{background:#00000075;top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.card-guide{aspect-ratio:59 / 86;border:3px solid #f04438;border-radius:8px;box-shadow:0 0 0 999px #00000075;left:50%;max-height:86%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:min(80%,49vh)}.guide-zone{border:2px solid #f04438;min-height:22px;position:absolute}.scan-button{bottom:max(.75rem,env(safe-area-inset-bottom));box-shadow:0 12px 28px #4f973a3d;position:sticky;z-index:4;width:100%}.scan-status{background:#eef1f4;border:1px solid #dce2e8;border-radius:8px;color:#293241;font-weight:700;margin:0;padding:.7rem .8rem}.scan-status.good{background:#e8f4f2;border-color:#b9dcd7;color:#126c62}.scan-status.warn{background:#fff1f0;border-color:#ffc9c2;color:#9f1c13}.scan-manual{font-size:.92rem}.calibration-panel summary{cursor:pointer;font-weight:800}.ocr-lab-panel summary{cursor:pointer;font-weight:800}.guide-controls{display:grid;gap:.8rem}.zone-calibration{border-top:1px solid #dce2e8;padding-top:.75rem}.guide-output{align-items:center;display:grid;gap:.75rem}.guide-output code{background:#eef1f4;border-radius:8px;overflow-wrap:anywhere;padding:.7rem}.hint{color:#657384;font-size:.8rem;font-weight:500}.ocr-result h3{margin:.5rem 0 0}.variant-list{display:grid;gap:.35rem}.variant-list p{background:#eef1f4;border-radius:8px;margin:0;overflow-wrap:anywhere;padding:.55rem .65rem}.ocr-lab-preview{display:grid;gap:.8rem}.ocr-source,.ocr-snippet{display:grid;gap:.4rem;margin:0}.ocr-source-frame{aspect-ratio:900 / 1260;background:#111820;border-radius:8px;overflow:hidden;position:relative}.ocr-source-frame img{height:100%;object-fit:contain;width:100%}.ocr-source-zone{border:2px solid #f04438;min-height:22px;position:absolute}.ocr-snippet img{background:#111820;border-radius:8px;max-height:320px;object-fit:contain;width:100%}.ocr-source figcaption,.ocr-snippet figcaption{color:#657384;font-size:.86rem;font-weight:800}.debug-image-grid{display:grid;gap:.8rem}.debug-image{display:grid;gap:.4rem;margin:0}.debug-image img{background:#111820;border-radius:8px;max-height:520px;object-fit:contain;width:100%}.debug-image figcaption{color:#657384;font-size:.86rem;font-weight:800}.candidate-card,.inventory-card{background:#fff;border:1px solid #dce2e8;border-radius:8px;display:grid;gap:.85rem;padding:.75rem}.inventory-card{grid-template-columns:92px minmax(0,1fr)}.candidate-card img,.inventory-card img,.image-fallback{aspect-ratio:.69;border-radius:6px;object-fit:cover;width:92px}.image-fallback{align-items:center;background:#e8edf2;color:#657384;display:flex;font-size:.82rem;justify-content:center;text-align:center}.candidate-body,.inventory-body{display:grid;gap:.75rem;min-width:0}.candidate-body p,.inventory-body p{margin:.18rem 0;overflow-wrap:anywhere}.candidate-actions,.toolbar,.toolbar-actions,.row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between}.score{background:#e8f4f2;border-radius:999px;color:#126c62;font-weight:800;padding:.3rem .55rem}.selected-card{display:grid;gap:.85rem;min-width:0}.selected-card h2,.selected-card p,.seller-form label,.seller-form input,.seller-form select,.seller-form textarea{max-width:100%;min-width:0;overflow-wrap:anywhere;width:100%}.seller-form select{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seller-form>button,.seller-form>label,.seller-form>.selected-card,.seller-form>.confirm-grid,.seller-form>.check-grid,.seller-form>.scan-feedback,.seller-form>.ocr-raw-review,.seller-form>.error{width:100%}.selected-card img{border-radius:6px;width:88px}.check-row{align-items:center;display:flex;gap:.55rem}.check-row input{min-height:auto;width:auto}.filters,.edit-grid,.field-grid,.confirm-grid,.check-grid{display:grid;gap:.7rem;min-width:0}.confirm-grid{grid-template-columns:minmax(0,1fr)}.check-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.field-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.wide-field{grid-column:1 / -1;min-width:0;overflow:hidden}.field-hint{color:#687282;display:block;font-size:.86rem;font-weight:700;margin-top:.35rem}.field-hint.warning{color:#9f1c13}.scan-warning{background:#fff7df;border:1px solid #f4d27a;border-radius:8px;color:#715500;font-weight:700;margin:0;padding:.75rem .85rem}.ocr-filled-field input,.ocr-filled-field select{background:#fff8e8;border-color:#e4b550;box-shadow:0 0 0 3px #e4b55029}.ocr-raw-review{background:#f7f9fb;border:1px solid var(--border-color);border-radius:8px;display:grid;gap:.45rem;padding:.75rem .85rem}.ocr-raw-review p{color:#4c5967;font-weight:800;margin:0}.ocr-raw-review pre{background:transparent;border:0;color:#17202a;margin:0;max-height:180px;overflow:auto;padding:0;white-space:pre-wrap;word-break:break-word}.login-page{display:grid;gap:.85rem}.login-panel{gap:1rem;margin:0 auto;max-width:560px}.login-panel h2,.login-panel p{margin:0}.login-note{color:#4c5967;font-size:.94rem}.scan-feedback{border-top:1px solid #dce2e8;display:grid;gap:.75rem;margin-top:.35rem;padding-top:1rem}.scan-feedback p{margin:0}.feedback-buttons{display:grid;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-button{align-items:center;color:#17202a;display:inline-flex;justify-content:center;min-height:52px;min-width:0;padding-left:.55rem;padding-right:.55rem}.feedback-icon{font-size:1.45rem;line-height:1}.feedback-button.neutral .feedback-icon{transform:rotate(-90deg) scaleX(-1)}.feedback-button.positive{background:#dff3d4}.feedback-button.neutral{background:#fff0bd}.feedback-button.negative{background:#ffd6d2}.feedback-button[aria-pressed=true]{outline:3px solid color-mix(in srgb,var(--accent-color),transparent 35%)}.feedback-message{background:#e8f4f2;border:1px solid #b9dcd7;border-radius:8px;color:#126c62;font-weight:700;padding:.7rem .8rem}.field-pill{background:#eef7f5;border:1px solid #c9e3df;border-radius:8px;display:grid;gap:.1rem;padding:.55rem .65rem}.field-pill span{color:#657384;font-size:.78rem;text-transform:capitalize}.analytics-page,.analytics-kpis,.analytics-grid{display:grid;gap:.85rem}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-kpis article{background:#fff;border:1px solid #dce2e8;border-radius:8px;display:grid;gap:.25rem;padding:1rem}.analytics-kpis span,.top-card-row small{color:#657384;font-size:.84rem}.analytics-kpis strong{color:var(--accent-color-dark);font-family:var(--heading-font);font-size:1.65rem}.chart-header{align-items:start;display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between}.chart-header h3,.analytics-grid h3,.panel h3{margin:0}.segmented{background:#eef1f4;border-radius:8px;display:inline-flex;padding:.25rem}.segmented button{background:transparent;color:#4c5967;min-height:34px;padding:.35rem .7rem}.segmented button.active{background:#fff;color:var(--accent-color-dark);box-shadow:0 2px 10px #47484b1a}.analytics-chart{height:auto;max-width:100%;overflow:visible}.analytics-chart line{stroke:#cfd7df}.analytics-chart rect{fill:var(--accent-color);transition:fill .18s ease,transform .18s ease}.analytics-chart rect:hover{fill:var(--accent-color-dark);transform:translateY(-2px)}.analytics-chart text{fill:#657384;font-size:.72rem}.feedback-plot,.top-card-plot,.analytics-table{display:grid;gap:.55rem}.feedback-plot-row,.top-card-row{align-items:center;background:#f7fbfa;color:#293241;display:grid;gap:.65rem;grid-template-columns:minmax(72px,.45fr) minmax(0,1fr) max-content;min-height:auto;padding:.65rem;text-align:left}.top-card-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) max-content}.top-card-row>span:first-child{display:grid;gap:.12rem;min-width:0}.feedback-plot-bar,.top-card-bar{background:#e3e8e4;border-radius:999px;display:block;height:10px;overflow:hidden}.feedback-plot-bar i,.top-card-bar i{background:var(--accent-color);display:block;height:100%}.feedback-plot-row.positive i{background:#4f973a}.feedback-plot-row.neutral i{background:#d6a400}.feedback-plot-row.negative i{background:#b42318}.analytics-table{overflow-x:auto}.analytics-table-head,.analytics-table-row{display:grid;gap:.65rem;grid-template-columns:.95fr .45fr .62fr minmax(0,1.25fr) .8fr;min-width:680px}.recent-scans .analytics-table-head,.recent-scans .analytics-table-row{grid-template-columns:.8fr .8fr minmax(0,1.4fr) .7fr}.analytics-table-head{color:#657384;font-size:.8rem;font-weight:800;text-transform:uppercase}.analytics-table-row{background:#f7fbfa;border-radius:8px;padding:.65rem}.notes,.row-actions{grid-column:1 / -1}.error{background:#fff1f0;border:1px solid #ffc9c2;border-radius:8px;color:#9f1c13;padding:.75rem}.empty{color:#657384;padding:.75rem 0}@media (min-width: 680px){.app-shell>:not(.site-page){padding:2rem}.app-shell>.seller-form{border:1px solid #dce2e8;border-radius:8px;left:auto;margin:0 auto 1rem;max-width:920px;min-height:auto;padding:2rem;transform:none;width:calc(100% - 4rem)}.site-nav{flex:0 1 auto;justify-content:flex-end}.filters{grid-template-columns:repeat(3,1fr)}.home-actions{grid-template-columns:max-content;justify-content:start}.hero-actions{grid-template-columns:max-content max-content}.landing-hero{grid-template-columns:minmax(0,560px) minmax(300px,430px);justify-content:center;padding:4.5rem 1rem}.landing-copy h1{font-size:2.5rem}.step-grid{grid-template-columns:repeat(3,1fr)}.vision-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-split{grid-template-columns:repeat(2,minmax(0,540px));justify-content:center}.landing-final{grid-template-columns:minmax(0,1fr) minmax(340px,.7fr)}.company-section{grid-template-columns:minmax(0,1fr) max-content}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.edit-grid{grid-template-columns:.6fr 1fr 1fr auto}.confirm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-card{grid-template-columns:120px minmax(0,1fr)}.candidate-card img,.inventory-card img,.image-fallback{width:120px}}
