@property --border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes ui-border-spin{to{--border-angle:360deg}}.ui-card{border-radius:var(--card-radius);background:var(--surface);border:1px solid var(--border);padding:18px;position:relative;overflow:hidden}.ui-card-glow{border-radius:var(--card-radius);padding:1.5px;background:conic-gradient(from var(--border-angle),var(--glow-from,rgba(37,99,235,.5)),var(--glow-mid,rgba(168,85,247,.45)),var(--glow-to,rgba(56,189,248,.4)),var(--glow-mid,rgba(168,85,247,.45)),var(--glow-from,rgba(37,99,235,.5)));animation:ui-border-spin 4s linear infinite}.ui-card-glow>.ui-card{border:none;border-radius:calc(var(--card-radius) - 1.5px);box-shadow:inset 0 1px 0 var(--metal-highlight)}[data-theme=light] .ui-card-glow{background:conic-gradient(from var(--border-angle),var(--glow-from,rgba(37,99,235,.3)),var(--glow-mid,rgba(168,85,247,.22)),var(--glow-to,rgba(56,189,248,.18)),var(--glow-mid,rgba(168,85,247,.22)),var(--glow-from,rgba(37,99,235,.3)))}[data-theme=light] .ui-card-glow>.ui-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.ui-card-glow.glow-pink{--glow-from:rgba(236,72,153,0.5);--glow-mid:rgba(168,85,247,0.45);--glow-to:rgba(56,189,248,0.4)}.ui-card-glow.glow-green{--glow-from:rgba(16,185,129,0.5);--glow-mid:rgba(56,189,248,0.4);--glow-to:rgba(37,99,235,0.35)}.ui-card-glow.glow-gold{--glow-from:rgba(245,158,11,0.5);--glow-mid:rgba(217,119,6,0.4);--glow-to:rgba(236,72,153,0.3)}.ui-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ui-section-title{font-family:var(--font-heading);font-weight:700;color:var(--text);gap:8px}.ui-section-title,.ui-section-title-icon{font-size:14px;display:flex;align-items:center}.ui-section-title-icon{width:28px;height:28px;border-radius:8px;justify-content:center}.ui-section-link{font-size:12px;font-weight:600;color:var(--blue);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .15s;font-family:var(--font-body)}.ui-section-link:active{background:rgba(37,99,235,.08)}.ui-stat{min-width:0}.ui-stat-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;line-height:1;margin-bottom:4px}.ui-stat-value{font-family:var(--font-mono);font-size:14px;font-weight:600;line-height:1.2;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-stat-value.stat-sm{font-size:12px}.ui-stat-value.stat-lg{font-size:18px}.ui-stat-value.stat-xl{font-size:24px}.ui-stat-value.stat-blue{color:var(--blue)}.ui-stat-value.stat-green{color:var(--green)}.ui-stat-value.stat-red{color:var(--red)}.ui-stat-value.stat-gold{color:var(--gold)}.ui-stat-value.stat-amber{color:var(--amber)}.ui-stat-value.stat-purple{color:var(--purple)}.ui-stat-row{display:flex;align-items:center;gap:0}.ui-stat-row>.ui-stat{flex:1;text-align:center}.ui-stat-row>.ui-stat+.ui-stat{border-left:1px solid rgba(148,163,194,.08)}[data-theme=light] .ui-stat-row>.ui-stat+.ui-stat{border-left-color:rgba(80,100,140,.08)}.ui-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ui-stat-grid>.ui-stat{padding:8px 0}.ui-progress-track{width:100%;border-radius:999px;background:var(--progress-track);overflow:hidden}.ui-progress-track.track-sm{height:4px}.ui-progress-track.track-md{height:6px}.ui-progress-track.track-lg{height:8px}.ui-progress-fill{height:100%;border-radius:inherit;min-width:3px;transition:width .8s cubic-bezier(.4,0,.2,1)}.ui-progress-fill.fill-blue{background:linear-gradient(90deg,#2563eb,#38bdf8)}.ui-progress-fill.fill-green{background:linear-gradient(90deg,#059669,#34d399)}.ui-progress-fill.fill-red{background:linear-gradient(90deg,#dc2626,#f87171)}.ui-progress-fill.fill-amber{background:linear-gradient(90deg,#d97706,#fbbf24)}.ui-progress-fill.fill-purple{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.ui-progress-fill.fill-gold{background:linear-gradient(90deg,#b45309,#f59e0b)}.ui-progress-row{display:flex;align-items:center;gap:8px}.ui-progress-row .ui-progress-track{flex:1}.ui-progress-pct{min-width:30px;font-weight:700;font-family:var(--font-mono)}.ui-progress-label,.ui-progress-pct{text-align:right;font-size:10px;color:var(--text-muted)}.ui-progress-label{font-weight:500;margin-top:4px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;cursor:pointer;font-family:var(--font-body);font-weight:600;transition:transform .15s,opacity .15s;touch-action:manipulation;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;overflow:hidden}.ui-btn:active{transform:scale(.96)}.ui-btn:disabled{opacity:.5;pointer-events:none}.ui-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}.ui-btn-primary{height:44px;padding:0 20px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--purple));color:white;font-size:13px;box-shadow:0 4px 12px rgba(37,99,235,.25)}.ui-btn-primary:active{box-shadow:0 2px 8px rgba(37,99,235,.2)}.ui-btn-primary.btn-full{width:100%}.ui-btn-primary-lg{height:52px;padding:0 24px;border-radius:16px;background:linear-gradient(135deg,var(--blue),var(--purple));color:white;font-size:15px;font-weight:700;font-family:var(--font-heading);box-shadow:0 8px 24px rgba(37,99,235,.25)}.ui-btn-primary-lg:active{transform:scale(.98);box-shadow:0 4px 12px rgba(37,99,235,.2)}.ui-btn-primary-lg.btn-full{width:100%}.ui-btn-secondary{border-radius:10px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary)}.ui-btn-danger,.ui-btn-secondary{height:38px;padding:0 14px;font-size:12px}.ui-btn-danger{border-radius:10px;background:transparent;border:1px solid rgba(239,68,68,.3);color:var(--red)}.ui-btn-ghost{height:38px;padding:0 12px;border-radius:10px;background:transparent;border:none;color:var(--text-secondary);font-size:12px}.ui-btn-ghost:active{background:var(--surface-2)}.ui-btn-icon{width:36px;height:36px;border-radius:10px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:0;flex-shrink:0}.ui-btn-icon:active{background:var(--surface-2)}.ui-btn-icon.btn-sm{width:28px;height:28px;border-radius:8px}.ui-btn-icon.btn-sm svg{width:12px;height:12px}.ui-btn-icon.btn-lg{width:44px;height:44px;border-radius:12px}.ui-btn-icon.btn-lg svg{width:18px;height:18px}.ui-btn-add{width:100%;height:42px;border-radius:12px;border:1px dashed var(--border-strong);background:transparent;color:var(--text-secondary);font-size:12px}.ui-btn-add:active{background:var(--surface-2);color:var(--text)}.ui-divider{background:var(--border)}.ui-divider,.ui-divider-light{height:1px;border:none;margin:12px 0}.ui-divider-light{background:rgba(148,163,194,.08)}[data-theme=light] .ui-divider-light{background:rgba(80,100,140,.08)}.ui-divider-vertical{width:1px;height:28px;background:linear-gradient(180deg,transparent,var(--border),transparent);flex-shrink:0;margin:0 8px}.ui-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}.ui-badge-green{color:var(--green);background:var(--icon-bg-green)}.ui-badge-red{color:var(--red);background:rgba(239,68,68,.12)}.ui-badge-amber{color:var(--amber);background:rgba(245,158,11,.12)}.ui-badge-blue{color:var(--blue);background:rgba(37,99,235,.1)}.ui-badge-purple{color:var(--purple);background:rgba(168,85,247,.1)}.ui-badge-gold{color:var(--gold);background:rgba(245,158,11,.1)}.ui-badge-muted{color:var(--text-muted);background:var(--surface-2)}[data-theme=light] .ui-badge-green{background:#d1fae5}[data-theme=light] .ui-badge-red{background:#fee2e2}[data-theme=light] .ui-badge-amber{background:#fef3c7}.ui-avatar{display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:700;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#2563eb,#7c3aed)}.ui-avatar.avatar-sm{width:28px;height:28px;font-size:10px;border-radius:8px}.ui-avatar.avatar-md{width:36px;height:36px;font-size:13px}.ui-avatar.avatar-lg{width:44px;height:44px;font-size:15px;border-radius:12px}.ui-avatar.avatar-red{background:linear-gradient(135deg,#ef4444,#dc2626)}.ui-avatar.avatar-green{background:linear-gradient(135deg,#10b981,#06b6d4)}.ui-avatar.avatar-gold{background:linear-gradient(135deg,#f59e0b,#ef4444)}.ui-list{display:flex;flex-direction:column;gap:0}.ui-list-item{padding:10px 0}.ui-list-item+.ui-list-item{border-top:1px solid rgba(148,163,194,.08)}[data-theme=light] .ui-list-item+.ui-list-item{border-top-color:rgba(80,100,140,.08)}.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 16px;text-align:center}.ui-empty-icon{font-size:28px;opacity:.5}.ui-empty-text{font-size:13px;color:var(--text-muted);line-height:1.5}.ui-toggle{display:flex;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden;padding:3px}.ui-toggle-btn{flex:1;height:36px;border:none;background:none;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;font-family:var(--font-body)}.ui-toggle-btn.active{background:linear-gradient(135deg,var(--blue),var(--purple));color:white}.ui-field-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.ui-field-input{width:100%;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;font-family:var(--font-body);transition:border-color .2s}.ui-field-input:focus{outline:none;border-color:var(--blue)}.ui-card-tap{cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.ui-card-tap:hover{border-color:var(--border-glow);box-shadow:var(--metal-shadow-sm),0 0 10px var(--glow-blue)}.ui-card-tap:active{transform:scale(.98)}.prof-add-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid var(--border-strong);box-shadow:var(--metal-shadow-sm),inset 0 1px 0 var(--metal-highlight);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.prof-add-btn:hover{transform:scale(1.04);border-color:var(--border-glow);box-shadow:var(--metal-shadow-sm),inset 0 1px 0 var(--metal-highlight),0 0 10px var(--glow-blue)}.prof-add-btn:active{transform:scale(.97)}.ui-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;border-radius:16px;border:none;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-size:15px;font-weight:700;font-family:var(--font-heading);cursor:pointer;box-shadow:0 8px 24px rgba(37,99,235,.25);transition:transform .15s,opacity .2s;pointer-events:auto}.ui-submit:hover{transform:translateY(-1px)}.ui-submit:active{transform:translateY(0)}.ui-submit:disabled{opacity:.5;pointer-events:none}.ui-submit svg{width:16px;height:16px;flex-shrink:0}.ui-submit-gold{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--text);box-shadow:0 8px 24px rgba(245,158,11,.3)}.ui-field-input::-moz-placeholder{color:var(--text-muted);opacity:.6}.ui-field-input::placeholder{color:var(--text-muted);opacity:.6}.ui-icon-box{display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.ui-icon-box.icon-sm{width:28px;height:28px;font-size:13px;border-radius:8px}.ui-icon-box.icon-md{width:36px;height:36px;font-size:16px}.ui-icon-box.icon-lg{width:44px;height:44px;font-size:20px;border-radius:12px}.ui-icon-box.icon-xl{width:56px;height:56px;font-size:26px;border-radius:16px}.ui-icon-box.icon-blue{background:var(--icon-bg-blue,rgba(37,99,235,.1));color:var(--blue)}.ui-icon-box.icon-green{background:var(--icon-bg-green,rgba(16,185,129,.1));color:var(--green)}.ui-icon-box.icon-red{background:rgba(239,68,68,.1);color:var(--red)}.ui-icon-box.icon-amber{background:rgba(245,158,11,.1);color:var(--amber)}.ui-icon-box.icon-purple{background:rgba(168,85,247,.1);color:var(--purple)}.ui-icon-box.icon-gold{background:rgba(245,158,11,.1);color:var(--gold)}