/* ATLAS panel shell — dark ink rail (right, RTL) + light canvas + mobile dock */
.atp{--rail:272px}
.atp-rail{position:fixed;top:0;bottom:0;right:0;width:var(--rail);background:var(--at-ink);color:#c5c8de;z-index:1100;display:flex;flex-direction:column;
  transform:translateX(105%);transition:transform .5s var(--at-ease);border-radius:0 0 0 0}
.atp-rail.is-open{transform:none;box-shadow:-30px 0 60px -20px rgba(0,0,0,.5)}
@media(min-width:992px){.atp-rail{transform:none;top:12px;bottom:12px;right:12px;border-radius:26px}}
.atp-rail__head{padding:1.1rem 1.1rem .8rem;display:flex;align-items:center;gap:.6rem}
.atp-rail__head .at-logo{color:#fff!important}.atp-rail__head .at-logo__mark{background:var(--at-volt);color:var(--at-ink)}
.atp-user{margin:.2rem .9rem .8rem;padding:.75rem;border-radius:16px;background:rgba(255,255,255,.06);display:flex;gap:.6rem;align-items:center}
.atp-user b{color:#fff;display:block;font-size:.9rem;line-height:1.3}.atp-user small{font-size:.72rem;color:#9ea3c4}
.atp-av{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--at-indigo),var(--at-coral));display:grid;place-items:center;color:#fff;font-weight:900}
.atp-nav{flex:1;overflow-y:auto;padding:0 .7rem 1rem;scrollbar-width:thin;scrollbar-color:#2a3366 transparent}
.atp-sec{font-size:.68rem;font-weight:800;color:#6d739a;padding:1rem .7rem .35rem;letter-spacing:.05em}
.atp-nav a{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:12px;color:#c5c8de!important;font-weight:600;font-size:.88rem;transition:background .2s,color .2s,transform .3s var(--at-ease)}
.atp-nav a i{font-size:1.15rem;width:22px;text-align:center;color:#8990b8}
.atp-nav a:hover{background:rgba(255,255,255,.06);color:#fff!important;transform:translateX(-3px)}
.atp-nav a.on{background:var(--at-volt);color:var(--at-ink)!important}.atp-nav a.on i{color:var(--at-ink)}
.atp-nav a .n{margin-inline-start:auto;background:var(--at-coral);color:#fff;border-radius:8px;font-size:.66rem;padding:0 .4rem;font-weight:800}
.atp-rail__foot{padding:.8rem;border-top:1px solid rgba(255,255,255,.07)}
.atp-veil{position:fixed;inset:0;background:rgba(12,18,48,.45);z-index:1090;opacity:0;pointer-events:none;transition:opacity .3s}
.atp-veil.is-on{opacity:1;pointer-events:auto}
.atp-main{min-height:100vh;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
@media(min-width:992px){.atp-main{margin-right:calc(var(--rail) + 24px);padding-bottom:2rem}}
.atp-top{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:rgba(245,246,250,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(min-width:992px){.atp-top{padding:1rem 1.2rem .6rem 1.6rem}}
.atp-top__title{font-family:var(--at-display);font-size:1.35rem;color:var(--at-ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atp-top__title small{display:block;font-family:var(--at-body);font-size:.72rem;color:var(--at-mute)}
.atp-top .at-header__act{gap:.3rem}
.atp-burger{display:inline-grid}@media(min-width:992px){.atp-burger{display:none}}
.atp-body{padding:0 1rem 1rem}@media(min-width:992px){.atp-body{padding:0 1.2rem 1rem 1.6rem}}
/* --- inner-page compatibility: strip legacy shells, give everything Atlas surfaces --- */
.atp-body .page-content{padding:0!important;margin:0!important;background:transparent!important;min-height:0!important}
.atp-body .container-fluid{padding-inline:0!important;max-width:none}
.atp-body .card,.atp-body .ui-card,.atp-body .mp-card,.atp-body .pl-card,.atp-body [class*="-panel"]:not(.tab-pane),.atp-body .dash-card{
  background:#fff!important;border:1px solid var(--at-line)!important;border-radius:var(--at-r)!important;box-shadow:none!important;color:var(--at-text)!important}
.atp-body .card-header{background:transparent!important;border-bottom:1px solid var(--at-soft)!important;font-weight:800;color:var(--at-ink)}
.atp-body h1,.atp-body .page-title-box h4,.atp-body .ui-desk-hero h1,.atp-body .dash-hero h1{font-family:var(--at-display)!important;font-weight:400!important;color:var(--at-ink)!important}
.atp-body .dash-hero,.atp-body .ui-desk-hero,.atp-body [class*="-hero"]{background:linear-gradient(120deg,#fff 0%,#eef0ff 100%)!important;border:1px solid var(--at-line)!important;border-radius:var(--at-r-lg)!important;color:var(--at-ink)!important;box-shadow:none!important}
.atp-body [class*="-hero"] *{color:inherit}
.atp-body .text-muted{color:var(--at-mute)!important}
.atp-body > *{animation:atIn .7s var(--at-ease) both}
@keyframes atIn{from{opacity:0;transform:translateY(14px)}}
/* nova widget / onboarding repositioned */
.at .nv-ai-fab{border-radius:18px;background:var(--at-ink);animation:none;box-shadow:0 14px 30px -12px rgba(12,18,48,.8)}
.at .nv-ai-fab i{color:var(--at-volt)}
.at .nv-ai-fab:before{border-color:rgba(75,60,245,.4)}
@media(max-width:991px){.at .nv-ai-fab{bottom:calc(86px + env(safe-area-inset-bottom));width:50px;height:50px;font-size:1.35rem}.at .nv-ai{bottom:0}}
.at .nv-ai{background:#fff;border-color:var(--at-line);box-shadow:0 40px 90px -30px rgba(12,18,48,.55)}
.at .nv-ai-h{background:var(--at-ink)}.at .nv-ai-h strong{color:#fff}.at .nv-ai-h small{color:#aab}
.at .nv-ai-h button{color:#ccd}.at .nv-ai-orb{background:var(--at-volt);color:var(--at-ink)}
.at .nv-msg--u{background:var(--at-ink);color:#fff}.at .nv-msg--a{background:var(--at-soft);border-color:transparent;color:var(--at-ink)}
.at .nv-ai-f button{background:var(--at-indigo)}
.at .nv-cmd{background:rgba(12,18,48,.45)}
.at .nv-cmd-box{background:#fff;border:1px solid var(--at-line);border-radius:22px}
.at .nv-cmd-item i{color:var(--at-indigo)}.at .nv-cmd-item.is-on,.at .nv-cmd-item:hover{background:var(--at-soft)}
.at .nv-onb{background:var(--at-ink)!important;border:0!important;border-radius:var(--at-r-lg)!important;color:#c5c8de}
.at .nv-onb h5{color:#fff;font-family:var(--at-display);font-weight:400;font-size:1.4rem}
.at .nv-onb-bar{background:rgba(255,255,255,.1)}.at .nv-onb-bar b{background:var(--at-volt)}
.at .nv-onb-step{border-color:rgba(255,255,255,.1);color:#fff!important}.at .nv-onb-step small{color:#9ea3c4}
.at .nv-onb .nv-btn--ghost{color:#fff!important;border-color:rgba(255,255,255,.3)}
.at .nv-onb:after{background:radial-gradient(circle,rgba(214,255,61,.25),transparent 70%)}
.at .nv-btn{background:var(--at-ink);box-shadow:none;border-radius:14px}
.at .nv-btn--ghost{background:transparent}
.at .lc-root{z-index:1150!important}
@media(max-width:991px){.at .lc-root{bottom:calc(150px + env(safe-area-inset-bottom))!important}}
.atp-dd{min-width:280px;max-width:min(92vw,360px);border:1px solid var(--at-line);border-radius:16px;box-shadow:0 20px 50px rgba(12,18,48,.16);padding:.4rem;background:#fff}
.atp-dd .dropdown-item{border-radius:10px;display:flex;gap:.5rem;align-items:center;padding:.5rem .7rem;font-size:.88rem}
.atp-dd__head{display:flex;justify-content:space-between;align-items:center;padding:.5rem .7rem;border-bottom:1px solid var(--at-soft)}
.atp-dd__foot{display:block;text-align:center;padding:.55rem;font-size:.85rem;font-weight:700;color:var(--at-indigo)}
.atp-notif{max-height:70vh;overflow:auto}.atp-notif__item{padding:.6rem .7rem;border-radius:10px;font-size:.85rem}.atp-notif__item.un{background:#f0eeff}.atp-notif__item p{margin:.2rem 0;color:var(--at-mute)}.atp-notif__item small{color:var(--at-mute)}.atp-notif__empty{padding:1rem;text-align:center;color:var(--at-mute)}
.atp-link{background:none;border:0;color:var(--at-indigo);font-size:.8rem;font-weight:700;padding:0}
.atp-chip{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--at-line);border-radius:999px;padding:.2rem .3rem .2rem .7rem}.atp-chip .atp-av{width:30px;height:30px;font-size:.8rem}
.atp-rail .atp-nav{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}
@media(max-width:991.98px){.atp-rail{z-index:1300}.atp-veil{z-index:1250}}
/* ---- floating buttons: Nova (inline-end = left in RTL) vs live chat (inline-start = right), compact ---- */
body.at .nv-ai-fab{inset-inline-end:14px!important;inset-inline-start:auto!important;width:48px!important;height:48px!important;border-radius:16px!important;font-size:1.25rem!important;bottom:calc(18px + env(safe-area-inset-bottom))!important}
body.at .nv-ai-fab .nv-ai-tip{display:none}
body.at .lc-root{inset-inline-start:14px!important;inset-inline-end:auto!important;bottom:calc(18px + env(safe-area-inset-bottom))!important}
body.at .lc-fab{width:48px!important;height:48px!important}body.at .lc-fab i{font-size:1.3rem!important}
@media(max-width:991.98px){
 body.at .nv-ai-fab,body.at .lc-root{bottom:calc(84px + env(safe-area-inset-bottom))!important}
 body.at .nv-ai-fab{width:42px!important;height:42px!important;border-radius:14px!important;font-size:1.1rem!important;opacity:.95}
 body.at .lc-fab{width:42px!important;height:42px!important}body.at .lc-fab i{font-size:1.15rem!important}
 body.at.atp .atp-body{padding-bottom:calc(150px + env(safe-area-inset-bottom))!important}
 body.at .lc-panel{bottom:calc(42px + .6rem)!important}
}
/* floating buttons: same baseline, opposite sides; brief wizard hides the dock and lifts both above its sticky nav */
@media(max-width:991.98px){body.at-co .at-dock{display:none!important}
 body.at-co .nv-ai-fab,body.at-co .lc-root{bottom:calc(92px + env(safe-area-inset-bottom))!important}
 body.at-co .nv-ai-fab{display:none!important}}
body.at .lc-root .lc-fab,body.at .nv-ai-fab{margin:0!important}
/* ===== Nova v2 professional panel ===== */
.at .nv2{width:min(440px,calc(100vw - 32px));height:min(680px,calc(100dvh - 120px));border-radius:24px;transition:transform .5s var(--at-ease),opacity .3s,width .45s var(--at-ease),height .45s var(--at-ease),inset .45s var(--at-ease),border-radius .45s}
.at .nv2.is-full{inset:24px 24px 24px 24px!important;width:auto!important;height:auto!important;max-width:1100px;margin-inline:auto;z-index:1500}
.at .nv2.is-full .nv2-b,.at .nv2.is-full .nv2-f,.at .nv2.is-full .nv2-sugs{padding-inline:max(1rem,calc((100% - 760px)/2))}
.nv-ai-veil{position:fixed;inset:0;z-index:1255;background:rgba(12,18,48,.45);backdrop-filter:blur(3px);animation:cwFade .3s}
@keyframes cwFade{from{opacity:0}}
.at .nv2-h{gap:.7rem;padding:.85rem 1rem;background:linear-gradient(120deg,#0c1230,#23206b)!important}
.nv2-av{position:relative;flex:none;width:42px;height:42px;border-radius:14px;background:var(--at-volt);color:var(--at-ink);display:grid;place-items:center;font-size:1.3rem;box-shadow:0 8px 20px -8px rgba(214,255,61,.7)}
.nv2-av--xl{width:64px;height:64px;border-radius:22px;font-size:2rem;margin:0 auto;animation:nv2Float 4s ease-in-out infinite}
@keyframes nv2Float{50%{transform:translateY(-6px) rotate(-4deg)}}
.nv2-dot{position:absolute;bottom:-3px;inset-inline-start:-3px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #0c1230}
.nv2-dot:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #22c55e;animation:nv2Ping 2s infinite}
@keyframes nv2Ping{to{transform:scale(2.2);opacity:0}}
.nv2-id{min-width:0;flex:1}.nv2-id small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv2-st{color:#a3e635;font-weight:700}
.nv2-tools{display:flex;gap:.15rem}.at .nv2-tools button{margin:0!important;width:36px;height:36px;border-radius:11px;color:#ccd;font-size:1.2rem;display:grid;place-items:center;background:transparent;border:0}
.at .nv2-tools button:hover{background:rgba(255,255,255,.1);color:#fff}
.nv2-grab{display:none}
.nv2-b{gap:.9rem!important;padding:1rem 1rem .5rem!important;background:#fbfbfe}
.at .nv2-msg{max-width:88%;white-space:normal;line-height:1.9;font-size:.92rem;padding:0;background:none;border:0;position:relative}
.at .nv2-msg .nv2-c{padding:.7rem .95rem;border-radius:18px}
.at .nv2-msg.nv-msg--u .nv2-c{background:var(--at-ink);color:#fff;border-end-start-radius:6px}
.at .nv2-msg.nv-msg--a .nv2-c{background:#fff;border:1px solid var(--at-line);color:var(--at-ink);border-end-end-radius:6px;box-shadow:0 6px 18px -14px rgba(12,18,48,.4)}
.at .nv2-err .nv2-c{background:#fff4f2!important;border-color:#ffd2c8!important;color:#9a3412!important}
.nv2-c p{margin:0 0 .45rem}.nv2-c p:last-child{margin:0}
.nv2-c ul,.nv2-c ol{margin:.2rem 0 .5rem;padding-inline-start:1.2rem}.nv2-c li{margin:.15rem 0}.nv2-c li::marker{color:var(--at-indigo);font-weight:900}
.nv2-c h5{font-size:.98rem;font-weight:900;margin:.4rem 0 .3rem;color:var(--at-ink)}
.nv2-c b{font-weight:900}.nv2-c a{color:var(--at-indigo)!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.nv2-c code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;background:#eef0f7;border-radius:6px;padding:.1rem .35rem;direction:ltr;unicode-bidi:embed}
.nv2-code{position:relative;direction:ltr;text-align:left;background:#0c1230;color:#e5e7f5;border-radius:12px;padding:.8rem .9rem;margin:.4rem 0;overflow:auto;font-size:.8rem;max-width:100%}
.nv2-code code{background:none;color:inherit;padding:0;white-space:pre}
.nv2-cc{position:absolute;top:.4rem;right:.4rem;border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:8px;width:30px;height:30px}
.nv2-acts{display:flex;align-items:center;gap:.1rem;margin-top:.25rem;opacity:.0;transform:translateY(-4px);transition:all .25s}
.nv2-msg:hover .nv2-acts,.nv2-msg:focus-within .nv2-acts,.nv2-msg:last-of-type .nv2-acts{opacity:1;transform:none}
@media(hover:none){.nv2-acts{opacity:1;transform:none}}
.nv2-acts button{border:0;background:transparent;color:var(--at-mute);width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:1rem}
.nv2-acts button:hover{background:var(--at-soft);color:var(--at-ink)}.nv2-acts button.on{color:var(--at-indigo);background:#efedff}
.nv2-pop{animation:nv2Pop .35s}@keyframes nv2Pop{50%{transform:scale(1.3)}}
.nv2-time{font-size:.7rem;color:var(--at-mute);margin-inline-end:.3rem;direction:ltr}
.nv2-gone{opacity:0;transform:scale(.96);transition:all .25s}
.nv2-sugs{display:flex!important;gap:.45rem;overflow-x:auto;scrollbar-width:none;padding:.5rem 1rem!important;flex-wrap:nowrap!important}
.nv2-sugs[style*="none"]{display:none!important}
.at .nv2-sugs button{flex:none;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;border:1px solid var(--at-line);background:#fff;color:var(--at-ink);border-radius:999px;padding:.45rem .8rem;font-size:.8rem;font-weight:700;min-height:38px;transition:all .2s}
.at .nv2-sugs button i{color:var(--at-indigo)}.at .nv2-sugs button:hover{border-color:var(--at-indigo);transform:translateY(-2px)}
.nv2-f{gap:.5rem!important;padding:.7rem 1rem!important;border-top:1px solid var(--at-line)}
.at .nv2-f textarea{border-radius:16px!important;background:var(--at-soft)!important;border:1.5px solid transparent!important;min-height:46px;font-size:16px!important;transition:border-color .2s}
.at .nv2-f textarea:focus{border-color:var(--at-indigo)!important;background:#fff!important}
.at .nv2-f button{width:46px;height:46px;border-radius:14px;flex:none;transition:transform .2s,background .2s}.at .nv2-f button.is-ready{background:var(--at-ink)!important;color:var(--at-volt)!important;transform:scale(1.05)}
.nv2-hello p{font-size:.88rem;line-height:1.9}
.nv2-hist{position:absolute;inset:66px 0 0 0;z-index:5;background:#fff;display:flex;flex-direction:column;animation:nv2Slide .35s var(--at-ease)}
.nv2-hist[hidden]{display:none}
@keyframes nv2Slide{from{opacity:0;transform:translateY(-12px)}}
.nv2-hist__h{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid var(--at-line)}.nv2-hist__h b{color:var(--at-ink)}
.nv2-new{border:0;background:var(--at-ink);color:var(--at-volt);border-radius:12px;padding:.45rem .8rem;font-weight:800;font-size:.8rem;display:inline-flex;align-items:center;gap:.3rem;min-height:38px}
.nv2-hist__l{flex:1;overflow:auto;padding:.5rem}
.nv2-th{display:grid;grid-template-columns:auto 1fr;gap:.1rem .6rem;width:100%;text-align:start;border:0;background:transparent;border-radius:14px;padding:.65rem .75rem;min-height:52px}
.nv2-th i{grid-row:span 2;align-self:center;width:34px;height:34px;border-radius:11px;background:var(--at-soft);color:var(--at-indigo);display:grid;place-items:center}
.nv2-th span{font-weight:800;color:var(--at-ink);font-size:.86rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nv2-th small{color:var(--at-mute);font-size:.72rem}
.nv2-th:hover,.nv2-th.on{background:#f4f2ff}
.nv2-clear{margin:.5rem 1rem 1rem;border:1px dashed #fecaca;background:#fff7f7;color:#b91c1c;border-radius:12px;min-height:42px;font-weight:700;font-size:.82rem}
.nv2-empty{text-align:center;padding:2rem 1rem;color:var(--at-mute);display:grid;gap:.3rem;justify-items:center}.nv2-empty i{font-size:2rem;color:var(--at-indigo)}.nv2-empty b{color:var(--at-ink)}
.nv2-skel{display:grid;gap:.6rem;padding:.4rem}.nv2-skel i{display:block;height:46px;border-radius:14px;background:linear-gradient(90deg,#eef0f6 25%,#f7f8fc 50%,#eef0f6 75%);background-size:200% 100%;animation:atSk 1.2s infinite}.nv2-skel i.s{width:60%}
@keyframes atSk{to{background-position:-200% 0}}
.nv2-toast{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);background:var(--at-ink);color:#fff;padding:.45rem .9rem;border-radius:999px;font-size:.8rem;font-weight:700;animation:nvMsg .3s}
@media(max-width:767.98px){
 .at .nv2{inset:auto 0 0 0!important;width:100%!important;height:min(88dvh,760px)!important;border-radius:26px 26px 0 0!important;transform:translateY(102%)!important;opacity:1!important;transition:transform .5s cubic-bezier(.2,.9,.25,1)!important;z-index:1500!important}
 .at .nv2.is-open{transform:none!important}
 .nv2-grab{display:block;position:absolute;top:6px;left:50%;margin-left:-22px;width:44px;height:5px;border-radius:5px;background:rgba(255,255,255,.35);z-index:2}
 .at .nv2-h{padding-top:1.1rem}
 .nv2-onlydesk{display:none!important}
 .nv-ai-veil{z-index:1490}
 body.nv2-open{overflow:hidden}
 body.nv2-open .nv-ai-fab,body.nv2-open .lc-root{opacity:0;pointer-events:none}
 .nv2-f{padding-bottom:calc(.7rem + env(safe-area-inset-bottom))!important}
}
.at .nv2 .nv2-msg,html[data-theme] .at .nv2 .nv2-msg{background:none!important;border:0!important;padding:0!important;box-shadow:none!important}
