:root{--bg: #f5f5f5;--card: #fff;--border: #dadada;--border-light: #eee;--text: #151515;--text-sec: #555;--text-ter: #9b9b9b;--blue-light: #eef0ff;--blue-border: #b4bffd;--green-light: #ecfdf5;--green-border: #a7f3d0;--amber-light: #fffbeb;--amber-border: #fde68a;--red-light: #fef2f2;--red-border: #fecaca;--violet-light: #eef1ff;--violet-border: #8fa0e6;--sh-sm: 0 1px 2px rgba(0,0,0,.05);--sh: 0 1px 3px rgba(0,0,0,.09), 0 1px 2px rgba(0,0,0,.05);--sh-md: 0 4px 6px -1px rgba(0,0,0,.09), 0 2px 4px -1px rgba(0,0,0,.05);--sh-lg: 0 10px 15px -3px rgba(0,0,0,.09), 0 4px 6px -2px rgba(0,0,0,.04);--sh-xl: 0 20px 25px -5px rgba(0,0,0,.09), 0 10px 10px -5px rgba(0,0,0,.03);--card-hover: #f5f5f5;--tab-bg: #efefef;--th-bg: #f5f5f5;--placeholder: #bebebe;--scrollbar: #c6c6c6}[data-theme=dark]{--bg: #0f1117;--card: #1a1d2e;--border: #2a2d3d;--border-light: #222538;--text: #e5e7eb;--text-sec: #9ca3af;--text-ter: #6b7280;--blue-light: #1a2244;--blue-border: #2e3d7a;--green-light: #0d2818;--green-border: #14532d;--amber-light: #2d2005;--amber-border: #78350f;--red-light: #2d0f0f;--red-border: #7f1d1d;--violet-light: #0d1a3d;--violet-border: #1e3470;--sh-sm: 0 1px 2px rgba(0,0,0,.3);--sh: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--sh-md: 0 4px 6px -1px rgba(0,0,0,.4), 0 2px 4px -1px rgba(0,0,0,.3);--sh-lg: 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -2px rgba(0,0,0,.2);--sh-xl: 0 20px 25px -5px rgba(0,0,0,.4), 0 10px 10px -5px rgba(0,0,0,.2);--card-hover: #222538;--tab-bg: #161828;--th-bg: #161828;--placeholder: #4b5563;--scrollbar: #3a3d4d}*,*:before,*:after{box-sizing:border-box;margin:0}body{-webkit-font-smoothing:antialiased}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);transition:background .4s ease,color .4s ease}#root{width:100%;height:100%}.btn{display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;font-weight:500;transition:background .15s ease,opacity .15s ease;border-radius:6px;font-family:inherit;line-height:1.4}.btn:focus-visible{outline:2px solid #5469FA;outline-offset:2px}.btn:active{opacity:.85}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{height:32px;padding:0 12px;font-size:12px}.btn-md{height:40px;padding:0 16px;font-size:13px}.btn-primary{background:#5469fa;color:#fff}.btn-primary:hover{background:#3d52e0}.btn-green{background:#059669;color:#fff}.btn-green:hover{background:#047857}.btn-violet{background:#043cb7;color:#fff}.btn-violet:hover{background:#032d8f}.btn-ghost{background:transparent;color:var(--text-ter);padding:6px 10px;font-size:12px}.btn-ghost:hover{background:var(--border-light);color:var(--text-sec)}.btn-outline{background:var(--card);border:1px solid var(--border);color:var(--text-sec)}.btn-outline:hover{background:var(--card-hover);border-color:var(--border)}.btn-danger{background:var(--card);border:1px solid var(--red-border);color:#dc2626}.btn-danger:hover{background:var(--red-light)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;line-height:1.5}.input{width:100%;height:40px;padding:0 12px;border-radius:6px;border:1px solid var(--border);font-size:13px;color:var(--text);font-family:inherit;outline:none;transition:border .15s,box-shadow .15s;background:var(--card)}.input:focus{border-color:#5469fa;box-shadow:0 0 0 3px #5469fa1a}.input::placeholder{color:var(--placeholder)}.input-sm{height:32px;padding:0 8px;font-size:12px}.nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:#ababab;font-size:13px;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease;font-family:inherit;position:relative}.nav-btn:hover{background:#ffffff14;color:#e0e0e0}.nav-btn.active{background:#5469fa26;color:#fff;font-weight:500}.list-btn{display:block;width:100%;text-align:left;padding:12px 16px;border:none;border-left:3px solid transparent;cursor:pointer;transition:all .12s;background:var(--card);font-family:inherit}.list-btn:hover{background:var(--card-hover)}.list-btn.active{background:var(--blue-light);border-left-color:#5469fa}.tbl{min-width:100%;border-collapse:collapse}.tbl th{padding:8px 12px;font-size:11px;font-weight:500;color:var(--text-ter);text-align:left;white-space:nowrap;background:var(--th-bg);border-bottom:1px solid var(--border-light);-webkit-user-select:none;user-select:none;transition:color .12s}.tbl th:hover{color:var(--text-sec)}.tbl td{padding:8px 12px;font-size:13px;color:var(--text-sec);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.tbl tbody tr{transition:background .08s}.tbl tbody tr:hover{background:var(--card-hover)}.tab-bar{display:flex;gap:2px;background:var(--tab-bg);border-radius:8px;padding:3px;overflow-x:auto}.tab-btn{padding:6px 12px;border:none;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;text-align:center;transition:background .15s ease,color .15s ease;font-family:inherit;background:transparent;color:var(--text-ter);white-space:nowrap;flex-shrink:0}.tab-btn:hover:not(.active){color:var(--text-sec);background:#00000008}.tab-btn.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px #00000014}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1030;animation:overlayIn .2s ease both}.modal{position:relative;background:var(--card);border-radius:12px;max-width:480px;width:calc(100% - 32px);box-shadow:var(--sh-xl);border:1px solid var(--border);z-index:1040;animation:modalIn .25s ease both}.toast{position:fixed;top:16px;right:16px;z-index:1070;padding:12px 24px;border-radius:8px;background:#059669;color:#fff;font-size:13px;font-weight:500;box-shadow:var(--sh-lg);animation:toastIn .3s ease both}.card{background:var(--card);border-radius:12px;border:1px solid var(--border);box-shadow:var(--sh);transition:box-shadow .2s ease,border-color .2s ease}.row-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-light);transition:background .12s;position:relative}.row-item:hover{background:var(--card-hover)}.row-item:last-child{border-bottom:none}.spinner{width:20px;height:20px;border:2px solid var(--blue-border);border-top-color:#5469fa;border-radius:50%;animation:spin .6s linear infinite}.th-wrap{display:flex;align-items:center;gap:2px}.th-label{cursor:pointer;padding:2px 4px;border-radius:3px;transition:background .1s}.th-label:hover{background:#0000000a}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:4px}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.98) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@media (max-width: 900px){.layout{flex-direction:column!important}.sidebar{width:100%!important;flex-direction:row!important;padding:4px 8px!important;overflow-x:auto}.sidebar .sb-brand,.sidebar .sb-source,.sidebar .sb-stats,.sidebar .sb-user{display:none}.sidebar nav{display:flex!important;flex-direction:row!important;flex:1;padding:0!important;gap:2px}.sidebar .nav-btn{padding:8px 12px;white-space:nowrap;justify-content:center}.main-grid{grid-template-columns:1fr!important}.stat-grid{grid-template-columns:1fr 1fr!important}}@media (max-width: 600px){.stat-grid{grid-template-columns:1fr!important}.modal{max-width:100%;width:calc(100% - 16px)}.tbl td,.tbl th{padding:6px 8px;font-size:12px}}
