/* EVA DataLab V31 — Stage 01 / Connect */
.connect-dropzone{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:16px;align-items:center;margin:26px 0 10px;padding:18px;border:1px dashed #bdbdbd;border-radius:14px;background:linear-gradient(180deg,#fff,#fafafa);cursor:pointer;transition:.2s ease}
.connect-dropzone:hover,.connect-dropzone.is-dragging{border-color:#222;background:#f6f6f6;transform:translateY(-1px)}
.connect-drop-icon{width:44px;height:44px;border:1px solid #d8d8d8;border-radius:12px;display:grid;place-items:center;font:300 27px/1 var(--evadl-display);background:#fff}
.connect-dropzone span{display:block;font:600 7px/1 var(--evadl-mono);letter-spacing:.11em;color:#8c8c8c}.connect-dropzone b{display:block;margin:7px 0 4px;font:400 20px/1 var(--evadl-display);letter-spacing:.02em}.connect-dropzone p{margin:0!important;font-size:8px!important;color:#929292!important}.connect-dropzone .evadl-primary-btn{white-space:nowrap}
.connect-formats span em{color:var(--bp-ready)!important}
.connect-grid-v31{align-items:stretch}.v31-source-body{height:100%;display:flex;flex-direction:column}.v31-source-body h3{margin-top:34px}.v31-source-body .connect-actions{margin-top:auto;padding-top:20px}
.connect-source-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.connect-source-facts>div{padding:12px;border:1px solid #e4e4e4;border-radius:9px;background:#fafafa}.connect-source-facts span,.connect-project-state>span,.connect-confirmation-row span{display:block;font:600 5.8px/1 var(--evadl-mono);letter-spacing:.08em;color:#999}.connect-source-facts b{display:block;margin-top:7px;font:500 8.5px/1.25 var(--evadl-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.connect-project-state{padding:16px 15px 17px;border-top:1px solid #ececec;background:#fafafa}.connect-project-state>div{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px}.connect-project-state b{font:500 9px/1 var(--evadl-mono)}.connect-project-state em{font:600 5.5px/1 var(--evadl-mono);font-style:normal;color:#6c806f}.connect-project-state p{font-size:7px;line-height:1.55;color:#8d8d8d;margin:9px 0 0}
.connect-preview-card{margin-top:16px}.connect-confirmation-row{display:grid;grid-template-columns:110px 110px 130px 1fr;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #ececec}.connect-confirmation-row>div{padding-right:12px;border-right:1px solid #ececec}.connect-confirmation-row b{display:block;margin-top:7px;font:400 20px/1 var(--evadl-display)}.connect-confirmation-row p{margin:0;font-size:8px;line-height:1.5;color:#777}.connect-preview-wrap{max-height:285px}.connect-preview-wrap table{min-width:700px}
.connect-process-live span{position:relative;padding-left:12px}.connect-process-live span:before{content:'';position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background:#d1d1d1;transform:translateY(-50%)}.connect-process-live span.is-done:before{background:#6b806f}.connect-process-live span.is-active:before{background:#171717;box-shadow:0 0 0 4px #e7e7e7}.connect-process-live span.is-active{color:#111;font-weight:600}
.connect-inline-error{display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:14px;margin:15px 0;padding:14px 16px;border:1px solid #ddbebe;border-radius:11px;background:#fff7f7}.connect-inline-error b{font:600 6px/1 var(--evadl-mono);color:#8b4848}.connect-inline-error p{margin:0;font-size:8px;color:#815f5f}.connect-inline-error label{font:600 6px/1 var(--evadl-mono);cursor:pointer;text-decoration:underline}
.connect-import-overlay,.connect-sheet-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(12,12,12,.46);backdrop-filter:blur(8px);padding:20px}.connect-import-overlay[hidden],.connect-sheet-overlay[hidden]{display:none!important}.connect-import-dialog,.connect-sheet-dialog{width:min(560px,calc(100vw - 32px));border:1px solid #d9d9d9;border-radius:18px;background:#fff;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.17)}
.connect-import-dialog>span,.connect-sheet-dialog>span{font:600 6px/1 var(--evadl-mono);letter-spacing:.1em;color:#999}.connect-import-dialog h3,.connect-sheet-dialog h3{font:300 36px/1 var(--evadl-display);text-transform:uppercase;margin:16px 0 10px}.connect-import-dialog p,.connect-sheet-dialog p{font-size:9px;line-height:1.6;color:#777}.connect-import-spinner{width:34px;height:34px;border:2px solid #e2e2e2;border-top-color:#111;border-radius:50%;animation:connectSpin .85s linear infinite;margin-bottom:22px}.connect-import-progress{height:5px;background:#ececec;border-radius:99px;overflow:hidden;margin:24px 0 13px}.connect-import-progress i{display:block;width:5%;height:100%;background:#161616;border-radius:99px;transition:width .25s ease}.connect-import-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.connect-import-steps b{padding:9px 7px;border:1px solid #e4e4e4;border-radius:7px;text-align:center;font:600 5.5px/1 var(--evadl-mono);color:#aaa}.connect-import-steps b.is-active{background:#181818;color:#fff;border-color:#181818}.connect-import-steps b.is-done{color:#637665;border-color:#cdd7cf;background:#f3f7f3}
.connect-sheet-overlay{z-index:10000}.connect-sheet-list{display:grid;gap:7px;margin:22px 0}.connect-sheet-list button{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;width:100%;padding:13px 14px;border:1px solid #ddd;border-radius:10px;background:#fafafa;text-align:left;cursor:pointer}.connect-sheet-list button:hover{background:#111;color:#fff;border-color:#111}.connect-sheet-list i{font:500 6px/1 var(--evadl-mono);font-style:normal;color:#999}.connect-sheet-list b{font:500 9px/1 var(--evadl-mono)}.connect-sheet-list em{font:500 6px/1 var(--evadl-mono);font-style:normal;color:#999}
@keyframes connectSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.connect-dropzone{grid-template-columns:44px 1fr}.connect-dropzone .evadl-primary-btn{grid-column:1/-1;text-align:center}.connect-confirmation-row{grid-template-columns:1fr 1fr}.connect-confirmation-row>div{border-right:0}.connect-confirmation-row p{grid-column:1/-1}.connect-source-facts{grid-template-columns:1fr}.connect-inline-error{grid-template-columns:1fr}.connect-import-dialog,.connect-sheet-dialog{padding:22px}.connect-import-steps{grid-template-columns:1fr 1fr}}
