:root{--ink:#10241e;--forest:#0b3027;--mint:#dcebe2;--paper:#f6f3ec;--white:#fff;--coral:#e8684a;--gold:#e5b84f;--line:#d9ddd6;--muted:#64736d;--shadow:0 18px 55px rgba(16,36,30,.09)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,32px);background:var(--forest);color:white;border-bottom:1px solid rgba(255,255,255,.13)}
.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;font:800 14px Manrope;letter-spacing:-1px}
.brand strong,.brand small{display:block}.brand strong{font:700 16px Manrope}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#a9c6ba;margin-top:2px}
.header-meta{font-size:12px;display:flex;gap:8px;align-items:center;color:#bdd2ca}.status-dot{width:7px;height:7px;border-radius:50%;background:#e9c660;box-shadow:0 0 0 4px rgba(233,198,96,.12)}
main{max-width:1500px;margin:auto;padding:0 max(4vw,24px) 70px}
.hero{min-height:310px;display:flex;align-items:center;justify-content:space-between;padding:45px 2vw;border-bottom:1px solid #d8d7d0}
.eyebrow{font:700 11px Manrope;letter-spacing:2.5px;color:var(--coral)}
h1{font:800 clamp(38px,5vw,68px)/.98 Manrope;margin:15px 0;color:var(--forest);letter-spacing:-3px}h1 em{font-style:normal;color:var(--coral)}
.hero p{max-width:590px;color:var(--muted);font-size:16px}
.quote-meta{background:#ece9e1;border:1px solid #dcdbd5;padding:20px;display:grid;gap:14px;min-width:250px}
.quote-meta label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.quote-meta input{display:block;width:100%;border:0;border-bottom:1px solid #bfc3bc;background:transparent;padding:8px 0 5px;font-weight:700;outline:none}
.workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(470px,.85fr);gap:22px;margin-top:24px;align-items:start}
.catalog-panel,.quote-panel,.packaging-section{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}
.catalog-panel{padding:28px}.quote-panel{padding:28px;position:sticky;top:18px}
.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.section-heading>div{display:flex;align-items:center;gap:12px}.section-heading h2{font:700 18px Manrope;margin:0}
.step{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:white;font:700 10px Manrope}.step.coral{background:var(--coral)}.step.gold{background:var(--gold);color:var(--forest)}
.muted{font-size:12px;color:var(--muted)}
.filters{display:grid;grid-template-columns:1fr 180px;gap:10px;margin-bottom:16px}
.search-box{display:flex;align-items:center;border:1px solid var(--line);padding:0 13px}.search-box svg{width:18px;fill:none;stroke:#718079;stroke-width:1.8}.search-box input{width:100%;border:0;outline:0;padding:12px;background:transparent}
.filters select{border:1px solid var(--line);background:#fafaf7;padding:0 12px;outline:0}
.table-wrap{min-height:534px}.catalog-table{width:100%;border-collapse:collapse;table-layout:fixed}.catalog-table th{text-align:left;text-transform:uppercase;font:700 9px Manrope;letter-spacing:1px;color:#82908a;padding:11px 8px;border-bottom:1px solid var(--line)}.catalog-table th:nth-child(1){width:36%}.catalog-table th:nth-child(2){width:18%}.catalog-table th:nth-child(3){width:13%}.catalog-table th:nth-child(4){width:18%;text-align:right}.catalog-table th:nth-child(5){width:15%}
.catalog-table td{border-bottom:1px solid #eceee9;padding:12px 8px;font-size:12px;vertical-align:middle}.catalog-table td:nth-child(4){text-align:right;font-weight:700}.ref strong,.ref small{display:block}.ref strong{font-size:13px}.ref small{margin-top:3px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.add-btn{border:1px solid var(--forest);background:transparent;color:var(--forest);width:32px;height:32px;border-radius:50%;font-size:18px;float:right;transition:.2s}.add-btn:hover{background:var(--forest);color:white;transform:rotate(90deg)}
.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:15px;font-size:11px;color:var(--muted)}.icon-btn{border:1px solid var(--line);background:white;width:32px;height:32px}.icon-btn:disabled{opacity:.3}
.text-btn{border:0;background:none;color:var(--coral);font-size:11px;font-weight:700}
.quote-items{display:grid;gap:10px;max-height:430px;overflow:auto}.quote-item{border:1px solid var(--line);padding:16px}.item-top{display:flex;justify-content:space-between;gap:10px}.item-top strong{font-size:14px}.item-top button{border:0;background:none;color:#9a4940}.item-details{display:grid;grid-template-columns:100px 115px minmax(120px,1fr);align-items:end;gap:12px;margin-top:14px}.qty-block>small,.unit-discount>small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-weight:700}.qty-control{display:grid;grid-template-columns:32px 1fr 32px;border:1px solid var(--line);height:46px}.qty-control button{border:0;background:#f0f2ed;font-size:20px;font-weight:600}.qty-control input{min-width:0;text-align:center;border:0;width:100%;outline:0;font-size:16px;font-weight:700}.unit-discount .input-suffix{height:46px;margin:0;border:2px solid var(--coral)}.unit-discount .input-suffix input{padding:8px 10px;font-size:16px;font-weight:700}.unit-discount .input-suffix span{padding:11px 10px;font-size:14px;color:var(--coral);font-weight:700}.line-total{text-align:right;background:#f1f6f2;border-left:3px solid var(--forest);padding:9px 11px}.line-total small{display:block;color:var(--muted);font-size:9px}.line-total span{display:block;color:var(--forest);font-size:8px;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.discounted-unit-price{display:block;color:var(--forest);font:800 18px Manrope;margin:2px 0 4px}
.empty-quote{text-align:center;padding:45px 10px;color:var(--muted)}.empty-quote span{display:grid;place-items:center;width:46px;height:46px;border:1px dashed #aab2ad;border-radius:50%;margin:0 auto 13px;font-size:22px}.empty-quote strong{display:block;color:var(--ink);font-size:13px}.empty-quote p{font-size:11px}
.adjustments{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-top:20px;display:grid;grid-template-columns:1.3fr .7fr;gap:12px}.adjustments label{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.input-group,.input-suffix{display:flex;margin-top:6px;border:1px solid var(--line);height:37px}.input-group input,.input-suffix input{min-width:0;width:100%;border:0;padding:8px;outline:0}.input-group select{border:0;border-left:1px solid var(--line);background:#f5f5f1}.input-suffix span{padding:9px}
.totals{padding:16px 0}.totals>div{display:flex;justify-content:space-between;padding:5px 0;font-size:12px}.totals .discount-row{color:var(--coral)}.totals .grand-total{border-top:1px solid var(--ink);margin-top:10px;padding-top:16px;font:700 16px Manrope}.grand-total strong{font-size:24px}
.primary-btn{width:100%;border:0;background:var(--forest);color:white;padding:15px 18px;display:flex;justify-content:space-between;font-weight:700;transition:.2s}.primary-btn:hover{background:#15483b}
.packaging-section{margin-top:22px;padding:28px}.packaging-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pack-card{border:1px solid var(--line);padding:16px;display:flex;gap:13px;align-items:center}.pack-icon{width:40px;height:40px;background:var(--mint);display:grid;place-items:center;font-size:19px}.pack-card strong,.pack-card small{display:block}.pack-card strong{font-size:12px}.pack-card small{font-size:10px;color:var(--muted);margin-top:4px}.packaging-empty{color:var(--muted);font-size:12px;padding:22px;border:1px dashed #c9cec8;text-align:center}
footer{background:var(--forest);color:#bcd0c8;padding:28px max(5vw,32px);display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;padding:12px 18px;font-size:12px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.empty{text-align:center;padding:80px 10px;color:var(--muted)}.hidden{display:none!important}
@media(max-width:1180px){.workspace{grid-template-columns:1fr}.quote-panel{position:static}.packaging-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.topbar{padding:0 18px}.header-meta{display:none}main{padding:0 12px 40px}.hero{display:block;padding:36px 8px}.quote-meta{margin-top:30px}.catalog-panel,.quote-panel,.packaging-section{padding:18px}.filters{grid-template-columns:1fr}.catalog-table th:nth-child(2),.catalog-table td:nth-child(2),.catalog-table th:nth-child(3),.catalog-table td:nth-child(3){display:none}.catalog-table th:nth-child(1){width:52%}.catalog-table th:nth-child(4){width:30%}.catalog-table th:nth-child(5){width:18%}.packaging-list{grid-template-columns:1fr}footer{display:grid;gap:8px}}
@media(max-width:520px){.item-details{grid-template-columns:1fr 1fr}.line-total{grid-column:1/-1;text-align:left}.discounted-unit-price{font-size:21px}}
@media print{.topbar,.catalog-panel,.primary-btn,.text-btn,.pagination{display:none!important}body,main{background:white;padding:0}.hero{min-height:auto}.workspace{display:block}.quote-panel{box-shadow:none;border:0}.packaging-section{box-shadow:none;break-before:page}footer{background:white;color:#333;border-top:1px solid #ccc}}
