:root{--brand: #e11d48;--brand-dark: #be123c;--brand-soft: #fff1f2;--ink: #1c1917;--muted: #78716c;--line: #e7e5e4;--surface: #ffffff;--bg: #faf7f5;--danger: #e11d48;--danger-soft: #ffe4e6;--warn-bg: #fff7ed;--warn-border: #fdba74;--ok-bg: #ecfdf3;--ok-text: #067647;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(28, 25, 23, .04), 0 8px 24px rgba(28, 25, 23, .06);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}button,input,select,textarea{font:inherit}a{color:var(--brand);text-decoration:none}.app-btn{border:0;border-radius:999px;padding:.65rem 1.1rem;cursor:pointer;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap}.app-btn:disabled{opacity:.55;cursor:not-allowed}.app-btn-primary{background:var(--brand);color:#fff}.app-btn-primary:hover:not(:disabled){background:var(--brand-dark)}.app-btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.app-btn-ghost:hover:not(:disabled){background:#fafafa}.app-btn-text{background:transparent;color:var(--muted);border:0;border-radius:8px;padding:.5rem .75rem;font-weight:600}.app-btn-text:hover:not(:disabled){color:var(--ink);background:#1c19170a}.app-input,.app-select,.app-textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.65rem .85rem;background:#fff;color:var(--ink)}.app-input:disabled,.app-select:disabled,.app-textarea:disabled,.app-input:read-only{background:#f7f1f3;color:#9f1239;border-color:#f0d5dc;cursor:not-allowed;opacity:1}.app-input:disabled:focus,.app-select:disabled:focus,.app-textarea:disabled:focus,.app-input:read-only:focus{outline:none;border-color:#f0d5dc;box-shadow:none}.app-input:focus,.app-select:focus,.app-textarea:focus{outline:none;border-color:#fda4af;box-shadow:0 0 0 3px #e11d4824}.app-input.ng-invalid.ng-touched,.app-select.ng-invalid.ng-touched,.app-textarea.ng-invalid.ng-touched{border-color:#f5a8a0;box-shadow:0 0 0 3px #b4231814}app-password-input.ng-invalid.ng-touched .app-input{border-color:#f5a8a0;box-shadow:0 0 0 3px #b4231814}.app-textarea{min-height:96px;resize:vertical}.app-label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.02em}.app-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.app-error{color:var(--danger);font-size:.9rem}.app-badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.2rem .65rem;font-size:.72rem;font-weight:700;line-height:1.2;white-space:nowrap}.app-badge-ok{background:var(--ok-bg);color:var(--ok-text)}.app-badge-warn{background:#ffe4e6;color:#be123c}.app-badge-critical{background:#e11d48;color:#fff}.app-badge-high{background:#ea580c;color:#fff}.app-badge-medium{background:#fef3c7;color:#92400e}.app-badge-low{background:#f3f4f6;color:#4b5563}.app-badge-category{background:#ffe4e6;color:#be123c;font-weight:600}.app-badge-status-new,.app-badge-status-reopened{background:#ffedd5;color:#9a3412}.app-badge-status-progress{background:#ede9fe;color:#6d28d9}.app-badge-status-hold,.app-badge-status-approval{background:#e0f2fe;color:#0369a1}.app-badge-status-resolved{background:#ecfdf3;color:#067647}.app-badge-status-closed{background:#f3f4f6;color:#4b5563}
