:root{color:#0f172a;background:#f8fafc;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:#f8fafc;margin:0}.app-root{min-height:100vh}.centered{justify-content:center;align-items:center;min-height:100vh;display:flex}.top-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.workspace-left,.workspace-right{align-items:center;gap:10px;display:flex}.workspace-right button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.subtle{color:#64748b;font-size:12px}.top-nav-scroll{background:#fff;border-bottom:1px solid #e2e8f0;gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.nav-link{color:#334155;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;text-decoration:none;display:inline-flex}.nav-link.active{color:#065f46;background:#ecfdf5;border-color:#10b981}main{padding:16px}.screen{gap:12px;display:grid}.toolbar{flex-wrap:wrap;gap:8px;display:flex}input,select,button,textarea{font:inherit}input,select,textarea{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px}button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px}button.primary{color:#fff;background:#10b981;border-color:#059669}button.ghost{background:#f1f5f9}button.danger{color:#fff;background:#ef4444;border-color:#dc2626}button.link-btn{color:#0ea5e9;background:0 0;border:none;padding:0}table{border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:6px;width:100%;display:block;overflow:auto hidden}thead,tbody{width:100%}th,td{text-align:left;border-bottom:1px solid #f1f5f9;padding:8px;font-size:13px}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.badge{border:1px solid;border-radius:999px;padding:2px 8px;font-size:12px}.badge.green{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.badge.red{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.badge.amber{color:#b45309;background:#fffbeb;border-color:#fcd34d}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.stats-grid>div{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px}.stats-grid small{color:#64748b;display:block}.stats-grid strong{font-size:22px}.sync-strip{background:#ecfdf5;border:1px solid #10b981;border-radius:6px;padding:10px}.warning-row{background:#fff7ed}.pager{align-items:center;gap:10px;display:flex}.auth-wrap{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:10px;width:min(420px,100%);padding:18px;display:grid}.error-box{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:8px}.modal-backdrop{z-index:50;background:#02061773;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-panel{background:#fff;border:1px solid #cbd5e1;border-radius:8px;gap:10px;width:min(920px,100%);max-height:90vh;padding:12px;display:grid;overflow:auto}.modal-header{justify-content:space-between;align-items:center;display:flex}.details-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.settings-grid{gap:8px;max-width:540px;display:grid}.component-row{grid-template-columns:1fr 120px;gap:8px;display:grid}.danger-zone{background:#fff1f2;border:1px solid #fecaca;border-radius:6px;margin-top:18px;padding:10px}.search-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:min(640px,100%);overflow:hidden}.search-panel input{border:0;border-bottom:1px solid #e2e8f0;border-radius:0;width:100%}.search-results{max-height:350px;overflow:auto}.search-item{text-align:left;border:0;border-bottom:1px solid #f1f5f9;border-radius:0;width:100%;padding:10px}.toast-stack{z-index:70;gap:8px;display:grid;position:fixed;bottom:12px;right:12px}.toast{color:#fff;border-radius:8px;padding:10px 12px}.toast.success{background:#059669}.toast.error{background:#dc2626}
