*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:#1a1a1a;background:#fafafa}button{font:inherit}.muted{color:#6b7280}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login{display:flex;flex-direction:column;gap:.85rem;width:100%;max-width:340px;padding:1.75rem;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.login h1{margin:0;font-size:1.4rem}.login label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:#374151}.login input{padding:.55rem .65rem;border:1px solid #d1d5db;border-radius:6px}.login button,.topbar button{padding:.55rem .9rem;border:1px solid #d1d5db;border-radius:6px;background:#111827;color:#fff;cursor:pointer}.login button:disabled{opacity:.6;cursor:default}.topbar button{background:#fff;color:#111827}.error{margin:0;color:#b91c1c;font-size:.85rem}.topbar{display:flex;align-items:center;gap:.9rem;padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;background:#fff}.brand{font-weight:600}.spacer{flex:1}.content{max-width:1024px;margin:0 auto;padding:1.75rem 1.5rem}.table-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.table-toolbar h2{margin:0;font-size:1.2rem}.table-toolbar button{padding:.4rem .8rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer}.table-toolbar button:disabled{opacity:.6;cursor:default}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid #eceef1;white-space:nowrap}.data-table th{font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;position:sticky;top:0;background:#fafafa}.data-table td.num,.data-table th.num{text-align:right}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr.row-gap{background:#fef2f2}.data-table tbody tr.row-gap:hover{background:#fee2e2}.data-table .ok{color:#15803d}.data-table .bad{color:#b91c1c;font-weight:600}
