*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;font-size:var(--fs-base)}input:focus,select:focus,textarea:focus{outline:none;box-shadow:var(--neu-shadow-inset),0 0 0 2px rgba(16,185,129,.3)!important}[role=button]:focus,[role=button]:focus-visible,a:focus,a:focus-visible,button:focus,button:focus-visible{outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px;opacity:.5}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.modal-scroll::-webkit-scrollbar{width:4px}.modal-scroll::-webkit-scrollbar-thumb{background:rgba(160,174,192,.25);border-radius:2px}.modal-scroll::-webkit-scrollbar-thumb:hover{background:rgba(160,174,192,.4)}.neu-card{background:var(--bg-card);border-radius:var(--radius-2xl);box-shadow:var(--neu-shadow);border:none;overflow:hidden}.card-header{justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-color)}.card-header,.card-title{display:flex;align-items:center}.card-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-primary);gap:var(--sp-2);margin:0}.card-body-inset{background:var(--bg-card);box-shadow:var(--neu-shadow-inset);border-radius:var(--radius-lg);margin:var(--sp-3)}.neu-table{width:100%;border-collapse:collapse;font-size:.8rem}.neu-table thead th{font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.neu-table tbody td{padding:.65rem .85rem;color:var(--text-secondary);border-bottom:1px solid rgba(128,128,128,.06);vertical-align:middle}.neu-table tbody tr:hover{background:rgba(16,185,129,.04)}.neu-table tbody tr.clickable{cursor:pointer}.neu-table tbody tr.clickable:hover{background:rgba(16,185,129,.06)}.status-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:var(--radius-md);font-size:.65rem;font-weight:var(--fw-semibold);white-space:nowrap;line-height:1.4}.status-badge.success{background:var(--clr-success-bg);color:var(--clr-success)}.status-badge.warning{background:var(--clr-warning-bg);color:var(--clr-warning)}.status-badge.danger{background:var(--clr-danger-bg);color:var(--clr-danger)}.status-badge.info{background:var(--clr-primary-bg);color:var(--clr-primary)}.status-badge.purple{background:var(--clr-purple-bg);color:var(--clr-purple)}.status-badge.orange{background:var(--clr-orange-bg);color:var(--clr-orange)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem 1rem;border-radius:var(--radius-lg);border:none;font-family:var(--font-sans);font-size:.8rem;font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap}.btn svg{width:14px;height:14px}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(16,185,129,.4)}.btn-primary:hover{background:var(--accent-dark);box-shadow:0 6px 16px rgba(16,185,129,.5);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px);box-shadow:0 2px 8px rgba(16,185,129,.3)}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);box-shadow:var(--neu-shadow-sm)}.btn-secondary:hover{color:var(--accent);transform:translateY(-1px);box-shadow:var(--neu-shadow)}.btn-secondary:active{transform:translateY(0);box-shadow:var(--neu-shadow-inset)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px 12px rgba(239,68,68,.4)}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(239,68,68,.5)}.btn-sm{padding:.3rem .7rem;font-size:.72rem;border-radius:var(--radius-md)}.btn-xs{padding:.2rem .5rem;font-size:var(--fs-xs);border-radius:var(--radius-sm)}.summary-bar{display:flex;justify-content:space-between;padding:.65rem 1rem;border-top:1px solid var(--border-color);font-size:.75rem}.btn-action,.summary-bar{align-items:center;color:var(--text-muted)}.btn-action{width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;display:inline-flex;justify-content:center;transition:all var(--transition-fast)}.btn-action:hover{background:rgba(16,185,129,.1);color:var(--accent)}.favbar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-card);border-bottom:1px solid var(--border-color);min-height:54px;overflow-x:auto;flex-shrink:0}.favbar::-webkit-scrollbar{height:0}.favbar-star{width:30px;height:30px;border:none;border-radius:8px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.favbar-star:hover{background:rgba(245,158,11,.12)}.favbar-star.active{color:#F59E0B}.favbar-pills{display:flex;flex-wrap:nowrap}.favbar-pill,.favbar-pills{align-items:center;gap:.35rem}.favbar-pill{display:inline-flex;padding:.35rem .75rem;position:relative;top:2px;border-radius:10px;font-size:.78rem;font-weight:500;color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:all .15s;cursor:pointer;background:var(--bg-card);box-shadow:var(--neu-shadow-sm)}.favbar-pill:hover{color:var(--text-primary);box-shadow:var(--neu-shadow);transform:translateY(-1px)}.favbar-pill.active{background:var(--bg-card);font-weight:600;color:var(--accent);box-shadow:var(--neu-shadow)}.favbar-pill .pill-icon{display:flex;align-items:center;color:var(--text-muted);transition:color .15s;opacity:.7}.favbar-pill:hover .pill-icon{color:var(--text-secondary);opacity:1}.favbar-pill.active .pill-icon{color:inherit;opacity:1}.favbar-pill-wrap{position:relative;display:inline-flex}.favbar-pill-remove{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;border:none;background:#EF4444;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:scale(.6);transition:all .15s;z-index:5;box-shadow:0 2px 6px rgba(239,68,68,.4)}.favbar-pill-wrap.unlocked .favbar-pill-remove,.favbar-pill-wrap:hover .favbar-pill-remove{opacity:1;transform:scale(1)}.favbar-pill-remove:hover{background:#DC2626;transform:scale(1.15)}.favbar-lock{width:28px;height:28px;border-radius:8px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;background:none;color:var(--text-muted);opacity:.35;flex-shrink:0;margin-left:.25rem}.favbar-lock:hover{opacity:.7}.favbar-lock.unlocked{background:rgba(239,68,68,.1);color:#EF4444;opacity:1}.favbar-lock.unlocked:hover{background:rgba(239,68,68,.18)}.clickable{cursor:pointer}.text-muted{color:var(--text-muted)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}