*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:#f5f5f5;color:#1a1a1a}button{cursor:pointer}input,select,button{font:inherit}.app{max-width:1400px;margin:0 auto;padding:1rem}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{padding:.5rem 1rem;border:1px solid #ccc;background:#fff;border-radius:4px}.tab.active{background:#2563eb;color:#fff;border-color:#2563eb}.card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{border-bottom:1px solid #eee;padding:.5rem;text-align:left}th{background:#fafafa}.error{color:#dc2626}.success{color:#16a34a}.dropzone{border:2px dashed #ccc;border-radius:8px;padding:2rem;text-align:center;background:#fafafa;margin-bottom:1rem}.dropzone.dragover{border-color:#2563eb;background:#eff6ff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:8px;padding:1.5rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.form-row{margin-bottom:.75rem}.form-row label{display:block;font-size:.875rem;margin-bottom:.25rem}.form-row input,.form-row select{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px}.filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.filters input,.filters select{padding:.5rem;border:1px solid #ccc;border-radius:4px}
