:root{
  --bg:            #EEF0F1;
  --surface:       #FFFFFF;
  --ink:           #14181C;
  --ink-soft:      #454E55;
  --steel:         #3E5568;
  --line:          #D9DDE0;
  --line-strong:   #C3C9CD;
  --accent:        #E1541C;
  --accent-dark:   #B8420F;
  --accent-tint:   #FDEDE6;
  --ok:            #2E7D4F;
  --danger:        #C6392B;
  --font-display:  'Oswald', Arial, sans-serif;
  --font-body:     'IBM Plex Sans', Arial, sans-serif;
  --font-mono:     'IBM Plex Mono', 'Courier New', monospace;
  --radius-sm: 3px;
  --radius-md: 5px;
  --container: 1180px;
}
*,*::before,*::after{ box-sizing:border-box; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body); font-size:16px; line-height:1.5; }
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3{ font-family:var(--font-display); font-weight:600; margin:0; color:var(--ink); }
.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }

/* Buttons / forms */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 22px; border-radius:var(--radius-sm); border:1px solid transparent; font-family:var(--font-display); font-weight:600; font-size:15px; }
.btn-primary{ background:var(--accent); color:#fff; }
.btn-primary:hover{ background:var(--accent-dark); }
.btn-outline{ background:transparent; color:var(--ink); border-color:var(--line-strong); }
.btn-outline:hover{ border-color:var(--ink); }
.btn-danger{ background:var(--danger); color:#fff; }
.btn-block{ width:100%; }
.btn-sm{ padding:8px 14px; font-size:13px; }
.field{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.field label{ font-size:13px; color:var(--ink-soft); }
.field select, .field input, .field textarea{ height:44px; padding:0 12px; border:1px solid var(--line-strong); border-radius:var(--radius-sm); background:#fff; font-family:var(--font-body); font-size:15px; color:var(--ink); }
.field textarea{ height:auto; padding:10px 12px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:24px; }
.alert{ padding:14px 16px; border-radius:var(--radius-sm); margin-bottom:16px; font-size:14.5px; }
.alert-error{ background:#FBEAE7; color:var(--danger); border:1px solid #F2C7C0; }
.alert-success{ background:#E8F3EC; color:var(--ok); border:1px solid #C3E2CD; }
.alert-info{ background:var(--accent-tint); color:var(--accent-dark); border:1px solid #F3D2C0; }

/* Header */
.top-bar{ background:var(--ink); color:#C9CFD3; font-size:13px; }
.top-bar .container{ display:flex; justify-content:space-between; align-items:center; height:36px; }
.top-bar a{ color:#C9CFD3; }
.top-bar-links{ display:flex; gap:20px; }
.site-header{ background:var(--surface); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; }
.header-main{ display:flex; align-items:center; gap:28px; height:88px; }
.logo{ flex-shrink:0; }
.logo svg{ height:44px; width:auto; }
.search-form{ flex:1; display:flex; max-width:560px; }
.search-form input{ flex:1; height:46px; border:1px solid var(--line-strong); border-right:none; border-radius:var(--radius-sm) 0 0 var(--radius-sm); padding:0 16px; font-size:15px; }
.search-form button{ width:52px; border:1px solid var(--ink); background:var(--ink); border-radius:0 var(--radius-sm) var(--radius-sm) 0; display:flex; align-items:center; justify-content:center; }
.search-form button svg{ stroke:#fff; }
.header-actions{ display:flex; align-items:center; gap:26px; margin-left:auto; flex-shrink:0; }
.header-action{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-soft); }
.header-action strong{ display:block; font-size:14px; color:var(--ink); font-weight:600; }
.header-action svg{ stroke:var(--ink); flex-shrink:0; }
.cart-action{ position:relative; }
.cart-count{ position:absolute; top:-6px; right:-10px; background:var(--accent); color:#fff; font-size:11px; font-weight:700; min-width:18px; height:18px; border-radius:9px; display:flex; align-items:center; justify-content:center; padding:0 4px; }
.main-nav{ border-top:1px solid var(--line); }
.nav-list{ display:flex; align-items:center; height:52px; gap:2px; overflow-x:auto; }
.nav-list li a{ display:flex; align-items:center; height:100%; padding:0 16px; font-size:14.5px; font-weight:500; color:var(--ink-soft); white-space:nowrap; border-bottom:2px solid transparent; }
.nav-list li a:hover{ color:var(--ink); border-bottom-color:var(--accent); }

/* Breadcrumb */
.breadcrumb{ font-size:13px; color:var(--ink-soft); margin:18px 0; }
.breadcrumb a:hover{ color:var(--accent); }

/* Product grid / cards (reused from marketing layout) */
.product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.product-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); display:flex; flex-direction:column; overflow:hidden; }
.product-media{ aspect-ratio:4/3; background:var(--bg); display:flex; align-items:center; justify-content:center; position:relative; border-bottom:1px solid var(--line); overflow:hidden; }
.product-media img{ width:100%; height:100%; object-fit:contain; padding:14px; }
.product-body{ padding:16px; display:flex; flex-direction:column; gap:8px; flex:1; }
.product-sku{ font-family:var(--font-mono); font-size:12px; color:var(--ink-soft); }
.product-body h3{ font-size:15px; font-weight:500; line-height:1.35; }
.product-fit{ font-size:12.5px; color:var(--ink-soft); }
.product-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; padding-top:10px; }
.product-price{ font-family:var(--font-display); font-size:19px; font-weight:600; }
.price-old{ text-decoration:line-through; color:var(--ink-soft); font-weight:400; font-size:13px; white-space:nowrap; }
.price-wholesale{ color:var(--ok); }
.add-btn{ width:38px; height:38px; border-radius:var(--radius-sm); border:1px solid var(--ink); background:#fff; display:flex; align-items:center; justify-content:center; }
.add-btn:hover{ background:var(--ink); }
.add-btn:hover svg{ stroke:#fff; }
.pagination{ display:flex; gap:6px; justify-content:center; margin:32px 0; flex-wrap:wrap; }
.pagination a, .pagination span{ display:flex; align-items:center; justify-content:center; min-width:36px; height:36px; border:1px solid var(--line-strong); border-radius:var(--radius-sm); font-size:14px; }
.pagination .active{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* Product detail */
.product-detail{ display:grid; grid-template-columns:420px 1fr; gap:40px; margin:24px 0 48px; }
.product-gallery-main{ aspect-ratio:1/1; background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.product-gallery-main img{ width:100%; height:100%; object-fit:contain; padding:24px; }
.product-thumbs{ display:flex; gap:8px; margin-top:10px; }
.product-thumbs img{ width:64px; height:64px; object-fit:contain; border:1px solid var(--line); border-radius:var(--radius-sm); padding:4px; background:#fff; cursor:pointer; }
.pd-title{ font-size:26px; margin-bottom:6px; }
.pd-meta{ display:flex; gap:18px; flex-wrap:wrap; font-size:13.5px; color:var(--ink-soft); margin-bottom:18px; }
.pd-meta strong{ color:var(--ink); }
.pd-price-box{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); padding:20px; margin-bottom:20px; }
.pd-price-retail{ font-size:15px; color:var(--ink-soft); }
.pd-price-retail.crossed{ text-decoration:line-through; }
.pd-price-main{ font-family:var(--font-display); font-size:32px; font-weight:600; color:var(--ink); }
.pd-price-main.wholesale{ color:var(--ok); }
.pd-badge-wholesale{ display:inline-block; background:var(--accent-tint); color:var(--accent-dark); font-size:12px; font-weight:600; padding:3px 9px; border-radius:12px; margin-left:8px; }
.pd-stock{ font-size:13.5px; margin:8px 0 16px; }
.pd-stock.ok{ color:var(--ok); }
.pd-stock.low{ color:var(--accent-dark); }
.pd-qty-row{ display:flex; gap:12px; align-items:center; }
.qty-input{ width:70px; height:44px; text-align:center; border:1px solid var(--line-strong); border-radius:var(--radius-sm); font-size:15px; }
.pd-tabs{ display:flex; gap:0; border-bottom:1px solid var(--line); margin:32px 0 0; }
.pd-tabs a{ padding:12px 18px; font-weight:600; font-size:14.5px; color:var(--ink-soft); border-bottom:2px solid transparent; }
.pd-tabs a.active{ color:var(--ink); border-bottom-color:var(--accent); }
.pd-table{ width:100%; border-collapse:collapse; margin:20px 0; }
.pd-table th, .pd-table td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); font-size:14px; }
.pd-table th{ color:var(--ink-soft); font-weight:600; width:220px; background:var(--bg); }

/* Cart */
.cart-table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; }
.cart-table th{ text-align:left; padding:12px 16px; background:var(--bg); font-size:13px; color:var(--ink-soft); border-bottom:1px solid var(--line); }
.cart-table td{ padding:14px 16px; border-bottom:1px solid var(--line); font-size:14.5px; vertical-align:middle; }
.cart-summary{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:22px; }
.cart-summary-row{ display:flex; justify-content:space-between; padding:8px 0; font-size:14.5px; }
.cart-summary-row.total{ font-family:var(--font-display); font-size:19px; font-weight:600; border-top:1px solid var(--line); margin-top:8px; padding-top:14px; }

/* Account / admin tables */
.data-table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; }
.data-table th{ text-align:left; padding:10px 14px; background:var(--bg); font-size:12.5px; text-transform:uppercase; letter-spacing:0.4px; color:var(--ink-soft); border-bottom:1px solid var(--line); }
.data-table td{ padding:12px 14px; border-bottom:1px solid var(--line); font-size:14px; }
.status-pill{ display:inline-block; padding:4px 10px; border-radius:12px; font-size:12px; font-weight:600; }
.status-NOWE{ background:#E4EBFA; color:#3454A6; }
.status-W_REALIZACJI{ background:#FDEDE6; color:var(--accent-dark); }
.status-DO_WYSYLKI{ background:#E8F3EC; color:var(--ok); }
.status-ANULOWANE{ background:#F3E5E4; color:var(--danger); }

/* Footer */
.site-footer{ background:#101418; color:#9AA3AB; font-size:14px; margin-top:48px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding:48px 0 32px; }
.footer-col h4{ color:#fff; font-family:var(--font-display); font-size:14.5px; margin-bottom:16px; }
.footer-col ul{ display:flex; flex-direction:column; gap:10px; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{ border-top:1px solid #22282D; padding:20px 0; display:flex; justify-content:space-between; font-size:13px; flex-wrap:wrap; gap:10px; }

.section{ padding:40px 0; }
.page-title{ font-size:28px; margin:28px 0 6px; }
.text-muted{ color:var(--ink-soft); }
.admin-shell{ display:grid; grid-template-columns:220px 1fr; gap:0; min-height:100vh; }
.admin-sidebar{ background:var(--ink); color:#C9CFD3; padding:24px 0; }
.admin-sidebar a{ display:block; padding:11px 24px; font-size:14.5px; }
.admin-sidebar a:hover, .admin-sidebar a.active{ background:#1E2429; color:#fff; border-left:3px solid var(--accent); }
.admin-main{ padding:28px 32px; background:var(--bg); }
.admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.stat-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; }
.stat-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:18px 20px; }
.stat-card .num{ font-family:var(--font-display); font-size:26px; font-weight:600; }
.stat-card .lbl{ font-size:13px; color:var(--ink-soft); }

.order-row-main{ display:grid; grid-template-columns:150px 1fr 110px 170px 100px 170px 90px; gap:10px; align-items:center; padding:12px 14px; border-bottom:1px solid var(--line); background:#fff; font-size:13.5px; }
.order-row-main:hover{ background:#FAFAFA; }
.order-row-head{ font-size:11.5px; text-transform:uppercase; letter-spacing:0.4px; color:var(--ink-soft); background:var(--bg); }
.order-status-select{ height:34px; border:1px solid var(--line-strong); border-radius:var(--radius-sm); font-size:13px; width:100%; }
.order-manage-panel{ display:grid; gap:24px; padding:16px 20px; background:var(--bg); border-radius:var(--radius-sm); }
.order-toggle-btn{ background:none; border:1px solid var(--line-strong); border-radius:var(--radius-sm); padding:6px 10px; font-size:12.5px; cursor:pointer; width:100%; }
@media (max-width: 1100px){
  .order-row-main{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 1040px){
  .product-grid{ grid-template-columns:repeat(2,1fr); }
  .product-detail{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .admin-shell{ grid-template-columns:1fr; }
  .admin-sidebar{ display:flex; overflow-x:auto; padding:10px; }
  .admin-sidebar a{ padding:8px 14px; white-space:nowrap; }
}
@media (max-width: 640px){
  .product-grid{ grid-template-columns:1fr 1fr; }
  .field-row{ grid-template-columns:1fr; }
  .stat-cards{ grid-template-columns:1fr 1fr; }
}
