:root{--ep-color-bg:#fbf7f2;--ep-color-surface:#fff;--ep-color-text:#1f1b16;--ep-color-text-muted:#6b6157;--ep-color-primary:#a4133c;--ep-color-primary-text:#fff;--ep-color-border:#e7ddd1;--ep-color-danger:#b3261e;--ep-color-success:#2e7d32;--ep-radius-sm:8px;--ep-radius-md:14px;--ep-radius-lg:22px;--ep-radius-pill:999px;--ep-space-xs:4px;--ep-space-sm:8px;--ep-space-md:16px;--ep-space-lg:24px;--ep-space-xl:32px;--ep-font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ep-font-heading:"Georgia", "Times New Roman", serif;--ep-content-max-width:480px}
*{box-sizing:border-box}html,body{background:var(--ep-color-bg);color:var(--ep-color-text);font-family:var(--ep-font-body);-webkit-font-smoothing:antialiased;margin:0;padding:0}.screen{min-height:100dvh;max-width:var(--ep-content-max-width);padding:var(--ep-space-lg) var(--ep-space-md);gap:var(--ep-space-lg);flex-direction:column;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--ep-space-md);display:flex}h1{font-family:var(--ep-font-heading);margin:0 0 var(--ep-space-xs);font-size:1.6rem}.subtle{color:var(--ep-color-text-muted);margin:0}.card{background:var(--ep-color-surface);border:1px solid var(--ep-color-border);border-radius:var(--ep-radius-lg);padding:var(--ep-space-lg);gap:var(--ep-space-sm);flex-direction:column;display:flex}.field{gap:var(--ep-space-xs);flex-direction:column;display:flex}label{color:var(--ep-color-text-muted);font-size:.85rem}input,select{border:1px solid var(--ep-color-border);border-radius:var(--ep-radius-md);background:var(--ep-color-surface);color:var(--ep-color-text);width:100%;padding:.8rem .9rem;font-size:1rem}input:focus,select:focus{outline:2px solid var(--ep-color-primary);outline-offset:1px}.row{gap:var(--ep-space-sm);align-items:center;display:flex}.btn-sm{width:auto;padding:.5rem .8rem;font-size:.85rem}.btn-danger{color:var(--ep-color-danger);border-color:var(--ep-color-border);background:0 0}.btn{justify-content:center;align-items:center;gap:var(--ep-space-xs);border-radius:var(--ep-radius-pill);cursor:pointer;border:1px solid #0000;width:100%;padding:.85rem 1.1rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--ep-color-primary);color:var(--ep-color-primary-text)}.btn-secondary{color:var(--ep-color-text);border-color:var(--ep-color-border);background:0 0}.btn:disabled{opacity:.6;cursor:default}.error{color:var(--ep-color-danger);margin:0;font-size:.9rem}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:var(--ep-radius-pill);background:var(--ep-color-bg);border:1px solid var(--ep-color-border);color:var(--ep-color-text-muted);padding:.2rem .55rem;font-size:.72rem;display:inline-block}.list{gap:var(--ep-space-md);flex-direction:column;display:flex}.linkrow{gap:var(--ep-space-xs);color:inherit;flex-direction:column;text-decoration:none;display:flex}.muted-link{color:var(--ep-color-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}[data-ep-theme=royal]{--ep-color-bg:#f6f1fb;--ep-color-surface:#fff;--ep-color-text:#241436;--ep-color-text-muted:#6a5a80;--ep-color-primary:#4b1d78;--ep-color-primary-text:#f6e6c4;--ep-color-border:#e3d6f0;--ep-font-heading:"Georgia", "Times New Roman", serif;--ep-radius-lg:24px}[data-ep-theme=floral]{--ep-color-bg:#fdf3f6;--ep-color-surface:#fff;--ep-color-text:#3a2230;--ep-color-text-muted:#8a6472;--ep-color-primary:#c2185b;--ep-color-primary-text:#fff;--ep-color-border:#f2d9e2;--ep-font-heading:"Georgia", "Times New Roman", serif}[data-ep-theme=minimal]{--ep-color-bg:#fff;--ep-color-surface:#fff;--ep-color-text:#17140f;--ep-color-text-muted:#7a736a;--ep-color-primary:#1f1b16;--ep-color-primary-text:#fff;--ep-color-border:#e6e2dc;--ep-font-heading:var(--ep-font-body);--ep-radius-md:8px;--ep-radius-lg:12px}[data-ep-theme=festive]{--ep-color-bg:#fff6ec;--ep-color-surface:#fff;--ep-color-text:#33200f;--ep-color-text-muted:#8a5f3b;--ep-color-primary:#e0561b;--ep-color-primary-text:#fff;--ep-color-border:#f6dcc4}[data-ep-theme=modern]{--ep-color-bg:#f2f5f5;--ep-color-surface:#fff;--ep-color-text:#10201e;--ep-color-text-muted:#5c6f6c;--ep-color-primary:#00695c;--ep-color-primary-text:#fff;--ep-color-border:#d9e4e2;--ep-font-heading:var(--ep-font-body);--ep-radius-md:10px;--ep-radius-lg:14px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:8px 0 20px;display:grid}.media-tile{background:var(--ep-color-surface);border:1px solid var(--ep-color-border);border-radius:var(--ep-radius-md,12px);flex-direction:column;gap:6px;margin:0;padding:8px;display:flex}.media-tile img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%;display:block}.media-placeholder{aspect-ratio:1;background:var(--ep-color-border);width:100%;color:var(--ep-color-text-muted);text-transform:capitalize;border-radius:8px;justify-content:center;align-items:center;font-size:.7rem;display:flex}.reaction-row{flex-wrap:wrap;gap:6px;display:flex}.chip{font:inherit;border:1px solid var(--ep-color-border);background:var(--ep-color-surface);color:var(--ep-color-text);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:.78rem;line-height:1.4;text-decoration:none}.chip:disabled{opacity:.6;cursor:default}.chip-on{background:var(--ep-color-primary);color:var(--ep-color-primary-text);border-color:var(--ep-color-primary)}.price-breakdown{border-collapse:collapse;width:100%;font-size:.95rem}.price-breakdown th{text-align:left;color:var(--ep-color-text-muted);padding:2px 0;font-weight:400}.price-breakdown td{text-align:right;font-variant-numeric:tabular-nums;padding:2px 0}.price-breakdown tr.total th,.price-breakdown tr.total td{color:inherit;border-top:1px solid var(--ep-color-border);padding-top:6px;font-weight:700}.price-line{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.price-was{color:var(--ep-color-text-muted);text-decoration:line-through}.offer-tag{text-transform:uppercase;letter-spacing:.04em;color:#a4133c;font-size:.75rem;font-weight:700}.admin{grid-template-columns:220px 1fr;min-height:100dvh;display:grid}.admin-nav{border-right:1px solid var(--ep-color-border);padding:var(--ep-space-lg) var(--ep-space-md);background:var(--ep-color-surface);flex-direction:column;gap:4px;display:flex}.admin-nav a{color:var(--ep-color-text);border-radius:var(--ep-radius-md);padding:6px 10px;font-size:.95rem;text-decoration:none}.admin-nav a[aria-current=page]{background:var(--ep-color-bg);font-weight:700}.admin-nav .admin-brand{margin-bottom:var(--ep-space-md);font-weight:700}.admin-main{padding:var(--ep-space-lg);gap:var(--ep-space-lg);flex-direction:column;min-width:0;max-width:1200px;display:flex}.admin-grid{gap:var(--ep-space-md);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.admin-stat{flex-direction:column;gap:2px;display:flex}.admin-stat strong{font-size:1.5rem}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--ep-color-border);vertical-align:top;padding:8px 10px}.admin-table th{color:var(--ep-color-text-muted);white-space:nowrap;font-weight:600}.admin-table td.num,.admin-table th.num{text-align:right;font-variant-numeric:tabular-nums}.chip{border:1px solid var(--ep-color-border);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.78rem;font-weight:600;display:inline-block}.chip.good{color:#1d6b35;background:#e7f6ec;border-color:#b7e2c4}.chip.warn{color:#8a5a00;background:#fff4e0;border-color:#f2d49b}.chip.bad{color:#9b1c2c;background:#fde8ea;border-color:#f3b8bf}.admin-form{gap:var(--ep-space-sm);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:end;display:grid}.admin-form .field input,.admin-form .field select{padding:.5rem .6rem;font-size:.95rem}.admin-row{gap:var(--ep-space-sm);flex-wrap:wrap;align-items:center;display:flex}.admin-kv{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;font-size:.92rem;display:grid}.admin-kv dt{color:var(--ep-color-text-muted)}.admin-kv dd{margin:0}@media (max-width:760px){.admin{grid-template-columns:1fr}.admin-nav{border-right:0;border-bottom:1px solid var(--ep-color-border);padding:var(--ep-space-sm);flex-flow:wrap}.admin-nav .admin-brand{width:100%;margin-bottom:0}.admin-main{padding:var(--ep-space-md)}}.admin .btn{width:auto}.admin .btn-sm{padding:.35rem .8rem;font-size:.85rem}.admin-stat strong.attn{color:var(--ep-color-danger)}.admin-table td .admin-row{flex-wrap:nowrap}@media (max-width:760px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-table td .admin-row{flex-wrap:wrap}}
