:root{--ink:#17221d;--muted:#69746e;--paper:#f6f4ee;--card:#fffdf8;--line:#dedbd1;--green:#174f3c;--green-2:#2d765c;--lime:#d5e56d;--blue:#dcecef;--red:#9c352c}*{box-sizing:border-box}html{background:var(--paper)}body{background:radial-gradient(circle at 90% 10%, #d5e56d33, transparent 25rem), linear-gradient(180deg, #fbfaf6 0, var(--paper) 34rem);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}button,input{font:inherit}button{cursor:pointer}main{min-height:100vh}.topbar{align-items:center;gap:12px;max-width:1180px;margin:auto;padding:28px 24px;display:flex}.brandMark{color:#fff;background:var(--green);border-radius:12px;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:24px;font-weight:700;display:grid}.topbar strong,.topbar span{display:block}.topbar strong{letter-spacing:-.01em;font-size:15px}.topbar span{color:var(--muted);margin-top:2px;font-size:12px}.privacy{color:#4d5d54;background:#ffffffb3;border:1px solid #d7dfd6;border-radius:999px;margin-left:auto;padding:8px 12px;font-size:12px}.privacy i{background:#4c9b73;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.hero{text-align:center;max-width:980px;margin:52px auto 50px;padding:0 24px}.eyebrow{color:var(--green-2);letter-spacing:.18em;font-size:11px;font-weight:800}.hero h1{letter-spacing:-.045em;margin:15px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,72px);font-weight:500;line-height:.98}.hero p{max-width:670px;color:var(--muted);margin:auto;font-size:16px;line-height:1.65}.workspace{grid-template-columns:1.08fr .92fr;gap:22px;max-width:1180px;margin:auto;padding:0 24px;display:grid}.panel,.solution,.results{border:1px solid var(--line);background:#fffdf8eb;border-radius:20px;box-shadow:0 16px 44px #2f37320f}.panel{padding:28px}.stepHeading{align-items:center;gap:14px;margin-bottom:24px;display:flex}.stepHeading>span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-family:Georgia,serif;display:grid}.stepHeading h2{margin:0;font-size:18px}.stepHeading p{color:var(--muted);margin:4px 0 0;font-size:12px}.dropzone{text-align:center;background:#f8faf5;border:1.5px dashed #aab5ad;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-height:258px;padding:30px;transition:all .2s;display:flex}.dropzone:hover,.dropzone.dragging{border-color:var(--green-2);background:#f1f7ed;transform:translateY(-1px)}.dropzone.loaded{border-style:solid;border-color:#acc9b8}.dropzone input{display:none}.dropzone strong{overflow-wrap:anywhere;max-width:90%;font-size:15px}.dropzone span{color:var(--muted);margin:7px 0 18px;font-size:12px}.uploadIcon{background:var(--blue);width:48px;height:48px;color:var(--green);border-radius:14px;place-items:center;margin-bottom:16px;font-size:22px;font-weight:800;display:grid}.dropzone button{color:var(--ink);background:#fff;border:1px solid #bdc7bf;border-radius:9px;padding:10px 17px;font-size:12px;font-weight:700}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.stats div{background:#f1f0ea;border-radius:10px;padding:13px}.stats strong,.stats span{display:block}.stats strong{font-family:Georgia,serif;font-size:20px}.stats span{color:var(--muted);margin-top:3px;font-size:10px}.stats .filteredStat{background:#fff0dd}.stats .filteredStat strong{color:#9a5a16}form label{color:#46524b;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.amountField{position:relative}.amountField input{width:100%;height:64px;color:var(--ink);background:#fff;border:1px solid #b9c0ba;border-radius:12px;outline:none;padding:0 75px 0 18px;font-family:Georgia,serif;font-size:28px}.amountField input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #2d765c1f}.amountField span{color:var(--muted);font-size:12px;font-weight:800;position:absolute;top:23px;right:18px}.searchButton{background:var(--green);color:#fff;border:0;border-radius:12px;width:100%;height:54px;margin-top:12px;font-weight:750;transition:all .2s}.searchButton b{float:right;margin-right:18px;font-size:20px;line-height:16px}.searchButton:hover:not(:disabled){background:#0e3f2e;transform:translateY(-1px)}.searchButton:disabled{opacity:.42;cursor:not-allowed}.rules{background:#eef3e9;border-radius:13px;margin-top:25px;padding:18px 19px}.rules strong{font-size:12px}.rules ul{color:var(--muted);grid-template-columns:1fr 1fr;gap:9px 18px;margin:12px 0 0;padding:0;font-size:11px;list-style:none;display:grid}.rules li:before{content:"✓";color:var(--green-2);margin-right:7px;font-weight:900}.message{border-radius:11px;max-width:1132px;margin:20px auto 0;padding:14px 18px;font-size:13px}.message.error{color:var(--red);background:#fff0ed;border:1px solid #e4bab5}.results{max-width:1132px;margin:22px auto 0;padding:30px}.resultsHeader{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.resultsHeader h2{margin:7px 0 0;font-family:Georgia,serif;font-size:30px;font-weight:500}.target{text-align:right}.target span,.target strong{display:block}.target span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.target strong{margin-top:3px;font-family:Georgia,serif;font-size:22px}.solutionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.solution{box-shadow:none;overflow:hidden}.solutionTitle{background:var(--green);color:#fff;justify-content:space-between;padding:14px 16px;display:flex}.solutionTitle span{font-size:13px;font-weight:800}.solutionTitle b{color:#cbe5d7;font-size:11px}.items{padding:8px 16px}.resultItem{border-bottom:1px solid #e9e6df;grid-template-columns:38px minmax(95px,1fr) 66px 82px 58px 78px;align-items:center;gap:8px;padding:13px 0;display:grid}.resultItem:last-child{border-bottom:0}.bLabel{background:var(--lime);border-radius:9px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:900;display:grid}.product{min-width:0}.product strong,.product span,.stock span,.stock strong,.unitPrice span,.unitPrice strong,.usage span,.usage strong,.value span,.value strong{display:block}.product strong{font-size:12px}.product span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.stock,.unitPrice,.usage,.value{text-align:right}.stock span,.unitPrice span,.usage span,.value span{color:var(--muted);font-size:8px;line-height:1.15}.stock strong,.unitPrice strong,.usage strong,.value strong{white-space:nowrap;margin-top:4px;font-size:10px}.equation{background:#f1f0ea;justify-content:space-between;gap:10px;padding:14px 16px;display:flex}.equation span{color:var(--muted);font-size:10px}.equation strong{text-align:right;font-family:Georgia,serif;font-size:14px}.approveButton{background:var(--lime);color:#25301d;border:0;border-radius:9px;width:calc(100% - 32px);min-height:42px;margin:0 16px 16px;font-size:11px;font-weight:900}.approveButton:hover{background:#c6db4f}.emptyResult{color:var(--muted);text-align:center;background:#faf8f2;border:1px dashed #c8c3b9;border-radius:14px;padding:30px;line-height:1.6}.nextActions{align-items:center;gap:16px;margin-top:18px;display:flex}.nextActions button{border:1px solid var(--green);min-height:44px;color:var(--green);background:0 0;border-radius:10px;padding:0 18px;font-size:12px;font-weight:800}.nextActions button:hover{background:#eef3e9}.nextActions button b{margin-left:9px;font-size:16px}.nextActions span{color:var(--muted);font-size:11px}.sessionSummary{background:#eef3e9;border:1px solid #b9cbbc;border-radius:20px;max-width:1132px;margin:22px auto 0;padding:30px;box-shadow:0 16px 44px #2f37320f}.sessionHeader{justify-content:space-between;align-items:center;gap:20px;display:flex}.sessionHeader h2{margin:7px 0 0;font-family:Georgia,serif;font-size:28px;font-weight:500}.sessionHeader p{color:var(--muted);margin:7px 0 0;font-size:11px}.sessionCount{text-align:right}.sessionCount strong,.sessionCount span{display:block}.sessionCount strong{font-family:Georgia,serif;font-size:30px}.sessionCount span{color:var(--muted);font-size:10px}.totalCards{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.totalCards div{background:#fffdf8;border:1px solid #d0ddcf;border-radius:13px;padding:18px}.totalCards span,.totalCards strong{display:block}.totalCards span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.totalCards strong{margin-top:7px;font-family:Georgia,serif;font-size:24px}.sessionActions{gap:10px;margin-top:16px;display:flex}.sessionActions button{border-radius:10px;min-height:46px;padding:0 18px;font-size:11px;font-weight:850}.reportButton{background:var(--green);color:#fff;border:0}.reportButton:hover{background:#0e3f2e}.xmlButton{border:1px solid var(--green);color:var(--green);background:0 0}.xmlButton:hover{background:#e5eee1}footer{border-top:1px solid var(--line);max-width:1132px;color:var(--muted);align-items:center;gap:18px;margin:42px auto 0;padding:22px 0 32px;font-size:11px;display:flex}footer>span{color:var(--ink);font-weight:800}footer p{margin:0}footer small{margin-left:auto}@media (max-width:820px){.hero{margin-top:34px}.workspace,.solutionGrid{grid-template-columns:1fr}.workspace{padding:0 16px}.results,.sessionSummary{margin-left:16px;margin-right:16px;padding:20px}.resultItem{grid-template-columns:38px minmax(120px,1fr) 72px 88px 64px 82px}footer{margin-left:16px;margin-right:16px}}@media (max-width:560px){.privacy{display:none}.topbar{padding:20px 16px}.hero{padding:0 16px}.hero h1{font-size:42px}.panel{padding:20px}.stats,.rules ul{grid-template-columns:1fr}.resultsHeader{flex-direction:column;align-items:start}.target{text-align:left}.resultItem{grid-template-columns:38px minmax(0,1fr) 72px 82px}.stock,.unitPrice{text-align:left;grid-row:2;margin-top:7px}.stock{grid-column:2}.unitPrice{text-align:right;grid-column:3/5}.usage{display:none}.nextActions{flex-direction:column;align-items:stretch}.sessionHeader{flex-direction:column;align-items:flex-start}.sessionCount{text-align:left}.totalCards{grid-template-columns:1fr}.sessionActions{flex-direction:column}footer{flex-direction:column;align-items:flex-start;gap:7px}footer small{margin-left:0}}
