/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:host,:root{--font-sans:"Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}}:root{font-family:var(--font-sans);color:#252e2b;font-synthesis:none;background:#fafbf9}body{margin:0}button,input{font:inherit}a,button,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:4px;outline:3px solid #71a795}.login-page{flex-direction:column;max-width:1600px;min-height:100svh;margin:auto;display:flex}.site-header{justify-content:space-between;align-items:center;gap:20px;min-height:110px;padding:0 5%;display:flex}.brand{letter-spacing:-.8px;align-items:center;gap:10px;font-size:23px;font-weight:650;display:inline-flex}.brand-symbol{color:#fff;background:#285d4e;border-radius:11px;place-items:center;width:37px;height:37px;display:grid}.brand-dot{color:#56816a}.header-note{color:#737c76;align-items:center;gap:12px;font-size:12px;display:flex}.status-dot{background:#649279;border-radius:50%;width:6px;height:6px;display:inline-block}.login-grid{flex:1;grid-template-columns:1.06fr 1fr;min-height:590px;margin:16px 5% 24px;display:grid}.intro-panel{background:#edf1e9;border:1px solid #e4e9e0;border-radius:20px;flex-direction:column;padding:58px 12% 35px;display:flex;overflow:hidden}.quiet-label{color:#57705c;align-items:center;gap:9px;font-size:12px;display:flex}.intro-copy h1{letter-spacing:-2.8px;margin:30px 0 23px;font-size:calc(clamp(40px,4.1vw,62px));font-weight:500;line-height:1.12}.intro-copy p{color:#6c776e;font-size:15px;line-height:1.8}.transfer-visual{justify-content:space-between;align-items:flex-start;margin:auto -8px;padding:45px 0 35px;display:flex;position:relative}.route-line{border-top:1px dashed #aebcae;position:absolute;top:77px;left:35px;right:35px}.endpoint{flex-direction:column;align-items:center;gap:12px;font-size:12px;font-weight:600;display:flex;position:relative}.endpoint small{color:#7e897e;margin-top:-8px;font-size:10px;font-weight:400}.node-icon{color:#64765f;background:#f9fbf6;border:1px solid #d9e1d5;border-radius:18px;width:66px;height:66px}.node-icon,.transfer-node{place-items:center;display:grid}.transfer-node{color:#fff;background:#315e4b;border:5px solid #e1e8db;border-radius:19px;width:62px;height:62px;margin-top:2px;position:relative;transform:rotate(-8deg);box-shadow:0 8px 22px #304f4814}.node-arrow{color:#426345;background:#e0eacb;border:3px solid #edf1e9;border-radius:50%;padding:3px;position:absolute;bottom:-5px;right:-9px}.intro-bottom{color:#778272;align-items:center;gap:12px;font-size:11px;display:flex}.mini-line{background:#8b9e83;width:22px;height:1px}.form-panel{justify-content:center;align-items:center;padding:44px 12%;display:flex}.login-form-wrap{width:100%;max-width:370px}.login-icon{color:#526b57;background:#f0f3ed;border:1px solid #e4e9df;border-radius:13px;place-items:center;width:45px;height:45px;margin-bottom:24px;display:inline-grid}.login-form-wrap h2{letter-spacing:-.9px;margin:0 0 10px;font-size:27px;font-weight:600;line-height:1.3}.form-description{color:#828981;font-size:13px;line-height:1.6}.login-form{flex-direction:column;gap:23px;margin-top:32px;display:flex}.login-form label{margin-bottom:9px;font-size:12px;font-weight:600;display:block}.login-form input{background:#fff;border:1px solid #dce2d8;border-radius:8px;width:100%;height:49px;padding:0 14px;font-size:13px;transition:border-color .2s}.login-form input::placeholder{color:#a1a79f}.login-form input:focus{border-color:#648775;outline:none}.password-field{position:relative}.password-field input{padding-right:48px}.password-toggle{color:#929b8f;background:0 0;border:0;border-radius:6px;place-items:center;width:43px;height:43px;display:grid;position:absolute;top:3px;right:3px}.primary-button{color:#fff;background:#285d4e;border:0;border-radius:8px;justify-content:space-between;align-items:center;height:49px;margin-top:2px;padding:0 17px;font-size:13px;font-weight:500;transition:background .2s;display:flex}.brand,.brand-symbol,.logout-button,.password-toggle{transition:color .2s,background-color .2s,border-color .2s}@media (hover:hover){.brand:hover{color:#285d4e}.brand:hover .brand-symbol{background-color:#214d40}.primary-button:hover:not(:disabled){background:#214d40}.logout-button:hover:not(:disabled),.password-toggle:hover:not(:disabled){color:#285d4e;background-color:#edf1e9}.login-form input:hover:not(:disabled):not(:focus),.logout-button:hover:not(:disabled){border-color:#91ab99}}.brand:active .brand-symbol,.primary-button:active:not(:disabled){background-color:#193f34}.logout-button:active:not(:disabled),.password-toggle:active:not(:disabled){color:#214d40;background-color:#dfe7da}.form-error{color:#a13f37;background:#fff0ed;border-radius:6px;padding:10px;font-size:12px;line-height:1.5}.access-note{color:#899084;text-align:center;margin-top:24px;font-size:11px;line-height:1.9}.access-note span{color:#6a7568}.secure-note{color:#939b8f;border-top:1px solid #e8ebe4;justify-content:center;align-items:center;gap:7px;margin-top:30px;padding-top:20px}.secure-note,.site-footer{font-size:10px;display:flex}.site-footer{color:#91998d;justify-content:space-between;gap:15px;padding:10px 5% 25px}.logout-button{border:1px solid #dce2d8;border-radius:8px;align-items:center;gap:8px;padding:9px 15px;font-size:13px;display:flex}.workspace-content{max-width:760px;margin:12vh auto;padding:30px}.workspace-content h1{letter-spacing:-1.5px;margin-bottom:20px;font-size:calc(clamp(32px,5vw,48px))}.workspace-content p{color:#778272;line-height:1.8}.workspace-route{color:#285d4e;flex-wrap:wrap;align-items:center;gap:16px;margin-top:35px;font-size:14px;display:flex}@media (width>=1500px){.login-grid{max-height:800px}}@media (width<=900px){.intro-panel{padding:45px 9% 30px}.form-panel{padding:35px 9%}.intro-copy h1{font-size:43px}.login-form-wrap h2{font-size:24px}}@media (width<=680px){.site-header{min-height:85px;padding:0 7%}.header-note{display:none}.login-grid{flex-direction:column;min-height:auto;margin:0 6% 20px;display:flex}.intro-panel{border-radius:14px;padding:28px}.intro-copy h1{letter-spacing:-1.5px;margin:16px 0;font-size:35px}.intro-bottom,.intro-copy h1 br,.login-icon,.transfer-visual{display:none}.intro-copy p{font-size:12px}.form-panel{padding:35px 12px 15px}.site-footer{padding:12px 7% 25px;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}.app-frame{grid-template-columns:248px 1fr;min-height:100svh;display:grid}.sidebar{box-sizing:border-box;background:#f4f7f2;border-right:1px solid #e4e9e0;flex-direction:column;gap:36px;height:100svh;padding:28px 18px;display:flex;position:sticky;top:0}.sidebar .brand{padding:0 8px}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-link{color:#4f5c55;text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:11px;width:100%;padding:10px 12px;font-size:14px;transition:color .2s,background-color .2s,border-color .2s;display:flex}.sidebar-link.is-active{color:#285d4e;background:#fff;border-color:#dce5d8;font-weight:600}.sidebar-bottom{margin-top:auto}.sidebar-error{color:#a13f37;padding:0 12px;font-size:12px}.app-main{min-width:0;padding:40px calc(clamp(16px,4vw,56px)) 64px}.page{flex-direction:column;gap:22px;max-width:1080px;display:flex}.page-head h1{letter-spacing:-1.2px;margin:0 0 8px;font-size:calc(clamp(28px,3vw,38px));font-weight:600}.page-head p{color:#778272;margin:0;font-size:14px}.page-head .workspace-route{margin-top:0}.card{background:#fff;border:1px solid #e4e9e0;border-radius:16px;flex-direction:column;gap:18px;padding:24px;display:flex}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.card-head h2{color:#252e2b;align-items:center;gap:9px;margin:0 0 6px;font-size:18px;font-weight:600;display:flex}.card-head h2 svg{color:#285d4e}.card-head p{color:#7b857d;max-width:640px;margin:0;font-size:13px;line-height:1.6}.subhead{margin:6px 0 0;font-size:14px;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.field{color:#3f4a44;flex-direction:column;gap:7px;font-size:12px;font-weight:600;display:flex}.data-table input,.data-table select,.field input,.field select{box-sizing:border-box;width:100%;height:42px;font:inherit;color:#252e2b;background:#fff;border:1px solid #dce2d8;border-radius:8px;padding:0 12px;font-size:13px;font-weight:400;transition:border-color .2s}.data-table input:focus,.data-table select:focus,.field input:focus,.field select:focus{border-color:#648775;outline:none}.data-table input:focus-visible,.data-table select:focus-visible,.field input:focus-visible,.field select:focus-visible{outline-offset:1px;outline:3px solid #71a795}select{cursor:pointer}.actions,.save-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.save-bar{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fafbf9e6;border:1px solid #e4e9e0;border-radius:12px;padding:12px 16px;position:sticky;bottom:16px}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:13px;font-weight:500;transition:color .2s,background-color .2s,border-color .2s;display:inline-flex}.button-primary{color:#fff;background:#285d4e}.button-ghost{color:#33403a;background:#fff;border-color:#dce2d8}.button:disabled{opacity:.55;cursor:not-allowed}.notice{border-radius:7px;margin:0;padding:8px 11px;font-size:12px;line-height:1.5}.notice-ok{color:#2f5e45;background:#edf4ec}.notice-error{color:#a13f37;background:#fff0ed}.hint{color:#8a9389;margin:0;font-size:12px}.text-link{color:#285d4e;text-underline-offset:3px;text-decoration:underline;transition:color .2s}.grants{color:#4f5c55;background:#f6f8f4;border-radius:9px;flex-direction:column;gap:6px;margin:0;padding:12px 14px;font-family:ui-monospace,Consolas,monospace;font-size:11px;list-style:none;display:flex}.grants li{word-break:break-all;align-items:center;gap:8px;display:flex}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:#7b857d;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-bottom:1px solid #e4e9e0;padding:8px 10px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid #f0f2ed;padding:8px 10px}.lang-table td{min-width:150px}.accent-cell{color:#285d4e;font-weight:600}.analysis-summary{color:#33403a;background:#f4f7f2;border-radius:10px;margin:0;padding:14px 16px;font-size:15px;line-height:1.7}.analysis-summary strong{color:#285d4e}.progress{flex-direction:column;gap:8px;display:flex}.progress-head{color:#6c776e;justify-content:space-between;gap:12px;font-size:12px;display:flex}.progress-head strong{color:#285d4e;font-variant-numeric:tabular-nums}.progress-track{background:#edf1e9;border-radius:99px;height:12px;overflow:hidden}.progress-fill{border-radius:inherit;background:#3b7a63;height:100%;transition:width .5s}.progress-fill.is-running{background-image:linear-gradient(45deg,#fff3 25%,#0000 0 50%,#fff3 0 75%,#0000 0);background-size:22px 22px;animation:.8s linear infinite progress-move}@keyframes progress-move{to{background-position:22px 0}}.bucket{flex-direction:column;gap:12px;display:flex}.bucket-toolbar{justify-content:space-between;gap:12px}.bucket-toolbar,.crumbs{flex-wrap:wrap;align-items:center;display:flex}.crumbs{gap:4px}.crumb{color:#33403a;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:13px;transition:color .2s,background-color .2s;display:inline-flex}.crumb-sep{color:#a1a99f}.bucket-list{border:1px solid #e4e9e0;border-radius:10px;max-height:360px;margin:0;padding:0;list-style:none;overflow:auto}.bucket-list li+li{border-top:1px solid #f0f2ed}.bucket-row{color:#33403a;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:9px 14px;font-size:13px;transition:background-color .2s,color .2s;display:flex}.bucket-row svg{color:#648775;flex:none}.break-cell,.bucket-row span,.checked-url,.field-hint,.log-list li,.sidebar-user,.sql-list code{overflow-wrap:anywhere}.bucket-row small{color:#8a9389;white-space:nowrap;margin-left:auto}.bucket-empty{color:#8a9389;padding:12px 14px;font-size:13px}@media (hover:hover){.sidebar-link:hover:not(:disabled):not(.is-active){color:#285d4e;background:#e8eee4}.button-primary:hover:not(:disabled){background:#214d40}.button-ghost:hover:not(:disabled){color:#285d4e;background:#edf1e9;border-color:#91ab99}.crumb:hover:not(:disabled){color:#285d4e;background:#edf1e9}.bucket-row:not(.is-file):hover:not(:disabled){color:#285d4e;background:#f4f7f2}.text-link:hover{color:#193f34}.data-table input:hover:not(:focus),.data-table select:hover:not(:focus),.field input:hover:not(:focus):not(:disabled),.field select:hover:not(:focus):not(:disabled){border-color:#91ab99}}.bucket-row:not(.is-file):active:not(:disabled),.button-ghost:active:not(:disabled),.crumb:active:not(:disabled),.sidebar-link:active:not(:disabled){background:#dfe7da}.button-primary:active:not(:disabled){background:#193f34}@media (width<=860px){.app-frame{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #e4e9e0;border-right:0;flex-wrap:wrap;align-items:center;gap:12px;height:auto;padding:14px 16px;position:static}.sidebar,.sidebar-nav{flex-direction:row}.sidebar-bottom{margin-top:0;margin-left:auto}.sidebar-link{width:auto}.app-main{padding:24px 16px 48px}.card{padding:18px}}.sidebar-user{color:#4f5c55;flex-direction:column;gap:2px;margin:0 0 8px;padding:0 12px;font-size:12px;display:flex}.sidebar-user small{color:#8a9389;font-size:11px}@media (width<=860px){.sidebar-user{display:none}}.notice-warn{color:#8a5a12;background:#fff7e6;align-items:flex-start;gap:8px;display:flex}.notice-warn svg{flex:none;margin-top:1px}.sql-list{color:#4f5c55;border:1px solid #e4e9e0;border-radius:9px;padding:10px 14px;font-size:12px}.sql-list summary{cursor:pointer;color:#33403a;border-radius:6px;margin:-2px -4px;padding:2px 4px;font-weight:600;transition:color .2s,background-color .2s}.sql-list ol{flex-direction:column;gap:6px;margin:10px 0 6px;padding-left:20px;line-height:1.5;display:flex}.sql-list code{background:#f4f7f2;border-radius:4px;padding:1px 5px;font-family:ui-monospace,Consolas,monospace;font-size:11px}.sql-list p{color:#8a9389;margin:0}@media (hover:hover){.sql-list summary:hover{color:#285d4e;background:#f4f7f2}}.stat-row{flex-wrap:wrap;gap:10px;display:flex}.stat{color:#6c776e;background:#f4f7f2;border-radius:10px;flex-direction:column;gap:2px;min-width:130px;padding:10px 14px;font-size:12px;display:flex}.stat strong{color:#285d4e;font-variant-numeric:tabular-nums;font-size:20px}.current-step{color:#285d4e;border:1px solid #dce5d8;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.current-step div{color:#33403a;flex-direction:column;gap:3px;font-size:13px;display:flex}.current-step span{color:#6c776e;font-size:12px}.error-cell{color:#a13f37;font-weight:600}.break-cell{max-width:420px;font-size:12px}.code-cell{min-width:80px!important}.log-list{flex-direction:column;max-height:360px;margin:0;padding:0;font-size:12px;list-style:none;display:flex;overflow:auto}.log-list li{color:#3f4a44;border-bottom:1px solid #f0f2ed;padding:6px 2px}.log-list li.is-error{color:#a13f37}.log-list time{color:#8a9389;font-variant-numeric:tabular-nums;margin-right:8px}.log-list span{color:#648775;margin-right:6px}.sql-list ul{flex-direction:column;gap:6px;margin:10px 0 6px;padding-left:18px;display:flex}.sql-list li code{margin:2px 4px 2px 0;display:inline-block}a.button{text-decoration:none}.button-danger{color:#a13f37;background:#fff;border-color:#e7c4bf}.review-card{border-color:#91ab99;box-shadow:0 0 0 3px #edf4ec}@media (hover:hover){.button-danger:hover:not(:disabled){color:#8a2f28;background:#fff0ed;border-color:#c9837a}}.button-danger:active:not(:disabled){background:#fbe1dc}.review-card.is-error{border-color:#e7c4bf;box-shadow:0 0 0 3px #fff0ed}.review-card.is-error h2 svg{color:#a13f37}.review-card .notice{margin-top:10px}.queue-line{color:#33403a;margin:0;font-size:14px}.queue-line strong{color:#285d4e;font-size:16px}.field-hint{color:#7b857d;font-size:11px;font-weight:400;line-height:1.5}.field-hint code{color:#285d4e;font-family:ui-monospace,Consolas,monospace;font-size:11px}.checked-url{color:#4f5c55;margin:8px 0 0;font-size:12px}
