*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FFFFFF;--bg2: #F5F5F7;--bg3: #F0F0F2;--card: #FFFFFF;--border: #E8E8ED;--border2: #D2D2D7;--text: #1D1D1F;--sub: #6E6E73;--faint: #A1A1A6;--accent: #0071E3;--accent-hover: #0077ED;--accent-soft: rgba(0,113,227,.08);--accent-border: rgba(0,113,227,.2);--green: #1D8348;--green-bg: rgba(29,131,72,.08);--red: #C0392B;--red-bg: rgba(192,57,43,.08);--amber: #B7770D;--amber-bg: rgba(183,119,13,.08);--blue: #0071E3;--blue-bg: rgba(0,113,227,.08);--font-display: "DM Serif Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--sw: 248px;--radius: 10px;--radius-sm: 7px;--radius-lg: 14px}[data-theme=dark]{--bg: #000000;--bg2: #111111;--bg3: #1C1C1E;--card: #1C1C1E;--border: #2C2C2E;--border2: #3A3A3C;--text: #F5F5F7;--sub: #EBEBF0CC;--faint: #EBEBF066;--accent: #2997FF;--accent-hover: #419CFF;--accent-soft: rgba(41,151,255,.1);--accent-border: rgba(41,151,255,.25);--green: #30D158;--green-bg: rgba(48,209,88,.1);--red: #FF453A;--red-bg: rgba(255,69,58,.1);--amber: #FFD60A;--amber-bg: rgba(255,214,10,.1);--blue: #2997FF;--blue-bg: rgba(41,151,255,.1)}html,body{height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.7}}.fade-in{animation:fadeUp .35s cubic-bezier(.16,1,.3,1) both}.app-layout{display:flex;min-height:100vh}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sw);background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;overflow-y:auto;overflow-x:hidden}.sidebar::-webkit-scrollbar{display:none}.main-area{margin-left:var(--sw);flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0}.main-header{height:52px;background:#ffffffd9;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50;flex-shrink:0}[data-theme=dark] .main-header{background:#000c}.main-content{flex:1;padding:28px 32px;overflow-x:hidden}.mob-btn{display:none;position:fixed;top:10px;left:10px;z-index:300;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--card);align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000000f}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0);box-shadow:0 0 60px #00000026}.main-area{margin-left:0}.mob-btn{display:flex}.main-content{padding:16px}.hide-mob{display:none!important}.fg,.fg-3{grid-template-columns:1fr!important}.page-hd{flex-direction:column;align-items:flex-start;gap:12px}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tab{flex-shrink:0}.modal-box{margin:12px;max-height:calc(100vh - 24px)}[style*="grid-template-columns: 1fr 1fr"],[style*="grid-template-columns: 1fr 320px"],[style*="grid-template-columns: 1fr 360px"]{grid-template-columns:1fr!important}[style*="marginLeft:248"]{margin-left:0!important}}.dh-nav-item{display:flex;align-items:center;gap:9px;padding:6px 10px;border-radius:7px;margin-bottom:1px;font-size:13px;font-weight:400;color:var(--sub);background:transparent;text-decoration:none;transition:color .15s,background .15s;white-space:nowrap;overflow:hidden}.dh-nav-item:hover{color:var(--text);background:var(--bg2)}.dh-nav-item.active{color:var(--accent);background:var(--accent-soft);font-weight:500}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.card-pad{padding:20px 24px}.tbl{width:100%;border-collapse:collapse}.tbl th{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:10px 16px;text-align:left;border-bottom:1px solid var(--border);font-weight:500}.tbl td{padding:11px 16px;font-size:13.5px;border-bottom:1px solid var(--border);color:var(--sub);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover{background:var(--bg2)}.t-main{color:var(--text)!important;font-weight:500}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:100px;font-family:var(--font-mono);font-size:10px;font-weight:500;white-space:nowrap;letter-spacing:.02em}.badge-green{background:var(--green-bg);color:var(--green)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-grey{background:var(--bg3);color:var(--sub)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:100px;font-size:13px;font-weight:500;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:var(--font-body)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:scale(1.01)}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border2)}.btn-outline:hover{border-color:var(--text);background:var(--bg2)}.btn-ghost{background:transparent;color:var(--sub);border:none;padding:7px 12px;border-radius:7px}.btn-ghost:hover{color:var(--text);background:var(--bg2)}.btn-danger{background:var(--red-bg);color:var(--red);border:none}.btn-danger:hover{background:var(--red);color:#fff}.btn-sm{padding:5px 12px;font-size:12px;gap:4px}.btn-icon{padding:7px;border-radius:7px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.inp{width:100%;padding:9px 13px;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius-sm);font-size:14px;color:var(--text);font-family:var(--font-body);outline:none;transition:border-color .2s,background .2s;-webkit-appearance:none}.inp:focus{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 3px var(--accent-soft)}.inp::placeholder{color:var(--faint)}select.inp{cursor:pointer}textarea.inp{resize:vertical;line-height:1.6}.lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);display:block;margin-bottom:6px;font-weight:500}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;animation:fadeIn .2s ease}.modal-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow-y:auto;animation:fadeUp .3s cubic-bezier(.16,1,.3,1) both;box-shadow:0 24px 80px #0000001f;margin:auto;flex-shrink:0}.modal-head{padding:18px 22px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:17px;font-weight:600;letter-spacing:-.01em}.modal-body{padding:18px 22px}.modal-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.modal-close{background:var(--bg2);border:none;color:var(--sub);cursor:pointer;font-size:16px;line-height:1;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg3);color:var(--text)}.page-hd{margin-bottom:24px;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px}.page-title{font-family:var(--font-display);font-size:clamp(22px,3vw,32px);font-weight:400;letter-spacing:-.02em;line-height:1.1}.page-sub{font-size:13px;color:var(--faint);margin-top:4px}.tabs{display:flex;gap:4px;background:var(--bg2);border-radius:10px;padding:4px;margin-bottom:22px;width:fit-content}.tab{padding:7px 16px;background:transparent;border:none;font-size:13px;font-weight:400;color:var(--faint);cursor:pointer;border-radius:7px;transition:all .18s;white-space:nowrap}.tab.on{background:var(--card);color:var(--text);font-weight:500;box-shadow:0 1px 4px #00000014,0 0 0 1px var(--border)}.tab:hover:not(.on){color:var(--sub);background:#00000008}[data-theme=dark] .tab:hover:not(.on){background:#ffffff0a}.fg{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fg-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.fc{grid-column:1 / -1}.search-wrap{position:relative}.search-wrap .inp{padding-left:34px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}.pill{padding:5px 13px;border-radius:100px;font-size:12px;font-weight:500;border:1px solid var(--border2);background:transparent;color:var(--sub);cursor:pointer;transition:all .15s}.pill.on{background:var(--accent);color:#fff;border-color:var(--accent)}.pill:hover:not(.on){border-color:var(--accent);color:var(--accent)}.spin{width:18px;height:18px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spin-wrap{display:flex;align-items:center;justify-content:center;padding:60px}.skel{background:var(--bg3);border-radius:4px;animation:pulse 1.4s ease-in-out infinite}.empty{text-align:center;padding:60px 20px;color:var(--faint)}.empty p{font-size:14px;line-height:1.7}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;transition:border-color .2s}.stat-card:hover{border-color:var(--border2)}.stat-val{font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1}.stat-lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:6px}.section-label{font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:8px;padding:0 2px}
