:root{--bg: #0f1218;--surface: #161b24;--surface-2: #1e2530;--border: #2a3140;--text: #e6e9ef;--text-secondary: #8796a6;--accent: #347db5;--accent-hover: #3f92d1;--danger: #ff6b6b;--success: #4caf78;--radius: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}input,button,textarea,select{font-family:inherit;font-size:14px}.auth-screen{height:100%;display:flex;align-items:center;justify-content:center}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:360px}.auth-card h1{font-size:18px;margin:0 0 20px}.full-page-loading{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}label{display:block;margin-bottom:14px;font-size:13px;color:var(--text-secondary)}input[type=text],input[type=password],input[type=number],textarea,select{display:block;width:100%;margin-top:6px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-weight:600;cursor:pointer}button:hover{background:var(--accent-hover)}button:disabled{opacity:.6;cursor:default}.secondary-button{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.danger-button{background:var(--danger)}.link-button{background:none;color:var(--text-secondary);padding:0;font-weight:400;text-decoration:underline}.error-text{color:var(--danger);font-size:13px}.hint{color:var(--text-secondary);font-size:13px}.app-shell{display:flex;height:100%}.sidebar{width:220px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 12px}.sidebar-title{font-weight:700;font-size:16px;padding:0 8px 20px}.nav-link{display:block;padding:10px 12px;border-radius:8px;color:var(--text-secondary);text-decoration:none;margin-bottom:4px}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--surface-2);color:var(--text);font-weight:600}.sidebar-footer{margin-top:auto;padding:12px 8px 0;border-top:1px solid var(--border)}.sidebar-user{font-size:13px;margin-bottom:8px;color:var(--text)}.content{flex:1;overflow-y:auto;padding:32px}.page h1{margin-top:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:360px}.modal-card h2{font-size:16px;margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--text-secondary);font-weight:600}tr:hover td{background:var(--surface-2)}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-secondary)}.badge.success{color:var(--success)}.badge.danger{color:var(--danger)}pre.sql-output{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;font-size:12px}
