:root{--ink:#152323;--deep:#123f42;--mint:#d8eee9;--paper:#f5f2ec;--line:#d9d6cf;--accent:#e56c35;--white:#fff;--muted:#6d7775;--shadow:0 14px 38px rgba(20,45,44,.09)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.35 Inter,Arial,sans-serif}.hidden{display:none!important}button,input,select,textarea{font:inherit}.shell{max-width:900px;margin:auto;min-height:100vh;padding:22px 18px 110px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}.brand{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--deep)}h1{font-size:31px;margin:4px 0 0;letter-spacing:-.03em}.pill{background:var(--mint);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800}.card{background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.setup{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px}.setup label,.comment label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--deep);box-shadow:0 0 0 3px rgba(18,63,66,.1)}fieldset{border:0;padding:0;margin:0;grid-column:1/-1}legend{font-size:13px;font-weight:800;color:var(--muted);margin-bottom:7px}.segments{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segments button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px;font-weight:800}.segments button.active{background:var(--deep);color:#fff;border-color:var(--deep)}.tools{display:grid;grid-template-columns:1fr auto;gap:10px;margin:22px 0}.ghost{border:1px solid var(--line);background:transparent;border-radius:12px;padding:0 16px;font-weight:800}.ghost.active{background:var(--mint);border-color:var(--deep)}.catalog-section{margin:28px 0}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-title>div{display:flex;align-items:center;gap:10px}.section-title span{font-size:12px;color:var(--accent);font-weight:900}.section-title h2{margin:0;font-size:23px}.section-title b{font-size:13px;color:var(--muted)}.product-list{display:grid;gap:9px}.product-row{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 94px 94px;gap:10px;align-items:center}.product-row.filled{border-color:#75a89d;box-shadow:0 0 0 2px rgba(117,168,157,.15)}.product-name{font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-meta{font-size:12px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qty label{display:block;text-align:center;font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.qty input{text-align:center;padding:10px 4px;font-weight:900;font-size:18px}.comment{padding:16px}.sticky{position:fixed;z-index:10;left:50%;bottom:14px;transform:translateX(-50%);width:min(864px,calc(100% - 28px));background:rgba(18,63,66,.96);color:#fff;padding:13px 14px 13px 19px;border-radius:19px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 18px 50px rgba(0,0,0,.2);backdrop-filter:blur(12px)}.sticky small{display:block;opacity:.7}.sticky strong{display:block}.primary{border:0;border-radius:13px;background:var(--accent);color:white;padding:14px 20px;font-weight:900;cursor:pointer}.primary:disabled{opacity:.35}.wide{width:100%;font-size:17px}.bottom-space{height:30px}.back{border:0;background:transparent;padding:4px 0;color:var(--deep);font-weight:800}.review-head{margin:24px 0}.eyebrow{font-size:12px;font-weight:900;color:var(--accent);letter-spacing:.14em}.review-head h2,.done h2{font-size:34px;letter-spacing:-.04em;margin:6px 0}.review-head p,.done p{color:var(--muted)}.review-list{display:grid;gap:10px;margin-bottom:14px}.review-group{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.review-group h3{margin:0;padding:12px 15px;background:var(--mint);font-size:14px}.review-line{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 15px;border-top:1px solid var(--line)}.review-line small{display:block;color:var(--muted)}.review-line strong{font-size:18px}.review-total{display:flex;justify-content:space-between;padding:18px;margin:14px 0 18px}.hint{text-align:center;color:var(--muted);font-size:12px}.done{text-align:center;padding:80px 20px}.done-mark{width:76px;height:76px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;background:var(--mint);color:var(--deep);font-size:38px;font-weight:900}.toast{position:fixed;z-index:30;bottom:20px;left:50%;transform:translateX(-50%);background:#2b2422;color:#fff;padding:14px 18px;border-radius:12px;max-width:calc(100% - 30px);box-shadow:var(--shadow)}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(390px,100%);background:#fff;border-radius:24px;padding:30px;box-shadow:var(--shadow)}.login-card h1{margin:7px 0}.login-card p{color:var(--muted)}.login-card .primary{width:100%;margin-top:12px}.error{color:#b43b2f;font-size:13px;margin-top:10px}.skeleton{color:var(--muted);padding:20px;background:#fff;border-radius:16px}
.section-help{margin:-2px 0 12px;color:var(--muted);font-size:13px}.custom-list{display:grid;gap:10px}.custom-row{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:1fr 1fr 1fr 110px;gap:10px}.custom-row.filled{border-color:#75a89d;box-shadow:0 0 0 2px rgba(117,168,157,.15)}.custom-field{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.custom-field input,.custom-field select,.custom-field textarea{font-size:15px;text-transform:none;font-weight:500;padding:10px}.custom-field.comment-field{grid-column:1/-1}.custom-field textarea{resize:vertical;min-height:48px}.remove-custom{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:50%;background:#f4ece8;color:#854638;font-size:18px;line-height:1;cursor:pointer}.add-custom{width:100%;margin-top:10px;border:1px dashed #75a89d;background:var(--mint);color:var(--deep);border-radius:14px;padding:14px;font-weight:900;cursor:pointer}
@media(max-width:640px){.shell{padding:18px 12px 105px}.setup{grid-template-columns:1fr}.setup fieldset{grid-column:auto}.tools{grid-template-columns:1fr}.ghost{padding:11px}.product-row{grid-template-columns:minmax(0,1fr) 74px 74px;padding:12px 10px;gap:7px}.qty input{font-size:17px}.product-name{font-size:14px}.topbar h1{font-size:27px}.sticky .primary{padding:12px 14px}.review-head h2,.done h2{font-size:30px}.custom-row{grid-template-columns:1fr 1fr;padding:12px 10px}.custom-field.qty-field,.custom-field.comment-field{grid-column:1/-1}.remove-custom{right:6px;top:6px}}
.product-list{gap:10px}.family-group{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.45);overflow:hidden}.family-title{width:100%;border:0;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;text-align:left;padding:14px 15px;background:var(--mint);color:var(--ink);cursor:pointer}.family-title h3{margin:0;font-size:16px}.family-title span{display:grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:#fff;color:var(--deep);font-size:12px;font-weight:900}.family-title i{font-style:normal;font-size:22px;transition:transform .2s}.family-group.open .family-title i{transform:rotate(180deg)}.family-items{display:none;gap:8px;padding:8px}.family-group.open .family-items{display:grid}.family-items .product-row{border-radius:13px}
.top-meta{display:flex;align-items:center;gap:10px}.employee-badge{display:flex;flex-direction:column;align-items:flex-end}.employee-badge small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.employee-badge strong{font-size:16px;color:var(--deep)}.setup{grid-template-columns:1fr}
