:root { color-scheme:light; --ink:#242424; --muted:#777; --green:#1e5a46; --green-2:#2e7d60; --line:#e5e5e5; --gold:#d39b37; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#f7f7f7; }
button,input { font:inherit; }
button { cursor:pointer; }
header { position:sticky; top:0; z-index:20; min-height:68px; display:flex; align-items:center; gap:9px; padding:10px clamp(14px,3vw,48px); background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; gap:9px; margin-right:auto; color:inherit; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:linear-gradient(145deg,#2f8063,#174b3a); color:white; font:800 22px Georgia,serif; }
.brand strong,.brand span { display:block; }.brand strong{letter-spacing:.1em;font-size:14px}.brand span{font-size:10px;color:var(--muted);margin-top:1px}
nav { display:flex; gap:4px; padding:4px; background:#f0f2f0; border-radius:12px; }
nav button { border:0; background:transparent; color:#59615d; padding:8px 12px; border-radius:9px; font-weight:750; font-size:13px; }
nav button.active { background:white; color:var(--green); box-shadow:0 2px 8px #23443516; }
nav b { display:inline-grid; place-items:center; min-width:19px; height:19px; padding:0 5px; margin-left:3px; border-radius:20px; color:white; background:var(--green); font-size:10px; }
.admin-link { color:#4d5c55; text-decoration:none; border:1px solid var(--line); border-radius:11px; padding:9px 12px; font-size:12px; font-weight:750; background:white; }
.admin-link:hover { color:var(--green); border-color:#9eb9ad; }
.account-pill { max-width:145px; min-width:98px; overflow:hidden; border:1px solid #cfdbd5; background:white; color:var(--green); border-radius:11px; padding:6px 11px; text-align:left; }.account-pill span,.account-pill small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-pill span{font-size:12px;font-weight:800}.account-pill small{margin-top:1px;color:var(--muted);font-size:9px}.account-pill.signed-in{background:#edf4f0;border-color:#b8cec3}
.basket-switcher { max-width:145px; min-width:110px; overflow:hidden; border:1px solid #96b6a7; background:#edf5f1; color:var(--green); border-radius:11px; padding:6px 11px; text-align:left; }.basket-switcher span,.basket-switcher small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basket-switcher span{font-size:12px;font-weight:850}.basket-switcher small{margin-top:1px;color:#71847a;font-size:9px}
.cart-pill { min-width:126px; border:0; color:white; background:var(--green); border-radius:12px; padding:7px 13px; text-align:right; box-shadow:0 6px 18px #16483525; }.cart-pill span,.cart-pill strong{display:block}.cart-pill span{font-size:10px;opacity:.75}.cart-pill strong{margin-top:1px;font-size:13px}
main { max-width:1600px; margin:auto; padding:27px clamp(10px,3vw,48px) 65px; }
.toolbar,.order-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:8px; }
.section-kicker,.eyebrow { color:var(--green-2); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
h2 { margin:3px 0 0; font:700 clamp(26px,3vw,40px) Georgia,serif; letter-spacing:-.025em; }
.search { width:min(390px,100%); }.search span{display:block;font-size:11px;font-weight:700;margin:0 0 5px}.search input{width:100%;border:1px solid #d3d8d5;background:white;border-radius:12px;padding:11px 14px;outline:none;font-size:13px}.search input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2e7d6018}
.result-count { margin:13px 0; color:var(--muted); font-size:12px; }
.products { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px 10px; }
.product-card { min-width:0; overflow:hidden; background:white; border:1px solid transparent; border-radius:14px; padding:7px; transition:.18s ease; }
.product-card:hover,.product-card.is-selected { border-color:#c5d4cd; box-shadow:0 7px 22px #23352d12; transform:translateY(-2px); }.product-card.is-selected{box-shadow:inset 0 -3px var(--green),0 7px 22px #23352d12}
.photo-wrap { position:relative; display:grid; place-items:center; width:100%; aspect-ratio:1/1; padding:8px; overflow:hidden; background:#f1f1ef; border:0; border-radius:11px; cursor:zoom-in; }.photo-wrap img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.photo-wrap:focus-visible,.order-photo:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.selected-badge { position:absolute; right:7px; top:7px; display:grid; place-items:center; min-width:25px; height:25px; padding:0 6px; border-radius:20px; color:white; background:var(--green); font-size:11px; font-weight:800; box-shadow:0 3px 10px #14392d55; }
.product-info { padding:8px 3px 5px; min-width:0; }
.product-info .price { font-size:17px; font-weight:850; color:#171717; white-space:nowrap; }.price span{font-size:9px;color:var(--muted);font-weight:500}
.product-info h3,.order-row h3 { margin:5px 0 1px; font-size:12px; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.model{font-weight:650;color:#656d69;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-info .eyebrow{margin-top:5px;color:#8b928e;font-size:8px}.product-info p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:30px;margin:5px 0 0;color:#858585;font-size:9px;line-height:1.55}
.buy-box { padding:2px 3px 3px; }.add-button{width:100%;height:33px;border:0;border-radius:9px;background:var(--green);color:white;font-size:11px;font-weight:850;box-shadow:0 4px 11px #1e5a4628}.add-button:hover{background:#174a3a}.stepper{display:grid;grid-template-columns:32px 1fr 32px;height:33px;border:1px solid #c8d2cd;border-radius:9px;overflow:hidden}.active-stepper{border-color:var(--green);box-shadow:0 3px 10px #1e5a461b}.stepper button{border:0;background:#e4f0ea;color:var(--green);font-size:18px;font-weight:650}.stepper button:hover{background:#cee3d8}.stepper input{min-width:0;width:100%;border:0;text-align:center;font-weight:850;font-size:11px;color:var(--green);outline:none;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}
.order-head p{color:var(--muted);margin:7px 0 0}.ghost{border:1px solid var(--line);background:white;border-radius:11px;padding:10px 14px}.danger{color:#a33c32}.order-list{margin-top:23px;display:grid;gap:8px;padding-right:360px}.order-row{position:relative;display:grid;grid-template-columns:72px 1fr 170px;gap:16px;align-items:center;background:white;border:1px solid var(--line);border-radius:15px;padding:10px 44px 10px 10px}.order-photo{display:grid;place-items:center;width:72px;height:64px;padding:4px;border:0;background:#f2f2ef;border-radius:10px;cursor:zoom-in}.order-photo img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.order-row h3{font-size:15px;white-space:normal}.order-row p{margin:2px 0;color:var(--muted);font-size:12px}.order-price{text-align:right}.order-price span,.order-price strong{display:block}.order-price span{font-size:11px;color:var(--muted)}.order-price strong{font-size:17px;margin-top:3px}.remove{position:absolute;right:12px;top:50%;translate:0 -50%;border:0;background:#f5ecea;color:#a33c32;width:27px;height:27px;border-radius:50%;font-size:18px}
.order-head-actions{display:flex;gap:8px}
.image-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:clamp(18px,4vw,52px);background:rgba(8,18,15,.88);backdrop-filter:blur(8px);cursor:zoom-out}.image-modal img{display:block;width:min(1100px,92vw);height:min(820px,86vh);object-fit:contain;background:white;border-radius:18px;box-shadow:0 25px 80px #0008}.modal-close{position:fixed;top:22px;right:26px;z-index:101;display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff18;color:white;font-size:32px;line-height:1}
.summary { position:fixed; right:clamp(18px,4vw,62px); top:150px; width:310px; background:#18312b; color:white; border-radius:21px; padding:22px; box-shadow:0 20px 55px #173c3238; }.summary>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ffffff18}.summary span{color:#cbd6d1}.summary .discount strong{color:#e8bc65}.summary .grand-total{border:0;padding:20px 0 4px}.summary .grand-total span{font-size:15px}.summary .grand-total strong{font:700 28px Georgia,serif}.summary button,.empty-order button{width:100%;border:0;background:var(--gold);color:#2f2716;font-weight:800;border-radius:12px;padding:13px;margin-top:16px}
.empty-order,.empty { grid-column:1/-1; text-align:center;background:white;border:1px dashed #bdcbc3;border-radius:20px;padding:70px 30px;color:var(--muted) }.empty-order{max-width:700px;margin:70px auto}.empty-order h2{color:var(--ink);font-size:32px}.empty-order button{width:auto;padding:13px 24px}.empty-icon{display:grid;place-items:center;margin:auto;width:64px;height:64px;border-radius:20px;background:#edf3ef;color:var(--green);font-size:24px;font-weight:800}
footer { padding:20px; text-align:center; color:var(--muted); border-top:1px solid var(--line); background:white; font-size:11px; }
.registration-hint { display:flex; align-items:center; gap:9px; margin:14px 0 8px; padding:10px 12px; border:1px solid #c9dbd2; border-radius:12px; background:#edf5f1; color:var(--green); font-size:11px; }.registration-hint span{color:#6e7c75}.registration-hint button{margin-left:auto;border:0;border-radius:9px;padding:8px 11px;background:var(--green);color:white;font-size:10px;font-weight:800}
.plain-link { display:block!important; margin:10px auto 0!important; padding:5px!important; background:transparent!important; color:var(--green)!important; text-decoration:underline; }
.applications-head { margin-bottom:22px; }.applications-head p{max-width:690px;margin:9px 0 0;color:var(--muted);line-height:1.5}
.application-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.application-card { display:grid; grid-template-columns:42px 1fr auto; gap:2px 10px; align-items:center; min-width:0; padding:12px; border:1px solid var(--line); border-radius:14px; background:white; color:var(--ink); text-align:left; transition:.16s ease; }.application-card:hover,.application-card.active{border-color:#8eb2a1;box-shadow:0 7px 20px #1f4a3814;transform:translateY(-1px)}.application-avatar{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e3efe9;color:var(--green);font:800 18px Georgia,serif}.application-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:850}.application-card small{grid-column:2;color:var(--muted);font-size:9px}.application-card strong{grid-column:3;grid-row:1/3;color:var(--green);font-size:12px;white-space:nowrap}
.public-application-details { margin-top:24px; padding:clamp(15px,3vw,28px); border:1px solid #cbd8d1; border-radius:20px; background:white; box-shadow:0 12px 35px #18312b10; scroll-margin-top:100px; }.public-details-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.public-details-head h2{font-size:32px}.public-items{display:grid;gap:7px;margin-top:21px}.public-item{display:grid;grid-template-columns:54px minmax(0,1fr) 110px 130px;gap:12px;align-items:center;padding:7px;border-top:1px solid #edf0ee}.public-item:first-child{border-top:0}.public-item img{width:54px;height:50px;padding:4px;object-fit:contain;background:#f1f2f0;border-radius:8px;mix-blend-mode:multiply}.public-item div strong,.public-item div span{display:block}.public-item div strong{font-size:12px}.public-item div span{margin-top:2px;color:var(--muted);font-size:9px}.public-item .public-qty{text-align:right;color:#5c6862;font-size:11px}.public-item>b{text-align:right;font-size:12px}.public-total{display:flex;justify-content:flex-end;align-items:center;gap:25px;margin-top:16px;padding-top:16px;border-top:2px solid var(--green)}.public-total span{color:var(--muted);font-size:11px}.public-total strong{font-size:17px}
.auth-backdrop { position:fixed; inset:0; z-index:120; display:grid; place-items:center; padding:14px; background:#0b1713b8; backdrop-filter:blur(6px); }.customer-auth{position:relative;width:min(430px,100%);max-height:95vh;overflow:auto;padding:30px;background:white;border-radius:22px;box-shadow:0 25px 85px #0006}.auth-close{position:absolute;right:13px;top:13px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#f0f2f0;color:#53615a;font-size:23px}.mini-logo{color:var(--green);font-size:11px;font-weight:900;letter-spacing:.13em}.customer-auth h2{margin:7px 0 7px;font-size:31px}.customer-auth>p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:16px;padding:3px;border-radius:10px;background:#eff2f0}.auth-tabs button{border:0;border-radius:8px;padding:8px;background:transparent;color:#68746e;font-size:11px;font-weight:800}.auth-tabs button.active{background:white;color:var(--green);box-shadow:0 2px 7px #18312b12}.customer-auth form{display:grid;gap:11px}.customer-auth label{display:grid;gap:5px}.customer-auth label span{font-size:10px;font-weight:750;color:#536159}.customer-auth input{width:100%;border:1px solid #ccd6d0;border-radius:10px;padding:11px 12px;outline:none}.customer-auth input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2e7d6018}.auth-submit{margin-top:5px;border:0;border-radius:10px;padding:12px;background:var(--green);color:white;font-weight:850}.auth-submit:disabled{opacity:.55}.auth-error{padding:9px 11px;border-radius:9px;background:#f8e9e7;color:#963e35;font-size:11px}.account-card{text-align:center}.account-avatar{display:grid;place-items:center;width:70px;height:70px;margin:5px auto 13px;border-radius:50%;background:var(--green);color:white;font:800 31px Georgia,serif}.account-card>span{color:var(--muted);font-size:11px}.account-card h2{margin:3px 0 22px}.danger-button{border:0;border-radius:10px;padding:11px 15px;background:#f6e8e6;color:#993e35;font-weight:800}.toast{position:fixed;z-index:200;left:50%;bottom:25px;translate:-50% 0;max-width:min(430px,90vw);padding:11px 16px;border-radius:11px;background:#173c32;color:white;font-size:12px;font-weight:750;box-shadow:0 10px 35px #0004}
.basket-backdrop { position:fixed; inset:0; z-index:125; display:grid; place-items:center; padding:14px; background:#0b1713b8; backdrop-filter:blur(6px); }.basket-manager{position:relative;width:min(510px,100%);max-height:95vh;overflow:auto;padding:28px;background:white;border-radius:22px;box-shadow:0 25px 85px #0006}.basket-manager h2{margin:7px 0 4px;font:700 31px Georgia,serif}.basket-manager>p{margin:0 0 18px;color:var(--muted);font-size:12px}.basket-list{display:grid;gap:7px}.basket-row{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fafbfa;overflow:hidden}.basket-row.active{border-color:#6e9c87;background:#eaf3ee;box-shadow:inset 3px 0 var(--green)}.basket-select{min-width:0;border:0;background:transparent;padding:11px 12px;text-align:left}.basket-select span,.basket-select small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basket-select span{color:var(--ink);font-size:13px;font-weight:850}.basket-select small{margin-top:3px;color:var(--muted);font-size:9px}.basket-actions{display:flex;gap:4px;padding-right:8px}.basket-actions button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:white;color:#58675f;font-size:16px}.basket-actions button:last-child{color:#a33c32}.basket-actions button:disabled{opacity:.3;cursor:not-allowed}.new-basket-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:17px;padding-top:17px;border-top:1px solid var(--line)}.new-basket-form label{display:grid;gap:5px}.new-basket-form label span{font-size:10px;font-weight:750;color:#536159}.new-basket-form input{width:100%;border:1px solid #ccd6d0;border-radius:10px;padding:10px 11px;outline:none}.new-basket-form button{height:38px;border:0;border-radius:10px;padding:0 13px;background:var(--green);color:white;font-size:11px;font-weight:850}
@media(max-width:1299px){.products{grid-template-columns:repeat(5,minmax(0,1fr))}.application-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1049px){.products{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-link{font-size:0}.admin-link::after{content:"⚙";font-size:16px}}
@media(max-width:799px){header{flex-wrap:wrap;gap:8px;padding:8px 12px}.brand-mark{width:38px;height:38px}.account-pill{min-width:74px;max-width:92px}.cart-pill{margin-left:0;min-width:94px}nav{order:3;width:100%}nav button{flex:1;padding:8px 5px}.basket-switcher{order:4;width:100%;max-width:none;text-align:center}.basket-switcher span,.basket-switcher small{display:inline}.basket-switcher small{margin-left:7px}.toolbar,.order-head{align-items:stretch;flex-direction:column}.order-head-actions{width:100%}.order-head-actions button{flex:1}.search{width:100%}.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 7px}.application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-list{padding-right:0}.summary{position:static;width:100%;margin-top:18px}.order-row{grid-template-columns:58px 1fr}.order-photo{width:58px;height:58px}.order-price{grid-column:2;text-align:left}.image-modal img{width:94vw;height:82vh;border-radius:12px}.registration-hint{flex-wrap:wrap}.registration-hint button{margin-left:0}.public-item{grid-template-columns:50px 1fr auto}.public-item>b{grid-column:2;text-align:left}.public-item .public-qty{grid-column:3;grid-row:1/3}.public-total{align-items:flex-end;flex-direction:column;gap:5px}}
@media(max-width:559px){main{padding:20px 7px 50px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 6px}.product-card{padding:5px;border-radius:11px}.photo-wrap{padding:5px;border-radius:9px}.product-info{padding:7px 2px 4px}.product-info .price{font-size:15px}.product-info h3{font-size:11px}.product-info p{height:27px;font-size:8px}.stepper,.add-button{height:31px}.stepper{grid-template-columns:30px 1fr 30px}.brand span{display:none}.brand strong{font-size:12px}.account-pill{min-width:57px;max-width:72px;padding:6px 8px}.account-pill small{display:none}.admin-link{padding:8px 9px}.cart-pill{min-width:82px;padding:6px 8px}h2{font-size:26px}.result-count{margin:10px 2px}.registration-hint span{width:100%}.application-grid{grid-template-columns:1fr}.application-card{grid-template-columns:42px 1fr auto}.public-application-details{padding:13px;border-radius:14px}.public-details-head h2{font-size:26px}.public-details-head .ghost{padding:8px}.customer-auth,.basket-manager{padding:25px 19px;border-radius:16px}.new-basket-form{grid-template-columns:1fr}.new-basket-form button{width:100%}}
@media print{header,.order-head button,.summary button,footer{display:none}.order-list{padding:0}.summary{position:static;width:100%;margin-top:20px;box-shadow:none}main{padding:0}.order-row{break-inside:avoid}}
