*{box-sizing:border-box}body{margin:0;background:#f6f7fc;color:#30364b;font:14px/1.7 system-ui,sans-serif}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);background:white;border:1px solid #e4e5ef;border-radius:5px;padding:38px;box-shadow:0 20px 90px #41838812}.auth-brand{color:#176be5;font-size:26px;font-weight:750;text-decoration:none;letter-spacing:-1px}.auth-pill{display:block;width:fit-content;font-size:9px;letter-spacing:1px;background:#edf3ff;color:#3769ad;padding:5px 8px;border-radius:5px;margin-top:23px}h1{font-size:26px;line-height:1.4;margin:22px 0 12px;letter-spacing:-.7px}p{font-size:12px;color:#8990a0}label{display:block;font-size:11px;font-weight:600;margin:17px 0 7px}input{display:block;width:100%;padding:12px;border:1px solid #dedfeb;border-radius:5px;font:14px system-ui;color:#41465d}input:focus{outline:2px solid #cdf4f7;outline-offset:2px}button{display:block;width:100%;border:0;border-radius:5px;background:#176be5;color:white;font:600 13px system-ui;padding:13px;margin-top:20px;cursor:pointer}button:disabled{opacity:.6;cursor:wait}.auth-note{border-top:1px solid #eee;padding-top:20px;font-size:11px;line-height:1.9;margin-top:25px}#message{color:#b24960;white-space:pre-wrap}#message.success{color:#3b8b70}#back{font-size:12px;color:#176be5}[hidden]{display:none!important}

#authForm+form select{display:block;width:100%;padding:12px;margin:8px 0 18px;border:1px solid #dce5e8;border-radius:5px;font:inherit;background:white}

input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select{height:44px;min-height:44px;box-sizing:border-box}

button[type=submit],#submit{height:44px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}
/* Original HTML/CSS reporting illustration; no vendor imagery or external assets. */
.auth-login-layout{background:#f3f7ff}.auth-login-layout .auth-shell{grid-template-columns:minmax(500px,1.35fr) minmax(370px,.9fr);gap:clamp(24px,4vw,72px);max-width:1440px;margin:auto;padding:clamp(20px,4vw,60px);align-items:center}.auth-login-layout .auth-card{width:100%;max-width:460px;justify-self:center;box-shadow:0 20px 70px #123e4610}.report-flow{width:100%;margin:0;padding:30px 34px 24px;color:#e6f6f4;background:radial-gradient(ellipse at 90% 0%,#1c6163 0%,transparent 55%),#103f46;border:1px solid #2d6469;border-radius:5px;position:relative;overflow:hidden;box-shadow:0 24px 70px #123e4614}.flow-eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.7px;color:#9ed5d1;font-weight:650}.flow-mark{font:14px 'Courier New',monospace;color:#b9eee1}#toggleReportAnimation{width:32px;height:32px;min-height:32px;margin:0 0 0 auto;padding:0;background:#ffffff12;border:1px solid #ffffff24;font-size:13px;color:#e5f7f4;display:grid;place-items:center}#toggleReportAnimation:focus-visible{outline:2px solid #a9e8d8;outline-offset:3px}.report-flow h2{font-size:clamp(28px,2.8vw,42px);line-height:1.2;letter-spacing:-1.2px;margin:22px 0 12px;font-weight:650}.report-flow h2 span{color:#9edfd0}.report-flow .flow-intro{color:#b0cfce;font-size:12px;margin:0 0 24px;max-width:390px}.flow-code{background:#0b3037;border:1px solid #4d7c7d70;border-radius:5px;padding:13px 17px;margin-bottom:16px}.flow-code>div{display:flex;align-items:center;gap:5px;color:#85adad;font:10px system-ui;margin-bottom:10px}.flow-code i{width:5px;height:5px;border-radius:5px;background:#3d7277}.flow-code span{margin-left:auto}.flow-code code{font:12px/1.8 'Courier New',monospace;color:#d3e5de}.flow-code b{color:#8dddc8;font-weight:500}.flow-map{height:390px;position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);column-gap:48px;align-items:center}.flow-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.flow-wires path{fill:none;stroke-width:2}.flow-wire-track{stroke:#3a7276}.flow-wire-moving{stroke:#a0ead4;stroke-dasharray:14 34;animation:report-wire 5s linear infinite}.flow-node{position:relative;background:#194a51;border:1px solid #3f7277;border-radius:5px;padding:12px 12px 12px 44px;min-height:100px;display:flex;flex-direction:column;justify-content:center;animation:report-node 18s infinite;box-shadow:0 5px 18px #082c3420}.flow-node strong{font-size:11px;font-weight:600;line-height:1.5;color:#ebf8f4}.flow-node small{font-size:10px;color:#aaccc9;line-height:1.6;margin-top:4px}.flow-node-number{position:absolute;top:6px;right:9px;font:9px 'Courier New',monospace;color:#81b0af}.flow-node-icon{position:absolute;left:12px;top:37px;font:17px 'Courier New',monospace;color:#9cdfd0}.flow-node-1{grid-area:1/1;animation-delay:0s}.flow-node-2{grid-area:1/2;animation-delay:3s}.flow-node-3{grid-area:2/2;animation-delay:6s}.flow-node-4{grid-area:2/1;animation-delay:9s}.flow-node-5{grid-area:3/1;animation-delay:12s}.flow-node-6{grid-area:3/2;animation-delay:15s}.report-flow figcaption{font-size:10px;color:#9fc2c1;border-top:1px solid #46757866;margin-top:12px;padding-top:16px;line-height:1.7}.report-flow figcaption span{color:#a9e2d2;margin-right:5px}.flow-paused .flow-node,.flow-paused .flow-wire-moving{animation-play-state:paused}@keyframes report-wire{to{stroke-dashoffset:-192}}@keyframes report-node{0%,16%{background:#245f62;border-color:#a1e5ce;box-shadow:0 0 0 3px #a1e5ce15}20%,100%{background:#194a51;border-color:#3f7277;box-shadow:0 5px 18px #082c3420}}@media(prefers-reduced-motion:reduce){.flow-node,.flow-wire-moving{animation:none!important}.flow-wire-moving{display:none}#toggleReportAnimation{display:none}}@media(max-width:1000px){.auth-login-layout .auth-shell{grid-template-columns:1fr;max-width:700px}.auth-login-layout .auth-card{grid-row:1;max-width:550px}.report-flow{grid-row:2}.flow-map{column-gap:40px}.report-flow h2{font-size:32px}}@media(max-width:480px){.auth-login-layout .auth-shell{padding:16px;gap:20px}.auth-card{padding:26px}.report-flow{padding:22px 16px}.flow-map{column-gap:22px}.flow-node{padding:22px 8px 10px;min-height:104px;text-align:center}.flow-node-icon{position:static;font-size:15px;margin-bottom:5px}.flow-node strong{font-size:10px}.flow-node small{font-size:9px}.flow-code code{font-size:10px}.flow-intro{line-height:1.8}}
@media(min-width:1001px) and (max-height:850px){.auth-login-layout .auth-shell{padding:22px 32px;gap:36px}.report-flow{padding:20px 26px}.report-flow h2{font-size:32px;margin:12px 0 8px}.report-flow .flow-intro{margin-bottom:14px}.flow-code{padding:9px 14px;margin-bottom:8px}.flow-code>div{margin-bottom:6px}.flow-map{height:300px}.flow-node{min-height:80px;padding-left:40px}.flow-node-icon{top:27px;left:10px}.report-flow figcaption{margin-top:8px;padding-top:10px}.auth-login-layout .auth-card{padding:28px 34px}}

/* Light, full-page animated background behind the sign-in card. */
.auth-login-layout{background:#f3faf9}
.auth-login-layout .auth-shell{position:relative;isolation:isolate;display:flex;justify-content:flex-end;max-width:none;padding:clamp(24px,5vw,80px);min-height:100svh;overflow:hidden}
.auth-login-layout .report-flow{position:absolute;inset:0;z-index:-1;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:radial-gradient(ellipse at 15% 25%,#d8f0eb 0%,transparent 65%),linear-gradient(120deg,#f1faf7,#eaf5f8);color:#235c61;padding:clamp(28px,5vw,80px);padding-right:calc(460px + 12vw);display:flex;flex-direction:column;justify-content:center}
.auth-login-layout .auth-card{flex:0 1 460px;background:#ffffffed;border:1px solid #dcebe8;box-shadow:0 18px 65px #336b7414;backdrop-filter:blur(12px)}
.flow-eyebrow{color:#527e7c}.flow-mark,.report-flow h2 span{color:#248b7c}.report-flow .flow-intro{color:#638482}.flow-code{background:#ffffff80;border-color:#c9e0db}.flow-code>div{color:#638781}.flow-code i{background:#a0c9bf}.flow-code code{color:#376268}.flow-code b{color:#168571}
.flow-node{background:#ffffff94;border-color:#bddbd3;box-shadow:0 5px 18px #487b6810}.flow-node strong{color:#315e62}.flow-node small{color:#648782}.flow-node-number{color:#749f95}.flow-node-icon{color:#2d9982}.flow-wire-track{stroke:#beddd3}.flow-wire-moving{stroke:#49aa91}.report-flow figcaption{color:#63847d;border-color:#c9e0d9}.report-flow figcaption span{color:#248b7c}
#toggleReportAnimation{background:#ffffff90;border-color:#bcd9d0;color:#35776c}#toggleReportAnimation:focus-visible{outline-color:#309d87}
@keyframes report-node{0%,16%{background:#e0f5ec;border-color:#4aa98f;box-shadow:0 0 0 3px #7bc5ab20}20%,100%{background:#ffffff94;border-color:#bddbd3;box-shadow:0 5px 18px #487b6810}}
@media(max-width:1100px){.auth-login-layout .report-flow{padding-right:calc(420px + 8vw);padding-left:24px}.auth-login-layout .auth-card{flex-basis:400px}.report-flow h2{font-size:30px}.flow-map{column-gap:24px}}
@media(max-width:800px){.auth-login-layout .auth-shell{justify-content:center;padding:24px}.auth-login-layout .report-flow{padding:24px;opacity:.24;justify-content:center;pointer-events:none}.auth-login-layout .report-flow .flow-eyebrow,.auth-login-layout .report-flow h2,.auth-login-layout .flow-intro,.auth-login-layout .flow-code,.auth-login-layout .report-flow figcaption{visibility:hidden}.auth-login-layout .auth-card{flex-basis:460px;background:#fffffff5}.flow-map{height:440px}}
.abstract-report{position:absolute;inset:0;z-index:-1;padding:4vw calc(460px + 10vw) 4vw 4vw;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 18% 40%,#e1f4ed,transparent 65%),#f1f9f7;pointer-events:none}.abstract-report svg{width:100%;max-height:80vh;overflow:visible}.animation-controls{position:absolute;left:32px;bottom:24px;display:flex;gap:8px}.animation-controls button{margin:0;width:34px;height:34px;padding:0;background:#ffffffb0;border:1px solid #c3dfd4;color:#377c6b;font-size:18px}.scan-row{animation:scan-table 6s ease-in-out infinite}.data-stream{animation:stream-data 5s linear infinite}.chart-bar{transform-box:fill-box;transform-origin:bottom;animation:grow-chart 6s ease-in-out infinite}.b2{animation-delay:.3s}.b3{animation-delay:.6s}.b4{animation-delay:.9s}.chart-line{stroke-dasharray:300;animation:draw-chart 6s ease-in-out infinite}.floating-cells{animation:float-cells 7s ease-in-out infinite}.animation-paused *{animation-play-state:paused!important}@keyframes scan-table{0%,100%{transform:translateY(0)}50%{transform:translateY(96px)}}@keyframes stream-data{to{stroke-dashoffset:-190}}@keyframes grow-chart{0%,100%{transform:scaleY(.4);opacity:.6}50%{transform:scaleY(1);opacity:1}}@keyframes draw-chart{0%{stroke-dashoffset:300}60%,100%{stroke-dashoffset:0}}@keyframes float-cells{50%{transform:translateY(-14px);opacity:.5}}@media(max-width:800px){.abstract-report{padding:20px;opacity:.35}.animation-controls{left:16px;bottom:12px}}@media(prefers-reduced-motion:reduce){.abstract-report *{animation:none!important}.chart-line{stroke-dashoffset:0}#pauseAbstract{display:none}}
.query-story{position:absolute;inset:0;z-index:-1;padding:24px calc(460px + 10vw) 24px 3vw;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 23% 40%,#dff2e9,transparent 65%),#f1f9f7;pointer-events:none}.story-canvas{position:relative;width:100%;max-width:660px;aspect-ratio:620/600}.story-editor{position:absolute;left:3%;top:6%;width:54%;height:24%;background:#ffffffd9;border:1px solid #beddd1;border-radius:5px;box-shadow:0 12px 40px #3d826d0b;padding:14px 18px}.story-window{display:flex;gap:5px;margin-bottom:20px}.story-window i{width:6px;height:6px;border-radius:5px;background:#9dc9b9}.story-sql{font:clamp(10px,1.1vw,14px)/1.9 'Courier New',monospace;color:#38695b;white-space:pre}.story-sql b{color:#177c67;font-weight:600}.typed-sql{overflow:hidden;width:0;animation:story-type 16s steps(26,end) infinite}.sql-line-two{animation-name:story-type-two}.story-connections{position:absolute;inset:0;width:100%;height:100%}.story-connections path:not(:first-child){fill:none;stroke:#379d7d;stroke-width:4;stroke-linecap:round;stroke-dasharray:5 25}.story-request{animation:story-send 16s linear infinite}.story-response{animation:story-return 16s linear infinite}.story-to-chart{animation:story-chart-flow 16s linear infinite}.story-database{position:absolute;left:60%;top:29%;width:24%;height:20%;animation:story-db 16s infinite}.story-grid{position:absolute;left:6%;top:59%;width:48%;border:1px solid #badacb;border-radius:5px;background:#ffffffce;overflow:hidden}.story-grid-head,.story-row{display:grid;grid-template-columns:1.3fr 1fr 1fr}.story-grid-head{background:#c8e6d9;padding:12px 8px;gap:15px}.story-grid-head span{height:4px;background:#88b9a5;border-radius:3px}.story-row{font:11px 'Courier New',monospace;color:#4b7465;border-top:1px solid #d5e8df;animation:story-row 16s infinite}.story-row span{padding:9px;border-right:1px solid #d5e8df}.row-two{animation-name:story-row-two}.row-three{animation-name:story-row-three}.story-charts{position:absolute;left:63%;top:70%;width:34%;display:flex;align-items:center;padding:10px;background:#ffffffb0;border:1px solid #c5dfd3;border-radius:5px}.story-charts svg:first-child{width:62%}.story-charts svg:last-child{width:38%}.story-bar{transform-box:fill-box;transform-origin:bottom;animation:story-bars 16s infinite}.story-donut{animation:story-ring 16s infinite}.animation-controls{z-index:2;position:fixed}
@keyframes story-type{0%{width:0}15%,94%{width:26ch}100%{width:0}}@keyframes story-type-two{0%,15%{width:0}28%,94%{width:24ch}100%{width:0}}@keyframes story-send{0%,28%,44%,100%{opacity:0}30%,42%{opacity:1}44%{stroke-dashoffset:-180}}@keyframes story-db{0%,35%,55%,100%{filter:none}42%,50%{filter:drop-shadow(0 0 10px #72b99a)}}@keyframes story-return{0%,50%,70%,100%{opacity:0}52%,68%{opacity:1}70%{stroke-dashoffset:-240}}@keyframes story-row{0%,58%,100%{opacity:0}63%,94%{opacity:1}}@keyframes story-row-two{0%,63%,100%{opacity:0}68%,94%{opacity:1}}@keyframes story-row-three{0%,68%,100%{opacity:0}73%,94%{opacity:1}}@keyframes story-chart-flow{0%,72%,85%,100%{opacity:0}74%,83%{opacity:1}85%{stroke-dashoffset:-180}}@keyframes story-bars{0%,78%,100%{transform:scaleY(0)}88%,94%{transform:scaleY(1)}}@keyframes story-ring{0%,78%,100%{stroke-dasharray:0 220}88%,94%{stroke-dasharray:145 220}}@media(max-width:800px){.query-story{padding:12px;opacity:.3}.story-sql{font-size:12px}}@media(prefers-reduced-motion:reduce){.query-story *{animation:none!important}.typed-sql{width:26ch}.story-connections path:not(:first-child){opacity:.5}.story-row{opacity:1}.story-bar{transform:scaleY(1)}}

.auth-brand{display:inline-flex;align-items:center;gap:10px}.auth-brand img{display:block;flex:none;object-fit:contain}

.maintenance-animation{position:absolute;inset:0;z-index:-1;margin:0;padding:30px calc(460px + 10vw) 50px 4vw;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 25% 45%,#eaf5f0,transparent 65%),#f8fbfa;pointer-events:none}.maintenance-art{width:100%;max-width:680px;text-align:center}.maintenance-art svg{width:100%;max-height:48vh;overflow:visible}.maintenance-art h2{font-size:clamp(26px,3vw,42px);color:#25584a;letter-spacing:-1px;margin:0 0 12px;line-height:1.2}.maintenance-art p{color:#547469;font-size:16px;line-height:1.7;margin:0}.maintenance-gear{animation:maintenance-turn 18s linear infinite}.maintenance-tool{animation:maintenance-work 4s ease-in-out infinite;transform-origin:360px 253px}.maintenance-progress{animation:maintenance-progress 3s ease-in-out infinite}.maintenance-signal{animation:maintenance-signal 4s ease-in-out infinite}@keyframes maintenance-turn{to{transform:rotate(360deg)}}@keyframes maintenance-work{50%{transform:rotate(-9deg) translateY(-3px)}}@keyframes maintenance-progress{50%{transform:translateX(126px)}}@keyframes maintenance-signal{50%{opacity:.6;transform:translateY(-5px)}}@media(max-width:800px){.maintenance-animation{padding:16px;opacity:.25}.maintenance-art h2,.maintenance-art p{visibility:hidden}}@media(prefers-reduced-motion:reduce){.maintenance-animation *{animation:none!important}}

.auth-card .form-security{margin:18px 0;min-width:0}.form-security [data-turnstile-mount]{max-width:100%;overflow:hidden}.auth-card .form-security p{font-size:12px;line-height:1.6;margin:8px 0}.auth-card .form-security [data-turnstile-retry]{margin:8px 0}.form-security .security-privacy a{text-decoration:underline}

/* Oracle item-master example: matching SQL, result headers, counts and chart. */
.story-editor{width:69%;height:25%;padding:12px}.story-window{margin-bottom:12px}.story-sql{font-size:clamp(9px,.85vw,12px)}
.typed-sql{animation-name:item-story-type;animation-timing-function:steps(46,end)}.sql-line-two{animation-name:item-story-type-two}.sql-line-three{animation-name:item-story-type-three}
.story-grid{width:53%}.story-grid-head,.story-row{grid-template-columns:1.4fr 1fr}.story-grid-head{padding:9px 7px;gap:4px;font:9px 'Courier New',monospace;color:#38695b}.story-grid-head span{height:auto;background:none;border-radius:0}
.story-charts{display:block;top:70%;padding:8px}.story-charts svg:first-of-type{width:100%;display:block}.story-chart-title,.story-example{display:block;color:#38695b;font-size:10px;text-align:center}.story-example{font-size:8px;margin-top:3px}
@keyframes item-story-type{0%{width:0}12%,94%{width:46ch}100%{width:0}}@keyframes item-story-type-two{0%,12%{width:0}22%,94%{width:30ch}100%{width:0}}@keyframes item-story-type-three{0%,22%{width:0}28%,94%{width:26ch}100%{width:0}}
@media(prefers-reduced-motion:reduce){.typed-sql{width:auto}}
.story-charts{top:65%}.story-charts svg:first-of-type{height:110px}.story-chart-title{font-size:10px}

/* Use the same blue gradient as the website footer. */
.auth-card button{background:linear-gradient(135deg,#0788f8 0%,#087af1 58%,#176be5 100%);color:#fff}
.auth-card button:hover:not(:disabled){filter:brightness(.94)}
@supports (background-clip:text){.auth-brand,#back{background-image:linear-gradient(135deg,#0788f8 0%,#087af1 58%,#176be5 100%);background-clip:text;-webkit-background-clip:text;color:transparent}}
