:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17383c;background:#f3f6f5;font-synthesis:none;--teal:#007b83;--muted:#526b6e;--border:#d8e3e1}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}button{font:inherit}a{color:inherit}.topbar{height:100px;margin:0 6%;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:36px;font-weight:650;letter-spacing:-2px}.brand img{width:45px;height:45px;object-fit:contain}.brand-dot{color:var(--teal)}.portal-label,.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700}.portal-label{display:flex;align-items:center;gap:16px}.pilot{font-size:10px;letter-spacing:1px;border:1px solid #a8c8c2;border-radius:30px;padding:5px 9px;color:var(--teal)}main{max-width:1440px;margin:auto;padding:72px 6% 80px;min-height:calc(100vh - 170px)}.welcome{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center;min-height:520px}.eyebrow{color:var(--teal);margin:0 0 22px}h1{font-size:clamp(34px,4vw,57px);font-weight:540;line-height:1.12;letter-spacing:-2px;margin:0 0 24px}h2{font-size:25px;line-height:1.3;font-weight:570;letter-spacing:-.6px;margin:0 0 16px}h3{font-size:19px;font-weight:600;letter-spacing:-.4px}.lead{font-size:18px;line-height:1.8;color:var(--muted);max-width:470px}.feature-row{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted);border-top:1px solid var(--border);padding-top:24px;margin-top:42px}.login-card{background:#fff;padding:42px;border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 65px #153f4010}.login-card p,.transfer-card p{line-height:1.75;color:var(--muted);font-size:15px}.login-card .eyebrow,.transfer-card .eyebrow{font-size:10px;color:var(--teal)}.card-icon{display:flex;width:48px;height:48px;align-items:center;justify-content:center;background:#e6f1ee;border-radius:12px;font-size:28px;margin-bottom:34px}.button{display:flex;justify-content:center;align-items:center;gap:14px;background:var(--teal);color:white;border:1px solid var(--teal);border-radius:8px;padding:15px 18px;text-decoration:none;font-size:14px;font-weight:600;cursor:pointer;min-height:50px}.button:hover{background:#00636a}.button:disabled{opacity:.6;cursor:wait}.button:focus-visible,a:focus-visible{outline:3px solid #edaa4d;outline-offset:4px}.login-card .button{margin-top:28px}.microsoft-mark{display:grid;grid-template-columns:7px 7px;gap:2px}.microsoft-mark i{width:7px;height:7px;background:white}.fine-print{font-size:12px!important;margin-top:22px!important;color:#647b7e!important}.notice{background:#edf5f3;border-left:3px solid var(--teal);padding:15px}.message{border:1px solid #d9b48d;background:#fff8ee;border-radius:8px;padding:18px;line-height:1.5;font-size:14px;margin-top:24px}.transfer-card{max-width:610px;margin:40px auto;background:#fff;padding:45px;border:1px solid var(--border);border-radius:16px}.transfer-card h1{font-size:37px}.transfer-card .button{margin-top:28px;width:100%}.workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:38px}.workspace-heading h1{font-size:42px;margin-bottom:12px}.workspace-heading p:not(.eyebrow){color:var(--muted)}.secondary{background:transparent;color:var(--teal)}.secondary:hover{background:#e6f1ee}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.account-card{border:1px solid var(--border);border-radius:12px;padding:26px;background:#fff}.account-card .eyebrow{font-size:10px;margin-bottom:17px}.account-card h2{font-size:22px}.account-card p:last-child{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:50px 0 22px}.section-heading h2{margin:0}.section-heading span{font-size:12px;color:var(--muted)}.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.tools article{border:1px solid var(--border);border-radius:12px;padding:26px}.tool-number{color:var(--teal);font-size:12px;font-weight:700}.tools p{font-size:14px;color:var(--muted);line-height:1.7}.coming{display:inline-block;font-size:11px;color:#526b6e;border:1px solid var(--border);border-radius:20px;padding:5px 9px;margin-top:8px}footer{margin:0 6%;height:70px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);gap:20px}
@media(max-width:850px){main{padding-top:45px}.welcome{grid-template-columns:1fr;gap:35px;min-height:0}.intro{max-width:580px}.login-card{max-width:580px;padding:30px}.feature-row{margin-top:25px}.account-grid{grid-template-columns:1fr}.portal-label{font-size:9px;gap:8px}.brand{font-size:29px}.brand img{width:36px;height:36px}.tools{grid-template-columns:1fr}.workspace-heading h1{font-size:34px}.section-heading{align-items:flex-start;flex-direction:column}.transfer-card{padding:28px}.topbar{height:85px}footer{height:auto;min-height:70px;flex-wrap:wrap;padding:18px 0}h1{letter-spacing:-1.3px}}

.text-link { display: inline-block; margin-top: 18px; color: var(--teal); font-size: 13px; text-underline-offset: 3px; }
.connection-section { scroll-margin-top: 24px; }
.connection-heading { justify-content: flex-start; }
.catalog-section { margin-top: 40px; }
.catalog-section { scroll-margin-top: 24px; }
.catalog-selectors, .metadata-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.catalog-picker { display: flex; flex-direction: column; gap: 10px; background: #fff; padding: 24px; border: 1px solid var(--border); border-radius: 12px; min-width: 0; }
.catalog-picker label { font-size: 14px; font-weight: 600; }
.catalog-picker input, .catalog-picker select { font: inherit; font-size: 14px; color: #17383c; border: 1px solid #b6ccca; border-radius: 6px; padding: 12px; min-width: 0; width: 100%; }
.catalog-picker select { padding: 4px; }
.catalog-picker option { padding: 9px 8px; }
.catalog-picker input:focus-visible, .catalog-picker select:focus-visible { outline: 3px solid #b5dbd6; outline-offset: 2px; }
.metadata-grid > section { min-width: 0; background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 20px; }
.metadata-table { overflow: auto; max-height: 480px; }
.metadata-table thead { position: sticky; top: 0; background: #fff; }
.metadata-table table { border-collapse: collapse; width: 100%; font-size: 12px; text-align: left; }
.metadata-table th, .metadata-table td { padding: 10px 8px; border-bottom: 1px solid var(--border); vertical-align: top; }
.metadata-table td:nth-child(2) { min-width: 130px; }
.metadata-table th { font-weight: 600; color: var(--muted); }
@media(max-width:850px) { .catalog-selectors, .metadata-grid { grid-template-columns: 1fr; } }
.script-builder { margin: 24px 0 32px; padding: 26px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.script-builder .section-heading { margin: 0 0 22px; }
.script-toolbar { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; margin-bottom: 20px; }
.script-modes { display: flex; gap: 18px; }
.script-modes legend { font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.script-modes label, .function-option { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; }
.script-modes input, .function-option input { accent-color: var(--teal); }
.bulk-options { display: grid; grid-template-columns: auto 1fr auto 100px; gap: 12px; align-items: center; margin: 20px 0; }
.bulk-options label { font-size: 13px; }
.script-workspace { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: 22px; margin-top: 24px; }
.script-workspace h3 { margin-top: 0; }
.script-inputs { max-height: 540px; overflow: auto; padding: 3px; }
.script-inputs > div { display: grid; gap: 8px; margin-bottom: 20px; }
.script-inputs label { font-size: 13px; font-weight: 600; }
.script-inputs input, .bulk-options input { width: 100%; min-width: 0; padding: 11px; border: 1px solid #b6ccca; border-radius: 6px; font: inherit; font-size: 13px; }
.script-inputs input:focus-visible, .bulk-options input:focus-visible { outline: 3px solid #b5dbd6; outline-offset: 2px; }
.script-output-panel { min-width: 0; }
.script-output-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.script-output-header h3 { margin: 0; }
.script-output-header .button { min-height: 40px; padding: 10px 14px; }
#script-preview { margin: 0; padding: 20px; max-height: 540px; min-height: 260px; overflow: auto; background: #102b30; color: #e5f0ed; border-radius: 8px; font: 12px/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; tab-size: 4; }
#script-preview[aria-busy="true"] { opacity: .65; }
@media(max-width:850px) { .script-workspace { grid-template-columns: 1fr; } .bulk-options { grid-template-columns: 1fr; } .script-builder { padding: 20px; } }
.connection-panel { padding: 32px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.connection-intro { max-width: 680px; }
.connection-intro .eyebrow { margin-bottom: 12px; font-size: 10px; }
.connection-intro h3 { font-size: 24px; margin: 0 0 12px; }
.connection-intro p:last-child { color: var(--muted); line-height: 1.7; font-size: 14px; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
fieldset:disabled input, fieldset:disabled select { background: #f3f6f5; color: #526b6e; }
.connection-panel label { display: flex; flex-direction: column; gap: 9px; font-size: 13px; font-weight: 600; }
.connection-panel input, .connection-panel select { width: 100%; min-width: 0; padding: 12px; border: 1px solid #b6ccca; border-radius: 6px; font: inherit; background: #fff; color: #17383c; }
.connection-panel input:focus-visible, .connection-panel select:focus-visible { outline: 3px solid #b5dbd6; outline-offset: 2px; }
.mode-label { max-width: 360px; margin: 28px 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.form-grid legend { font-size: 16px; font-weight: 600; margin-bottom: 22px; }
.full-width { grid-column: 1 / -1; }
.field-help { display: block; font-size: 12px; color: var(--muted); font-weight: 400; line-height: 1.6; overflow-wrap: anywhere; }
.connection-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; }
.ion-session { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--border); }
.ion-session p { color: var(--muted); font-size: 14px; line-height: 1.7; }
.ion-session code { display: block; overflow-wrap: anywhere; font-size: 13px; background: #edf5f3; padding: 12px; border-radius: 6px; }
#connection-message { padding: 16px; margin: 22px 0 0; border-radius: 8px; background: #edf5f3; color: #17383c; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
@media(max-width:650px) {
  .connection-panel { padding: 22px; }
  .form-grid { grid-template-columns: 1fr; }
  .connection-actions { align-items: stretch; flex-direction: column; }
  .connection-panel .button { width: 100%; }
}

/* Keep navigation within reach while working on a transaction. */
.catalog-heading-bar { position: sticky; top: 0; z-index: 5; background: #f3f6f5; padding: 16px 0; margin: 0 0 22px; border-bottom: 1px solid var(--border); }
.catalog-heading-bar .eyebrow { font-size: 10px; margin-bottom: 8px; }
.catalog-heading-bar .field-help { margin: 6px 0 0; }
.catalog-toggle { display: inline-flex; align-items: center; gap: 12px; border: 0; padding: 5px 0; background: transparent; color: inherit; font: inherit; cursor: pointer; text-align: left; }
.catalog-toggle [aria-hidden] { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid var(--border); border-radius: 7px; background: #fff; color: var(--teal); font-size: 24px; font-weight: 400; }
.catalog-toggle:hover [aria-hidden] { background: #e6f1ee; border-color: var(--teal); }
.catalog-toggle:focus-visible { outline: 3px solid #edaa4d; outline-offset: 4px; }
.catalog-heading-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.catalog-heading-actions .text-link { margin: 0; }
#tools-heading { scroll-margin-top: 24px; }
@media(max-width:850px) { .catalog-heading-bar { gap: 10px; } .catalog-heading-actions { width: 100%; justify-content: space-between; gap: 12px; } .catalog-heading-actions .button { min-height: 40px; padding: 10px 12px; } }

.tool-link { border: 0; background: transparent; padding: 0; cursor: pointer; text-decoration: underline; }
.tools article:has([aria-current="page"]) { border-color: var(--teal); background: #eaf3f0; }
.portal-tool { margin-top: 40px; scroll-margin-top: 24px; }
.tool-content { background: #fff; padding: 28px; border: 1px solid var(--border); border-radius: 12px; font-size: 14px; line-height: 1.8; }
.tool-content > .button { width: fit-content; margin-top: 22px; }
.tool-content li { margin-bottom: 10px; }
.migration-upload { margin: 24px 0; }
.migration-upload label, #migration-search-row label { display: block; font-weight: 600; margin-bottom: 10px; }
.migration-upload input, #migration-search { width: 100%; max-width: 620px; font: inherit; padding: 12px; border: 1px solid var(--border); border-radius: 8px; }
.migration-workspace { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(0, 2fr); gap: 24px; margin-top: 24px; }
#migration-results { max-height: 650px; overflow: auto; }
.migration-flow { border: 1px solid var(--border); border-radius: 8px; margin-bottom: 12px; }
.migration-flow summary { cursor: pointer; font-weight: 600; padding: 14px; }
.migration-select { display: grid; gap: 6px; text-align: left; width: 100%; padding: 14px; background: #fff; color: inherit; border: 0; border-top: 1px solid var(--border); cursor: pointer; }
.migration-select span { font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.migration-select:hover, .migration-select:focus-visible { background: #eaf3f0; }
#migration-code { max-height: 600px; overflow: auto; background: #102b30; color: #e5f0ed; border-radius: 8px; padding: 20px; font: 12px/1.7 ui-monospace, monospace; }
.plugin-checksum { margin-top: 20px; font-size: 12px; overflow-wrap: anywhere; }
@media(max-width:850px) { .migration-workspace { grid-template-columns: 1fr; } .tool-content { padding: 20px; } }
