@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root { --ink:#181816; --paper:#f5f3ee; --white:#fff; --accent:#ff5c35; --line:#dedbd3; --muted:#77736c; --green:#277a55; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font:14px 'DM Sans',Arial,sans-serif; }
a { color:inherit; }
h1,h2,.admin-brand { font-family:'Space Grotesk',Arial,sans-serif; }
.admin-brand { font-size:21px; font-weight:700; text-decoration:none; letter-spacing:-1px; }.admin-brand span,.kicker { color:var(--accent); }
.admin-sidebar { position:fixed; inset:0 auto 0 0; width:244px; padding:32px 22px; display:flex; flex-direction:column; color:#fff; background:var(--ink); }
.admin-sidebar nav { display:grid; gap:7px; margin-top:70px; }
.admin-sidebar nav a { padding:13px 14px; display:flex; justify-content:space-between; border-radius:7px; color:#aaa79f; text-decoration:none; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { color:#fff; background:#2b2a27; }
.admin-sidebar nav b { min-width:22px; padding:2px 6px; border-radius:20px; text-align:center; color:#fff; background:var(--accent); font-size:11px; }
.sidebar-bottom { margin-top:auto; display:grid; gap:15px; padding:14px; border-top:1px solid #3c3a36; }
.sidebar-bottom a,.sidebar-bottom button { border:0; padding:0; color:#aaa79f; background:none; font:13px inherit; text-decoration:none; cursor:pointer; }
.admin-main { margin-left:244px; min-height:100vh; padding:55px clamp(28px,5vw,80px); }.admin-main.narrow { max-width:1150px; }
.admin-header { margin-bottom:35px; display:flex; align-items:flex-end; justify-content:space-between; gap:25px; }
.admin-header h1 { margin:4px 0; font-size:42px; letter-spacing:-1.8px; }.kicker { margin:0; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.8px; }.muted { color:var(--muted); }
.button { min-height:38px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:5px; font-weight:700; text-decoration:none; cursor:pointer; }
.button.primary { color:#fff; background:var(--ink); }.button.primary:hover { background:var(--accent); }.button.subtle { border:1px solid var(--line); background:#fff; }.button.text { padding:0 8px; color:var(--muted); background:transparent; }.button.wide { width:100%; }
.table-wrap { overflow:auto; border:1px solid var(--line); background:var(--white); }table { width:100%; border-collapse:collapse; }th { padding:14px 18px; color:var(--muted); background:#ebe8e1; font-size:11px; text-align:left; text-transform:uppercase; letter-spacing:1px; }td { padding:15px 18px; border-top:1px solid var(--line); vertical-align:middle; }
.product-cell { min-width:260px; display:flex; align-items:center; gap:13px; }.product-cell img,.thumb-empty { width:48px; height:48px; display:flex; align-items:center; justify-content:center; object-fit:contain; background:#eeeae2; }.product-cell small { margin-top:5px; display:block; color:var(--muted); }.actions { display:flex; align-items:center; justify-content:flex-end; gap:4px; }.actions form { margin:0; }
.badge { display:inline-block; padding:5px 9px; border-radius:20px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; }.published,.badge.closed { color:var(--green); background:#e3f1e9; }.hidden-status { color:#716c63; background:#ebe8e1; }.badge.new { color:#a83e21; background:#ffe1d7; }.badge.contacted { color:#7c641d; background:#f5e9bd; }
.badge.confirmed { color:#285f8f; background:#dfeefa; }.badge.completed { color:var(--green); background:#e3f1e9; }.badge.cancelled { color:#716c63; background:#ebe8e1; }
.orders-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.admin-order { padding:25px; border:1px solid var(--line); border-top:3px solid var(--accent); background:#fff; }.admin-order.cancelled { opacity:.7; border-top-color:#99948b; }.admin-order.completed { border-top-color:#4e9874; }.order-admin-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.order-admin-head h2 { margin:10px 0 0; font-size:24px; }.order-admin-head time { color:var(--muted); font-size:11px; }.order-customer { margin:21px 0; padding:17px 0; display:grid; grid-template-columns:1fr 1fr; gap:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.order-customer small,.order-customer strong,.order-customer a { display:block; }.order-customer small { margin-bottom:6px; color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; }.order-customer a { margin-top:3px; color:#514e49; font-size:12px; }.order-customer p { margin:0; color:#514e49; font-size:12px; line-height:1.5; white-space:pre-line; }.admin-order-items { display:grid; gap:10px; }.admin-order-item { display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:11px; align-items:center; }.admin-order-item img,.order-thumb-empty { width:46px; height:46px; display:grid; place-items:center; object-fit:contain; background:#eeeae2; }.admin-order-item div { min-width:0; }.admin-order-item div strong { display:block; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.admin-order-item small { margin-top:4px; display:block; color:var(--muted); font-size:10px; }.admin-order-item>b { font-size:11px; }.order-admin-total { margin-top:19px; padding-top:16px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); }.order-admin-total span { color:var(--muted); font-size:11px; }.order-admin-total div { display:grid; gap:4px; text-align:right; }.order-admin-total strong { font:600 17px 'Space Grotesk'; }.order-comment { padding:12px; color:#5d5952; background:#f4f1eb; font-size:12px; line-height:1.5; }.order-payment-note { margin-top:13px; padding:10px 12px; display:flex; justify-content:space-between; gap:10px; color:#777168; background:#f4f1eb; font-size:9px; }.order-payment-note span { text-transform:uppercase; letter-spacing:.8px; }.admin-order .status-form { padding-top:16px; border-top:1px solid var(--line); }
.request-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.request-card { padding:24px; border:1px solid var(--line); border-left:3px solid var(--accent); background:#fff; }.request-card.closed { border-left-color:#75a68b; opacity:.75; }.request-top { display:flex; align-items:center; justify-content:space-between; }.request-top time { color:var(--muted); font-size:12px; }.request-card h2 { margin:20px 0 3px; }.phone { font-size:18px; font-weight:700; }.requested-product,.comment { margin:18px 0; padding-top:15px; border-top:1px solid var(--line); color:var(--muted); }.status-form { display:flex; gap:8px; margin-top:22px; }
input,textarea,select { width:100%; padding:11px 12px; border:1px solid #cfcac0; border-radius:4px; outline:none; background:#fff; font:14px inherit; }input:focus,textarea:focus,select:focus { border-color:var(--accent); }.status-form select { max-width:150px; }
.alert { margin-bottom:24px; padding:14px 17px; border-radius:5px; }.alert.success { color:#236b4b; background:#ddf0e5; }.alert.error { color:#8e301c; background:#f9ddd5; }
.empty-admin { padding:80px; border:1px dashed #cbc6bc; text-align:center; }.empty-admin h2 { font-size:25px; }
.back-link { display:inline-block; margin-bottom:30px; color:var(--muted); text-decoration:none; }.product-form { display:grid; gap:18px; }.form-card { padding:28px; border:1px solid var(--line); background:#fff; }.form-card h2 { margin:0 0 24px; font-size:20px; }.product-form label,.admin-form label { display:grid; gap:8px; color:#5e5a53; font-size:12px; font-weight:700; }.product-form label+label { margin-top:18px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px; }.form-row label { margin-top:0!important; }.price-row { max-width:520px; grid-template-columns:2fr 1fr; }.product-form textarea { resize:vertical; line-height:1.5; }.product-form small { color:var(--muted); font-weight:400; }.form-actions { display:flex; justify-content:flex-end; gap:10px; padding:10px 0 45px; }.admin-images { display:flex; gap:10px; margin-bottom:20px; overflow:auto; }.admin-images img { width:100px; height:100px; flex:0 0 auto; border:1px solid var(--line); object-fit:contain; background:#f3f0e9; }
.category-picker { display:grid; gap:12px; }.category-picker .new-category-field { margin-top:0!important; padding:13px; border-left:3px solid var(--accent); background:#f7f3ed; }.hidden { display:none!important; }
.danger-zone { margin:15px 0 60px; padding:24px 28px; display:flex; align-items:center; justify-content:space-between; gap:30px; border:1px solid #e1b9af; background:#fff7f4; }.danger-zone h2 { margin:0 0 7px; color:#9c311c; font-size:18px; }.danger-zone p { margin:0; color:#776b67; font-size:12px; }.button.danger { color:#fff; background:#a93821; }.button.danger:hover { background:#7f2514; }
.admin-login-page { min-height:100vh; display:grid; place-items:center; background:radial-gradient(circle at 20% 10%,#ffd4c7,transparent 32%),var(--paper); }.login-card { width:min(430px,calc(100% - 32px)); padding:42px; border:1px solid var(--line); background:#fff; box-shadow:0 25px 80px #38322518; }.login-card .kicker { margin-top:48px; }.login-card h1 { margin:7px 0; font-size:34px; }.admin-form { display:grid; gap:18px; margin:30px 0 24px; }.back-store { color:var(--muted); font-size:12px; text-decoration:none; }
@media(max-width:1000px){.orders-grid{grid-template-columns:1fr}}
@media(max-width:800px){.admin-sidebar{position:static;width:100%;height:auto;padding:20px}.admin-sidebar nav{margin-top:25px;grid-template-columns:repeat(3,1fr)}.sidebar-bottom{display:none}.admin-main{margin-left:0;padding:32px 18px}.request-grid{grid-template-columns:1fr}.admin-header{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}.actions{min-width:145px}.danger-zone{align-items:flex-start;flex-direction:column}.order-customer{grid-template-columns:1fr}.admin-sidebar nav a{padding:11px 8px;font-size:12px}}
