*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f6f8;color:#17202a}button,input,select{font:inherit}button{cursor:pointer}.app{max-width:1440px;margin:0 auto;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.brand{font-size:28px;font-weight:800;letter-spacing:-.04em}.brand span{font-weight:500;color:#6b7280}.topbar p{margin:5px 0 0;color:#697386;font-size:14px}.top-actions{display:flex;gap:8px;flex-wrap:wrap}.layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.75fr);gap:18px;align-items:start}.main-column,.result-column{display:grid;gap:16px}.card,.result-card{background:#fff;border:1px solid #e3e7ec;border-radius:16px;padding:20px}.result-column{position:sticky;top:16px}.result-card{background:#111827;color:#fff;border-color:#111827}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.section-head h2{font-size:16px;margin:0 0 4px}.section-head p{margin:0;color:#7a8492;font-size:13px}.result-card .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#aeb7c5}.hero-price{font-size:42px;font-weight:800;letter-spacing:-.05em;margin:6px 0 12px;overflow-wrap:anywhere}.status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:700}.status.good{background:#dcfce7;color:#166534}.status.warn{background:#fef3c7;color:#92400e}.status.bad{background:#fee2e2;color:#991b1b}.status.neutral{background:#e5e7eb;color:#374151}.result-actions{margin-top:18px}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:700;background:#e8edf2;color:#18212b}.btn.primary{background:#fff;color:#111827;width:100%}.btn.secondary{background:#111827;color:#fff}.btn.ghost{background:transparent;border:1px solid #d8dde4}.btn.small{padding:8px 10px;font-size:12px}.btn.tiny{padding:6px 9px;font-size:11px}.badge{background:#eef2f7;color:#364152;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.compact{margin-top:16px}.grid label,label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#495465;min-width:0}input,select{width:100%;border:1px solid #d8dee6;background:#fff;color:#17202a;border-radius:10px;padding:11px 12px;min-height:44px;outline:none}input:focus,select:focus{border-color:#667085;box-shadow:0 0 0 3px #eef2f6}.inline-inputs{display:flex;align-items:center;gap:7px}.inline-inputs input{min-width:0}.inline-inputs span{font-size:12px;color:#7a8492}.material-row,.extra-row,.printer-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #edf0f3}.material-row:first-child,.extra-row:first-child,.printer-row:first-child{padding-top:0}.remove{background:#fff;border:1px solid #e1e5ea;border-radius:9px;padding:10px 12px;color:#8b1e1e}.breakdown-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #edf0f3;font-size:13px}.breakdown-row.total{font-weight:800;border-bottom:0;padding-top:13px}.breakdown-row .muted{color:#7a8492}.scenario{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid #edf0f3;font-size:13px}.scenario strong{font-size:14px}.simulation{margin-top:14px;background:#f7f8fa;border-radius:12px;padding:14px}.simulation strong{font-size:22px}.empty{padding:12px 0;color:#7a8492;font-size:13px}.history-item{padding:10px 0;border-bottom:1px solid #edf0f3}.history-item:last-child{border-bottom:0}.history-title{font-weight:700;font-size:13px}.history-meta{color:#7a8492;font-size:11px;margin-top:3px}footer{display:flex;justify-content:space-between;gap:10px;color:#8a93a0;font-size:12px;padding:22px 2px}@media(max-width:1000px){.layout{grid-template-columns:1fr}.result-column{position:static}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.app{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.grid.three,.grid.two,.grid.four{grid-template-columns:1fr}.material-row,.extra-row,.printer-row{grid-template-columns:1fr 1fr}.material-row .remove,.extra-row .remove,.printer-row .remove{grid-column:2}.hero-price{font-size:36px}footer{flex-direction:column}}

.history-actions{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}


.pro-card{background:#fff;border:1px solid #dfe5ec;border-radius:16px;padding:20px;overflow:hidden}.pro-content{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}.pro-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#f1f5f9;font-size:21px}.pro-icon.active{background:#dcfce7;color:#166534;font-size:20px;font-weight:800}.pro-kicker{font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.pro-kicker span{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:999px;background:#eaf2ff;color:#1677ff;font-size:10px;letter-spacing:.05em}.pro-copy h3{margin:4px 0 5px;font-size:17px;letter-spacing:-.02em}.pro-copy p{margin:0;color:#697386;font-size:13px;line-height:1.5}.pro-features{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.pro-features span{font-size:11px;font-weight:700;color:#4b5563;background:#f7f8fa;border:1px solid #e9edf2;border-radius:999px;padding:5px 8px}.pro-action{min-width:150px;text-align:right}.pro-price-note{font-size:11px;color:#7a8492;margin-bottom:8px}.pro-price-note strong{font-size:14px;color:#17202a}.pro-price-note small{font-size:11px}.pro-action .primary-btn{background:#1677ff;color:#fff;border:0}.pro-management{display:flex;flex-direction:column;gap:8px;align-items:stretch}.pro-management .btn{white-space:nowrap}.btn.danger{color:#9b1c1c;border-color:#f0caca;background:#fff}.pro-period{font-size:11px;color:#7a8492;margin-top:8px}@media(max-width:700px){.pro-content{grid-template-columns:auto 1fr}.pro-action{grid-column:1/-1;text-align:left;min-width:0}.pro-management{flex-direction:row;flex-wrap:wrap}.pro-management .btn{flex:1}.pro-price-note{margin-bottom:7px}}

/* PRO checkout modal */
.modal-backdrop{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.modal-backdrop[hidden]{display:none!important}
.modal{position:relative;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:32px;box-shadow:0 24px 70px rgba(15,23,42,.28);color:#17202a}
.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid #e2e8f0;border-radius:50%;background:#f8fafc;color:#64748b;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:.2s ease}
.modal-close:hover{background:#eef4ff;border-color:#1677ff;color:#1677ff;transform:rotate(90deg)}
.pro-crown{width:58px;height:58px;margin:0 auto 14px;border-radius:17px;background:#f1f5f9;display:grid;place-items:center;font-size:28px}
.modal h2{text-align:center;margin:0;font-size:25px;letter-spacing:-.03em}
.modal>p{text-align:center;margin:8px auto 22px;max-width:390px;color:#697386;font-size:14px;line-height:1.55}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}
.plan{border:1px solid #dce2ea;background:#fff;border-radius:14px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:5px;transition:all .2s ease;color:#17202a;cursor:pointer}
.plan strong{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.plan span{font-size:22px;font-weight:800;letter-spacing:-.03em}
.plan small{color:#7a8492;font-size:11px}
.plan:hover{border-color:#1677ff;background:#f4f8ff;box-shadow:0 0 0 1px #1677ff;transform:translateY(-2px)}
.pro-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.pro-list li{position:relative;padding-left:24px;color:#495465;font-size:13px}
.pro-list li::before{content:"✓";position:absolute;left:0;top:0;color:#1677ff;font-weight:800}
.modal>p:last-child{margin-top:22px;margin-bottom:0;font-size:11px;color:#8a94a3}
@media(max-width:520px){.modal{padding:28px 20px;border-radius:18px}.plans{grid-template-columns:1fr}.modal h2{font-size:22px}}
