*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #F8FAFC;--surface: #FFFFFF;--text: #0F172A;--text-muted: #475569;--border: #CBD5E1;--primary: #D97706;--primary-hover: #B45309;--accent: #F59E0B;--accent-hover: #D97706;--danger: #EF4444;--danger-hover: #DC2626;--warning: #F59E0B;--success: #10B981;--surface-hover: #F1F5F9;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--radius: 8px;--radius-lg: 12px;--sidebar-width: 260px;--header-height: 56px;--transition: .15s ease}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:14px;font-weight:500;border:none;transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-sm{padding:4px 10px;font-size:13px}.btn-icon{padding:6px;background:transparent;color:var(--text-muted);border:none;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--surface-hover);color:var(--text)}.input{width:100%;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;transition:border-color var(--transition)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #d977061a}.input-lg{padding:10px 14px;font-size:15px}textarea.input{resize:vertical;min-height:80px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:500;background:var(--surface-hover);color:var(--text-muted);border:1px solid var(--border)}.badge-primary{background:#d977061a;color:var(--primary);border-color:transparent}.badge-accent{background:#f59e0b1a;color:var(--accent);border-color:transparent}.step-type-command{background:#d977061a;color:var(--primary)}.step-type-warning{background:#f59e0b1a;color:var(--warning)}.step-type-note{background:#f59e0b1a;color:var(--accent)}.step-type-hardware{background:#8b5cf61a;color:#8b5cf6}.step-type-config{background:#ec48991a;color:#ec4899}.code-block{background:#1e1e2e;color:#cdd6f4;padding:12px 16px;border-radius:var(--radius);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:24px;max-width:560px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h2{margin-bottom:16px;font-size:18px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);text-align:center}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state h3{font-size:16px;margin-bottom:8px;color:var(--text)}.empty-state p{font-size:14px;max-width:320px}.toast-custom{font-family:inherit!important}@media(max-width:768px){.hide-mobile{display:none!important}:root{--sidebar-width: 0px}.sidebar{transform:translate(-100%);position:fixed;z-index:50;width:260px}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.modal{max-width:100%;margin:10px}}
