/* ELMIA design system. Product identity is distinct from organization settings. */
:root{--elmia-night:#080d32;--elmia-ink:#101644;--elmia-muted:#59638a;--elmia-blue:#285bff;--elmia-violet:#7733f4;--elmia-magenta:#ec20d4;--elmia-bg:#f3f5fd;--elmia-line:#e5e9f7;--elmia-soft:#eeebff;--elmia-gradient:linear-gradient(110deg,#4667ff 0%,#8540f5 68%,#ce41ec 100%);--elmia-shadow:0 6px 26px #27367e08;--elmia-radius:16px;--elmia-space:24px;--bg:var(--elmia-bg);--paper:#fff;--ink:var(--elmia-ink);--muted:var(--elmia-muted);--line:var(--elmia-line);--green:var(--elmia-violet);--accent:var(--elmia-violet);--blue:var(--elmia-blue);--mint:var(--elmia-soft);--radius:var(--elmia-radius)}
body{font-family:Inter,'Segoe UI Variable','Segoe UI',Arial,sans-serif;color:var(--ink);background:radial-gradient(ellipse at 75% 0,#edeaff66,transparent 65%),var(--bg);font-size:14px;line-height:1.55}button,input,select,textarea{font-family:inherit}h1{font-size:30px;line-height:1.2;letter-spacing:-.9px;font-weight:700}h2{font-size:17px;font-weight:650;letter-spacing:-.35px}h3{font-size:15px}p{color:var(--muted)}
aside{width:248px;padding:28px 18px 20px;background:linear-gradient(165deg,#fafbff,#f1f3ff);border-right:1px solid var(--line);overflow-y:auto;z-index:5;color:var(--ink)}.brand{padding:0;display:block;line-height:1;letter-spacing:normal}.brand img{display:block;width:100%;height:auto;max-width:210px}.workspace{margin:10px 0 28px;text-align:center;font-size:8px;letter-spacing:2px;color:var(--muted)}nav{display:flex;flex-direction:column;gap:3px}nav a{min-height:45px;padding:11px 14px;margin:2px 0;gap:15px;border-radius:10px;color:var(--ink);font-weight:500;font-size:14px;transition:background .15s,box-shadow .15s}nav a.active{background:var(--elmia-gradient);box-shadow:0 5px 18px #763cf422;color:white}nav a:hover:not(.active){background:#e9e9ff;color:#4723b2}.elmia-icon{width:23px;height:23px;flex:none;display:inline-block;vertical-align:middle}.sidebar-bottom{padding-top:25px;margin-top:auto}.organization-identity{display:flex;align-items:center;gap:10px;padding:17px 10px;margin-bottom:12px;border-top:1px solid var(--line);color:var(--organization-primary,var(--ink));font-size:12px;font-weight:600;overflow-wrap:anywhere}.organization-identity img{width:38px;max-height:35px;object-fit:contain}.organization-identity[hidden],.organization-identity img[hidden]{display:none}.organization-identity:before{content:'';width:5px;height:24px;border-radius:5px;background:var(--organization-accent,var(--elmia-violet));flex:none}.brand-promise{position:relative;overflow:hidden;min-height:112px;border-radius:14px;background:#ffffffb5;display:flex;align-items:center;padding:18px 14px 18px 76px}.brand-promise p{font-size:12px;color:#343b73;line-height:1.7;position:relative}.promise-ribbon{position:absolute;left:-24px;top:15px;width:83px;height:140px;background:linear-gradient(140deg,#64b6ff,#7132ff 40%,#d429e6 65%,#d9caff);border-radius:60% 0 80% 0;transform:rotate(-26deg)}
.shell{margin-left:248px;min-height:100vh;display:flex;flex-direction:column;min-width:0}.brand-strip{min-height:69px;padding:15px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#ffffffb8;border-bottom:1px solid var(--line);color:var(--ink);font-size:15px}.brand-strip b{color:var(--elmia-violet);font-size:19px}.brand-strip small{font-size:9px;letter-spacing:2px;white-space:nowrap}header{height:auto;min-height:70px;background:transparent;border:0;padding:15px 30px;gap:18px}.global{max-width:410px;background:#e9edf8aa;border:1px solid #e5e9f5;border-radius:12px;padding:0 13px;gap:9px}.global>span{color:#232e70;font-size:23px}.global input{font-size:12px;padding:10px 0;background:transparent;color:var(--ink)}.global input::placeholder{color:#647097}#account{display:block;font-size:11px;color:var(--muted);margin-left:auto}.account-actions{gap:8px}.account-actions>.account-name{max-width:220px}.account-actions button{background:#ffffffa8;font-size:11px;padding:6px 9px}main{width:100%;max-width:1700px;flex:1;padding:15px 30px 32px}.page-top{margin-bottom:25px;gap:18px}.page-top p{font-size:14px;margin-top:7px}footer{padding:12px 30px 22px;font-size:10px;color:var(--muted)}footer strong{letter-spacing:3px;color:var(--ink)}
.panel,.kpi,.job-card,.elmia-feature{background:linear-gradient(140deg,#fff,#ffffffd9);border:1px solid #fff;border-radius:var(--radius);box-shadow:var(--elmia-shadow)}.panel{margin-bottom:20px}.panel-head{padding:20px 22px;border-bottom-color:var(--line)}.content{padding:24px}.detail-grid,.grid{gap:20px}.info-grid{gap:18px;margin:22px 0}.info-grid small,td small{color:var(--muted)}.info-grid span{color:var(--ink)}
button,a.button{border:1px solid #dce1f2;color:var(--ink);background:#fff;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:600;transition:background .15s,box-shadow .15s}button:hover,a.button:hover{background:#f0eeff;border-color:#d3c9fa}button.primary,a.button.primary,a[data-primary-cv],.file-pick{background:linear-gradient(110deg,#19205b,#4c2aa8);border-color:transparent;color:#fff;box-shadow:0 3px 10px #26216916}button.primary:hover,a.button.primary:hover,a[data-primary-cv]:hover,.file-pick:hover{background:linear-gradient(110deg,#242e77,#6036d0);border-color:transparent;color:white;filter:none}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6578ff;outline-offset:3px}.text-link{color:#5330c4;font-weight:550}.text-link:hover{color:#321292;text-decoration:underline}.tabs{border-color:var(--line);gap:22px}.tabs button{color:var(--muted);border-radius:0}.tabs button.selected{color:#6530dc;border-color:#7733f4}.back{color:var(--muted)}
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]),select,textarea,.form-grid input,.form-grid select,.filter-grid input,.filter-grid select,.notes-field textarea,.notes-field select,.pipeline-scope select{color:var(--ink);border-color:#dce1f1;border-radius:9px;font-family:inherit;background:#fcfdff;min-height:40px}input[type=checkbox],input[type=radio]{accent-color:var(--elmia-violet)}input:disabled{background:#f0f2f8}.global input:not([type=checkbox]){background:transparent;border:0}.form-grid label,.filter-grid label,.notes-field{color:var(--muted);font-size:13px}.toolbar{gap:12px;margin:20px 0}.filter-grid,.pipeline-scope{background:#ffffffbc;border-color:var(--line);border-radius:12px}.filter-grid{gap:14px}.pay-fields{border-color:var(--line)}.form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}.error-message,#file-error{color:#a3274c}.note,.duplicate-warning{background:#fff8ec;border-color:#eedec0;color:#805613}.field-help{color:var(--muted)}
th{background:#f8f9ff;color:#667198;font-size:10px;letter-spacing:.8px;padding:13px 16px;border-color:var(--line)}td{padding:15px 16px;border-color:#edf0fa;color:var(--ink)}tbody tr:hover{background:#f7f6ff}table{font-size:13px}.table-wrap{scrollbar-color:#c6cceb transparent}.badge,.tags span{background:#efebff;color:#6135b3;border-color:#e5dffa;border-radius:6px}.badge.gray{background:#eef1f8;color:#5e6885}.badge.warm{background:#eaf0ff;color:#315cb6}.avatar,.avatar.blue{background:#e9edff;color:#355ad4}.avatar.peach{background:#f8e9ff;color:#8a34b5}.score{color:#6831c9}.circle-icon{background:#eee9ff;color:#7536f2}.circle-icon .elmia-icon{width:19px;height:19px}.tags{gap:7px}.column{background:#eaeefa}.column.over{background:#e6ddff;outline-color:#8359e8}.kanban-card{border-color:var(--line);box-shadow:0 3px 10px #26317508}.count{background:#dddff4}.drop-hint{border-color:#c7cbed;color:var(--muted)}.progress{background:#e9e4f8}.progress span{background:var(--elmia-gradient)}.phase2-notice{background:#efedfc;border-color:#e1dcf5;color:var(--muted)}
dialog.editor{border:1px solid #e4e4fb;border-radius:18px;box-shadow:0 26px 100px #0b124e40;background:#fff;color:var(--ink);scrollbar-color:#c8c5e9 #f7f8fc}dialog::backdrop{background:#080e3866;backdrop-filter:blur(5px)}.editor .panel-head{background:#fff;border-color:var(--line)}.editor .content{padding:22px}.editor #close-dialog{border:0;background:#f2f3fb;font-size:20px;padding:2px 11px}#toast{background:#171d53;box-shadow:0 10px 30px #10174025;border:1px solid #7779b54d}.cv-surround{background:#eaedf6}.cv{color:#232b44}.cv .cv-title{color:#5532b6}.document-row{border-color:var(--line)}.document-row small{color:var(--muted)}.cv-drop{background:linear-gradient(130deg,#f1f5ff,#f7efff);border:2px dashed #ac99ef;border-radius:16px;color:var(--muted)}.cv-drop strong{color:#5924be}.cv-drop:focus-within,.cv-drop.drag-over,.cv-drop.over{background:#ede6ff;outline-color:#8250e1;border-color:#8250e1}.cv-saved{background:#edf1ff;color:#344a91}.match-box{background:linear-gradient(130deg,#f1edff,#fbf5ff);border:1px solid #e8defb}.match-score strong{color:#6930ca}.match-summary{color:var(--ink)}.match-group{border-color:#e2e5f1}.match-group p,.match-group blockquote{color:#4c5574}.match-met{border-left-color:#466ddd;background:#f0f4ff}.match-met h3{color:#3158b4}.match-probable,.match-partial{background:#fff9ec;border-left-color:#b78627}.match-unknown{background:#f2f4fa;border-left-color:#8390b2}.match-missing{background:#fff1f4;border-left-color:#b64163}.match-missing h3{color:#9c3150}[data-action*="analy"],[data-action*="match"],[data-action*="recommend"]{border-color:#d9c8fa;color:#692cb9;background:#f5efff}[data-action*="analy"]:hover,[data-action*="match"]:hover,[data-action*="recommend"]:hover{background:#ece1ff;color:#58289e}.calendar-grid,.calendar-day{border-color:var(--line)}.calendar-day.today{background:#f2edff}.calendar-event{color:var(--ink)}.type-0{background:#eee6ff;border-color:#7a37e0}.type-1{background:#e8eeff;border-color:#476ddd}.type-2{background:#e5f4ff;border-color:#347ca6}.type-3{background:#fff3de;border-color:#af7c25}.type-4{background:#f8e8ff;border-color:#b047cf}.type-5{background:#edf0f7;border-color:#74819e}
/* Dashboard: real metrics, no decorative charts mistaken for data. */
.dashboard-welcome h1{font-size:34px}.dashboard-welcome p{font-size:17px}.dashboard-date{border-left:2px solid #9650ff;padding-left:15px;font-size:12px}.dashboard-date small{display:block;color:var(--muted);margin-top:5px}.kpis{gap:18px;margin:26px 0 20px}.kpi{display:flex;align-items:flex-start;gap:17px;padding:22px 18px 26px;position:relative;overflow:hidden}.metric-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex:none;background:#e7edff;border-radius:14px;color:#3060ff}.metric-icon .elmia-icon{width:29px;height:29px}.kpi:nth-child(2) .metric-icon,.elmia-feature:nth-child(2) .metric-icon{background:#f0e7ff;color:#8131fa}.kpi:nth-child(3) .metric-icon{background:#fce7ff;color:#d927dd}.kpi small{font-size:12px;color:var(--muted)}.kpi strong{font-size:29px;line-height:1.15;margin:5px 0 6px;letter-spacing:-.8px;color:var(--ink)}.metric-line{position:absolute;bottom:0;left:18px;width:50px;height:2px;border-radius:2px;background:var(--elmia-gradient);opacity:.6}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:20px;margin-bottom:20px}.elmia-hero{min-height:290px;border:1px solid white;border-radius:var(--radius);overflow:hidden;position:relative;background:linear-gradient(120deg,#dbe5f9,#fdfdff 66%,#ede5ff);box-shadow:var(--elmia-shadow);display:grid;grid-template-columns:35% 65%}.hero-art{position:relative;overflow:hidden;background:linear-gradient(145deg,#a4bdd4,#6d86a7 45%,#182d56);clip-path:polygon(0 0,100% 0,66% 100%,0 100%)}.glass-plane{position:absolute;inset:-10% 28% -10% -30%;transform:skewY(-18deg);border:1px solid #ffffffaa;background:linear-gradient(120deg,#dceeff33,#ffffff05);box-shadow:25px 0 0 #abc7e41a,26px 0 0 #ffffff55}.glass-plane:nth-child(2){inset:-10% -25% 15% 42%;transform:skewY(24deg);background:#d9eeff25}.glass-plane:nth-child(3){inset:48% -10% 0 -10%;transform:skewY(-18deg);background:linear-gradient(#c4daed55,#1a2d5000)}.hero-art p{position:absolute;bottom:35px;left:24px;color:white;font-size:22px;font-weight:650;line-height:1.2;letter-spacing:-.5px;text-shadow:0 2px 14px #17335b}.hero-brand{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:18px;padding:30px 20px 30px 0}.hero-brand img{width:min(100%,330px);height:auto}.hero-brand p{color:#2f3867;font-size:12px}.brand-rule{display:block;width:60px;height:3px;border-radius:3px;background:linear-gradient(90deg,#7a27f2,#ef28dc)}.hero-brand .button{font-size:12px}.hero-brand .button span{margin-left:16px}.recent-missions{margin:0}.recent-missions .panel-head{padding:20px 20px 8px}.activity{padding:0 20px 10px}.activity-item{align-items:center;padding:15px 0;border-color:var(--line);font-size:12px}.activity-item b{font-weight:500}.activity-item small{font-size:11px}.activity-item:hover{color:#6935c0}.elmia-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.elmia-feature{display:flex;gap:17px;padding:23px 18px;align-items:flex-start;position:relative;padding-bottom:35px}.elmia-feature h2{font-size:15px;line-height:1.4}.elmia-feature p{font-size:12px;line-height:1.7;margin-top:6px}.feature-arrow{position:absolute;right:17px;bottom:13px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#eef0fc;color:#252d79}.elmia-feature:hover{border-color:#d8cbfc;box-shadow:0 8px 26px #683af00e}
/* Launch / authentication: dark only here, without artificial loading delay. */
#elmia-launch{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 50% 45%,#40237150,transparent 45%),radial-gradient(ellipse at 35% 80%,#15379744,transparent 45%),#040612;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;padding:30px;text-align:center}#elmia-launch[hidden]{display:none}#elmia-launch img{max-width:75vw;filter:drop-shadow(0 0 25px #743dec66)}#elmia-launch p{color:#e7e8ff;font-size:11px;letter-spacing:4px;margin:30px 0}#elmia-launch small{font-size:11px;color:#a5acce;margin-top:18px}.launch-track{height:3px;width:170px;border-radius:3px;background:var(--elmia-gradient);box-shadow:0 0 10px #8e4afb;animation:launch-pulse 1.3s ease-in-out infinite alternate}@keyframes launch-pulse{to{opacity:.4}}body.is-auth{background:radial-gradient(ellipse at 20% 25%,#132151,transparent 55%),radial-gradient(ellipse at 55% 85%,#3e19573b,transparent 55%),#050817}body.is-auth aside,body.is-auth header,body.is-auth .brand-strip{display:none}body.is-auth .shell{margin:0}body.is-auth main{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:6vw;max-width:1240px;min-height:calc(100vh - 70px);padding:65px 40px}body.is-auth footer{color:#929abd;padding:20px 40px}body.is-auth footer strong{color:white}.login-brand{color:#fff;position:relative;padding:40px 0}.login-brand>img{width:min(100%,440px);height:auto;filter:drop-shadow(0 5px 35px #6536e744)}.login-brand .eyebrow{display:block;font-size:9px;letter-spacing:3px;margin:35px 0 18px;color:#c4b7ff}.login-brand h2{font-size:30px;line-height:1.35;font-weight:450;letter-spacing:-.6px;color:#fff}.login-brand p{font-size:12px;color:#9da9d3;margin-top:25px}.light-horizon{height:1px;width:100%;margin-top:40px;background:linear-gradient(90deg,transparent,#315fff,#8d32f0,#ef21d899,transparent);box-shadow:0 0 16px 2px #703cff33}.is-auth .auth-panel{margin:0;width:100%;padding:38px;max-width:440px;background:linear-gradient(145deg,#151c36ee,#0e142aee);border:1px solid #4d567442;border-radius:22px;box-shadow:0 22px 80px #0004;color:#f3f4ff}.is-auth .auth-panel h1{font-size:27px;color:white}.is-auth .auth-panel p{color:#abb4d0;font-size:13px}.is-auth .auth-panel label{font-size:12px;color:#c2c9e0;gap:9px;margin:22px 0}.is-auth .auth-panel input{background:#0a1024;color:white;border:1px solid #343d5d;padding:12px;min-height:47px;border-radius:10px}.is-auth .auth-panel .primary{width:100%;padding:13px;background:var(--elmia-gradient);margin-top:10px}.is-auth .auth-panel .error-message{color:#ffa6c1}.is-auth .auth-panel .field-help{font-size:11px;overflow-wrap:anywhere}
@media(min-width:1700px){main{padding-top:28px}.elmia-hero{min-height:340px}}
@media(max-width:1200px){aside{width:216px;padding-inline:14px}.shell{margin-left:216px}.brand-strip small{display:none}header,main{padding-left:24px;padding-right:24px}.kpis{gap:12px}.kpi{padding:18px 12px 23px;gap:10px}.metric-icon{width:43px;height:43px}.kpi small{font-size:11px}.dashboard-date{display:none}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}.hero-art p{font-size:19px;left:17px}.elmia-feature{gap:12px}.account-actions>.account-name{max-width:155px}.brand-strip{font-size:13px}}
@media(max-width:980px){aside{width:190px}.shell{margin-left:190px}.workspace{font-size:7px;letter-spacing:1px}nav a{padding:10px;gap:10px;font-size:12px}.dashboard-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.elmia-features{grid-template-columns:1fr}.elmia-feature{padding:20px;align-items:center}.elmia-feature p{margin-top:3px}.elmia-feature .feature-arrow{position:static;margin-left:auto}.hero-art p{font-size:23px}.detail-grid{grid-template-columns:1fr}.account-actions{justify-content:flex-end}.account-actions>.account-name{display:none}.brand-strip{min-height:58px}.dashboard-welcome h1{font-size:30px}.dashboard-welcome p{font-size:14px}.brand-promise{padding-left:55px}.promise-ribbon{left:-43px}.brand-promise p{font-size:11px}.is-auth main{gap:35px}.login-brand h2{font-size:25px}}
@media(max-width:760px){aside{width:72px;padding:20px 9px}.shell{margin-left:72px}.brand{width:48px;height:48px;background:url('elmia-mark.svg') center/contain no-repeat}.brand img,.workspace,.sidebar-bottom{display:none}nav{margin-top:24px}nav a{justify-content:center;padding:12px;min-height:45px}.nav-label{display:none}.brand-strip{font-size:10px;padding:12px 16px;line-height:1.6}.brand-strip b{font-size:12px}header{padding:12px;gap:6px;flex-wrap:wrap}.global{max-width:none;min-width:130px}.global input{font-size:11px}.account-actions button{font-size:10px;padding:5px 7px}#account{margin-left:auto}main{padding:12px}.page-top{align-items:flex-start;flex-direction:column}.page-top h1{font-size:26px}.dashboard-welcome p{font-size:13px}.kpis{gap:10px;margin-top:20px}.kpi{padding:13px 10px 19px;gap:9px}.kpi .metric-icon{width:32px;height:36px;border-radius:9px}.kpi .elmia-icon{width:21px;height:21px}.kpi strong{font-size:24px}.kpi small{font-size:10px}.kpi small:last-child{line-height:1.3;display:block}.elmia-hero{min-height:255px;grid-template-columns:26% 74%}.hero-art p{display:none}.hero-brand{padding:25px 16px 25px 0}.hero-brand img{max-width:260px}.hero-brand p{font-size:10px}.content{padding:18px}.panel-head{padding:16px;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}footer{padding:12px;gap:15px;flex-wrap:wrap}body.is-auth main{display:flex;flex-direction:column;justify-content:center;padding:30px 22px;gap:28px}.login-brand{padding:10px 0;text-align:center}.login-brand>img{width:250px}.login-brand h2{font-size:19px}.login-brand .eyebrow,.login-brand p,.light-horizon{display:none}.login-brand h2{margin-top:20px}.is-auth .auth-panel{padding:27px;max-width:440px}body.is-auth footer{padding:16px 22px}.auth-panel{margin:15px auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.is-auth #auth-form input{background:#0a1024;color:#fff;border-color:#343d5d}.up{color:#4663c4!important}[data-action="ai-retry"]{background:#f3ecff;color:#6a2ac4;border-color:#d9c8fa}

.global #global-search{background:transparent;border:0}.elmia-intelligence:before,.match-explanation:before{content:"✧ ELMIA INTELLIGENCE";display:block;font-size:10px;letter-spacing:1.7px;font-weight:650;color:#7835cf;margin-bottom:15px}.elmia-intelligence{border-top:2px solid #d9c6ff}.hero-art{clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}.hero-art p{font-size:20px}.elmia-feature>.feature-arrow{flex-shrink:0}

.account-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:#10154b;color:#fff;font-size:12px;box-shadow:inset 0 0 0 1px #6457a14d}@media(max-width:760px){.account-avatar{width:28px;height:28px;font-size:10px}}
/* Original ELMIA entrance: the existing E, light sweep and depth; no video. */
.elmia-entry{position:fixed;inset:0;z-index:110;display:grid;place-items:center;overflow:hidden;background:#030510;animation:entry-exit 1.8s linear both;isolation:isolate}
.entry-stage{position:relative;width:min(40vh,70vw);height:40vh;display:grid;place-items:center;perspective:900px}
.entry-letter{position:relative;width:100%;height:100%;animation:entry-reveal 1.55s cubic-bezier(.2,.65,.25,1) both;will-change:transform,opacity;filter:drop-shadow(0 0 18px #6133b84d)}
.entry-letter img{width:100%;height:100%;object-fit:contain;display:block}
.entry-light{position:absolute;inset:0;mask:url('elmia-mark.svg') center/contain no-repeat;background:linear-gradient(110deg,transparent 22%,#3598ff99 35%,#ddd7ffef 43%,#b04bffc9 49%,#ed3acb80 57%,transparent 70%);background-size:300% 100%;mix-blend-mode:screen;animation:entry-sweep 1.55s ease-in-out both}
.entry-halo{position:absolute;inset:-40%;background:radial-gradient(ellipse at 35% 50%,#1756e62b,transparent 46%),radial-gradient(ellipse at 55% 48%,#7b24c937,transparent 53%),radial-gradient(ellipse at 70% 52%,#c91f8a21,transparent 40%);animation:entry-glow 1.6s ease both;pointer-events:none}
@keyframes entry-reveal{0%{opacity:0;transform:scale(.82) rotateY(-9deg);filter:brightness(.2) drop-shadow(0 0 0 transparent)}35%{opacity:1}68%{transform:scale(1.025) rotateY(0);filter:brightness(1.1) drop-shadow(0 0 27px #7d42ff55)}100%{opacity:1;transform:scale(1);filter:brightness(1) drop-shadow(0 0 15px #7043cc33)}}
@keyframes entry-sweep{0%,15%{background-position:160% 0;opacity:0}30%{opacity:1}85%{opacity:.85}100%{background-position:-65% 0;opacity:0}}
@keyframes entry-glow{0%{opacity:0;transform:scale(.7)}65%{opacity:1;transform:scale(1.05)}100%{opacity:.55;transform:scale(1)}}
@keyframes entry-exit{0%,84%{opacity:1}100%{opacity:0}}
.elmia-entry.reduced{animation:none}.elmia-entry.reduced .entry-letter,.elmia-entry.reduced .entry-halo{animation:none;transform:none}.elmia-entry.reduced .entry-light{display:none}
/* Both overlays have a CSS fail-safe as well as their independent JS watchdog. */
#elmia-launch[hidden],#boot-failure[hidden]{display:none!important}
#elmia-launch{animation:initial-expiry .8s step-end forwards}
@keyframes initial-expiry{to{visibility:hidden;pointer-events:none;opacity:0}}
#boot-failure{max-width:600px;margin:40px auto}
.elmia-entry{animation:entry-exit 1.7s linear both}
.entry-stage{width:min(42vh,90vw);height:42vh}
@keyframes entry-exit{0%,82%{opacity:1}99%{visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
/* Three-second ELMIA cinematic signature. */
.elmia-entry{background:radial-gradient(ellipse at 50% 48%,#0a1030 0,#030510 43%,#010208 100%);animation:entry-cinematic-exit 6.8s cubic-bezier(.45,0,.2,1) both}
.entry-stage{width:min(42vh,90vw);height:42vh;perspective:1100px;transform-style:preserve-3d}
.entry-ambient{position:absolute;inset:-85%;background:conic-gradient(from 190deg at 50% 50%,transparent,#183d9b12,#8738c21a,#db24830d,transparent 67%);animation:entry-ambient 6.8s ease both;filter:blur(30px)}
.entry-letter{animation:entry-cinematic-reveal 6.8s cubic-bezier(.2,.65,.18,1) both;filter:drop-shadow(0 0 0 transparent);transform-style:preserve-3d}
.entry-letter img{position:relative;z-index:2;animation:entry-color 6.8s ease both}
.entry-depth{position:absolute;inset:1.5% -1.5% -1.5% 1.5%;z-index:1;mask:url('elmia-mark.svg') center/contain no-repeat;background:linear-gradient(145deg,#092d7b,#401383 55%,#8b175f);filter:blur(5px);animation:entry-depth 6.8s ease both}
.entry-light,.entry-glint{position:absolute;inset:0;z-index:3;pointer-events:none;mask:url('elmia-mark.svg') center/contain no-repeat}
.entry-light{background:linear-gradient(104deg,transparent 28%,#258eff66 38%,#ecedff 47%,#984cffdd 53%,#f12acb99 59%,transparent 70%);background-size:360% 100%;mix-blend-mode:screen;animation:entry-cinematic-sweep 6.8s cubic-bezier(.32,.03,.23,1) both}
.entry-glint{background:linear-gradient(90deg,transparent 44%,#fff 49%,#9ed8ff 51%,transparent 56%);background-size:500% 100%;filter:blur(2px);animation:entry-glint 6.8s ease both}
.entry-halo{inset:-52%;filter:blur(4px);animation:entry-cinematic-glow 6.8s ease both}
.entry-particles{position:absolute;inset:-18%;pointer-events:none}.entry-particles i{--a:calc(var(--i)*30deg);position:absolute;left:50%;top:50%;width:2px;height:2px;border-radius:50%;background:#b9cfff;box-shadow:0 0 7px #8c4cff;opacity:0;transform:rotate(var(--a)) translateX(11vh);animation:entry-particle 6.8s ease-out both;animation-delay:calc(var(--i)*18ms)}
@keyframes entry-cinematic-reveal{0%,12%{opacity:.008;transform:scale(.87) rotateY(-9deg) translateZ(-52px);filter:brightness(.035) saturate(.25)}22%{opacity:.045;filter:brightness(.09) saturate(.4) drop-shadow(0 0 3px #345ad72b)}29%{opacity:.12;transform:scale(.9) rotateY(-7deg) translateZ(-39px);filter:brightness(.17) saturate(.5) drop-shadow(0 0 5px #6040c936)}38%{opacity:.34;transform:scale(.935) rotateY(-5deg) translateZ(-27px);filter:brightness(.32) saturate(.67) drop-shadow(0 0 9px #6440cf44)}53%{opacity:.7;transform:scale(.972) rotateY(-2deg) translateZ(-8px);filter:brightness(.66) saturate(.92) drop-shadow(0 0 16px #6945dd55)}68%{opacity:1;transform:scale(1.012) rotateY(0) translateZ(12px);filter:brightness(1.08) saturate(1.18) drop-shadow(0 0 27px #794cff70)}68%,82%{opacity:1}82%{transform:scale(1.012) translateZ(12px);filter:brightness(1.08) saturate(1.18) drop-shadow(0 0 27px #794cff70)}100%{opacity:0;transform:scale(1.045,1.12) translateZ(24px);filter:brightness(.5) blur(5px) drop-shadow(0 0 2px transparent)}}
@keyframes entry-color{0%,12%{opacity:.015;filter:saturate(.1) brightness(.25)}29%{opacity:.1;filter:saturate(.35) brightness(.45)}38%{opacity:.3;filter:saturate(.55)}54%{opacity:.76;filter:saturate(.92)}68%,82%{opacity:1;filter:saturate(1.18)}100%{opacity:0;filter:saturate(.5) blur(3px)}}
@keyframes entry-cinematic-sweep{0%,38%{background-position:175% 0;opacity:0}46%{opacity:.2}66%{opacity:1}74%{background-position:-75% 0;opacity:.38}82%,100%{background-position:-75% 0;opacity:0}}
@keyframes entry-glint{0%,42%{background-position:170% 0;opacity:0}55%{opacity:.38}68%{opacity:.82}76%{background-position:-70% 0;opacity:.22}82%,100%{opacity:0}}
@keyframes entry-cinematic-glow{0%,12%{opacity:0;transform:scale(.62)}38%{opacity:.16}68%{opacity:.82;transform:scale(1.04)}82%{opacity:.62}100%{opacity:0;transform:scale(1.16,.88)}}
@keyframes entry-depth{0%{opacity:0;transform:translateZ(-30px)}50%{opacity:.5}78%{opacity:.75;transform:translateZ(-8px)}100%{opacity:0;transform:translate(5%,0) scaleX(1.08)}}
@keyframes entry-particle{0%,47%{opacity:0;transform:rotate(var(--a)) translateX(8vh) scale(.4)}58%{opacity:.7}82%{opacity:0;transform:rotate(var(--a)) translateX(25vh) scale(1)}100%{opacity:0}}
@keyframes entry-ambient{0%{opacity:0;transform:scale(.6) rotate(-5deg)}65%{opacity:1;transform:scale(1) rotate(4deg)}100%{opacity:0;transform:scale(1.12) rotate(7deg)}}
@keyframes entry-cinematic-exit{0%,96%{opacity:1}99%{opacity:.72;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
.elmia-entry.reduced{animation:none}.elmia-entry.reduced .entry-ambient,.elmia-entry.reduced .entry-depth,.elmia-entry.reduced .entry-glint,.elmia-entry.reduced .entry-particles{display:none}
/* Pipeline actions remain directly reachable on a phone. */
@media (max-width: 600px) {
  #pipeline-results .table-wrap { overflow: visible; }
  #pipeline-results table { min-width: 0; width: 100%; }
  #pipeline-results thead { display: none; }
  #pipeline-results tbody, #pipeline-results tr, #pipeline-results td { display: block; width: 100%; }
  #pipeline-results tr { padding: 12px 0; border-bottom: 1px solid #e5e7ef; }
  #pipeline-results td { box-sizing: border-box; padding: 6px 0; white-space: normal; }
  #pipeline-results td::before { content: attr(data-label); display: block; font-size: 11px; color: #64748b; margin-bottom: 4px; }
  #pipeline-results td button { margin: 4px 0; max-width: 100%; }
}
