.admin-layout{max-width:800px;margin:0 auto;padding:2rem 1rem;width:100%}.dashboard-layout{max-width:1100px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.admin-header h1{font-size:1.5rem;font-weight:600;color:var(--text-heading);display:flex;align-items:center;gap:.5rem}.nav-mascot{width:28px;height:28px;object-fit:contain}.admin-nav{display:flex;align-items:center;gap:.75rem}.nav-link{text-decoration:none;color:var(--text-muted);font-size:.9rem;padding:.4rem .8rem;border-radius:6px;transition:background .15s,color .15s}.nav-link:hover{background:var(--hover-bg);color:var(--text)}.nav-link.active{background:var(--accent);color:#fff}.admin-card{background:var(--bg-card);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px var(--shadow)}.admin-card dt{font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem}.admin-card dd{font-size:1.1rem;font-weight:500;margin-bottom:1rem}.admin-card dd:last-child{margin-bottom:0}.btn{display:inline-block;padding:.6rem 1.2rem;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;text-decoration:none;transition:background .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.btn-secondary:hover{background:var(--hover-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem}.login-page h1{font-size:1.8rem;font-weight:600;color:var(--text-heading)}.error-message{color:#dc2626;font-size:.9rem}.loading{color:var(--text-muted);font-size:.95rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.metric-card{background:var(--bg-card);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px var(--shadow);display:flex;flex-direction:column;gap:.25rem}.metric-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.metric-value{font-size:1.6rem;font-weight:700;color:var(--text-heading)}.chart-section{background:var(--bg-card);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px var(--shadow)}.chart-section h2{font-size:1rem;font-weight:600;margin-bottom:1rem}.data-table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th,.data-table td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis}.data-table th{background:var(--table-header-bg);font-weight:600;color:var(--text-muted);position:sticky;top:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover,.data-table tbody tr:hover{background:var(--hover-bg)}.truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis}.null-value{color:var(--null-color);font-style:italic}.fk-link{color:var(--accent);text-decoration:none;font-family:monospace;font-size:.8rem}.fk-link:hover{text-decoration:underline}.fk-badge{display:inline-block;font-size:.6rem;background:var(--fk-badge-bg);color:var(--accent);padding:.1rem .3rem;border-radius:3px;margin-left:.3rem;vertical-align:middle}.detail-link{color:var(--accent);text-decoration:none;font-size:.85rem}.detail-link:hover{text-decoration:underline}.empty-row{text-align:center;color:var(--text-muted);padding:2rem!important}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.page-info{font-size:.9rem;color:var(--text-muted)}.table-browser-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.table-browser-header h2{font-size:1.1rem;font-weight:600}.row-count{font-weight:400;color:var(--text-muted);font-size:.9rem}.search-input{padding:.5rem .75rem;border:1px solid var(--input-border);border-radius:6px;font-size:.9rem;width:220px;background:var(--input-bg);color:var(--text)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-muted)}.back-link{color:var(--accent);text-decoration:none}.back-link:hover{text-decoration:underline}.table-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.table-card-link{text-decoration:none;color:inherit}.table-card{background:var(--bg-card);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px var(--shadow);transition:box-shadow .15s,transform .15s}.table-card:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-1px)}.table-card h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}.table-col-count{font-size:.8rem;color:var(--text-muted)}.row-detail dl{margin:0}.detail-row{display:flex;padding:.6rem 0;border-bottom:1px solid var(--border);gap:1rem}.detail-row:last-child{border-bottom:none}.detail-row dt{min-width:160px;font-size:.85rem;color:var(--text-muted);font-weight:500}.detail-row dd{font-size:.9rem;word-break:break-all;margin:0}.add-domain-bar{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem}.btn-sm{padding:.25rem .5rem;font-size:.8rem;margin-left:.4rem}.btn-danger{background:#dc2626;color:#fff;padding:.3rem .6rem;font-size:.8rem;margin-left:.4rem}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.editable-cell{cursor:pointer;border-bottom:1px dashed var(--text-muted);padding-bottom:1px}.editable-cell:hover{color:var(--accent)}.inline-edit-input{padding:.25rem .4rem;border:1px solid var(--accent);border-radius:4px;font-size:.85rem;width:100%;background:var(--input-bg);color:var(--text);outline:none;box-shadow:0 0 0 2px var(--accent-muted)}[data-theme=hacker] .admin-header{border-bottom-color:#00ff4133}[data-theme=hacker] .metric-value{text-shadow:0 0 8px #00ff4166}[data-theme=hacker] .admin-card,[data-theme=hacker] .metric-card,[data-theme=hacker] .chart-section,[data-theme=hacker] .table-card{border:1px solid #00ff4118;box-shadow:0 0 12px #00ff410a}[data-theme=hacker] .table-card:hover{box-shadow:0 0 20px #00ff411a;border-color:#00ff4133}[data-theme=hacker] .data-table th{text-shadow:0 0 4px #00ff4133}[data-theme=hacker] .search-input:focus{box-shadow:0 0 0 2px #00ff411f,0 0 12px #00ff410f}.theme-toggle{background:none;border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem;cursor:pointer;font-size:1rem;line-height:1;color:var(--text-muted);transition:background .15s,border-color .15s}.theme-toggle:hover{background:var(--hover-bg);border-color:var(--text-muted)}:root,[data-theme=dark]{color-scheme:dark;--bg: #0f1117;--bg-card: #1a1b23;--text: #e4e4e7;--text-muted: #9ca3af;--text-heading: #f4f4f5;--border: #2e2f3a;--hover-bg: #23242f;--shadow: rgba(0, 0, 0, .4);--table-header-bg: #16171f;--input-bg: #1a1b23;--input-border: #3f4050;--null-color: #555;--fk-badge-bg: #2e2b5e;--btn-secondary-bg: #2e2f3a;--btn-secondary-text: #d4d4d8;--accent: #818cf8;--accent-hover: #6366f1;--accent-muted: rgba(129, 140, 248, .15)}[data-theme=light]{color-scheme:light;--bg: #f5f5f7;--bg-card: #fff;--text: #1a1a2e;--text-muted: #666;--text-heading: #1a1a2e;--border: #e0e0e0;--hover-bg: #f0f0f0;--shadow: rgba(0, 0, 0, .1);--table-header-bg: #f9fafb;--input-bg: #fff;--input-border: #d1d5db;--null-color: #ccc;--fk-badge-bg: #e0e7ff;--btn-secondary-bg: #e5e5e5;--btn-secondary-text: #333;--accent: #4f46e5;--accent-hover: #4338ca;--accent-muted: rgba(79, 70, 229, .15)}[data-theme=hacker]{color-scheme:dark;--bg: #0a0a0a;--bg-card: #0d1a0d;--text: #b0ccb0;--text-muted: #4a6a4a;--text-heading: #00ff41;--border: #0f2a0f;--hover-bg: #112211;--shadow: rgba(0, 255, 65, .08);--table-header-bg: #060f06;--input-bg: #0d1a0d;--input-border: #1a3a1a;--null-color: #2a4a2a;--fk-badge-bg: #0a200a;--btn-secondary-bg: #142014;--btn-secondary-text: #7fbf7f;--accent: #00ff41;--accent-hover: #00cc33;--accent-muted: rgba(0, 255, 65, .12)}html{background:var(--bg)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text);background:var(--bg);min-height:100vh}[data-theme=hacker] body{font-family:SF Mono,Fira Code,Cascadia Code,JetBrains Mono,ui-monospace,monospace}#root{min-height:100vh;display:flex;flex-direction:column}
