:root{color:#121722;font-synthesis:none;text-rendering:optimizelegibility;--blue:#0667e8;--blue-hover:#0059cc;--blue-soft:#eef6ff;--text:#121722;--muted:#697386;--line:#dfe3e9;--line-strong:#c9d0da;--danger:#d92d3a;--surface-soft:#f7f9fb;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f5f7fa;min-width:320px}body{background:#f5f7fa;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #0667e83b}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{grid-template-columns:246px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);z-index:10;background:linear-gradient(#fff 0%,#fbfcfe 100%);flex-direction:column;height:100vh;padding:24px 12px 18px;display:flex;position:sticky;top:0}.sidebar-brand{padding:0 14px 26px}.brand{color:var(--text);letter-spacing:-.03em;align-items:center;gap:11px;font-size:24px;font-weight:700;display:inline-flex}.brand svg{width:37px;height:29px;color:var(--blue)}.brand svg path{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.sidebar-nav{gap:5px;display:grid}.sidebar-link{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;width:100%;min-height:48px;padding:0 14px;font-size:15px;transition:background .16s,color .16s;display:flex}.sidebar-link:hover{background:var(--surface-soft)}.sidebar-link.is-active{background:var(--blue-soft);color:var(--blue);box-shadow:inset 3px 0 var(--blue);font-weight:600}.sidebar-link svg{flex:none;width:22px;height:22px}.nav-count{min-width:24px;height:23px;color:var(--muted);background:#eef1f5;border-radius:12px;place-items:center;margin-left:auto;padding:0 6px;font-size:12px;font-weight:600;display:grid}.sidebar-link.is-active .nav-count{color:var(--blue);background:#fff}.sidebar-footer{border-top:1px solid var(--line);gap:3px;margin-top:auto;padding-top:12px;display:grid}.main-content{width:100%;min-width:0;max-width:1540px;margin:0 auto;padding:32px 38px 58px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;min-height:48px;margin-bottom:20px;display:flex}.page-header h1{letter-spacing:-.035em;margin:0;font-size:clamp(26px,2.2vw,34px);font-weight:720;line-height:1.2}.page-heading{gap:5px;display:grid}.page-heading p{color:var(--muted);margin:0;font-size:13px}.mobile-brand{display:none}.connection-status{color:#9b3b16;white-space:nowrap;background:#fff9f4;border:1px solid #f0cfb7;border-radius:20px;align-items:center;gap:8px;min-height:38px;padding:0 12px 0 8px;font-size:13px;display:flex}.connection-status.is-connected{color:#334b40;background:#f4fbf7;border-color:#cce8d9}.connection-mark{width:25px;height:25px;color:var(--blue);place-items:center;display:grid;position:relative}.connection-mark svg{width:22px;height:22px}.connection-status.is-connected .connection-mark:after{content:"";background:#16b364;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:1px;right:-2px}.source-section{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px;box-shadow:0 8px 28px #20334e0e}.source-grid{grid-template-columns:minmax(300px,1fr) auto 170px 142px;align-items:stretch;gap:12px;display:grid}.source-input{border:1px solid var(--line-strong);border-radius:var(--radius);cursor:text;grid-template-rows:1fr auto;grid-template-columns:24px 1fr;column-gap:11px;min-height:66px;padding:11px 16px 9px;transition:border-color .16s,box-shadow .16s;display:grid}.source-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #0667e81a}.source-input.is-dragging{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue), 0 0 0 4px #0667e81a}.source-input>svg{color:#556174;grid-row:1;align-self:center;width:22px}.source-input input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:16px}.source-input input::placeholder{color:#8a92a0}.source-input>span{color:#8992a1;grid-column:2;font-size:12px;line-height:1.2}.button{border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 20px;font-size:14px;font-weight:620;transition:background .16s,border-color .16s,transform 80ms,box-shadow .16s;display:inline-flex}.button:hover:not(:disabled){background:#f9fafb;border-color:#aab4c2}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.48;cursor:not-allowed}.button svg{width:20px;height:20px}.button-primary{border-color:var(--blue);color:#fff;background:var(--blue);box-shadow:0 1px 2px #0a29561f}.button-primary:hover:not(:disabled){border-color:var(--blue-hover);background:var(--blue-hover);box-shadow:0 6px 16px #0667e830}.button.compact{white-space:nowrap;min-height:42px;padding-inline:17px}.file-button{height:66px}.destination-select{height:66px;position:relative}.destination-select select{appearance:none;border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;height:100%;color:var(--text);cursor:pointer;background:#fff;outline:0;padding:0 42px 0 17px}.destination-select svg{pointer-events:none;width:20px;color:var(--muted);position:absolute;top:calc(50% - 10px);right:14px}.source-grid>.button-primary{height:66px}.analysis-panel{border-radius:var(--radius);background:#f6faff;border:1px solid #bbd8fb;align-items:center;gap:13px;min-height:72px;margin-top:14px;padding:12px 14px;display:flex}.analysis-panel.is-warning{background:#fffaf2;border-color:#f2cf9c}.analysis-icon{width:34px;height:34px;color:var(--blue);background:#e7f2ff;border-radius:50%;flex:none;place-items:center;display:grid}.analysis-panel.is-warning .analysis-icon{color:#a15c06;background:#ffefd4}.analysis-icon svg{width:21px}.analysis-copy{flex:1;gap:3px;min-width:0;display:grid}.analysis-copy strong{font-size:14px}.analysis-copy>span{color:var(--muted);font-size:13px}.analysis-copy small{color:#4c596b;overflow-wrap:anywhere;align-items:center;gap:6px;display:flex}.analysis-copy small svg{width:15px;height:15px}.jobs-section{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:22px;overflow:hidden;box-shadow:0 8px 28px #20334e0b}.status-tabs{border-bottom:1px solid var(--line);align-items:end;gap:2px;min-height:66px;padding-inline:8px;display:flex}.status-tab{min-height:53px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 24px;font-size:14px;font-weight:560;position:relative}.status-tab:hover{color:var(--text)}.status-tab.is-active{color:var(--blue)}.status-tab.is-active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-1px;left:14px;right:14px}.status-tab span{color:#6f7886;background:#f0f2f5;border-radius:11px;place-items:center;min-width:21px;height:21px;margin-left:7px;padding:0 6px;font-size:11px;display:inline-grid}.status-tab.is-active span{color:var(--blue);background:#e6f1ff}.jobs-head,.job{grid-template-columns:minmax(250px,2.2fr) minmax(160px,1.35fr) minmax(100px,.85fr) minmax(190px,1.25fr) minmax(95px,.75fr) minmax(72px,.62fr) minmax(110px,.85fr);display:grid}.jobs-head{border-bottom:1px solid var(--line);min-height:58px;color:var(--muted);letter-spacing:.015em;align-items:center;font-size:11px}.jobs-head span{padding:0 11px}.job{border-bottom:1px solid var(--line);transition:background .15s;position:relative}.job:hover{background:#fafbfd}.job.is-expanded{box-shadow:inset 3px 0 var(--blue);background:#f8fbff}.job-row-main{grid-column:1/7;grid-template-columns:subgrid;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;min-width:0;min-height:102px;padding:0;display:grid}.job-row-main>span{min-width:0;padding:14px 11px}.job-title-cell{grid-template-columns:18px 34px minmax(0,1fr);align-items:center;gap:10px;height:100%;display:grid}.job-title-cell .row-chevron{color:#4b5667;width:17px;transition:transform .16s}.job-title-cell .row-chevron.is-open{transform:rotate(180deg)}.job-title-cell>span:last-child{gap:5px;min-width:0;display:grid}.job-title-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:670;overflow:hidden}.job-title-cell small{text-overflow:ellipsis;white-space:nowrap;color:var(--blue);font-size:12px;overflow:hidden}.job-kind{width:34px;height:34px;color:var(--blue);background:#fff;border:1px solid #b9d5f7;border-radius:8px;place-items:center;display:grid}.job-kind svg{width:19px}.job-kind-completed{color:#168653;border-color:#b9dfcd}.job-kind-failed,.job-kind-cancelled{color:var(--danger);border-color:#efc2c7}.job-destination{color:#3c4656;overflow-wrap:anywhere;font-size:12px;line-height:1.45;display:block;overflow:hidden}.job-row-main small:first-child{display:none}.job-status{color:var(--blue);font-size:13px;font-weight:620}.status-completed{color:#168653}.status-failed,.status-cancelled{color:var(--danger)}.status-paused{color:#936009}.progress-wrap{grid-template-columns:43px 1fr;align-items:center;gap:5px 10px;display:grid}.progress-label{color:var(--blue);font-variant-numeric:tabular-nums;font-size:14px}.progress-track{background:#e5e8ed;border-radius:3px;height:6px;position:relative;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--blue);height:100%;display:block}.progress-track.is-indeterminate>span{width:40%;animation:1.3s ease-in-out infinite progress-slide}.progress-bytes{color:var(--muted);font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:11px}.job-metric{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.row-expand-mobile{display:none}.job-actions{flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-width:0;padding:12px 9px;display:flex}.job-actions button{min-height:31px;color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 5px;font-size:12px;display:inline-flex}.job-actions button:hover{text-decoration:underline}.job-actions button.danger{color:var(--danger)}.job-actions svg{width:17px}.action-note{color:var(--muted);font-size:11px;line-height:1.35}.job-details{background:#fff;border-top:1px solid #d6e2f0;grid-column:1/-1;grid-template-columns:150px minmax(0,1fr);display:grid}.detail-tabs{border-right:1px solid var(--line);align-content:start;gap:4px;padding:13px 9px;display:grid}.detail-tabs button{color:#596578;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;height:40px;padding:0 11px;font-size:12px;display:flex}.detail-tabs button:hover{background:var(--surface-soft)}.detail-tabs button.is-active{background:var(--blue-soft);color:var(--blue);font-weight:620}.detail-tabs svg{width:18px}.detail-content{min-width:0;padding:12px 22px 18px}.detail-content dl{margin:0}.detail-content dl>div{border-bottom:1px solid #edf0f3;grid-template-columns:155px minmax(0,1fr);align-items:center;min-height:43px;font-size:12px;display:grid}.detail-content dl>div:last-child{border-bottom:0}.detail-content dt{color:var(--muted)}.detail-content dd{overflow-wrap:anywhere;color:#354052;min-width:0;margin:0}.detail-content .error-detail dd{color:var(--danger)}.detail-placeholder{min-height:140px;color:var(--muted);justify-content:center;align-items:center;gap:9px;font-size:13px;display:flex}.detail-placeholder svg{width:20px}.file-list{display:grid}.file-list-row{color:#4a5668;border-bottom:1px solid #edf0f3;grid-template-columns:24px minmax(0,1fr) 48px;align-items:center;gap:10px;min-height:54px;display:grid}.file-list-row:last-child{border-bottom:0}.file-list-row>svg{width:19px;color:var(--blue)}.file-list-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.file-list-row strong{text-overflow:ellipsis;white-space:nowrap;color:#263244;font-size:12px;font-weight:620;overflow:hidden}.file-list-row small{color:var(--muted);font-size:11px}.file-list-row>span:last-child{color:var(--blue);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.event-log{min-height:120px;color:var(--muted);align-content:start;gap:0;font-size:12px;display:grid}.event-log>div{border-bottom:1px solid #edf0f3;grid-template-columns:78px 1fr;align-items:center;min-height:38px;display:grid}.event-log time{color:#8a93a1;font-variant-numeric:tabular-nums}.event-error{color:var(--danger)}.empty-state{min-height:270px;color:var(--muted);border-bottom:1px solid var(--line);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-state>svg{color:#8995a7;width:32px;height:32px;margin-bottom:7px}.empty-state strong{color:#334054;font-size:15px}.empty-state span{font-size:13px}.loading-line{background:#e7edf5;height:2px;overflow:hidden}.loading-line span{background:var(--blue);width:36%;height:100%;animation:1.1s ease-in-out infinite loading-slide;display:block}.toast{z-index:50;color:#8f2530;background:#fff;border:1px solid #efbdc3;border-radius:10px;grid-template-columns:22px 1fr 28px;align-items:center;gap:10px;max-width:min(440px,100vw - 32px);min-height:52px;padding:11px 10px 11px 14px;font-size:13px;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 40px #1b27382e}.toast>svg{width:20px}.toast button{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.toast button:hover{background:#fff0f2}.toast button svg{width:17px}.boot-screen,.login-screen{background:#f7f9fc;place-items:center;min-height:100vh;display:grid}.boot-screen{color:var(--muted);align-content:center;gap:18px;font-size:13px}.login-panel{border:1px solid var(--line);background:#fff;border-radius:14px;gap:24px;width:min(410px,100vw - 32px);padding:34px;display:grid;box-shadow:0 18px 50px #18263c14}.login-panel h1{letter-spacing:-.03em;margin:0 0 6px;font-size:25px}.login-panel p{color:var(--muted);margin:0;font-size:14px}.login-panel label{color:#475366;gap:8px;font-size:13px;font-weight:600;display:grid}.login-panel input{border:1px solid var(--line-strong);border-radius:9px;outline:0;height:48px;padding:0 13px}.login-panel input:focus{border-color:var(--blue)}.login-error{color:var(--danger);align-items:center;gap:8px;font-size:13px;display:flex}.login-error svg{width:19px}.dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#151e2c6b;place-items:center;padding:20px;animation:.16s ease-out backdrop-in;display:grid;position:fixed;inset:0}.service-dialog{background:#fff;border:1px solid #ffffffb3;border-radius:16px;gap:22px;width:min(500px,100%);padding:26px;animation:.18s ease-out dialog-in;display:grid;box-shadow:0 28px 80px #101c2e3d}.service-dialog header{justify-content:space-between;gap:20px;display:flex}.service-dialog header span{color:var(--blue);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:680}.service-dialog h2{letter-spacing:-.025em;margin:5px 0 0;font-size:23px}.service-dialog header>button{color:#5f6b7b;background:var(--surface-soft);cursor:pointer;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.service-dialog header svg{width:19px}.service-dialog dl{border:1px solid var(--line);border-radius:11px;margin:0;overflow:hidden}.service-dialog dl>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:48px;padding:0 14px;font-size:13px;display:flex}.service-dialog dl>div:last-child{border-bottom:0}.service-dialog dt{color:var(--muted)}.service-dialog dd{margin:0;font-weight:630}.service-dialog dd.is-ok{color:#168653}.service-dialog dd.is-error{color:var(--danger)}.service-dialog>p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.service-dialog>.button{justify-self:end;min-width:112px}@keyframes progress-slide{0%{transform:translate(-110%)}to{transform:translate(350%)}}@keyframes loading-slide{0%{transform:translate(-110%)}to{transform:translate(350%)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1180px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.main-content{padding-inline:24px}.source-grid{grid-template-columns:minmax(270px,1fr) 170px 132px}.file-button{grid-area:2/1;justify-self:start;height:48px}.destination-select,.source-grid>.button-primary{height:66px}.jobs-head,.job{grid-template-columns:minmax(235px,2fr) minmax(150px,1.2fr) minmax(90px,.75fr) minmax(165px,1.1fr) minmax(92px,.7fr) minmax(66px,.55fr) minmax(96px,.75fr)}.job-actions button span{display:none}.job-actions{align-items:center}}@media (width<=800px){.app-shell{padding-bottom:66px;display:block}.sidebar{width:auto;height:66px;padding:5px max(8px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border:0;border-top:1px solid var(--line);flex-direction:row;align-items:stretch;position:fixed;inset:auto 0 0;box-shadow:0 -6px 18px #1925350f}.sidebar-brand{display:none}.sidebar-nav{flex:1;grid-template-columns:repeat(3,1fr);gap:2px}.sidebar-link{border-radius:8px;flex-direction:column;justify-content:center;gap:2px;min-height:52px;padding:3px 4px;font-size:10px}.sidebar-link svg{width:21px;height:21px}.sidebar-link.is-active{box-shadow:none}.nav-count{min-width:17px;height:17px;padding:0 4px;font-size:9px;position:absolute;transform:translate(13px,-11px)}.sidebar-footer{border:0;width:55px;margin:0;padding:0;display:block}.sidebar-footer .sidebar-link:first-child,.sidebar-footer .sidebar-link:last-child span{display:none}.main-content{padding:max(18px, env(safe-area-inset-top)) 18px 32px}.page-header{flex-wrap:wrap;align-items:center;min-height:43px;margin-bottom:20px}.mobile-brand{display:block}.mobile-brand .brand{font-size:20px}.mobile-brand .brand svg{width:31px}.page-heading{order:2;width:100%;margin-top:18px}.page-header h1{font-size:28px;position:static}.connection-status{margin:0;font-size:12px}.source-grid{grid-template-columns:1fr 126px;gap:10px}.source-section{border-radius:12px;padding:13px}.source-input{grid-column:1/-1;min-height:86px}.file-button{grid-area:auto/1/auto/-1;justify-self:stretch;width:100%}.destination-select,.source-grid>.button-primary{height:50px}.analysis-panel{flex-wrap:wrap;align-items:flex-start}.analysis-panel .button{width:100%}.status-tabs{justify-content:space-between;min-height:64px}.status-tab{flex:1;padding-inline:4px;font-size:13px}.status-tab.is-active:after{left:4px;right:4px}.jobs-head{display:none}.job{grid-template-columns:minmax(0,1fr);padding:18px 0;display:grid}.job.is-expanded{box-shadow:inset 2px 0 var(--blue);padding-bottom:0}.job-row-main{grid-column:1;grid-template-columns:1fr 26px;gap:0 10px;min-height:0;padding:0 8px 0 12px;display:grid}.job-row-main>span{padding:0}.job-title-cell{grid-column:1;grid-template-columns:30px minmax(0,1fr);gap:10px;display:grid}.job-title-cell .row-chevron{display:none}.job-kind{grid-column:1;width:30px;height:30px}.job-title-cell>span:last-child{grid-column:2}.job-title-cell strong{font-size:15px}.job-title-cell small{font-size:12px}.row-expand-mobile{color:var(--blue);grid-area:1/2;align-self:center;display:block}.row-expand-mobile svg{width:21px}.job-destination{grid-column:1/-1;margin:16px 0 0 40px;font-size:12px}.job-row-main small:first-child{color:var(--muted);margin-bottom:3px;font-size:10px;display:block}.job-status{grid-column:1;margin:13px 0 0 40px}.job-status small{display:none!important}.job-progress-cell{grid-column:1/-1;margin:12px 0 0 40px}.job-progress-cell>small{display:none!important}.progress-wrap{grid-template-columns:45px 1fr}.job-metric{grid-column:1;margin:10px 0 0 40px;display:inline-block}.job-metric+.job-metric{margin-top:4px}.job-metric small{margin-right:8px;display:inline!important}.job-actions{flex-direction:row;grid-column:1;align-items:center;gap:18px;padding:14px 8px 0 48px}.job-actions button span{display:inline}.job-details{border-top:1px solid var(--line);grid-column:1;margin-top:16px;display:block}.detail-tabs{border:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:8px}.detail-tabs button{justify-content:center;padding-inline:5px}.detail-content{padding:7px 14px 16px}.detail-content dl>div{grid-template-columns:100px minmax(0,1fr);padding:7px 0}.toast{bottom:78px;left:16px;right:16px}.jobs-section{border-radius:12px}}@media (width<=430px){.main-content{padding-inline:14px}.page-header h1{font-size:26px}.connection-status span:last-child{white-space:normal;text-align:right;max-width:100px}.source-grid{grid-template-columns:1fr}.destination-select,.source-grid>.button-primary{height:48px}.status-tab{font-size:12px}.status-tab span{margin-left:3px}.service-dialog{padding:20px}}
