:root{--ink: #0b1220;--text: #0f172a;--muted: #64748b;--line: #e2e8f0;--bg: #f4f6fb;--surface: #ffffff;--surface-2: #eef2f8;--brand: #2563eb;--brand-2: #22d3ee;--danger: #e11d48;--success: #16a34a;--radius: 16px;--shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 4px 12px rgba(15, 23, 42, .05);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .14);--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", var(--font-body)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em}a{color:var(--brand)}img,svg{max-width:100%}.container{width:min(1180px,100% - 32px);margin-inline:auto}.muted{color:var(--muted)}.page-title{margin:36px 0 20px;font-size:clamp(26px,4vw,34px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease,transform .1s ease,border-color .15s ease;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#1e293b}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--text)}.btn-ghost:hover{border-color:#cbd5e1}.btn-sm{padding:8px 12px;font-size:14px}.btn-block{width:100%}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.field{display:grid;gap:6px}.field label{font-size:13px;font-weight:600}.field input,.field textarea,.field select{width:100%;font:inherit;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--text)}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid color-mix(in srgb,var(--brand) 40%,transparent);border-color:var(--brand)}.field .error{color:var(--danger);font-size:12px}.field input.ng-invalid.ng-touched,.field textarea.ng-invalid.ng-touched{border-color:var(--danger)}.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.qty button{width:36px;height:36px;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--text)}.qty button:hover:not(:disabled){background:var(--surface-2)}.qty span{min-width:34px;text-align:center;font-weight:700}.empty{text-align:center;padding:56px 20px}@media print{.no-print{display:none!important}body{background:#fff}}
