: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:125px minmax(170px,1fr);align-items:end;gap:14px;margin-top:14px}.qty-block>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:38px 1fr 38px;border:1px solid var(--line);height:50px}.qty-control button{border:0;background:#f0f2ed;font-size:21px;font-weight:600}.qty-control input{min-width:0;text-align:center;border:0;width:100%;outline:0;font-size:18px;font-weight:700}.line-total{text-align:right;background:#f1f6f2;border-left:3px solid var(--forest);padding:10px 13px}.line-total small{display:block;color:var(--muted);font-size:10px}.line-total span{display:block;color:var(--forest);font-size:9px;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.discounted-unit-price{display:block;color:var(--forest);font:800 20px 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)}
.mobile-quote-button{display:none}
.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:700px){
  body{padding-bottom:76px}
  .topbar{height:66px;padding:0 16px}.header-meta{display:none}.brand-mark{width:38px;height:38px}.brand strong{font-size:14px}
  main{padding:0 10px 30px}.hero{display:block;min-height:auto;padding:28px 8px 24px}.hero h1{font-size:37px;letter-spacing:-2px;margin:11px 0}.hero p{font-size:14px;line-height:1.5}.quote-meta{margin-top:22px;min-width:0;padding:15px;grid-template-columns:1fr 1fr;gap:12px}
  .workspace{gap:12px;margin-top:12px}.catalog-panel,.quote-panel,.packaging-section{padding:16px;border-radius:2px}.section-heading{margin-bottom:16px}.section-heading h2{font-size:16px}.section-heading .muted{font-size:10px}
  .filters{grid-template-columns:1fr;gap:8px}.search-box{height:48px}.filters select{height:48px;width:100%}
  .table-wrap{min-height:0}.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:50%}.catalog-table th:nth-child(4){width:32%}.catalog-table th:nth-child(5){width:18%}.catalog-table th{padding:10px 5px}.catalog-table td{padding:13px 5px}.ref strong{font-size:12px}.ref small{font-size:9px}.add-btn{width:42px;height:42px;font-size:22px}
  .pagination{margin-top:18px}.icon-btn{width:44px;height:44px}
  .quote-items{max-height:none}.quote-item{padding:14px}.item-details{grid-template-columns:1fr;gap:10px}.qty-control{height:52px;grid-template-columns:48px 1fr 48px}.qty-control button{font-size:24px}.qty-control input{font-size:19px}.line-total{grid-column:1;text-align:left;padding:12px 14px}.discounted-unit-price{font-size:23px}
  .adjustments{grid-template-columns:1fr;margin-top:16px}.adjustments .input-group,.adjustments .input-suffix{height:50px}.adjustments input,.adjustments select{font-size:16px}.totals>div{font-size:13px;padding:7px 0}.totals .grand-total{align-items:center}.grand-total strong{font-size:25px}.primary-btn{min-height:52px;font-size:14px}
  .packaging-list{grid-template-columns:1fr}.pack-card{padding:13px}
  footer{display:grid;gap:8px;padding:24px 18px 90px}
  .mobile-quote-button{position:fixed;z-index:20;display:flex;align-items:center;justify-content:space-between;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:54px;padding:0 18px;border:0;border-radius:4px;background:var(--forest);color:white;box-shadow:0 12px 30px rgba(11,48,39,.35);font-weight:700;transform:translateY(80px);opacity:0;transition:.25s}.mobile-quote-button.has-items{transform:translateY(0);opacity:1}.mobile-quote-button strong{display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:50%;background:var(--coral);font-size:12px}
  .toast{bottom:82px;width:max-content;max-width:calc(100% - 28px);text-align:center}
}
@media(max-width:390px){.hero h1{font-size:32px}.quote-meta{grid-template-columns:1fr}.catalog-panel,.quote-panel,.packaging-section{padding:13px}.catalog-table th:nth-child(4){width:34%}.catalog-table th:nth-child(5){width:18%}}
@media print{.topbar,.catalog-panel,.primary-btn,.text-btn,.pagination,.mobile-quote-button{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}}
