:root{--bg:#faf7f2;--surface:#fff;--text:#2c2419;--muted:#7a6f63;--primary:#3d6b4f;--primary-hover:#2f553e;--accent:#c4713b;--border:#e8dfd3;--error:#b33a3a;--success:#2f6b4f;--shadow:0 4px 24px #2c241914;--radius:14px;--font:"DM Sans", system-ui, sans-serif;--image-placeholder:#f0ebe3;--alert-error-bg:#fdecec;--alert-success-bg:#ecf6ef;--toggle-track:#e8dfd3;--toggle-thumb:#fff;--header-bg:#ffffffeb}[data-theme=dark]{--bg:#121110;--surface:#1c1917;--text:#f5f0ea;--muted:#a89f94;--primary:#6db887;--primary-hover:#5aa874;--accent:#e0955c;--border:#3a3530;--error:#f08080;--success:#6db887;--shadow:0 4px 24px #00000073;--image-placeholder:#2a2622;--alert-error-bg:#3a2020;--alert-success-bg:#1a3028;--toggle-track:#3a3530;--toggle-thumb:#f5f0ea;--header-bg:#1c1917f0}[data-theme=dark] .btn--primary{color:#121110}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;margin:0;line-height:1.5;transition:background .2s,color .2s}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.container{width:min(1120px,100% - 2rem);margin-inline:auto}.app-shell{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--header-bg);border-bottom:1px solid var(--border);z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.header__inner{flex-direction:column;gap:0;padding-block:.65rem;display:flex}.header__row{justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;display:flex}.header__controls{align-items:center;gap:.5rem;margin-left:auto;display:flex}.header__burger{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:none}.header__burger span{background:var(--text);border-radius:2px;width:18px;height:2px;margin-inline:auto;transition:transform .2s,opacity .2s;display:block}.header__burger[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.header__burger[aria-expanded=true] span:nth-child(2){opacity:0}.header__burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.logo{color:var(--text);white-space:nowrap;font-size:1.15rem;font-weight:700;text-decoration:none}.nav{border-top:1px solid var(--border);flex-wrap:wrap;gap:.25rem 1.25rem;margin-top:.65rem;padding-top:.65rem;display:flex}.nav a{color:var(--muted);padding:.35rem 0;font-size:.95rem;text-decoration:none}.nav a.active{color:var(--primary);font-weight:600}.header__auth{flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex}.theme-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0}.theme-toggle__track{background:var(--toggle-track);border:1px solid var(--border);border-radius:999px;align-items:center;width:56px;height:30px;padding:3px;transition:background .2s;display:flex;position:relative}.theme-toggle__track--dark{background:#2a3530}.theme-toggle__thumb{z-index:2;background:var(--toggle-thumb);width:24px;height:24px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;transition:transform .22s;display:flex;position:absolute;left:3px;box-shadow:0 1px 4px #0000002e}.theme-toggle__track--dark .theme-toggle__thumb{color:var(--primary);transform:translate(26px)}.theme-toggle__icon{color:var(--muted);opacity:.75;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.theme-toggle__icon--sun{left:8px}.theme-toggle__icon--moon{right:8px}.nav-backdrop{display:none}.header__user{color:var(--muted);font-size:.9rem}.main{flex:1;padding:2rem 0 3rem}.footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:1.25rem 0;font-size:.9rem}.page{animation:.25s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-header{margin-bottom:1.5rem}.page-header h1{margin:0 0 .25rem;font-size:clamp(1.6rem,3vw,2rem)}.page-header p{color:var(--muted);margin:0}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-loading,.empty-state{text-align:center;color:var(--muted);padding:3rem 1rem}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;font-family:inherit;font-weight:600;text-decoration:none;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--primary);color:#fff;padding:.65rem 1.25rem}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}.btn--ghost{color:var(--text);border:1px solid var(--border);background:0 0;padding:.65rem 1rem}.btn--ghost:hover:not(:disabled){background:var(--bg)}.btn--sm{padding:.4rem .85rem;font-size:.875rem}.btn--lg{padding:.85rem 1.5rem;font-size:1rem}.input{border:1px solid var(--border);width:100%;font:inherit;background:var(--surface);color:var(--text);border-radius:10px;padding:.65rem .85rem}.input:focus{outline:2px solid color-mix(in srgb, var(--primary) 35%, transparent);border-color:var(--primary)}.input--sm{text-align:center;width:4rem}textarea.input{resize:vertical;min-height:80px}.filters{grid-template-columns:1fr auto;gap:.75rem;margin-bottom:1.5rem;display:grid}@media (width<=768px){.container{width:min(1120px,100% - 1.25rem)}.main{padding:1.25rem 0 2rem}.header__register{display:none}.header__burger{display:flex}.nav{z-index:30;background:var(--header-bg);border-top:none;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);flex-direction:column;gap:0;margin:0;padding:.5rem;display:none;position:fixed;top:57px;left:0;right:0}.nav--open{display:flex}.nav a{border-radius:10px;padding:.85rem .75rem}.nav a.active{background:color-mix(in srgb, var(--primary) 12%, transparent)}.nav-backdrop{z-index:15;cursor:pointer;background:#00000059;border:none;display:block;position:fixed;inset:0}.product-grid,.manage-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem}.checkout-panel{max-width:none;margin-left:0}.form-grid{grid-template-columns:1fr}.data-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{min-width:560px}.row-between h1{font-size:1.35rem}.header__user{display:none}}@media (width<=640px){.filters{grid-template-columns:1fr}.cart-item{grid-template-rows:auto auto auto;grid-template-columns:56px 1fr;gap:.65rem;padding:.75rem}.cart-item img{width:56px;height:56px}.cart-item__qty,.cart-item__total{grid-column:2}.cart-item .btn--ghost.btn--sm:last-child{grid-column:2;justify-self:start}.order-list__item{flex-direction:column;align-items:flex-start;gap:.35rem}.product-detail__actions{flex-direction:column;align-items:stretch}.product-detail__actions .btn--primary{width:100%}.auth-card{padding:1.25rem}.telegram-code__value{letter-spacing:.12em;font-size:1.5rem}}.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;display:grid}.product-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.product-card--inactive{opacity:.75}.product-card__link{color:inherit;flex:1;text-decoration:none}.product-card__image-wrap{aspect-ratio:4/3;background:var(--image-placeholder);position:relative;overflow:hidden}.product-card__image-wrap img{object-fit:cover;width:100%;height:100%}.product-card__badge{color:#fff;background:#000000a6;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;position:absolute;top:.75rem;left:.75rem}.product-card__body{padding:1rem}.product-card__category{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.product-card h3{margin:.35rem 0;font-size:1.05rem}.product-card__price{color:var(--primary);margin:0;font-weight:700}.product-card__action{margin:0 1rem 1rem}.product-detail__grid{grid-template-columns:1fr 1fr;gap:2rem;margin-top:1rem;display:grid}@media (width<=768px){.product-detail__grid{grid-template-columns:1fr}}.product-detail__image{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;background:var(--image-placeholder);width:100%}.product-detail__price{color:var(--primary);font-size:1.5rem;font-weight:700}.product-detail__actions{flex-wrap:wrap;align-items:end;gap:1rem;margin-top:1.5rem;display:flex}.quantity-field{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.back-link{color:var(--muted);margin-bottom:1rem;display:inline-block}.auth-page{justify-content:center;padding-top:2rem;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius);width:min(420px,100%);box-shadow:var(--shadow);padding:2rem}.auth-card h1{margin-top:0}.auth-card__footer{text-align:center;color:var(--muted);margin-top:1.5rem}.form{flex-direction:column;gap:1rem;display:flex}.form label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;display:flex}.alert{border-radius:10px;padding:.75rem 1rem;font-size:.95rem}.alert--error{background:var(--alert-error-bg);color:var(--error)}.alert--success{background:var(--alert-success-bg);color:var(--success)}.cart-list{flex-direction:column;gap:.75rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.cart-item{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:72px 1fr auto auto auto;align-items:center;gap:1rem;padding:.85rem 1rem;display:grid}.cart-item img{object-fit:cover;border-radius:10px;width:72px;height:72px}.cart-item__info a{color:var(--text);font-weight:600}.cart-item__info p{color:var(--muted);margin:.15rem 0 0;font-size:.9rem}.cart-item__qty{align-items:center;gap:.5rem;display:flex}.cart-item__total{text-align:right;min-width:5rem;font-weight:700}@media (width<=640px){.cart-item{grid-template-rows:auto auto;grid-template-columns:64px 1fr}.cart-item__qty,.cart-item__total{grid-column:2}}.checkout-panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:1rem;max-width:480px;margin-left:auto;padding:1.25rem;display:flex}.checkout-panel__total{border-top:1px solid var(--border);justify-content:space-between;padding-top:.5rem;font-size:1.15rem;display:flex}.checkout-panel__note{color:var(--muted);margin:0;font-size:.9rem}.order-list{margin:0;padding:0;list-style:none}.order-list__item{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;justify-content:space-between;align-items:center;margin-bottom:.65rem;padding:1rem 1.25rem;text-decoration:none;display:flex}.order-list__item span{color:var(--muted);font-size:.9rem;display:block}.profile-card,.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.profile-dl{grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin:0;display:grid}.profile-dl dt{color:var(--muted)}.profile-dl dd{margin:0;font-weight:500}.telegram-section{margin-top:2rem}.telegram-code{margin-top:1rem}.telegram-code__value{letter-spacing:.2em;background:var(--bg);border-radius:var(--radius);border:2px dashed var(--primary);padding:.75rem 1.25rem;font-size:2rem;font-weight:700;display:inline-block}.muted{color:var(--muted)}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:2rem;display:flex}.manage-form{margin-bottom:2rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-grid__full{grid-column:1/-1}.checkbox-label{align-items:center;flex-direction:row!important;gap:.5rem!important}.form-actions{gap:.75rem;margin-top:1rem;display:flex}.manage-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;display:grid}.manage-item__actions{gap:.5rem;padding:0 1rem 1rem;display:flex}.data-table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.85rem 1rem}.data-table th{background:var(--bg);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.85rem}.data-table__actions{gap:.35rem;display:flex}code{background:var(--bg);border-radius:4px;padding:.15rem .4rem;font-size:.9em}
