@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
:root{--bg-primary:#08080d;--bg-secondary:#0e0e16;--bg-card:#12121c;--bg-card-hover:#161622;--bg-input:#0a0a12;--border:#1c1c2e;--border-hover:#2a2a42;--text-primary:#e8e8f0;--text-secondary:#8888a0;--text-muted:#555570;--accent:#00d4aa;--accent-hover:#00b894;--accent-dim:rgba(0,212,170,0.1);--accent-glow:rgba(0,212,170,0.15);--danger:#ff4757;--danger-dim:rgba(255,71,87,0.1);--warning:#ffa502;--warning-dim:rgba(255,165,2,0.1);--info:#3498db;--info-dim:rgba(52,152,219,0.1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow:0 4px 24px rgba(0,0,0,0.4);--shadow-lg:0 8px 40px rgba(0,0,0,0.6);--transition:all 0.2s cubic-bezier(0.4,0,0.2,1)}
*{margin:0;padding:0;box-sizing:border-box}body{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}
.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:24px 0;position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;z-index:100}.sidebar-brand{padding:0 24px 24px;border-bottom:1px solid var(--border);margin-bottom:16px}.sidebar-brand h1{font-size:1.25rem;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:10px}.sidebar-brand p{font-size:0.75rem;color:var(--text-muted);margin-top:4px}.sidebar-nav{flex:1;padding:0 12px;overflow-y:auto}.nav-section{margin-bottom:24px}.nav-section-title{font-size:0.65rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:0 12px;margin-bottom:8px}
.nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:0.9rem;font-weight:500;transition:var(--transition);cursor:pointer}.nav-item:hover{background:var(--accent-dim);color:var(--text-primary)}.nav-item.active{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(0,212,170,0.2)}
.sidebar-footer{padding:16px 24px;border-top:1px solid var(--border)}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem}.user-details .name{font-size:0.85rem;font-weight:600}.user-details .role{font-size:0.7rem;color:var(--text-muted);text-transform:capitalize}
.main-content{flex:1;margin-left:260px;padding:32px;min-height:100vh}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.page-header h2{font-size:1.75rem;font-weight:700}.page-header p{color:var(--text-secondary);font-size:0.9rem;margin-top:4px}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:var(--transition)}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow)}.stat-card .stat-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:1.25rem}.stat-card .stat-icon.green{background:var(--accent-dim);color:var(--accent)}.stat-card .stat-icon.blue{background:var(--info-dim);color:var(--info)}.stat-card .stat-icon.orange{background:var(--warning-dim);color:var(--warning)}.stat-card .stat-icon.red{background:var(--danger-dim);color:var(--danger)}.stat-card .stat-value{font-size:2rem;font-weight:700;line-height:1;margin-bottom:4px}.stat-card .stat-label{font-size:0.8rem;color:var(--text-secondary)}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-header h3{font-size:1.1rem;font-weight:600}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);border:1px solid transparent;font-family:inherit;font-size:0.875rem;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none}.btn-primary{background:var(--accent);color:#000;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 0 20px var(--accent-glow)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-hover)}.btn-danger{background:var(--danger-dim);color:var(--danger);border-color:rgba(255,71,87,0.3)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:0.8rem}.btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}
.form-group{margin-bottom:20px}.form-group label{display:block;font-size:0.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-control{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:0.9rem;transition:var(--transition)}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.form-control::placeholder{color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238888a0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:12px 16px;border-bottom:1px solid var(--border)}td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:0.875rem}tr:hover td{background:var(--bg-card-hover)}
.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:0.7rem;font-weight:600;letter-spacing:0.5px}.badge-success{background:var(--accent-dim);color:var(--accent)}.badge-danger{background:var(--danger-dim);color:var(--danger)}.badge-warning{background:var(--warning-dim);color:var(--warning)}.badge-info{background:var(--info-dim);color:var(--info)}
.link-url{font-family:'JetBrains Mono',monospace;font-size:0.8rem;color:var(--accent);cursor:pointer;transition:var(--transition)}.link-url:hover{text-decoration:underline}.link-original{font-size:0.8rem;color:var(--text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-types{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.link-type-tag{font-size:0.65rem;padding:2px 6px;border-radius:4px;font-family:'JetBrains Mono',monospace;cursor:pointer}.link-type-tag.short{background:var(--accent-dim);color:var(--accent)}.link-type-tag.hash{background:var(--info-dim);color:var(--info)}.link-type-tag.slug{background:var(--warning-dim);color:var(--warning)}.link-type-tag.campaign{background:rgba(155,89,182,0.15);color:#9b59b6}
.chart-container{width:100%;height:250px;position:relative}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:1000}.modal-overlay.active{display:flex}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:32px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h3{font-size:1.25rem;margin-bottom:24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}
.toast-container{position:fixed;top:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:8px}.toast{padding:14px 20px;border-radius:var(--radius-sm);font-size:0.875rem;font-weight:500;animation:slideIn 0.3s ease;max-width:400px;transition:all 0.3s}.toast.success{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(0,212,170,0.3)}.toast.error{background:var(--danger-dim);color:var(--danger);border:1px solid rgba(255,71,87,0.3)}.toast.info{background:var(--info-dim);color:var(--info);border:1px solid rgba(52,152,219,0.3)}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state h3{font-size:1.1rem;color:var(--text-secondary);margin-bottom:8px}
.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.tab{padding:10px 20px;font-size:0.85rem;font-weight:500;color:var(--text-secondary);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;transition:var(--transition);font-family:inherit}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px}.pagination button{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:0.85rem;transition:var(--transition)}.pagination button:hover{border-color:var(--accent);color:var(--accent)}.pagination button.active{background:var(--accent);color:#000;border-color:var(--accent)}.pagination button:disabled{opacity:0.3;cursor:not-allowed}
.dns-record{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:8px;display:grid;grid-template-columns:60px 1fr 1fr;gap:12px;font-size:0.85rem}.dns-record .type{font-weight:700;color:var(--accent);font-family:'JetBrains Mono',monospace}.dns-record .value{color:var(--text-primary);font-family:'JetBrains Mono',monospace;word-break:break-all}
.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,rgba(0,212,170,0.05) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(52,152,219,0.04) 0%,transparent 50%)}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-card h1{font-size:1.75rem;margin-bottom:8px;text-align:center}.auth-card .subtitle{text-align:center;color:var(--text-secondary);font-size:0.9rem;margin-bottom:32px}.auth-card .brand{text-align:center;margin-bottom:32px;font-size:1.1rem;font-weight:700;color:var(--accent)}.auth-footer{text-align:center;margin-top:24px;font-size:0.85rem;color:var(--text-secondary)}.auth-footer a{color:var(--accent);text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}
@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:16px}.stats-grid{grid-template-columns:1fr 1fr}.form-row,.grid-2,.grid-3{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:12px}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* API Docs */
.api-endpoint{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}
.api-endpoint:first-of-type{padding-top:0}
.api-method{font-weight:700;font-size:0.72rem;padding:4px 10px;border-radius:5px;min-width:58px;text-align:center;font-family:'JetBrains Mono',monospace;letter-spacing:0.5px}
.api-method.get{background:rgba(0,212,170,0.15);color:#00d4aa}
.api-method.post{background:rgba(52,152,219,0.15);color:#3498db}
.api-method.put{background:rgba(243,156,18,0.15);color:#f39c12}
.api-method.del{background:rgba(255,71,87,0.15);color:#ff4757}
.api-path{font-family:'JetBrains Mono',monospace;font-size:0.85rem;color:var(--text-primary);flex:1}
.api-desc{font-size:0.8rem;color:var(--text-muted)}
.api-params{padding:10px 16px;margin:4px 0 8px;background:var(--bg-primary);border-radius:6px;font-size:0.8rem;color:var(--text-secondary);line-height:1.7}
.api-params code{color:var(--accent);background:var(--bg-input);padding:1px 6px;border-radius:3px;font-size:0.78rem}
.api-params b{color:var(--text-primary)}
pre.api-code{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:14px 16px;font-family:'JetBrains Mono',monospace;font-size:0.75rem;color:var(--text-secondary);overflow-x:auto;white-space:pre-wrap;margin:8px 0 16px;line-height:1.6;cursor:pointer;position:relative;transition:border-color 0.2s}
pre.api-code:hover{border-color:var(--accent)}
pre.api-code::after{content:'📋';position:absolute;top:8px;right:10px;font-size:0.75rem;opacity:0.5}

/* Copy All button */
.btn-copy-all{background:var(--bg-input);border:1px solid var(--border);color:var(--accent);font-size:0.65rem;padding:2px 8px;border-radius:4px;cursor:pointer;white-space:nowrap;transition:all 0.2s}
.btn-copy-all:hover{background:var(--accent);color:#000;border-color:var(--accent)}
/* Custom slug tag */
.link-type-tag.custom{background:rgba(155,89,182,0.15);color:#9b59b6;border-color:rgba(155,89,182,0.3)}

/* Light theme */
body.theme-light{--bg-primary:#f5f5f8;--bg-secondary:#ffffff;--bg-card:#ffffff;--bg-card-hover:#f0f0f5;--bg-input:#f5f5f8;--border:#e0e0e8;--border-hover:#c0c0d0;--text-primary:#1a1a2e;--text-secondary:#555570;--text-muted:#8888a0;--accent:#00b894;--accent-hover:#00a07a;--accent-dim:rgba(0,184,148,0.1);--accent-glow:rgba(0,184,148,0.15);--danger:#e74c3c;--danger-dim:rgba(231,76,60,0.1);--warning:#f39c12;--warning-dim:rgba(243,156,2,0.1);--info:#2980b9;--info-dim:rgba(41,128,185,0.1);--shadow:0 2px 12px rgba(0,0,0,0.08);--shadow-lg:0 4px 20px rgba(0,0,0,0.12)}
body.theme-light .sidebar{background:#ffffff;border-right-color:#e0e0e8}
body.theme-light .modal{background:#ffffff}
body.theme-light ::-webkit-scrollbar-thumb{background:#d0d0d8}

/* Heatmap */
.heatmap-grid{display:grid;grid-template-columns:40px repeat(24,1fr);gap:2px;font-size:0.6rem;overflow-x:auto}
.heatmap-cell{width:100%;min-height:22px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:0.55rem;color:rgba(255,255,255,0.7);cursor:default;transition:transform 0.1s}
.heatmap-cell:hover{transform:scale(1.3);z-index:1}
.heatmap-label{display:flex;align-items:center;justify-content:flex-end;padding-right:6px;font-size:0.65rem;color:var(--text-muted);min-height:22px}
