:root{font-family:Arial,sans-serif;color:#111827;background:#f5f7fa}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:1px solid #d1d5db;background:#2563eb;color:#fff;border-radius:6px;padding:8px 12px;cursor:pointer}button.secondary{background:#fff;color:#111827}button:disabled{opacity:.6;cursor:not-allowed}input{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:10px;margin-bottom:12px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:16px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;box-shadow:0 2px 10px #0000000d}.auth-shell .panel{width:min(420px,100%);display:flex;flex-direction:column;gap:8px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:#0f172a;color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:0;font-size:20px}.tabs{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid #e5e7eb;background:#fff;overflow-x:auto}.tab{padding:8px 10px;border-radius:6px;text-decoration:none;color:#1f2937;border:1px solid transparent;white-space:nowrap}.tab.active{border-color:#2563eb;color:#2563eb;font-weight:600}.content{padding:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:16px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.stat-label{font-size:12px;color:#6b7280}.stat-value{margin-top:4px;font-size:20px;font-weight:700}.table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb;font-size:14px}th{background:#f8fafc}.badge{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.badge.ok{color:#166534;background:#dcfce7}.badge.bad{color:#991b1b;background:#fee2e2}.message{color:#1d4ed8}.error{color:#b91c1c}.modal-backdrop{position:fixed;inset:0;background:#00000059;display:grid;place-items:center;padding:16px}.modal{width:min(460px,100%);background:#fff;border-radius:8px;padding:16px}.modal h3{margin-top:0}.modal-body{margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:640px){.content{padding:12px}th,td{font-size:13px;padding:8px}}
