@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";.onb-page{padding:28px 32px 48px;min-height:100%;background:var(--bg);animation:fadeInUp .28s var(--ease)}.onb-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}.onb-header h1{font-size:24px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.onb-header p{font-size:13.5px;color:var(--text-secondary);margin-top:3px}.onb-stats{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;margin-bottom:24px}@media (max-width: 1300px){.onb-stats{grid-template-columns:repeat(4,1fr)}}@media (max-width: 800px){.onb-stats{grid-template-columns:repeat(2,1fr)}}.onb-stat-card{background:var(--white);border:1.5px solid var(--border);border-radius:16px;padding:18px 16px 16px;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:box-shadow .22s var(--ease),transform .22s var(--ease),border-color .22s}.onb-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:16px 16px 0 0}.onb-stat-card.primary:before{background:linear-gradient(90deg,#2563eb,#7c3aed)}.onb-stat-card.warning:before{background:linear-gradient(90deg,#f59e0b,#f97316)}.onb-stat-card.info:before{background:linear-gradient(90deg,#0ea5e9,#38bdf8)}.onb-stat-card.success:before{background:linear-gradient(90deg,#16a34a,#22d3ee)}.onb-stat-card.violet:before{background:linear-gradient(90deg,#4f46e5,#8b5cf6)}.onb-stat-card.purple:before{background:linear-gradient(90deg,#7c3aed,#a855f7)}.onb-stat-card.danger:before{background:linear-gradient(90deg,#ef4444,#ec4899)}.onb-stat-card.training:before{background:linear-gradient(90deg,#0d9488,#14b8a6)}.onb-stat-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.onb-stat-clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.onb-stat-active{transform:translateY(-3px)!important}.onb-stat-active.primary{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border-color:#2563eb;box-shadow:0 0 0 2px #2563eb44,var(--shadow-md)!important}.onb-stat-active.warning{background:linear-gradient(135deg,#fffbeb,#fff7ed);border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b44,var(--shadow-md)!important}.onb-stat-active.info{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#0ea5e9;box-shadow:0 0 0 2px #0ea5e944,var(--shadow-md)!important}.onb-stat-active.success{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#16a34a;box-shadow:0 0 0 2px #16a34a44,var(--shadow-md)!important}.onb-stat-active.violet{background:linear-gradient(135deg,#eef2ff,#f5f3ff);border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e544,var(--shadow-md)!important}.onb-stat-active.purple{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed44,var(--shadow-md)!important}.onb-stat-active.danger{background:linear-gradient(135deg,#fff1f2,#fdf2f8);border-color:#ef4444;box-shadow:0 0 0 2px #ef444444,var(--shadow-md)!important}.onb-stat-icon{font-size:20px;margin-bottom:8px;display:block;line-height:1}.onb-stat-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;background:#2563eb1a;color:#2563eb;margin-top:6px;text-transform:uppercase;letter-spacing:.05em}.onb-stat-card .label{font-size:10.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onb-stat-card .value{font-size:30px;font-weight:900;line-height:1;letter-spacing:-1px}.onb-stat-card.primary .value{color:#2563eb}.onb-stat-card.warning .value{color:#f59e0b}.onb-stat-card.info .value{color:#0ea5e9}.onb-stat-card.success .value{color:#16a34a}.onb-stat-card.violet .value{color:#4f46e5}.onb-stat-card.purple .value{color:#7c3aed}.onb-stat-card.danger .value{color:#ef4444}.onb-stat-card.training .value{color:#0d9488}.onb-active-label{display:flex;align-items:center;gap:10px;padding:8px 14px;margin-bottom:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;font-size:13px;color:#1d4ed8}.onb-active-label strong{font-weight:700}.onb-active-count{margin-left:4px;background:#2563eb;color:#fff;border-radius:20px;padding:1px 9px;font-size:11.5px;font-weight:700}.onb-active-label button{margin-left:auto;background:none;border:none;color:#2563eb;font-size:12px;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:6px}.onb-active-label button:hover{background:#dbeafe}.onb-toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.onb-search-wrap{flex:1;min-width:240px;position:relative;display:flex;align-items:center}.onb-search-icon{position:absolute;left:13px;width:16px;height:16px;color:#96a3b8;pointer-events:none;flex-shrink:0}.onb-search{width:100%;padding:10px 36px 10px 40px;border:1.5px solid var(--border);border-radius:10px;font-size:13.5px;background:var(--white);color:var(--text-primary);outline:none;transition:border-color .18s,box-shadow .18s}.onb-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.onb-search-clear{position:absolute;right:10px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:4px;border-radius:4px;line-height:1}.onb-search-clear:hover{color:var(--text-primary);background:var(--bg)}.onb-export-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:10px;background:linear-gradient(135deg,#16a34a,#059669);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 2px 10px #16a34a4d;transition:box-shadow .18s,transform .18s;letter-spacing:-.1px}.onb-export-btn:hover{box-shadow:0 4px 18px #16a34a73;transform:translateY(-1px)}.onb-export-btn:active{transform:translateY(0)}.onb-filter-select{padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:13.5px;background:var(--white);color:var(--text-primary);cursor:pointer;outline:none;transition:border-color .18s,box-shadow .18s}.onb-filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.onb-filter-date{padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;font-size:13px;background:var(--white);color:var(--text-primary);cursor:pointer;outline:none;transition:border-color .18s,box-shadow .18s;min-width:140px}.onb-filter-date:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.onb-th-label{font-size:10.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;white-space:nowrap}.onb-col-filter{width:100%;padding:5px 8px;border:1.5px solid var(--border);border-radius:6px;font-size:11.5px;font-weight:400;background:var(--white);color:var(--text-primary);outline:none;text-transform:none;letter-spacing:0;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.onb-col-filter:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb1f}.onb-col-filter::placeholder{color:#b0bbcc;font-style:italic;font-size:11px}.onb-table-wrap{background:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);overflow-x:auto;overflow-y:hidden}.onb-table-wrap::-webkit-scrollbar{height:6px}.onb-table-wrap::-webkit-scrollbar-track{background:var(--bg);border-radius:0 0 16px 16px}.onb-table-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.onb-table-wrap::-webkit-scrollbar-thumb:hover{background:#b0bbcc}.onb-table{width:100%;border-collapse:collapse;font-size:13.5px}.onb-table thead th{background:linear-gradient(180deg,#f8faff,#f1f5fc);padding:12px 14px 10px;text-align:left;font-size:10.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;border-bottom:1.5px solid var(--border);vertical-align:top}.onb-table tbody tr{border-bottom:1px solid #f2f5fc;cursor:pointer;transition:background .14s,box-shadow .14s}.onb-table tbody tr:last-child{border-bottom:none}.onb-table tbody tr:hover{background:linear-gradient(90deg,#f0f6ff,#fafbff);box-shadow:inset 3px 0 0 var(--primary)}.onb-table td{padding:14px 18px;color:var(--text-primary);vertical-align:middle}.onb-table .sub{font-size:12px;color:var(--text-muted);margin-top:3px;font-weight:400}.onb-td-sno{text-align:center;color:var(--text-muted);font-weight:700;font-size:13px}.onb-td-mono{font-family:monospace;font-size:13.5px;font-weight:600;letter-spacing:.02em}.onb-td-biz{font-weight:700;color:var(--success);font-size:13.5px}.onb-code{font-weight:700;font-family:monospace;font-size:13px;letter-spacing:.03em}.onb-name{font-weight:600;font-size:13.5px;color:var(--text-primary)}.onb-date{font-weight:600;font-size:13.5px}.onb-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;font-size:11.5px;font-weight:700;white-space:nowrap;letter-spacing:.01em}.onb-badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.onb-badge.pending{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.onb-badge.pending:before{background:#f59e0b}.onb-badge.approved{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.onb-badge.approved:before{background:#22c55e}.onb-badge.rejected{background:#fff1f2;color:#b91c1c;border:1px solid #fecdd3}.onb-badge.rejected:before{background:#ef4444}.onb-badge.referred{background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc}.onb-badge.referred:before{background:#06b6d4}.onb-badge.referral{background:#faf5ff;color:#6d28d9;border:1px solid #ddd6fe}.onb-badge.referral:before{background:#8b5cf6}.onb-badge.training{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.onb-badge.training:before{background:#3b82f6}.onb-flow-banner{display:flex;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px 24px;margin-bottom:24px;box-shadow:var(--shadow);gap:0;position:relative}.onb-flow-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12px;font-weight:600;color:var(--text-muted);position:relative}.onb-flow-step+.onb-flow-step:before{content:"";position:absolute;left:-50%;top:13px;width:100%;height:2px;background:var(--border);z-index:0}.onb-flow-step>span{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;background:var(--bg);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.onb-flow-step.done{color:var(--success)}.onb-flow-step.done+.onb-flow-step:before{background:var(--success)}.onb-flow-step.done>span{background:var(--success);border-color:var(--success);color:#fff;box-shadow:0 2px 8px #16a34a59}.onb-flow-step.active{color:var(--primary)}.onb-flow-step.active>span{background:linear-gradient(135deg,#2563eb,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 2px 12px #2563eb73;animation:glow-ring 2s ease infinite}.onb-review-layout{display:grid;grid-template-columns:1fr 370px;gap:22px;align-items:start}@media (max-width: 1100px){.onb-review-layout{grid-template-columns:1fr}}.onb-card{background:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s var(--ease)}.onb-card:hover{box-shadow:var(--shadow-md)}.onb-card-header{padding:16px 22px;border-bottom:1px solid var(--border);font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:9px;background:linear-gradient(180deg,#fafbff,#f5f8ff);letter-spacing:-.1px}.onb-card-body{padding:22px}.onb-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px 22px}.onb-info-item{display:flex;flex-direction:column;gap:4px}.onb-info-item .lbl{font-size:10.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.onb-info-item .val{font-size:13.5px;font-weight:600;color:var(--text-primary);word-break:break-word;background:var(--bg);padding:5px 10px;border-radius:8px;border:1px solid var(--border);min-height:30px;display:flex;align-items:center}.onb-doc-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;margin-bottom:8px;background:var(--bg);border:1px solid var(--border);gap:12px;transition:border-color .15s,box-shadow .15s}.onb-doc-row:last-child{margin-bottom:0}.onb-doc-row:hover{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb12}.onb-doc-label{font-size:13px;font-weight:600;color:var(--text-primary);flex:1;display:flex;align-items:center;gap:9px}.onb-doc-label:before{content:"📄";font-size:15px;flex-shrink:0}.onb-doc-actions{display:flex;gap:8px;align-items:center}.onb-checklist{display:flex;flex-direction:column;gap:8px}.onb-check-item{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:9px 12px;border-radius:9px;border:1px solid var(--border);background:var(--bg);transition:all .15s}.onb-check-item:hover{border-color:var(--primary);background:var(--primary-light)}.onb-check-item:has(input:checked){border-color:var(--success);background:var(--success-light);color:var(--success)}.onb-check-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--success);cursor:pointer;flex-shrink:0}.onb-textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:13.5px;resize:vertical;font-family:inherit;color:var(--text-primary);background:var(--white);outline:none;transition:border-color .18s,box-shadow .18s;line-height:1.55}.onb-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.onb-actions{display:flex;flex-direction:column;gap:10px}.onb-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 20px;border-radius:10px;font-size:13.5px;font-weight:700;cursor:pointer;border:none;transition:all .18s var(--ease);white-space:nowrap;letter-spacing:-.1px;position:relative;overflow:hidden}.onb-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff0;transition:background .15s}.onb-btn:hover:after{background:#ffffff1f}.onb-btn:active:after{background:#00000012}.onb-btn:hover{transform:translateY(-1px)}.onb-btn:active{transform:translateY(0)}.onb-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.onb-btn-primary{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 4px 16px #2563eb59}.onb-btn-primary:not(:disabled):hover{box-shadow:0 6px 24px #2563eb80}.onb-btn-success{background:linear-gradient(135deg,#16a34a,#059669);color:#fff;box-shadow:0 4px 16px #16a34a52}.onb-btn-success:not(:disabled):hover{box-shadow:0 6px 24px #16a34a75}.onb-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 16px #ef44444d}.onb-btn-danger:not(:disabled):hover{box-shadow:0 6px 24px #ef444470}.onb-btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 16px #f59e0b4d}.onb-btn-warning:not(:disabled):hover{box-shadow:0 6px 24px #f59e0b70}.onb-btn-ghost{background:var(--white);color:var(--text-secondary);border:1.5px solid var(--border);box-shadow:none}.onb-btn-ghost:hover{background:var(--bg);color:var(--text-primary);border-color:#b0bbcc;box-shadow:var(--shadow);transform:translateY(-1px)}.onb-btn-sm{padding:6px 13px;font-size:12px;border-radius:8px}.onb-btn-block{width:100%}.onb-bypass-row{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#fffbeb;border:1.5px dashed #fde68a;border-radius:10px;font-size:13px;font-weight:600;color:#92400e;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s}.onb-bypass-row:hover{background:#fef3c7;border-color:#f59e0b}.onb-bypass-row input{accent-color:#d97706;width:16px;height:16px;cursor:pointer}.onb-pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-top:1px solid var(--border);background:linear-gradient(180deg,#f8faff,#f1f5fc);flex-wrap:wrap;gap:12px}.onb-page-info{font-size:13px;color:var(--text-secondary)}.onb-page-info strong{color:var(--text-primary)}.onb-page-controls{display:flex;align-items:center;gap:4px}.onb-page-btn{min-width:34px;height:34px;padding:0 8px;border:1.5px solid var(--border);border-radius:8px;background:var(--white);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s var(--ease);display:inline-flex;align-items:center;justify-content:center}.onb-page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#eff6ff}.onb-page-btn.active{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-color:transparent;box-shadow:0 2px 8px #2563eb59}.onb-page-btn:disabled{opacity:.38;cursor:not-allowed}.onb-page-ellipsis{padding:0 4px;color:var(--text-muted);font-size:14px;-webkit-user-select:none;user-select:none}.onb-page-size{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.onb-page-size select{padding:5px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;background:var(--white);color:var(--text-primary);cursor:pointer;outline:none;transition:border-color .15s}.onb-page-size select:focus{border-color:var(--primary)}.onb-empty{text-align:center;padding:80px 24px;color:var(--text-secondary)}.onb-empty .icon{font-size:52px;margin-bottom:16px;opacity:.7;filter:grayscale(.2)}.onb-empty h3{font-size:17px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.onb-empty p{font-size:14px;color:var(--text-muted);line-height:1.6}.onb-back{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;background:var(--white);border:1.5px solid var(--border);border-radius:9px;padding:7px 14px;margin-bottom:22px;text-decoration:none;transition:all .18s var(--ease);box-shadow:var(--shadow)}.onb-back:hover{background:var(--bg);border-color:#b0bbcc;color:var(--primary);box-shadow:var(--shadow-md);transform:translate(-2px)}.onb-loading{display:flex;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-muted);font-size:14px;gap:12px;font-weight:500}.onb-loading:before{content:"";width:20px;height:20px;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite;flex-shrink:0}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary: #CC2131;--primary-dark: #A01828;--primary-hover: #8B1220;--primary-light: #FFF0F1;--primary-muted: rgba(204,33,49,.08);--secondary: #64748b;--purple: #7c3aed;--purple-light: #f5f3ff;--cyan: #06b6d4;--emerald: #10b981;--amber: #f59e0b;--rose: #f43f5e;--info: #0891b2;--info-light: #e0f2fe;--saggio-gold: #F0C040;--saggio-charcoal: #2D3436;--success: #16a34a;--success-light: #dcfce7;--danger: #dc2626;--danger-light: #fee2e2;--warning: #d97706;--warning-light: #fef3c7;--white: #ffffff;--bg: #F8F3F3;--bg-2: #EEE5E5;--border: #E8D5D5;--border-2: #D9C2C2;--text-primary: #1A0C0E;--text-secondary: #6B5255;--text-muted: #9E8688;--sidebar-bg: #1A1C1D;--sidebar-text: #8A96A3;--sidebar-active: #CC2131;--shadow: 0 1px 3px rgba(13,19,36,.06), 0 1px 2px rgba(13,19,36,.04);--shadow-md: 0 4px 18px rgba(13,19,36,.09), 0 2px 6px rgba(13,19,36,.05);--shadow-lg: 0 12px 42px rgba(13,19,36,.13), 0 4px 14px rgba(13,19,36,.07);--shadow-xl: 0 24px 64px rgba(13,19,36,.18), 0 8px 24px rgba(13,19,36,.08);--shadow-primary: 0 8px 28px rgba(204,33,49,.3);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cc213140;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#cc213180}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(48px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shrink{0%{width:100%}to{width:0%}}@keyframes float-a{0%,to{transform:translate(0) scale(1)}33%{transform:translate(28px,-18px) scale(1.04)}66%{transform:translate(-18px,26px) scale(.96)}}@keyframes float-b{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-22px,16px) scale(1.03)}66%{transform:translate(18px,-22px) scale(.97)}}@keyframes float-c{0%,to{transform:translate(0)}50%{transform:translate(12px,-14px)}}@keyframes glow-ring{0%,to{box-shadow:0 0 #cc213159}60%{box-shadow:0 0 0 8px #cc213100}}@keyframes dot-ping{75%,to{transform:scale(2);opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.fade-in{animation:fadeIn .22s var(--ease)}.fade-in-up{animation:fadeInUp .3s var(--ease)}.fade-in-scale{animation:fadeInScale .22s var(--ease-bounce)}.skeleton{background:linear-gradient(90deg,#edf1f8 25%,#e2e8f4,#edf1f8 75%);background-size:200% 100%;animation:shimmer 1.6s infinite;border-radius:6px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)!important;box-shadow:0 0 0 3px #cc213124}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:8px;font-size:13.5px;font-weight:600;border:none;cursor:pointer;transition:all .18s var(--ease);white-space:nowrap;letter-spacing:-.01em}.btn-primary{background:linear-gradient(135deg,#cc2131,#8b1220);color:#fff;box-shadow:0 4px 14px #cc213152}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 22px #cc213170;filter:brightness(1.06)}.btn-primary:active{transform:translateY(0);filter:brightness(.97)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px #dc262647}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 22px #dc262661;filter:brightness(1.06)}.btn-ghost{background:transparent;border:1.5px solid var(--border-2);color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-2);color:var(--text-primary);border-color:#c4cfdf}.card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow)}.tbl{width:100%;border-collapse:collapse}.tbl th{padding:10px 16px;text-align:left;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;background:#fbf5f5;border-bottom:1px solid var(--border)}.tbl td{padding:11px 16px;font-size:13.5px;border-bottom:1px solid #F3EAEA;vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .1s}.tbl tbody tr:hover td{background:#fef7f7}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap}.bdg-blue{background:#eff6ff;color:#2563eb}.bdg-purple{background:#f5f3ff;color:#7c3aed}.bdg-green{background:#f0fdf4;color:#16a34a}.bdg-amber{background:#fffbeb;color:#d97706}.bdg-red{background:#fff1f2;color:#dc2626}.bdg-gray{background:#f8fafc;color:#64748b}.bdg-cyan{background:#ecfeff;color:#0891b2}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:all;min-width:320px;max-width:440px;padding:14px 16px;border-radius:14px;display:flex;align-items:flex-start;gap:12px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;animation:slideInRight .3s var(--ease);position:relative;overflow:hidden}.toast.removing{animation:slideOutRight .25s var(--ease) forwards}.toast-progress{position:absolute;bottom:0;left:0;height:3px;border-radius:0 0 14px 14px;animation:shrink 4s linear forwards}.toast.success{background:#f0fdf4;border:1px solid #a7f3d0}.toast.error{background:#fff1f2;border:1px solid #fecdd3}.toast.warning{background:#fffbeb;border:1px solid #fde68a}.toast.info{background:#eff6ff;border:1px solid #bfdbfe}.toast-icon{font-size:18px;flex-shrink:0;margin-top:1px}.toast-body{flex:1}.toast-title{font-weight:700;font-size:13.5px;margin-bottom:2px}.toast-msg{font-size:12.5px;color:var(--text-secondary);line-height:1.45}.toast.success .toast-title{color:#15803d}.toast.error .toast-title{color:#b91c1c}.toast.warning .toast-title{color:#92400e}.toast.info .toast-title{color:#1d4ed8}.toast.success .toast-progress{background:linear-gradient(90deg,#22c55e,#4ade80)}.toast.error .toast-progress{background:linear-gradient(90deg,#ef4444,#f87171)}.toast.warning .toast-progress{background:linear-gradient(90deg,#f59e0b,#fcd34d)}.toast.info .toast-progress{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.toast-close{background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);font-size:16px;line-height:1;margin-top:-1px;flex-shrink:0;transition:color .15s}.toast-close:hover{color:var(--text-primary)}
