*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#1a1a2e;min-height:100vh}#root,.app{min-height:100vh}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px}.error{color:#dc3545}.app-header{background:#21425d;color:#fff;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:12px}.header-left h1{font-size:18px;font-weight:600}.badge{background:#ffffff26;padding:4px 10px;border-radius:12px;font-size:12px}.header-actions{display:flex;gap:8px}.btn-primary{background:#fc6558;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#e04e42}.btn-export{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .15s}.btn-export:hover{background:#ffffff40}.btn-publish{background:#2e7d32;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-publish:hover{background:#1b5e20}.btn-publish:disabled{opacity:.6;cursor:wait}.filters{display:flex;gap:12px;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0;align-items:center}.search-input{flex:1;padding:10px 14px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s}.search-input:focus{border-color:#21425d}.clinic-select{padding:10px 14px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;background:#fff;min-width:240px;outline:none}.count{font-size:13px;color:#888;white-space:nowrap}.table-wrapper{overflow-x:auto;background:#fff}table{width:100%;border-collapse:collapse;font-size:13px}thead th{background:#f8f8f8;text-align:left;padding:10px 12px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#666;border-bottom:2px solid #e0e0e0;position:sticky;top:0;z-index:10;-webkit-user-select:none;user-select:none}thead th.sortable{cursor:pointer;transition:color .15s}thead th.sortable:hover{color:#21425d}.sort-icon{font-size:10px;opacity:.4}thead th.sortable:hover .sort-icon{opacity:.8}tbody tr{border-bottom:1px solid #f0f0f0;transition:background .1s}tbody tr:hover{background:#fafafa}td{padding:10px 12px;vertical-align:top}.td-clinic{font-size:12px;max-width:180px;display:flex;align-items:flex-start;gap:8px}.clinic-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.dot-blue{background:#21425d}.dot-purple{background:#7b2d8e}.dot-red{background:#c62828}.dot-teal{background:#00897b}.dot-sky{background:#0288d1}.dot-amber{background:#ff8f00}.dot-green{background:#2e7d32}.dot-pink{background:#c2185b}.dot-lime{background:#689f38}.dot-indigo{background:#283593}.dot-orange{background:#e65100}.dot-rose{background:#c2185b}.td-title{max-width:400px;line-height:1.4}.td-proto code{background:#f0f0f0;padding:2px 6px;border-radius:3px;font-size:12px;font-weight:600}.td-cancers{max-width:180px}.cancer-tag{display:inline-block;background:#fff0ee;color:#fc6558;padding:2px 8px;border-radius:10px;font-size:11px;margin:2px 4px 2px 0}.td-link a{color:#21425d;font-size:16px;text-decoration:none}.td-actions{white-space:nowrap}.btn-edit{background:none;border:1px solid #21425D;color:#21425d;padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer;margin-right:4px}.btn-edit:hover{background:#21425d;color:#fff}.btn-delete{background:none;border:1px solid #dc3545;color:#dc3545;padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer}.btn-delete:hover{background:#dc3545;color:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#fff;border-radius:12px;padding:28px;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal h2{font-size:20px;margin-bottom:20px;color:#21425d}.form-group{margin-bottom:16px}.form-group label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#333;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#21425d}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cancer-input-row{display:flex;gap:8px;margin-bottom:8px}.cancer-input-row input{flex:1}.btn-add-tag{background:none;border:none;color:#21425d;font-size:12px;cursor:pointer;font-weight:600}.btn-remove-tag{background:#dc3545;color:#fff;border:none;width:32px;height:38px;border-radius:6px;font-size:18px;cursor:pointer}.form-actions{display:flex;gap:10px;margin-top:24px;justify-content:flex-end}.btn-save{background:#21425d;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.btn-save:hover{background:#1a3549}.btn-cancel{background:#f5f5f5;color:#666;border:1px solid #d0d0d0;padding:10px 24px;border-radius:6px;font-size:14px;cursor:pointer}@media(max-width:768px){.app-header{flex-direction:column;gap:12px}.filters{flex-direction:column}.clinic-select{min-width:100%}.form-row{grid-template-columns:1fr}thead th{font-size:10px}}
