:root{--bg: #f8f8f8;--fg: #222;--muted: #666;--primary: #111;--accent: #2a7ae2;--border: #000}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}.header{border-bottom:2px solid var(--border);padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.nav a{margin-right:12px;text-decoration:none;color:var(--primary);border:2px solid var(--border);padding:6px 10px;background:#fff}.nav a.active{background:#eaeaea}.container{padding:16px;max-width:1100px;margin:0 auto}.card{background:#fff;border:2px solid var(--border);padding:12px;margin-bottom:16px}.card-header{display:flex;align-items:center;justify-content:space-between}.table{width:100%;border-collapse:collapse}.table th,.table td{border:2px solid var(--border);padding:8px;text-align:left}.table th{background:#f0f0f0}.btn{border:2px solid var(--border);background:#fff;color:var(--primary);padding:6px 10px;cursor:pointer}.btn.primary{background:#e8f0ff;border-color:#2a7ae2}.btn.danger{background:#ffeaea;border-color:#e22a2a}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{display:flex;flex-direction:column}.field label{font-size:12px;color:var(--muted);margin-bottom:4px}.field input,.field select{border:2px solid var(--border);padding:6px;background:#fff}.inline{display:flex;gap:8px;align-items:center}.pre{border:2px solid var(--border);padding:8px;background:#fafafa;overflow:auto}.footer{padding:12px 16px;border-top:2px solid var(--border);color:var(--muted)}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:#111827;color:#fff;padding:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px}.sidebar-title{font-size:18px;font-weight:700;line-height:1.2}.sidebar-section{border-top:1px solid rgba(255,255,255,.08);padding-top:8px;margin-top:8px}.sidebar-section-title{font-size:11px;text-transform:uppercase;opacity:.7;margin-bottom:4px}.main-content{flex:1;padding:16px}.btn.full-width{width:100%;justify-content:flex-start}
