:root{--void: #0d0e1a;--surface: #14162a;--surface-2: #1b1e38;--border: rgba(107, 79, 224, .25);--border-hover: rgba(63, 217, 199, .5);--violet: #6b4fe0;--cyan: #3fd9c7;--amber: #f2a65a;--text-primary: #f5f3ff;--text-secondary: #8b87a8;--text-muted: #5a5770}*{box-sizing:border-box}body{margin:0;background:var(--void);color:var(--text-primary);font-family:Manrope,Segoe UI,sans-serif}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:340px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;display:flex;flex-direction:column}.login-card h1{font-size:17px;margin:0 0 20px}.login-error{color:var(--amber);font-size:13px;margin:-4px 0 12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.field input{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text-primary);font-size:14px;font-family:inherit}.field input:focus{outline:none;border-color:var(--border-hover)}.save-button,.add-button{background:var(--violet);color:#fff;border:none;padding:10px 18px;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.save-button:hover,.add-button:hover{opacity:.88}.save-button:disabled{opacity:.5;cursor:not-allowed}.add-button{background:var(--surface-2);border:1px solid var(--border)}.dashboard{max-width:1000px;margin:0 auto;padding:40px 24px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.dashboard-header h1{font-size:22px;margin:0}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.project-card h2{font-size:16px;margin:0 0 8px}.project-card p{font-size:13.5px;color:var(--text-secondary);margin:0 0 16px}.project-links{display:flex;gap:16px;font-size:13px}.project-links a{color:var(--cyan);text-decoration:none}.project-links a:hover{text-decoration:underline}.project-edit-link{background:none;border:none;color:var(--cyan);font-size:13px;font-family:inherit;cursor:pointer;padding:0}.project-edit-link:hover{text-decoration:underline}.app-shell{display:flex;min-height:100vh}.app-error{padding:48px;max-width:560px;margin:64px auto}.app-error pre{background:var(--surface);padding:16px;border-radius:8px;border:1px solid var(--border)}.sidebar{width:260px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:24px 16px;overflow-y:auto}.sidebar-back{background:none;border:none;color:var(--text-secondary);font-size:12.5px;cursor:pointer;padding:0 0 20px;font-family:inherit}.sidebar-back:hover{color:var(--text-primary)}.sidebar-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;letter-spacing:.05em;margin-bottom:28px;color:var(--text-primary)}.sidebar-brand-dot{width:8px;height:8px;border-radius:999px;background:var(--amber)}.sidebar-group{margin-bottom:20px}.sidebar-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 8px 8px}.sidebar-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text-secondary);padding:9px 12px;border-radius:8px;font-size:13.5px;cursor:pointer;transition:all .15s ease;font-family:inherit}.sidebar-item:hover{background:var(--surface-2);color:var(--text-primary)}.sidebar-item.active{background:#6b4fe02e;color:var(--text-primary);border-left:2px solid var(--cyan)}.app-main{flex:1;padding:40px 56px;max-width:900px}.panel-message{color:var(--text-secondary);font-size:14px}.panel-message.error{color:var(--amber)}.section-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;position:sticky;top:0;background:var(--void);padding:12px 0;z-index:5}.section-editor-header h1{font-size:22px;margin:0}.save-row{display:flex;align-items:center;gap:12px}.save-status{font-size:12.5px;font-family:monospace}.save-status.success{color:var(--cyan)}.save-status.error{color:var(--amber)}.save-status.pending{color:var(--text-muted)}.field-hint{font-style:normal;color:var(--text-muted);text-transform:none;letter-spacing:0}.field input[type=text],.field input[type=number],.field textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text-primary);font-size:14px;font-family:inherit}.field input:focus,.field textarea:focus{outline:none;border-color:var(--border-hover)}.field-checkbox{flex-direction:row;align-items:center;gap:8px}.field-checkbox input{width:16px;height:16px;accent-color:var(--cyan)}.field-object,.field-array{border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:18px}.field-object legend,.field-array legend{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);padding:0 6px}.localized .lang-tabs{display:flex;gap:6px;margin-bottom:14px}.lang-tabs button{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);padding:5px 14px;border-radius:999px;font-size:12px;font-family:monospace;cursor:pointer}.lang-tabs button.active{border-color:var(--cyan);color:var(--text-primary)}.array-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px}.array-item-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.array-item-index{font-family:monospace;font-size:11px;color:var(--text-muted)}.array-item-buttons{display:flex;gap:6px}.array-item-buttons button{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:12px}.array-item-buttons button:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-hover)}.array-item-buttons button:disabled{opacity:.3;cursor:not-allowed}.array-item-buttons button.danger:hover{border-color:var(--amber);color:var(--amber)}.field-array>.add-button{width:100%;padding:10px;font-size:13px}.logout-button{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit}.logout-button:hover{color:var(--text-primary);border-color:var(--border-hover)}
