:root { --bg: #f8f4ee; --surface: #fffdf9; --ink: #26211d; --soft: #6b6259; --line: #e7ded2; --accent: #b3402e; --accent-soft: #f6e3de; --green: #1f6f54; --font: "Manrope", sans-serif; --display: "Fraunces", Georgia, serif; --mono: "DM Mono", monospace; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: radial-gradient(900px 420px at 90% -10%, #f3e4dc, transparent 62%), var(--bg); font-family: var(--font); }
.admin-shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; padding: 48px 0 72px; }
.admin-header, .panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.admin-header { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.eyebrow { margin: 0 0 6px; color: var(--accent); font: 12px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
h1, h2 { margin: 0; font-family: var(--display); letter-spacing: 0; } h1 { font-size: clamp(32px, 5vw, 48px); } h2 { font-size: 25px; }
.refresh-button { padding: 10px 16px; border: 0; border-radius: 8px; background: var(--accent); color: #fff; font: 700 14px var(--font); cursor: pointer; } .refresh-button:disabled { opacity: .5; }
.control-login { width: min(92vw, 390px); padding: 28px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-family: var(--font); }.control-login::backdrop { background: rgb(38 33 29 / .45); backdrop-filter: blur(3px); }.control-login h1 { font-size: 31px; }.control-login form > p:not(.eyebrow) { color: var(--soft); font-size: 14px; }.control-login label { display: grid; gap: 5px; margin: 13px 0; font-size: 13px; font-weight: 700; }.control-login input { width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); font: 15px var(--font); }.control-error { min-height: 1.3em; color: var(--accent); font-size: 13px; }
.updated-at { margin: 14px 0 26px; color: var(--soft); font: 12px var(--mono); }
.products-panel { margin-bottom: 20px; }.products-panel .panel-heading { margin-bottom: 14px; }.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.product-card { display: grid; gap: 6px; min-height: 142px; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); text-decoration: none; }.product-card:not(.pending):hover { border-color: var(--accent); }.product-card strong { font: 700 22px var(--display); }.product-card > span:not(.product-state) { color: var(--soft); font-size: 13px; }.product-card small { margin-top: auto; color: var(--soft); font: 11px var(--mono); }.product-card.pending { opacity: .62; }.product-state { width: max-content; padding: 2px 6px; border-radius: 3px; background: var(--accent-soft); color: var(--accent); font: 10px var(--mono); text-transform: uppercase; }
.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.stat-card, .panel { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.stat-card { padding: 18px; } .stat-card p { margin: 0 0 9px; color: var(--soft); font-size: 13px; } .stat-card strong { display: block; font: 700 30px var(--display); } .stat-card small { display: block; margin-top: 6px; color: var(--soft); font-size: 11px; }
.panel { margin-top: 20px; padding: 22px; } .panel-heading { margin-bottom: 18px; }
.daily-rows { display: grid; gap: 9px; }.daily-row { display: grid; grid-template-columns: 90px 1fr 36px 92px; align-items: center; gap: 12px; color: var(--soft); font-size: 12px; }.daily-row time { font-family: var(--mono); }.daily-row b { color: var(--ink); text-align: right; }.daily-row small { font-size: 11px; }.bar { height: 9px; overflow: hidden; border-radius: 2px; background: var(--accent-soft); }.bar span { display: block; min-width: 3px; height: 100%; background: var(--accent); }
.search-label { display: grid; gap: 4px; color: var(--soft); font-size: 12px; }.search-label input { width: 220px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); font: 13px var(--font); }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; text-align: left; } th { padding: 0 12px 9px; color: var(--soft); font: 11px var(--mono); text-transform: uppercase; } td { padding: 13px 12px; border-top: 1px solid var(--line); font-size: 13px; white-space: nowrap; } td:first-child { font-weight: 700; }.empty-state { margin: 16px 0 0; color: var(--soft); }.error-state { padding: 18px; border: 1px solid var(--accent); border-radius: 8px; color: var(--accent); }
@media (max-width: 760px) { .admin-shell { width: min(100% - 28px, 1160px); padding-top: 28px; }.summary-grid, .product-grid { grid-template-columns: repeat(2, 1fr); }.admin-header, .panel-heading { align-items: start; flex-direction: column; }.search-label input { width: min(100%, 300px); }.daily-row { grid-template-columns: 78px 1fr 30px; }.daily-row small { display: none; }.panel { padding: 16px; } }
@media (max-width: 460px) { .summary-grid, .product-grid { grid-template-columns: 1fr; } }