:root{--bg:#f4f4f5;--card:#fff;--text:#1a1a1a;--text-muted:#6b7280;--border:#e4e4e7;--accent:#8e1b3a;--accent-hover:#6f1430;--danger:#dc2626;--success:#16a34a;--warning:#d97706;--radius:6px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:13px;line-height:1.3}h1,h2,h3{margin:0 0 6px;font-weight:600}h1{font-size:18px}h2{margin-top:14px;font-size:14px}h3{font-size:13px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:4px;outline:none;height:26px;padding:3px 6px;font-family:inherit;font-size:13px}textarea{height:auto}input:focus,select:focus,textarea:focus{border-color:var(--accent)}label{color:var(--text-muted);margin-bottom:2px;font-size:12px;display:block}button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:4px;height:26px;padding:3px 9px;font-family:inherit;font-size:12px;transition:background .15s}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:default}button.secondary{color:var(--accent);border-color:var(--border);background:#fff}button.secondary:hover:not(:disabled){background:#f6f6f7}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.table{border-collapse:collapse;background:var(--card);width:100%}.table th{text-align:center;color:var(--text);border:1px solid var(--border);white-space:nowrap;background:#f4f4f5;padding:3px 6px;font-size:12px;font-weight:600}.table td{border:1px solid var(--border);white-space:normal;word-break:break-word;padding:2px 6px;font-size:12px}.table tr:hover td{background:#fbeef2}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{color:#fff;white-space:nowrap;border-radius:10px;padding:1px 7px;font-size:11px;display:inline-block}.muted{color:var(--text-muted)}.danger{color:var(--danger)}.success{color:var(--success)}.warning{color:var(--warning)}.page{max-width:1400px;margin:0 auto;padding:12px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.action-bar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:6px;padding:4px 0;display:flex}.action-link{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:0;height:auto;padding:2px 0;font-size:12px}.action-link:hover:not(:disabled){color:var(--accent);background:0 0;text-decoration:underline}.action-link:disabled{opacity:.4}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.form-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.form-row>label{text-align:right;flex-shrink:0;width:140px;margin:0;font-size:12px}.form-row>input,.form-row>select,.form-row>textarea{flex:1;min-width:0}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:var(--radius);flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;box-shadow:0 10px 40px #0003}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.modal-header h3{margin:0;font-size:13px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;height:auto;padding:0 4px;font-size:16px;line-height:1}.modal-close:hover{color:var(--text);background:0 0}.modal-body{padding:10px 12px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:6px;padding:8px 12px;display:flex}.form-field{margin-bottom:6px}.form-field input,.form-field select,.form-field textarea{width:100%}.form-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-bottom:6px;padding:5px 8px;font-size:12px}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-cards{flex-direction:column;gap:8px;display:flex}.data-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.data-card-row{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding:3px 0;display:flex}.data-card-row:last-child{border-bottom:none}.data-card-label{color:var(--text-muted);flex-shrink:0;font-size:12px}.data-card-value{text-align:right;word-break:break-word;min-width:0;font-size:13px}.data-card-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:8px;padding-top:8px;display:flex}.data-table-view{display:block}.data-cards-view{display:none}@media (width<=640px){.page{padding:10px}.grid-2{grid-template-columns:1fr}h1{font-size:17px}.data-table-view{display:none}.data-cards-view{display:block}.modal{border-radius:0;max-width:100%;height:100%;max-height:100vh}.modal-overlay{padding:0}.form-row{flex-direction:column;align-items:stretch;gap:2px}.form-row>label{text-align:left;width:auto}}
