:root{--ink:#263448;--teal:#245da0;--muted:#718095;--line:#dce2e9;--paper:#f4f6f9;--white:#fff;--amber:#886619}body{font:13px/1.5 'Segoe UI','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--paper)}button{padding:6px 11px;border-radius:4px;font-size:12px;white-space:nowrap}button:hover{background:#f0f5fc;border-color:#9cb4d0}button:disabled{cursor:not-allowed}.primary{background:#245da0;color:#fff;border-color:#245da0}.primary:hover{background:#194c89;color:#fff}.sidebar{position:relative;inset:auto;width:100%;height:60px;min-height:60px;padding:0 20px;border:0;border-bottom:1px solid var(--line);background:#fff;display:flex;flex-direction:row;align-items:center;gap:32px;overflow:visible}.brand{font-size:16px;gap:9px;flex-shrink:0}.brand span{font-size:15px}.brand small{font-size:10px;letter-spacing:.2px;color:#8590a0}.brand .app-mark{display:grid;place-items:center;width:28px;height:30px;background:#245da0;color:white;border-radius:5px;font-size:19px;font-weight:650}.sidebar nav{display:flex;align-items:stretch;gap:4px;min-width:0;height:100%;overflow:auto}.sidebar nav button{display:block;flex-shrink:0;padding:0 12px;font-size:12px;border-radius:0;color:#617186;border-bottom:2px solid transparent}.sidebar nav button.active{background:#f5f8fd;border-bottom-color:#245da0;color:#245da0;font-weight:600}.shell{margin:0}header{height:39px;padding:0 20px;background:#fafbfd;font-size:12px}.operator{gap:12px;font-size:12px}main{max-width:none;margin:0;padding:15px 18px 32px}.candidate-active main{padding-bottom:79px}h1{font-size:22px;line-height:1.4;letter-spacing:0;margin-bottom:8px}h2{font-size:16px}h3{font-size:13px}input,select,textarea{border-radius:4px;padding:6px 9px;font-size:12px}label{font-size:12px;font-weight:400}input[type=checkbox]{accent-color:#245da0;width:15px;height:15px;padding:0;margin:0;vertical-align:middle}.card,.source-card{border-radius:5px;box-shadow:none}.page-head{margin-bottom:18px}.eyebrow{display:none}.info{border-left:3px solid #96abc4;background:#edf2f8;padding:13px 15px;border-radius:2px;font-size:12px}.tag{border-radius:3px;background:#eaf1fa;color:#36577d}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px}.workspace-heading>div:first-child{display:flex;align-items:center;gap:18px;min-width:0}.workspace-heading h1{font-size:20px;margin:0;white-space:nowrap}.workspace-heading #grid-stats{font-size:12px;color:#728095}.workspace-actions{display:flex;gap:7px}.grid-toolbar{display:flex;align-items:center;gap:12px;padding:11px 12px;margin-bottom:12px;border:1px solid var(--line);background:#fff;border-radius:5px}.grid-toolbar label{display:flex;flex-direction:row;align-items:center;gap:7px;white-space:nowrap}.grid-toolbar select{width:auto;min-width:94px}.grid-toolbar .search-label{min-width:150px;max-width:310px;flex:1}.search-label input{width:100%;min-width:130px}.grid-toolbar .extra-metrics{margin-left:auto;font-size:11px;color:#65768b}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.grid-main{min-width:0}.candidate-grid{overflow:auto;background:white;border:1px solid var(--line);border-radius:5px;height:calc(100vh - 310px);min-height:300px;overscroll-behavior:contain}.candidate-grid table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px;min-width:1040px}.candidate-grid th{position:sticky;top:0;z-index:3;background:#eff3f8;color:#4c6079;border-bottom:1px solid #ccd6e3;font-size:11px;font-weight:600;padding:9px 7px;height:47px;white-space:nowrap;text-align:left}.candidate-grid th button{padding:0;border:0;background:transparent;text-align:left;font-size:11px;font-weight:600;line-height:1.45;color:inherit;display:inline-block}.candidate-grid th small{font-size:9px;color:#8490a0;font-weight:400}.sort-indicator{display:inline-block;color:#99a7b7;font-size:10px;margin-left:4px}.candidate-grid td{padding:8px 7px;border-bottom:1px solid #e9edf3;vertical-align:middle;font-size:11px;white-space:nowrap;height:62px;color:#35465d}.candidate-grid tr:last-child td{border-bottom:0}.candidate-grid tbody tr{outline:none;background:#fff}.candidate-grid tbody tr:nth-child(even){background:#fcfdff}.candidate-grid tbody tr:hover,.candidate-grid tbody tr.previewing{background:#f0f5fc}.candidate-grid tbody tr.selected{background:#eaf2ff}.candidate-grid tbody tr:focus-visible{outline:2px solid #6693c6;outline-offset:-2px}.candidate-grid .select-cell{width:34px;min-width:34px;max-width:34px;text-align:center;position:sticky;left:0;z-index:2;background:inherit}.candidate-grid thead .select-cell{z-index:5;background:#eff3f8}.candidate-grid .identity-cell{width:226px;min-width:226px;max-width:226px;position:sticky;left:34px;z-index:2;background:inherit;border-right:1px solid #e5eaf1}.candidate-grid thead .identity-cell{z-index:5;background:#eff3f8}.design-name{display:block;font-weight:600;color:#284d78;overflow:hidden;text-overflow:ellipsis;max-width:210px;line-height:1.6}.row-sequence{display:block;font:10px/1.6 Consolas,'Courier New',monospace;color:#7f8ba0;max-width:210px;overflow:hidden;text-overflow:ellipsis}.identity-cell small{font-size:9px;color:#92a0b0}.candidate-grid .numeric{font:12px/1.5 Consolas,monospace;min-width:60px;font-variant-numeric:tabular-nums}.status-badge{display:inline-block;border:1px solid #e1e6ed;background:#f7f9fb;color:#7b8999;border-radius:3px;padding:2px 5px;font-size:10px;white-space:nowrap}.status-badge.accepted{background:#edf7f3;border-color:#c7e7d8;color:#3b7960}.status-badge.rejected{background:#f6f7f9;color:#8a95a4}.status-badge.claimed{background:#edf3ff;border-color:#c8daf6;color:#2b60a3}.status-badge.completed{background:#edf6f3;border-color:#d1e6dc;color:#44816b}.status-badge.available{background:white;border-style:dashed;color:#8895a5}.candidate-grid .claim-cell{min-width:80px}.batch-cell{padding:0;border:0;background:transparent;color:#386a9f;max-width:110px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;font-size:11px}.result-cell{min-width:124px;max-width:180px}.result-line{display:block;font-size:11px;white-space:normal}.result-line small{font-size:9px;white-space:nowrap;color:#8b98a8}.result-line .review-approved{color:#44816b}.result-line .review-rejected{color:#a47a70}.cell-muted{color:#a2adba}.grid-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:11px;color:#77869a}.grid-pagination>div{display:flex;align-items:center;gap:10px}.grid-pagination label{flex-direction:row;align-items:center;gap:6px;font-size:11px}.grid-pagination select{width:59px}.grid-pagination button{font-size:11px;padding:5px 9px}.grid-footnote{font-size:10px;color:#93a0b0;margin:0;line-height:1.5}.structure-panel{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden;height:calc(100vh - 261px);min-height:500px;display:flex;flex-direction:column}.preview-heading{padding:12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:8px}.preview-heading>div{min-width:0}.preview-heading span{display:block;font-size:10px;color:#8593a6;margin-bottom:4px}.preview-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600}.preview-heading button{font-size:10px;padding:4px 7px}.preview-controls{padding:8px;display:flex;gap:6px;background:#fbfcfe}.preview-controls select{font-size:10px;padding:5px;width:auto;min-width:0;flex:1}.preview-controls button{font-size:10px;padding:4px 6px}.molecule-wrap{position:relative;height:248px;min-height:220px;background:#f7f9fc}.molecule-wrap #candidate-molecule{position:absolute;inset:0}.molecule-wrap #structure-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#7b8ba0;font-size:11px;text-align:center;padding:20px;background:#f7f9fc}.structure-legend{display:flex;align-items:center;gap:12px;padding:7px 11px;border-top:1px solid #ecf0f5;color:#8291a4;font-size:9px}.structure-legend i{width:7px;height:7px;display:inline-block;border-radius:2px;margin-right:4px}.binder-color{background:#2463a7}.target-color{background:#a9b8ca}#structure-evidence{margin-left:auto;font-size:8px}.detail-tabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafbfd}.detail-tabs button{flex:1;border:0;border-bottom:2px solid transparent;padding:9px 5px;border-radius:0;font-size:10px;background:none;color:#8391a4}.detail-tabs button.active{border-bottom-color:#245da0;color:#245da0;background:#fff}.preview-body{padding:12px;overflow:auto;min-height:90px;flex:1;font-size:11px}.preview-body .sequence{font:11px/1.65 Consolas,monospace;background:#f3f6fa;padding:9px;color:#586d89;word-break:break-all;border-radius:3px;max-height:120px;overflow:auto}.preview-field{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:#7e8da0;font-size:10px}.preview-field button{font-size:9px;padding:3px 7px}.preview-body dl{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px 9px;margin:12px 0;font-size:10px}.preview-body dt{color:#8a99ab}.preview-body dd{margin:0;color:#5e7089;overflow-wrap:anywhere}.preview-body pre{font-size:10px;margin-bottom:0}.preview-body table{font-size:10px}.preview-body td,.preview-body th{padding:6px 5px;font-size:10px}.preview-body td{overflow-wrap:anywhere;max-width:180px}.preview-body td:first-child{font-family:Consolas,monospace}.path-text{font-size:9px;overflow-wrap:anywhere;color:#8998ab}.result-record{border-bottom:1px solid var(--line);padding:9px 0}.result-record:last-child{border:0}.result-record p{margin:7px 0}.result-record button{font-size:10px;padding:2px 4px;max-width:190px;overflow:hidden;text-overflow:ellipsis}#selection-bar{position:fixed;z-index:15;bottom:0;left:0;right:0;height:62px;padding:10px 20px;border-top:1px solid #ccd8e7;background:#fff;box-shadow:0 -3px 16px #253e5810;display:flex;justify-content:space-between;align-items:center;gap:15px}#selection-bar>div{display:flex;align-items:center;gap:16px}#selection-bar strong{font-size:12px}#selection-bar span{font-size:11px;color:#8a98aa}#selection-bar #bulk-claim{min-width:158px;padding:9px 18px;font-size:13px}#clear-selection{border:0;color:#7c8fa7;font-size:11px}.bulk-items{max-height:180px;overflow:auto;background:#f4f7fb;border:1px solid var(--line);border-radius:3px;margin:14px 0}.bulk-items div{padding:7px 10px;font:11px/1.5 Consolas,monospace;border-bottom:1px solid #e6ebf2}.bulk-items span{float:right;color:#90a0b4}.error-text{color:#ad5e56}#bulk-create-batch{margin:10px 0}#bulk-submit{width:100%;padding:10px}dialog{border:1px solid #d4dce8;border-radius:7px;max-width:540px;width:calc(100% - 32px);box-shadow:0 12px 60px #172c4525}dialog::backdrop{background:#1c304c55}.auth-panel{max-width:430px;margin:12vh auto}.auth-panel h1{font-size:22px}.auth-panel .card{padding:26px;border-radius:7px}.auth-panel p{font-size:12px}.auth-panel form{gap:14px}.auth-panel input{padding:10px}.auth-panel .eyebrow{display:none}footer{display:none}#pipeline-import{padding:15px;margin-bottom:12px}#pipeline-import form{display:flex;align-items:flex-end;gap:15px}#pipeline-import label{flex:1}.extra-cell{display:none}.show-extra-metrics .extra-cell{display:table-cell}body[data-table-view=compute] .experiment-cell{display:none}body[data-table-view=experiment] .compute-cell,body[data-table-view=experiment] .generation-cell{display:none}body[data-table-view=experiment] .candidate-grid table{min-width:820px}body[data-table-view=compute] .candidate-grid table{min-width:840px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#notice{padding:9px 13px;margin-bottom:10px;border-radius:4px;font-size:12px;max-height:60px;overflow:auto}.logged-out #selection-bar{display:none!important}#page-batch .sequence{word-break:break-all}
@media(min-width:1650px){.workspace-grid{grid-template-columns:minmax(0,1fr) 370px}.molecule-wrap{height:285px;min-height:285px}.candidate-grid .identity-cell{width:260px;min-width:260px;max-width:260px}.row-sequence,.design-name{max-width:245px}.candidate-grid td{font-size:12px}}
@media(max-width:1200px){.sidebar{gap:20px;padding:0 14px}.sidebar nav button{padding:0 9px}.workspace-grid{grid-template-columns:minmax(0,1fr) 285px;gap:10px}.grid-toolbar{gap:8px;flex-wrap:wrap}.grid-toolbar .search-label{max-width:none}.grid-toolbar label{font-size:11px}.candidate-grid{height:calc(100vh - 345px)}.structure-panel{height:calc(100vh - 296px)}.grid-toolbar .extra-metrics{margin-left:0}.molecule-wrap{height:215px;min-height:215px}}
@media(max-width:900px){.sidebar{height:auto;min-height:60px;display:block;padding:10px 14px 0}.sidebar nav{height:40px;margin-top:8px;gap:3px}.sidebar nav button{padding:0 10px}.brand small{display:none}.workspace-grid{grid-template-columns:minmax(0,1fr) 260px}.workspace-heading{align-items:flex-start}.workspace-heading>div:first-child{display:block}.workspace-heading #grid-stats{font-size:10px;display:block;margin-top:4px}.workspace-actions button{font-size:10px;padding:5px 7px}.grid-toolbar select{min-width:83px}main{padding:12px}.structure-panel{min-height:510px}.candidate-grid{height:calc(100vh - 395px);min-height:400px}.grid-pagination{flex-wrap:wrap}.grid-pagination>div{gap:5px}}
@media(max-width:680px){.workspace-grid{display:flex;flex-direction:column}.grid-main,.structure-panel{width:100%}.structure-panel{height:590px;min-height:0}.candidate-grid{height:440px;min-height:0}.workspace-heading{gap:8px}.workspace-heading h1{font-size:18px}.workspace-actions{gap:4px}.grid-toolbar{gap:9px;padding:10px}.grid-toolbar .search-label{flex-basis:100%;max-width:none}.grid-toolbar label{font-size:10px}.grid-toolbar select{min-width:78px}.grid-toolbar .extra-metrics{font-size:10px}header{padding:0 12px}.operator{font-size:10px;gap:8px}.operator button{font-size:10px}.sidebar nav button{font-size:11px}.candidate-grid .identity-cell{width:190px;min-width:190px;max-width:190px}.row-sequence,.design-name{max-width:174px}.candidate-grid table{min-width:1040px}#selection-bar{padding:9px 12px;height:62px;gap:8px}#selection-bar>div{gap:8px}#selection-bar span{display:none}#selection-bar strong{font-size:11px}#selection-bar #bulk-claim{min-width:140px;padding:9px 11px;font-size:12px}.preview-body{font-size:12px}.grid-footnote{font-size:9px}.grid-pagination{font-size:10px}}

@media(min-width:681px){.candidate-grid{height:var(--table-available,calc(100vh - 360px));min-height:250px}.structure-panel{height:var(--grid-available,calc(100vh - 290px));min-height:420px}.candidate-active main{padding-bottom:76px}}
