/* WA Dev Tools — Shared Styles */

/* Theme variables */
:root {
    --bg: #f5f5f7;
    --bg-grad1: rgba(0, 67, 184, 0.04);
    --bg-grad2: rgba(0, 50, 140, 0.03);
    --surface-800: rgba(255,255,255,0.85);
    --surface-700: #f0f0f3;
    --surface-600: #dde0e6;
    --text-primary: #1a1a2e;
    --text-secondary: #555;
    --text-muted: #888;
    --bar-bg: #e0e0e0;
    --select-bg: #f0f0f3;
    --select-color: #1a1a2e;
    --accent: #0054e6;
    --accent-dim: #0043b8;
    --accent-bright: #6b9fff;
    --accent-bg: rgba(0,84,230,.08);
}
.dark {
    --bg: #060c18;
    --bg-grad1: rgba(0, 84, 230, 0.03);
    --bg-grad2: rgba(0, 67, 184, 0.02);
    --surface-800: rgba(9,16,32,0.8);
    --surface-700: #0d1828;
    --surface-600: #162040;
    --text-primary: #fff;
    --text-secondary: #c0c0c0;
    --text-muted: #666;
    --bar-bg: #0d1828;
    --select-bg: #091020;
    --select-color: #e0e0e0;
}

/* Base */
body {
    background: var(--bg);
    background-image:
        radial-gradient(ellipse at 20% 50%, var(--bg-grad1) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, var(--bg-grad2) 0%, transparent 50%);
    min-height: 100vh;
    transition: background 0.3s;
    margin: 0;
}

/* Sidebar */
.sidebar { position:fixed;top:0;left:0;width:56px;height:100vh;display:flex;flex-direction:column;align-items:center;padding:10px 0 8px;z-index:50;border-right:1px solid var(--surface-600);background:var(--surface-800);backdrop-filter:blur(12px);transition:background .3s,border-color .3s }
.sidebar-logo { margin-bottom:12px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;font-family:'JetBrains Mono',monospace;flex-shrink:0 }
.sidebar-nav { display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0 }
.sidebar-nav::-webkit-scrollbar { display:none }
.sidebar-link { width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s;text-decoration:none;position:relative;flex-shrink:0 }
.sidebar-link:hover { color:var(--text-secondary);background:rgba(255,255,255,.04) }
.sidebar-link.active { color:var(--accent);background:var(--accent-bg) }
.sidebar-link.active::before { content:'';position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:0 3px 3px 0;background:var(--accent) }
.sidebar-bottom { margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;padding-top:6px }
.main-content { margin-left:56px }

/* Sidebar dividers */
.sidebar-divider { width:100%;height:1px;background:var(--surface-600);margin:2px 0;flex-shrink:0 }

/* Sidebar user avatar */
.sidebar-avatar { width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-family:'Manrope',sans-serif;cursor:pointer;transition:opacity .2s }
.sidebar-avatar:hover { opacity:.8 }

/* Theme toggle */
.theme-toggle { width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;color:var(--text-muted) }
.theme-toggle:hover { background:rgba(255,255,255,.06);color:var(--text-secondary) }
.theme-toggle-knob { display:flex;align-items:center;justify-content:center }

/* Mobile bottom bar */
@media(max-width:640px) {
    .sidebar { position:fixed;top:auto;bottom:0;left:0;width:100%;height:52px;flex-direction:row;justify-content:center;padding:0 8px;border-right:none;border-top:1px solid var(--surface-600);gap:0 }
    .sidebar-logo { display:none }
    .sidebar-nav { flex-direction:row;gap:2px;flex:1;justify-content:center;overflow:hidden }
    .sidebar-divider { display:none }
    .sidebar-link { width:32px;height:32px;border-radius:6px }
    .sidebar-link svg { width:18px;height:18px }
    .sidebar-link.active::before { left:50%;top:auto;bottom:-6px;transform:translateX(-50%);width:16px;height:2px;border-radius:2px 2px 0 0 }
    .sidebar-bottom { margin-top:0;margin-left:auto;flex-direction:row;flex-shrink:0 }
    .sidebar-admin-link { display:none !important }
    .main-content { margin-left:0;padding-bottom:60px }
}

/* Page header */
.page-header { margin-bottom:24px }
.page-header h1 { font-size:1.875rem;font-weight:800;letter-spacing:-0.025em;color:var(--text-primary);line-height:1.2 }
@media(min-width:640px) { .page-header h1 { font-size:2.25rem } }
.page-header h1 .accent { color:var(--accent) }
.page-header .description { margin-top:8px;font-size:0.875rem;color:var(--text-muted);font-family:'JetBrains Mono',monospace }

/* Standard content container */
.tool-container { padding:32px 16px }
@media(min-width:640px) { .tool-container { padding:48px 16px } }

/* Common form elements */
.wa-input { background:var(--select-bg);border:1px solid var(--surface-600);color:var(--select-color);padding:10px 14px;border-radius:8px;font-family:'JetBrains Mono',monospace;font-size:13px;outline:none;transition:border-color .2s }
.wa-input:focus { border-color:var(--accent) }
.wa-btn { padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:'Manrope',sans-serif;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s }
.wa-btn:hover { background:var(--accent-dim) }
.wa-btn:disabled { opacity:0.5;cursor:not-allowed }
.wa-card { background:var(--surface-700);border:1px solid var(--surface-600);border-radius:12px;padding:20px;transition:background .3s,border-color .3s }

/* Modal overlay */
.wa-modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease-out }
.wa-modal { background:var(--surface-700);border:1px solid var(--surface-600);border-radius:16px;padding:28px 24px;max-width:340px;width:90%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .2s ease-out }
.wa-modal h3 { font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:6px }
.wa-modal p { font-size:13px;color:var(--text-muted);margin-bottom:20px }
.wa-modal-actions { display:flex;gap:8px }
.wa-modal-actions button { flex:1;padding:10px;border-radius:8px;font-family:'Manrope',sans-serif;font-weight:600;font-size:14px;cursor:pointer;border:none;transition:all .15s }
.wa-modal-cancel { background:var(--surface-600);color:var(--text-secondary) }
.wa-modal-cancel:hover { background:var(--surface-800) }
.wa-modal-danger { background:#ef4444;color:#fff }
.wa-modal-danger:hover { background:#dc2626 }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes slideUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* Top header (public pages: landing, auth, status) */
.top-header { position:fixed;top:0;left:0;right:0;height:56px;background:var(--surface-800);border-bottom:1px solid var(--surface-600);display:flex;align-items:center;padding:0 24px;z-index:50;backdrop-filter:blur(12px) }
.top-logo { font-size:18px;font-weight:800;color:var(--text-primary);text-decoration:none;display:flex;align-items:center;gap:8px }
.top-logo span { color:var(--accent) }
.top-nav { display:flex;align-items:center;gap:6px;margin-left:32px }
.top-nav a { font-size:13px;color:var(--text-muted);text-decoration:none;padding:6px 12px;border-radius:8px;transition:all .15s;font-weight:500 }
.top-nav a:hover { color:var(--text-secondary);background:rgba(255,255,255,.04) }
.top-right { margin-left:auto;display:flex;align-items:center;gap:8px }
.btn-ghost { font-size:13px;color:var(--text-muted);text-decoration:none;padding:8px 16px;border-radius:8px;transition:all .15s;font-weight:600 }
.btn-ghost:hover { color:var(--text-secondary);background:rgba(255,255,255,.04) }
.btn-ghost.active { color:var(--accent);background:var(--accent-bg) }
.btn-primary-sm { font-size:13px;color:#fff;background:var(--accent);padding:8px 18px;border-radius:8px;text-decoration:none;font-weight:600;transition:background .15s }
.btn-primary-sm:hover { background:var(--accent-dim) }
.btn-primary-sm.active { box-shadow:0 0 0 2px var(--accent),0 0 0 4px rgba(0,84,230,.15) }
.theme-btn { width:32px;height:32px;border:none;background:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s }
.theme-btn:hover { background:rgba(255,255,255,.04);color:var(--text-secondary) }
@media(max-width:640px) { .top-nav { display:none } .top-header { padding:0 16px } }

/* Scrollbar */
::-webkit-scrollbar { width:6px;height:6px }
::-webkit-scrollbar-track { background:transparent }
::-webkit-scrollbar-thumb { background:var(--surface-600);border-radius:3px }
::-webkit-scrollbar-thumb:hover { background:var(--text-muted) }
