:root{--bg:#fff;--panel:#fff;--text:#1a1a1a;--muted:#333;--border:#eee;--accent:#000;--brand:#700010;--faded:#f0f0f0;--danger:#d93025;--radius-sm:4px;--radius-md:8px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}h1,h2,h3,h4,.brand-font{letter-spacing:-.01em;font-family:Playfair Display,serif;font-weight:400}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 24px 64px}.card{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-sm);padding:24px}.stack{gap:16px;display:grid}.row{flex-wrap:wrap;gap:16px;display:flex}.muted{color:var(--muted);font-size:.95em}.btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border-radius:0;padding:12px 24px;font-size:13px;font-weight:500;transition:all .2s}.btn:hover:not(:disabled),.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){opacity:.9}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn:disabled{opacity:.3;cursor:not-allowed;filter:grayscale()}.input,.textarea,select{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:0;outline:none;padding:12px;font-family:inherit;transition:border-color .2s}.input:focus,.textarea:focus,select:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:120px}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.dressPickerGrid,.adminGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}@media (max-width:1024px){.dressPickerGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.dressPickerGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.container{padding:0 16px 40px}}.skeleton{background:var(--faded);animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pill{border:1px solid var(--border);color:var(--muted);background:#f9f9f9;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-size:12px;display:inline-flex}.hr{background:var(--border);height:1px;margin:24px 0}
