:root{--ink: #201b15;--ink-soft: #55504a;--ink-faint: #7a746c;--paper: #f7f5f1;--surface: #ffffff;--line: #e6e1d8;--brand: #0c6b4e;--brand-dark: #084f39;--brand-tint: #e8f2ee;--amber: #b45309;--amber-tint: #fdf0dc;--danger: #b3261e;--danger-tint: #fdecea;--radius-card: 12px;--radius-control: 8px;--shadow-card: 0 1px 2px rgba(32, 27, 21, .06);--shadow-lift: 0 10px 24px rgba(32, 27, 21, .1);--font-display: "Bricolage Grotesque", "Figtree", sans-serif;--font-body: "Figtree", ui-sans-serif, system-ui, -apple-system, sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-body);line-height:1.55}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p,dl{margin-top:0}h1,h2,h3{font-family:var(--font-display);color:var(--ink);line-height:1.08;letter-spacing:-.01em}h1{font-size:clamp(2rem,4.2vw,3.4rem);font-weight:800;margin-bottom:16px}h2{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;margin-bottom:8px}h3{font-size:1.08rem;font-weight:700;margin-bottom:6px}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.skip-link{position:absolute;left:16px;top:-48px;z-index:100;background:var(--ink);color:#fff;font-weight:700;border-radius:0 0 8px 8px;padding:10px 16px;transition:top .16s ease}.skip-link:focus-visible{top:0}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1160px,calc(100% - 32px));margin:0 auto;padding:14px 0}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.2rem;font-weight:800;letter-spacing:-.01em}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:4px}.nav-links a{border-radius:var(--radius-control);color:var(--ink-soft);font-weight:600;padding:8px 14px;transition:background .16s ease,color .16s ease}.nav-links a:hover{background:var(--paper);color:var(--ink)}.nav-links a.active{background:var(--brand-tint);color:var(--brand-dark);font-weight:700}.nav-links a.nav-cta{background:var(--brand);color:#fff;font-weight:700;margin-left:8px}.nav-links a.nav-cta:hover,.nav-links a.nav-cta.active{background:var(--brand-dark);color:#fff}.page-shell{width:min(1160px,calc(100% - 32px));margin:0 auto;padding:36px 0 72px}.eyebrow,.product-category{margin:0 0 8px;color:var(--brand);font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.lead{color:var(--ink-soft);font-size:1.06rem;max-width:52ch}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer;font-weight:700;padding:10px 18px;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.button:disabled{cursor:not-allowed;opacity:.65}.button.primary{background:var(--brand);color:#fff}.button.primary:hover:not(:disabled){background:var(--brand-dark)}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button.secondary:hover:not(:disabled){border-color:var(--ink-faint)}.button.danger{background:var(--danger);color:#fff}.button.danger:hover:not(:disabled){background:#8f1d17}.action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:48px;align-items:center;padding:32px 0 48px}.hero-copy .eyebrow{margin-bottom:14px}.hero-media{position:relative}.hero-media img{width:100%;aspect-ratio:5 / 4;object-fit:cover;border-radius:var(--radius-card);box-shadow:var(--shadow-lift);background:var(--line)}.hero-tag{position:absolute;left:18px;bottom:18px;display:grid;gap:2px;background:var(--surface);border-radius:10px;box-shadow:var(--shadow-lift);padding:12px 16px}.hero-tag span{color:var(--ink-faint);font-size:.8rem;font-weight:600}.hero-tag strong{font-family:var(--font-display);font-size:1.05rem}.home-section{padding:36px 0 0}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.section-header h1,.section-header h2{margin-bottom:0}.section-link{color:var(--brand-dark);font-weight:700;white-space:nowrap}.section-link:hover{text-decoration:underline}.category-row{display:flex;flex-wrap:wrap;gap:10px}.category-chip{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft);font-weight:600;padding:9px 18px;transition:border-color .16s ease,color .16s ease}.category-chip:hover{border-color:var(--brand);color:var(--brand-dark)}.service-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:48px}.service-strip article{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);padding:20px}.service-strip h3{margin-bottom:4px}.service-strip p{margin:0;color:var(--ink-soft);font-size:.95rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.catalog-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.search-field{flex:1;min-width:220px}.search-field input{min-height:44px}.sort-field select{min-height:44px;min-width:180px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:10px 12px;cursor:pointer}.sort-field select:focus{border-color:var(--brand);outline:3px solid rgba(12,107,78,.18)}.catalog-categories{margin-bottom:20px}.category-chip.selected{border-color:var(--brand);background:var(--brand-tint);color:var(--brand-dark);font-weight:700}button.category-chip{cursor:pointer;font-family:var(--font-body);font-size:.95rem}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.admin-table{width:100%;border-collapse:collapse;min-width:640px}.admin-table th{text-align:left;color:var(--ink-faint);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:14px 16px}.admin-table td{border-bottom:1px solid var(--line);padding:12px 16px;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:0}.table-product{display:flex;align-items:center;gap:12px;font-weight:600}.table-product img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--line);flex-shrink:0}.table-product a:hover{color:var(--brand-dark)}.table-actions{display:flex;gap:8px}.button.small{min-height:36px;padding:6px 12px;font-size:.9rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.product-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease}.product-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.product-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--line)}.product-card-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:16px}.product-card-body h3 a:hover{color:var(--brand-dark)}.product-description{display:-webkit-box;overflow:hidden;margin:0;color:var(--ink-soft);font-size:.94rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.product-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.price{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--ink)}.stock-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;border-radius:999px;font-size:.78rem;font-weight:700;padding:4px 10px}.stock-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.stock-badge.in{background:var(--brand-tint);color:var(--brand-dark)}.stock-badge.low{background:var(--amber-tint);color:var(--amber)}.stock-badge.out{background:var(--danger-tint);color:var(--danger)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:40px;align-items:start}.detail-image{width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-card);object-fit:cover;background:var(--line);box-shadow:var(--shadow-card)}.detail-content .price{font-size:1.9rem}.detail-content p:not(.eyebrow){color:var(--ink-soft);font-size:1.02rem}.detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:20px 0 4px}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0}.detail-list div{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);padding:16px}.detail-list dt{color:var(--ink-faint);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.detail-list dd{margin:4px 0 0;font-family:var(--font-display);font-size:1.15rem;font-weight:700}.form-layout{max-width:720px}.form-panel{display:grid;gap:18px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:grid;gap:7px;color:var(--ink);font-weight:600;font-size:.95rem}.field-hint{color:var(--ink-faint);font-weight:400;font-size:.85rem}input,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:11px 12px}input:focus,textarea:focus{border-color:var(--brand);outline:3px solid rgba(12,107,78,.18)}.status-text,.error-message,.empty-state{border-radius:var(--radius-card);padding:18px}.status-text{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft)}.error-message{border:1px solid #f3c1bd;background:var(--danger-tint);color:var(--danger);font-weight:600}.empty-state{border:1px dashed var(--line);background:var(--surface);padding:40px;text-align:center}.empty-state .button{margin-top:8px}.result-count{color:var(--ink-faint);font-size:.95rem;margin:-14px 0 20px}.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:24px}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;width:min(1160px,calc(100% - 32px));margin:0 auto;padding:28px 0}.footer-inner p{margin:0;color:var(--ink-faint);font-size:.9rem}.footer-links{display:flex;gap:20px}.footer-links a{color:var(--ink-soft);font-weight:600;font-size:.9rem}.footer-links a:hover{color:var(--brand-dark)}@media(max-width:860px){.hero{grid-template-columns:1fr;gap:28px;padding-bottom:32px}.service-strip{grid-template-columns:1fr}}@media(max-width:760px){.nav{align-items:flex-start;flex-direction:column;gap:10px}.nav-links{width:100%;flex-wrap:wrap}.page-shell{padding-top:24px}.section-header{align-items:flex-start;flex-direction:column}.detail-layout,.form-grid,.detail-list{grid-template-columns:1fr}.button{width:100%}.footer-inner{flex-direction:column;align-items:flex-start}}.nav-user{align-items:center;display:flex;gap:10px;margin-left:8px}.nav-user-name{color:var(--ink-soft);font-size:.92rem;font-weight:600;white-space:nowrap}.button.ghost{background:transparent;border-color:var(--line);color:var(--ink-soft);min-height:38px;padding:8px 14px}.button.ghost:hover{background:var(--paper);border-color:var(--ink-faint);color:var(--ink)}.auth-shell{margin:0 auto;max-width:460px;padding:32px 0 48px}.auth-shell .section-header{align-items:center;flex-direction:column;gap:4px;margin-bottom:20px;text-align:center}.auth-shell .section-header .lead{margin:0;max-width:34ch}.auth-switch{color:var(--ink-soft);margin-top:18px;text-align:center}.auth-switch a{color:var(--brand);font-weight:700}.auth-switch a:hover{color:var(--brand-dark);text-decoration:underline}@media(max-width:640px){.nav-user-name{display:none}}
