:root{--bg: #0f1218;--surface: #181c25;--border: #2a3142;--text: #e8eaef;--muted: #8b93a7;--accent: #5b8cff;--danger: #e85d5d;--rpm-accent: #67e8f9}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}#root{min-height:100vh}a{color:var(--accent)}button,input[type=password],input[type=text],input[type=file]{font:inherit}button{cursor:pointer}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.btn{border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600}.btn-primary{background:var(--accent);color:#fff}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.err{color:var(--danger);font-size:.875rem;margin-top:.5rem}.progress-track{height:8px;background:var(--border);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#8eb6ff);border-radius:999px;transition:width .12s ease-out}.folder-card--with-lock{display:flex;align-items:stretch;padding:0;overflow:hidden}.folder-card__lock{flex:0 0 52px;border:none;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#00000047;color:var(--muted);transition:background .15s ease,color .15s ease}.folder-card__lock:hover:not(:disabled){background:#5b8cff24;color:var(--accent)}.folder-card__lock:disabled{opacity:.5;cursor:wait}.folder-card__lock-icon{opacity:.92}.folder-card__lock-icon--on{color:#fbbf24}.folder-card__body{flex:1;min-width:0;padding:1.25rem;cursor:pointer;outline:none}.folder-card__body:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.folder-card{transition:background .12s ease,border-color .12s ease}.folder-card:has(.folder-card__body:hover){background:#1c212c;border-color:#354056}.folder-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.folder-card button.btn-danger{border:none;box-shadow:none}.folder-card--tile.folder-card--with-lock{flex-direction:column}.folder-card--tile .folder-card__lock{flex:0 0 auto;width:100%;min-height:48px;border-bottom:1px solid var(--border)}.folder-card--tile .folder-card__body{padding:1rem 1.1rem}.folder-card--tile .folder-list-row{flex-direction:column!important;align-items:stretch!important}.folder-card--tile .folder-list-main{flex-direction:column!important;align-items:flex-start!important}.folder-card--tile .folder-list-delete{width:100%}.folder-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.folder-view-toggle button{border:none;margin:0;background:transparent;color:var(--muted);padding:.4rem .85rem;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s ease,color .12s ease}.folder-view-toggle button:hover:not(:disabled){color:var(--text);background:#ffffff0d}.folder-view-toggle button.folder-view-toggle--active{background:var(--accent);color:#fff}.latency-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;background-repeat:no-repeat;background-size:100% 100%}.latency-dot--green{background-image:radial-gradient(circle closest-side at 50% 50%,#4ade80 0%,#22c55e 22%,rgba(34,197,94,.45) 48%,rgba(34,197,94,.12) 68%,transparent 100%)}.latency-dot--yellow{background-image:radial-gradient(circle closest-side at 50% 50%,#facc15 0%,#eab308 22%,rgba(234,179,8,.45) 48%,rgba(234,179,8,.12) 68%,transparent 100%)}.latency-dot--red{background-image:radial-gradient(circle closest-side at 50% 50%,#f87171 0%,#ef4444 22%,rgba(239,68,68,.45) 48%,rgba(239,68,68,.12) 68%,transparent 100%)}.latency-dot--muted{background-image:radial-gradient(circle closest-side at 50% 50%,#94a3b8 0%,#5c6578 22%,rgba(92,101,120,.4) 48%,rgba(92,101,120,.1) 68%,transparent 100%)}.drop-zone{border:2px dashed var(--border);border-radius:12px;padding:2.25rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;background:#181c2580}.drop-zone:hover:not(.drop-zone--disabled){border-color:#3d4a63;background:#5b8cff0f}.drop-zone--active{border-color:var(--accent);border-style:solid;background:#5b8cff1f;box-shadow:0 0 0 1px #5b8cff40}.drop-zone--disabled{cursor:not-allowed;opacity:.55;pointer-events:none}.drop-zone__icon{margin:0 auto 1rem;width:48px;height:48px;color:var(--muted)}.drop-zone--active .drop-zone__icon{color:var(--accent)}.drop-zone__title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 .5rem;line-height:1.35}.drop-zone__hint{font-size:.8125rem;color:var(--muted);line-height:1.45;max-width:28rem;margin:0 auto}.admin-topbar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:1.15rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.admin-topbar__tabs{display:flex;gap:.2rem;align-items:center}.admin-topbar__spacer{flex:1;min-width:.5rem}.admin-tab{padding:.42rem .95rem;border-radius:8px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.875rem;border:1px solid transparent;transition:color .15s ease,background .15s ease,border-color .15s ease}.admin-tab:hover{color:var(--text);background:#5b8cff14}.admin-tab--active{color:var(--text);background:var(--surface);border-color:var(--border)}.stats-page{max-width:1040px;margin:0 auto;padding:1.5rem 1.5rem 2.5rem}.stats-hero{margin-bottom:1.75rem;padding:1.25rem 1.35rem;border-radius:14px;border:1px solid var(--border);background:radial-gradient(ellipse 120% 80% at 100% 0%,rgba(91,140,255,.14),transparent 55%),radial-gradient(ellipse 90% 70% at 0% 100%,rgba(99,102,241,.08),transparent 50%),var(--surface)}.stats-hero__title{margin:0 0 .4rem;font-size:1.65rem;font-weight:700;letter-spacing:-.03em}.stats-hero__lead{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5;max-width:42rem}.stats-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 .85rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:.85rem;margin-bottom:2rem}.stats-card{background:linear-gradient(155deg,#1a1f2a,#151922);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;box-shadow:0 1px #ffffff0a inset}.stats-card__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.4rem;line-height:1.35}.stats-card__value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2;word-break:break-word}.stats-card__sub{font-size:.78rem;color:var(--muted);line-height:1.4}.stats-bar-wrap{height:7px;background:#00000059;border-radius:999px;overflow:hidden}.stats-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#3d6fd8,var(--accent));transition:width .4s ease}.stats-bar-fill--warn{background:linear-gradient(90deg,#b45309,#f59e0b)}.stats-summary-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;font-size:.875rem;color:var(--muted)}.stats-summary-strip strong{color:var(--text);font-variant-numeric:tabular-nums}.stats-summary-strip__dot{opacity:.45;-webkit-user-select:none;user-select:none}.stats-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#00000026}.stats-table{width:100%;border-collapse:collapse;font-size:.875rem}.stats-table th,.stats-table td{padding:.72rem 1rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.stats-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;background:#00000040}.stats-table tbody tr:last-child td{border-bottom:none}.stats-table tbody tr:hover{background:#5b8cff0d}.stats-num{font-variant-numeric:tabular-nums;white-space:nowrap}.stats-table-link{font-size:.8125rem;font-weight:600;white-space:nowrap}.stats-empty{color:var(--muted);font-size:.875rem;line-height:1.5}.stats-meta{font-size:.75rem;color:var(--muted);margin-top:1.35rem;display:flex;align-items:center;gap:.5rem}.stats-pulse{width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;animation:stats-pulse 2.2s ease-in-out infinite}@keyframes stats-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.stats-table-link--btn{background:none;border:none;padding:0;font:inherit;font-weight:600;cursor:pointer;color:var(--accent);text-decoration:none}.stats-table-link--btn:hover{text-decoration:underline}.rpm-field-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.rpm-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.rpm-field--grow{flex:1 1 12rem}.rpm-field--compact{flex-direction:row;align-items:center;gap:.4rem}.rpm-field__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted)}.rpm-field__input{width:100%;min-width:6rem;max-width:12rem;padding:.55rem .85rem;border-radius:10px;border:1px solid var(--border);background:linear-gradient(165deg,#161a22f2,#0e1016fa);color:var(--text);font-variant-numeric:tabular-nums;font-weight:600;font-size:.95rem;box-shadow:inset 0 1px #ffffff0a,0 2px 10px #00000040;transition:border-color .15s ease,box-shadow .15s ease}.rpm-field--compact .rpm-field__input{max-width:7rem;min-width:4rem;padding:.4rem .55rem;font-size:.85rem}.rpm-field__input:hover:not(:disabled){border-color:#3d4a63}.rpm-field__input:focus{outline:none;border-color:var(--accent);box-shadow:inset 0 1px #ffffff0f,0 0 0 3px #5b8cff38}.rpm-field__input:disabled{opacity:.55}.rpm-field__hint{font-size:.8rem;color:var(--muted);align-self:center}.rpm-field__mini-btn{padding:.38rem .65rem!important;font-size:.78rem!important;flex-shrink:0}.stats-table__limit-cell{min-width:9.5rem}.stats-table__limit-cell .rpm-field--compact .rpm-field__input{border-radius:999px;padding-left:.95rem;padding-right:.95rem}.stats-table__limit-cell .rpm-field__mini-btn.btn-ghost{border-radius:10px;color:var(--rpm-accent);border-color:#67e8f966;background:#67e8f912;font-weight:600}.stats-table__limit-cell .rpm-field__mini-btn.btn-ghost:hover:not(:disabled){color:#9cf0ff;border-color:#9cf0ff73;background:#67e8f91f}.stats-table__limit-meta{font-size:.68rem;color:var(--rpm-accent);margin-top:.35rem;max-width:14rem;line-height:1.35;opacity:.95}.rpm-ip-form{display:flex;flex-wrap:wrap;gap:.65rem .85rem;align-items:flex-end}.rpm-ip-form__btn{align-self:flex-end;margin-bottom:.05rem}.btn-compact{padding:.38rem .75rem;font-size:.8125rem}
