:root{color-scheme:dark;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;--bg: #0b1220;--panel: #111a2d;--panel-2: #16233c;--line: #26324a;--line-strong: #39507a;--text: #e6edf7;--muted: #9fb0c8;--accent: #4f8cff;--accent-2: #78a8ff;--danger: #d35f73;--danger-bg: #2b1821;--success: #53c28b;--success-bg: #11281d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#1d2a46 0%,var(--bg) 45%);color:var(--text)}button,input,textarea{font:inherit}button{cursor:pointer}input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#0e1627;color:var(--text);padding:10px 12px}input:focus,textarea:focus{outline:2px solid rgba(79,140,255,.35);border-color:var(--accent)}.dashboard-root{max-width:1380px;margin:0 auto;padding:24px;display:grid;gap:16px}.admin-layout{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-header h1{margin:0;font-size:1.8rem;letter-spacing:.2px}.page-header p{margin:6px 0 0;color:var(--muted)}.admin-credentials{min-width:320px;padding:14px;background:#111a2deb;border:1px solid var(--line);border-radius:12px;display:grid;gap:10px}.admin-credentials label,.form-grid label{display:grid;gap:6px}.field-help{color:var(--muted);font-size:.8rem;line-height:1.45}.admin-credentials span,.form-grid span{color:var(--muted);font-size:.86rem}.credentials-title{color:var(--text)!important;font-size:.95rem!important;font-weight:700}.top-nav{display:flex;flex-wrap:wrap;gap:10px}.nav-button,.primary-button,.secondary-button,.ghost-button{border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--text);padding:10px 14px;transition:border-color .15s ease,background .15s ease,color .15s ease}.nav-button.active,.primary-button{background:linear-gradient(135deg,var(--accent),#2f66d8);border-color:transparent;color:#fff}.secondary-button{background:#13213b;border-color:#304166}.ghost-button:hover,.secondary-button:hover,.nav-button:hover{border-color:var(--line-strong)}.nav-button.active:hover,.primary-button:hover{background:linear-gradient(135deg,var(--accent-2),#2f66d8)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.metric-card{background:linear-gradient(150deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:6px}.metric-title{color:var(--muted);font-size:.84rem}.metric-value{font-size:1.2rem;line-height:1.3}.metric-hint{color:var(--muted);font-size:.78rem}.grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.panel h2{margin:0;font-size:1.02rem}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.section-header p{margin:6px 0 0;color:var(--muted)}.section-actions{display:flex;flex-wrap:wrap;gap:10px}.panel-message{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.panel-message.info,.loading{border-color:#304166;background:#13213b}.panel-message.error,.error{border-color:#663546;background:var(--danger-bg);color:#ffb3c0}.panel-message.success{border-color:#2f6d50;background:var(--success-bg);color:#b9f2d4}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:860px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;font-size:.9rem;vertical-align:top}th{color:var(--muted);font-weight:600}.ranking-list,.device-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.ranking-list li,.device-list li{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:3px}.rank-index{color:var(--accent);font-size:.8rem}.rank-main{font-weight:600}.rank-value,.device-list small{color:var(--muted);font-size:.82rem}.truncate{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mono{font-family:Consolas,Courier New,monospace;font-size:.82rem}.empty-state{color:var(--muted);padding:8px 0}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;border-radius:999px;padding:5px 10px;font-size:.8rem;border:1px solid transparent}.status-badge.active{background:#53c28b1f;color:#9df0c2;border-color:#53c28b4d}.status-badge.inactive{background:#d35f731f;color:#f2a2b1;border-color:#d35f734d}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full-width{grid-column:1 / -1}.meta-box{border:1px solid var(--line);background:#0f1829d9;border-radius:12px;padding:12px;display:grid;gap:6px}.meta-box strong{font-size:.85rem}.inline-badge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:4px 10px;border:1px solid transparent;font-size:.78rem;font-weight:600}.inline-badge.idle,.inline-badge.loading{background:#4f8cff1f;border-color:#4f8cff3d;color:#b6ceff}.inline-badge.match{background:#53c28b1f;border-color:#53c28b4d;color:#9df0c2}.inline-badge.not_found,.inline-badge.invalid{background:#d35f731f;border-color:#d35f734d;color:#f2a2b1}.checkbox-row{display:flex!important;align-items:center;gap:10px}.checkbox-row input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040912b8;display:flex;align-items:center;justify-content:center;padding:22px;z-index:30}.modal-panel{width:min(980px,100%);max-height:calc(100vh - 44px);overflow:auto;background:linear-gradient(180deg,#10192d,#0d1526);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:16px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-header h3{margin:0}.modal-header p{margin:6px 0 0;color:var(--muted)}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.result-row{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:5px}.result-row span{color:var(--muted);font-size:.82rem}.result-row.full{grid-column:1 / -1}.break-word{overflow-wrap:anywhere}button:disabled{opacity:.65;cursor:not-allowed}@media(max-width:980px){.admin-layout,.section-header,.modal-header{flex-direction:column}.admin-credentials{min-width:0;width:100%}.form-grid,.result-grid{grid-template-columns:1fr}}@media(max-width:860px){.dashboard-root{padding:14px}.page-header h1{font-size:1.45rem}.truncate{max-width:240px}}
