:root { --ink:#19312f; --muted:#637372; --paper:#f7f6f1; --surface:#fff; --accent:#e07850; --line:#dfe5df; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.site-header { display:flex; justify-content:space-between; align-items:center; padding:1.2rem max(1.2rem,calc((100% - 1100px)/2)); background:var(--surface); border-bottom:1px solid var(--line); }
.brand { color:var(--ink); font-size:1.25rem; font-weight:800; text-decoration:none; } nav { display:flex; gap:1.2rem; align-items:flex-start; } nav a { color:var(--ink); text-decoration:none; font-weight:600; } nav a.active { color:var(--accent); } .nav-group { display:grid; gap:.25rem; } .nav-group span { color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.shell { max-width:1100px; margin:0 auto; padding:2rem 1.2rem 5rem; } h1,h2,p { margin-top:0; } h1 { font-size:clamp(2.2rem,6vw,4.5rem); line-height:1; letter-spacing:-.05em; max-width:650px; } h2 { font-size:1.1rem; } p { color:var(--muted); line-height:1.55; }
.hero { padding:3rem 0 2rem; } .eyebrow { color:var(--accent); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.toolbar { display:flex; align-items:end; gap:1rem; margin:1rem 0 2rem; padding:1rem; background:var(--surface); border:1px solid var(--line); border-radius:16px; } label { display:grid; gap:.4rem; color:var(--muted); font-size:.85rem; font-weight:700; } .search { flex:1; } input,select,textarea { width:100%; box-sizing:border-box; padding:.75rem .85rem; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font:inherit; } textarea { min-height:110px; resize:vertical; }
.button { display:inline-block; border:0; border-radius:999px; padding:.72rem 1.05rem; background:var(--ink); color:#fff; text-decoration:none; cursor:pointer; font:inherit; font-weight:700; } .button:disabled { opacity:.5; cursor:not-allowed; } .button.secondary { background:#edf0eb; color:var(--ink); }
.product-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; } .product-card,.panel,.success-card { background:var(--surface); border:1px solid var(--line); border-radius:18px; overflow:hidden; } .product-placeholder { display:grid; place-items:center; min-height:145px; background:#dce8df; color:var(--accent); font-size:3rem; } .product-content { padding:1rem; } .product-content p { min-height:3rem; } .product-footer { display:flex; justify-content:space-between; align-items:center; gap:.5rem; }
.alert { margin:1rem 0; padding:1rem; border-radius:12px; } .alert.error { background:#ffe5df; color:#8c3021; } .empty,.success-card { padding:2rem; } .muted { color:var(--muted); }
.page-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:2rem 0; } .cart-layout { display:grid; grid-template-columns:1fr 280px; gap:1rem; } .panel { padding:1rem; } .cart-row { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); } .cart-row:last-child { border-bottom:0; } .cart-row small { display:block; color:var(--muted); } .summary { display:grid; align-content:start; gap:.7rem; height:max-content; } .summary strong { font-size:1.6rem; }
.checkout-form { display:grid; gap:1rem; max-width:620px; padding:1.5rem; background:var(--surface); border:1px solid var(--line); border-radius:18px; } .success-card { max-width:700px; } .order-result { display:flex; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); } .order-result span { margin-right:auto; }
@media (max-width:650px) { .site-header { align-items:stretch; flex-direction:column; gap:1rem; } nav { justify-content:space-between; } .toolbar,.page-heading { align-items:stretch; flex-direction:column; } .cart-layout { grid-template-columns:1fr; } .cart-row { grid-template-columns:1fr auto; } .cart-row strong:last-child { grid-column:2; } }
.auth-card { max-width:520px; margin:3rem auto; } .metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.8rem; margin:1rem 0; } .metrics div { display:grid; gap:.25rem; padding:1rem; background:var(--surface); border:1px solid var(--line); border-radius:14px; } .metrics strong { font-size:1.6rem; } .metrics span,.order-admin small { color:var(--muted); } .admin-section { margin:1rem 0; } .admin-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; } .admin-section form { display:grid; gap:.8rem; } .order-admin { display:flex; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); } .order-admin > div:first-child { display:grid; gap:.2rem; margin-right:auto; } .order-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-right:0; } .order-cancellation { display:grid; gap:.35rem; flex:1 1 100%; width:100%; padding-top:.8rem; } .order-cancellation textarea { min-height:4rem; } @media (max-width:650px) { .admin-columns { grid-template-columns:1fr; } .order-admin { align-items:stretch; flex-direction:column; } .order-actions { margin-right:0; } }
.checkbox { display:flex; align-items:center; gap:.5rem; }
.checkbox input { width:auto; }
.product-image { display:block; width:100%; height:145px; object-fit:cover; background:#dce8df; } .product-carousel { position:relative; } .product-carousel .product-image { height:220px; } .carousel-button { position:absolute; top:50%; transform:translateY(-50%); border:0; border-radius:50%; width:2rem; height:2rem; background:rgba(20,35,31,.72); color:#fff; font-size:1.4rem; line-height:1; cursor:pointer; } .carousel-button.previous { left:.5rem; } .carousel-button.next { right:.5rem; } .carousel-counter { position:absolute; right:.6rem; bottom:.5rem; padding:.15rem .4rem; border-radius:10px; background:rgba(20,35,31,.72); color:#fff; font-size:.75rem; }
.image-delete { margin-top:.25rem; width:100%; padding:.25rem .35rem; font-size:.7rem; }
.admin-collapsible { overflow:hidden; }
.admin-collapsible > summary { cursor:pointer; font-weight:700; list-style:none; padding:.1rem 0 .75rem; }
.admin-collapsible > summary::-webkit-details-marker { display:none; }
.admin-collapsible > summary::before { content:"▸"; display:inline-block; margin-right:.5rem; transition:transform .15s ease; }
.admin-collapsible[open] > summary::before { transform:rotate(90deg); }
.cart-quantity { display:flex; align-items:center; gap:.5rem; min-width:7rem; justify-content:center; } .quantity-button { width:2rem; height:2rem; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--ink); font-size:1.2rem; cursor:pointer; } .quantity-button:hover { background:#eef3ef; } .remove-button { white-space:nowrap; }
.product-admin-row { align-items:flex-start; } .admin-image-list { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.6rem; } .admin-image-list figure { width:72px; margin:0; } .admin-image-list img { display:block; width:72px; height:56px; object-fit:cover; border-radius:6px; border:1px solid var(--line); } .admin-image-list figcaption { color:var(--muted); font-size:.7rem; margin-top:.15rem; }
.product-meta,.availability { font-size:.78rem; margin:.25rem 0; }
.availability { color:var(--muted); }
.cart-product { display:flex; align-items:center; gap:.8rem; min-width:0; } .cart-thumb { width:64px; height:64px; flex:0 0 64px; object-fit:cover; border-radius:10px; background:#dce8df; } .cart-thumb-placeholder { display:grid; place-items:center; color:var(--accent); font-size:1.5rem; }
.load-more { display:grid; justify-items:center; min-height:3rem; margin:1.5rem 0; }
.pagination { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:1rem; }
.admin-product-filters { display:grid; grid-template-columns:minmax(12rem,1fr) 10rem auto auto; align-items:end; gap:.7rem; margin:.8rem 0; }
.admin-workspace { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:1rem; }
.admin-topic-group { display:grid; align-content:start; gap:1rem; min-width:0; }
.admin-topic-group:last-child { grid-column:1 / -1; grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-workspace .admin-topic-title { grid-column:1 / -1; margin:1.5rem 0 0; padding-bottom:.35rem; border-bottom:2px solid var(--line); font-size:1.35rem; }
.admin-topic-group:first-child .admin-topic-title { margin-top:0; }
.admin-workspace .admin-topic-card { min-width:0; margin:0; }
.admin-tabs { display:flex; gap:.35rem; margin:1rem 0 1.5rem; padding:.3rem; overflow-x:auto; border-bottom:1px solid var(--line); } .admin-tab { border:0; border-bottom:3px solid transparent; padding:.75rem 1rem; background:transparent; color:var(--muted); cursor:pointer; font:inherit; font-weight:700; white-space:nowrap; } .admin-tab.active { border-bottom-color:var(--accent); color:var(--ink); } .admin-tab:focus-visible { outline:3px solid #e0785066; outline-offset:2px; }
@media (max-width:650px) { .admin-product-filters { grid-template-columns:1fr; align-items:stretch; } }
@media (max-width:650px) { .admin-workspace { grid-template-columns:1fr; } .admin-topic-group:last-child { grid-column:auto; grid-template-columns:1fr; } }
.toast-container { position:fixed; z-index:1000; top:1rem; right:1rem; display:grid; gap:.65rem; width:min(24rem,calc(100vw - 2rem)); pointer-events:none; }
.toast { display:flex; align-items:flex-start; gap:.8rem; margin:0; padding:1rem; border-radius:12px; background:#e0f1e5; box-shadow:0 8px 24px #19312f22; pointer-events:auto; }
.toast span { flex:1; color:inherit; }
.toast-success { background:#e0f1e5; color:#205b37; }
.toast-info { background:#e4eef7; color:#245273; }
.toast-warning { background:#fff1cc; color:#795b00; }
.toast-error { background:#ffe5df; color:#8c3021; }
.toast-close { border:0; background:transparent; color:currentColor; font-size:1.3rem; line-height:1; cursor:pointer; padding:0 .2rem; }
@media (max-width:650px) { .toast-container { top:.6rem; right:.6rem; left:.6rem; width:auto; } }
