*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f6f8;color:#1c2733}.login-wrap{display:flex;justify-content:center;align-items:center;min-height:100vh}.card{background:#fff;padding:2rem 2.5rem;border-radius:10px;box-shadow:0 2px 12px #00000014;width:340px}.card h1{margin-top:0;font-size:1.4rem}.card label{display:block;margin-bottom:1rem;font-size:.9rem}.card input{display:block;width:100%;margin-top:.3rem;padding:.5rem;border:1px solid #cdd6df;border-radius:6px;font-size:1rem}.card button,.btn{padding:.5rem 1rem;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:.95rem;cursor:pointer;text-decoration:none;display:inline-block}.card button:disabled{opacity:.6;cursor:default}.error{color:#b91c1c;font-size:.9rem}.catalog{max-width:1000px;margin:0 auto;padding:1.5rem}.bar{display:flex;justify-content:space-between;align-items:center}.bar button{background:#e11d48}.sort{margin:1rem 0;display:flex;gap:1rem}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 6px #0000000f}th,td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid #e5eaef}th{background:#eef2f6;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.actions .btn{margin-right:.4rem}.modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:10px;width:min(640px,90vw);max-height:80vh;display:flex;flex-direction:column}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e5eaef}.modal-head h2{font-size:1.1rem;margin:0}.modal-body{padding:1.25rem;overflow-y:auto}
