/* Adapted from Absolute Program dist/cloud.css; auth, motion and presence only. */
.auth-shell[hidden]{display:none}.auth-shell{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:auto;background:radial-gradient(ellipse at 72% 18%,#34363b66,transparent 48%),radial-gradient(ellipse at 12% 86%,#25282d,transparent 52%),#101113;color:#efefef;padding:48px 24px;font-family:inherit}
.auth-card{position:relative;width:min(100%,450px);z-index:2;padding:42px 44px;background:linear-gradient(145deg,#242529da,#161719ee);border:1px solid #ffffff16;border-radius:24px;box-shadow:0 32px 110px #0008,inset 0 1px #ffffff09;backdrop-filter:blur(24px);animation:auth-enter .8s ease both}
.auth-brand{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:2.5px;margin-bottom:44px}.auth-brand small{font-size:9px;letter-spacing:4px;color:#8e9098}.auth-mark{font-size:38px;line-height:1;letter-spacing:-5px;font-weight:700}.auth-mark span{color:#bca886}.auth-kicker{color:#999ca4;letter-spacing:2px;font-size:9px;margin-bottom:18px}.auth-card h1{font-size:33px;line-height:1.2;letter-spacing:-1.1px;font-weight:500;margin:0}.auth-card h1 span{color:#bca886}.auth-intro{font-size:13px;line-height:1.7;color:#94969e;margin:18px 0 30px}.auth-card form>label{display:block;font-size:11px;font-weight:500;color:#b3b5bc;margin-bottom:18px}.auth-card input:not([type=checkbox]){display:block;width:100%;height:48px;background:#10111399;border:1px solid #ffffff17;color:#f2f2f2;border-radius:10px;margin-top:9px;padding:0 14px;font:inherit;font-size:14px;transition:border-color .3s,box-shadow .3s}.auth-card input::placeholder{color:#60636b}.auth-card input:focus{outline:none;border-color:#bca88688;box-shadow:0 0 0 3px #bca88615}.auth-password{display:block;position:relative}.auth-password input{padding-right:76px!important}.auth-password button{position:absolute;right:12px;top:0;height:48px;font-size:10px;color:#a7a9b0}.auth-card .auth-remember{display:flex;gap:9px;align-items:center;font-size:11px;color:#9699a1;font-weight:400;margin:20px 0 24px}.auth-remember input{accent-color:#bca886;width:15px;height:15px;margin:0}.auth-submit{width:100%;height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#e3ddd2;color:#202124;border-radius:10px;font-weight:600;font-size:12px;transition:background .4s,transform .4s,box-shadow .4s}.auth-submit:hover{background:#f3eee5;box-shadow:0 6px 24px #e3ddd217;transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-submit span{font-size:20px}.auth-foot{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#777b83;margin-top:22px}.auth-light{width:4px;height:4px;border-radius:50%;background:#bca886}.auth-card #auth-message{font-size:12px;line-height:1.6;color:#e9bb9a;margin:12px 0 0;min-height:0}.auth-copyright{position:fixed;bottom:22px;font-size:9px;letter-spacing:3px;color:#595d66}.auth-orbit{position:absolute;width:780px;height:780px;border:1px solid #ffffff06;border-radius:50%;pointer-events:none;transform:translate(30%,10%)}.auth-orbit:before{content:'';position:absolute;inset:65px;border:1px solid #ffffff05;border-radius:50%}.star-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;background-image:radial-gradient(1px 1px at 12% 23%,#ffffff77,transparent),radial-gradient(1px 1px at 83% 15%,#ffffff55,transparent),radial-gradient(1px 1px at 70% 78%,#ffffff66,transparent),radial-gradient(1px 1px at 28% 72%,#ffffff55,transparent);background-size:570px 490px}.star-field i{position:absolute;left:calc(-20% + var(--i)*19%);top:-15%;width:140px;height:1px;background:linear-gradient(90deg,transparent,#d8dae3aa);opacity:0;transform:rotate(42deg);animation:falling-star 11s linear infinite;animation-delay:calc(var(--i)*-2.6s)}
@keyframes falling-star{0%,50%{opacity:0;transform:translate(0,0) rotate(42deg)}54%{opacity:.7}66%{opacity:0;transform:translate(700px,650px) rotate(42deg)}100%{opacity:0;transform:translate(700px,650px) rotate(42deg)}}@keyframes auth-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.cloud-status{display:block;position:static;width:100%;min-height:36px;margin-top:10px;border:0;border-radius:6px;background:transparent;padding:8px 4px;font-size:11px;line-height:1.5;color:#a7b7a5;overflow-wrap:anywhere;text-align:left;cursor:pointer}.cloud-status:hover{background:#ffffff08}.cloud-status:focus-visible{outline:2px solid #c79b6b;outline-offset:2px}.cloud-status.cloud-error{color:#e2b387}
@media(max-width:520px){.auth-shell{padding:24px 16px 50px}.auth-card{padding:30px 26px;border-radius:20px}.auth-brand{margin-bottom:30px}.auth-card h1{font-size:29px}.auth-copyright{font-size:8px;bottom:15px}}
@media(prefers-reduced-motion:reduce){.star-field i,.auth-card{animation:none!important}.auth-submit{transition:none}}
.auth-shell{align-items:safe center}
@media(max-height:800px){.auth-card{padding-top:28px;padding-bottom:28px}.auth-brand{margin-bottom:26px}.auth-intro{margin:14px 0 22px}.auth-shell{padding-top:28px;padding-bottom:44px}}

/* Deep graphite space, with staggered meteor trails behind the form. */
.auth-shell{background:radial-gradient(ellipse at 18% 30%,#252b4360,transparent 52%),radial-gradient(ellipse at 84% 70%,#35304350,transparent 48%),#07090f;isolation:isolate}
.auth-card{background:linear-gradient(145deg,#20232ce8,#11141ce8);box-shadow:0 32px 110px #0009,inset 0 1px #ffffff0c;border-color:#d7dfff20}
.auth-brand{gap:18px;margin-bottom:30px}.auth-logo{display:block;width:72px;height:72px;object-fit:contain;border-radius:10px;box-shadow:0 8px 28px #0006}
.auth-nebula{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 72% 20%,#6977971f,transparent 32%),radial-gradient(ellipse at 24% 76%,#5d486f20,transparent 36%);z-index:0}
.star-field{z-index:1;background:none}
.star-field .distant-star{position:absolute;display:block;width:var(--size);height:var(--size);background:#e5ecff;border-radius:50%;box-shadow:0 0 5px #c5d7ff60;opacity:.5;animation:star-shimmer 7s ease-in-out infinite;animation-delay:var(--delay)}
.star-field i.shooting-star{left:var(--x);top:var(--y);width:clamp(70px,12vw,180px);height:1px;opacity:0;background:linear-gradient(90deg,transparent,#c8dcff55 65%,#f1f6ff);box-shadow:0 0 5px #b5d0ff30;animation:space-meteor var(--duration) linear infinite;animation-delay:var(--delay);transform:rotate(38deg);will-change:transform,opacity}
@keyframes space-meteor{0%{opacity:0;transform:translate3d(-12vw,-10vh,0) rotate(38deg)}7%{opacity:.85}29%{opacity:.65}38%,100%{opacity:0;transform:translate3d(70vw,65vh,0) rotate(38deg)}}
.star-field .space-pixel{position:absolute;display:block;width:var(--pixel-size);height:var(--pixel-size);border-radius:0;background:#aeb3bd;box-shadow:0 0 5px #aeb3bd40;opacity:.15;animation:pixel-shimmer var(--pixel-duration) ease-in-out infinite;animation-delay:var(--delay)}
.star-field .space-pixel:nth-of-type(9n){background:#c8cbd1;box-shadow:0 0 8px #bcc2cc55}
@keyframes pixel-shimmer{0%,100%{opacity:.1}35%{opacity:.25}55%{opacity:.75}75%{opacity:.3}}
@keyframes star-shimmer{0%,100%{opacity:.25}50%{opacity:.85}}
@media(max-width:520px){.auth-logo{width:60px;height:60px}.star-field i.shooting-star:nth-of-type(n+25){display:none}.star-field .space-pixel:nth-of-type(n+41){display:none}}
@media(prefers-reduced-motion:reduce){.star-field i.shooting-star{display:none}.star-field .distant-star{animation:none;opacity:.55}.star-field .space-pixel{animation:none;opacity:.3}}
.auth-shell.auth-departing{pointer-events:none;animation:space-door-open 1s cubic-bezier(.22,1,.36,1) both}
.auth-departing .auth-card{animation:login-card-depart .75s cubic-bezier(.22,1,.36,1) both}
body.workspace-entering{overflow:hidden}
.workspace-entering>aside{animation:workspace-panel-in 1.15s cubic-bezier(.22,1,.36,1) .25s both}
.workspace-entering>main{animation:workspace-panel-in 1.3s cubic-bezier(.22,1,.36,1) .38s both}
.workspace-entering #nav>button{animation:workspace-item-in .9s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.48s + var(--entry,0)*.055s)}
.workspace-entering #content>*{animation:workspace-item-in 1.05s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.62s + var(--entry,0)*.085s)}
.workspace-entering .cloud-status{animation:workspace-item-in .8s ease 1.1s both}
@keyframes space-door-open{0%{opacity:1}55%{opacity:.5}100%{opacity:0}}
@keyframes login-card-depart{from{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-18px) scale(1.035);filter:blur(5px)}}
@keyframes workspace-panel-in{from{opacity:0;transform:translateY(12px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes workspace-item-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.team-presence{padding:8px 12px 14px;margin-bottom:12px;border-bottom:1px solid #ffffff12;display:grid;gap:15px}.presence-person{display:flex;gap:13px;align-items:center;min-height:36px}.presence-person>div{min-width:0}.presence-person strong{display:block;font-size:12px;font-weight:500;color:#e4e8df;line-height:1.5}.presence-person small{display:block;font-size:10px;color:#b0b7a8;line-height:1.5;margin-top:2px}.presence-orb{--pulse-color:#edc35d;position:relative;display:block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--pulse-color);box-shadow:0 0 10px color-mix(in srgb,var(--pulse-color) 40%,transparent);animation:presence-glow 3.2s ease-in-out infinite}.presence-orb.online{--pulse-color:#74df9b}.presence-orb:before,.presence-orb:after{content:'';position:absolute;inset:-1px;border:1px solid var(--pulse-color);border-radius:50%;animation:presence-wave 3.2s ease-out infinite;pointer-events:none}.presence-orb:after{animation-delay:1.6s}.presence-orb.away{animation-delay:.8s}.presence-orb.away:before{animation-delay:.8s}.presence-orb.away:after{animation-delay:2.4s}.presence-unavailable{color:#b1b8aa;font-size:10px;line-height:1.6}@keyframes presence-wave{0%{opacity:.55;transform:scale(1)}85%,100%{opacity:0;transform:scale(2.8)}}@keyframes presence-glow{0%,100%{opacity:.75}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.presence-orb,.presence-orb:before,.presence-orb:after{animation:none}.presence-orb:before,.presence-orb:after{display:none}}
.auth-card #auth-form{display:flex;flex-direction:column;gap:18px;margin-top:28px}
.auth-card #auth-form>label{margin:0;line-height:1.5}
.auth-card #auth-form input:not([type=checkbox]){height:52px;box-sizing:border-box;font-size:16px;margin-top:8px}
.auth-card #auth-form .auth-remember{margin:2px 0 6px;min-height:24px;line-height:1.5}
.auth-card .auth-submit,.auth-card .auth-passkey{box-sizing:border-box;display:flex;align-items:center;justify-content:center;position:relative;width:100%;min-height:52px;height:auto;margin:0;padding:14px 42px;font-size:14px;line-height:22px;border-radius:10px}
.auth-card .auth-submit>span{position:absolute;right:18px}
.auth-card .auth-passkey{margin-top:-6px}
.auth-card .auth-legal{margin-top:24px;padding-top:20px;border-top:1px solid #ffffff10;gap:10px 18px;line-height:1.5;justify-content:space-between}
@media(max-width:520px){.auth-card #auth-form{margin-top:24px}.auth-card .auth-submit,.auth-card .auth-passkey{font-size:13px}}

.auth-legal{display:flex;flex-wrap:wrap;font-size:12px}.auth-legal a{color:#cfc7b8;text-underline-offset:3px}.auth-passkey{border:1px solid #7775;color:inherit;background:transparent}.auth-card button{font:inherit}.auth-card .auth-submit{background:#e3ddd2;color:#202124;border:0}.auth-password button{background:transparent;border:0;padding:0}.auth-card .auth-password button{font-size:10px}.auth-submit>span{position:absolute;right:18px;font-size:20px}.auth-card #login-error{color:#e9bb9a;font-size:12px;line-height:1.6;margin:0}.auth-card .auth-brand{color:#efefef}.auth-shell{z-index:10}.auth-shell.auth-departing{z-index:10}.auth-shell .auth-card{color-scheme:dark}.auth-remember input{flex:none}.auth-card .auth-remember{display:flex!important}.auth-card #auth-form>label{gap:0}.auth-card .auth-password{margin:0}.auth-card .auth-brand img{flex:none}
#app.workspace-entering>aside{animation:workspace-panel-in 1.15s cubic-bezier(.22,1,.36,1) both}#app.workspace-entering>main{animation:workspace-panel-in 1.3s cubic-bezier(.22,1,.36,1) .12s both}.page-arriving .page-head,.page-arriving #view>*,dialog[open]{animation:workspace-item-in .6s cubic-bezier(.22,1,.36,1) both}.page-arriving #view>:nth-child(2){animation-delay:.06s}.account-popover:not([hidden]){animation:account-popover-reveal .85s cubic-bezier(.25,.46,.45,.94) both;transform-origin:bottom left}@keyframes account-popover-reveal{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
button:not(:disabled){transition:background-color .55s ease,color .55s ease,border-color .55s ease,box-shadow .55s ease,filter .55s ease,transform .55s ease}button svg{transition:transform .6s cubic-bezier(.25,.46,.45,.94),color .55s ease}@media(hover:hover) and (pointer:fine){button:not(:disabled):hover{filter:brightness(1.07)}button:not(:disabled):hover svg{transform:rotate(-10deg)}}
.account-popover{width:300px;max-width:calc(100vw - 32px);background:linear-gradient(145deg,#35372f,#252820);border:1px solid #ffffff20;border-radius:18px;padding:8px 12px;box-shadow:0 16px 50px #0004}.account-popover .account-label{padding:14px 8px;color:#b8bbae;font-size:12px;overflow-wrap:anywhere;line-height:1.6}.account-popover .account-identity{display:flex;align-items:center;gap:16px;padding:12px 12px 20px;border-bottom:1px solid #ffffff12;color:#e4e8df}.account-presence{padding:18px 12px;margin:0;border-bottom:1px solid #ffffff12;min-height:96px}.menu-person{align-items:flex-start;gap:16px;padding:10px 0;min-height:62px}.menu-person .presence-orb{margin-top:7px}.menu-person b{color:#e4e8df;font-size:13px}.menu-person small{font-size:11px;line-height:1.7;color:#b0b7a8}.account-popover button{font-size:13px;min-height:46px}.account-popover #logout{border-top:1px solid #ffffff12;border-radius:0;color:#e2bb98;margin-top:8px;padding-top:16px;padding-bottom:16px}.account-sync{font-size:11px;color:#c7cbbf;border-top:1px solid #ffffff12;padding:16px 8px;line-height:1.6}.presence-orb.unknown{--pulse-color:#969b90;animation:none}.presence-orb.unknown:before,.presence-orb.unknown:after{display:none}.presence-orb.online{animation:presence-glow 2.6s ease-in-out infinite}@keyframes presence-glow{0%,100%{opacity:.55}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){#app.workspace-entering>aside,#app.workspace-entering>main,.page-arriving .page-head,.page-arriving #view>*,dialog[open],.account-popover:not([hidden]){animation:none!important}button:not(:disabled),button svg{transition:none!important}}

.auth-card #auth-form>.auth-remember{gap:9px}
/* Keep the account popover above animated page cards. */
#app>aside{z-index:30}
@media(max-width:760px){#app.workspace-entering>aside{animation:none!important}}

.auth-card .auth-install{display:block;margin:8px auto 0;padding:8px 12px;border:0;background:transparent;color:#bfc0b8;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.auth-card .auth-install:hover{color:#fff}
#install-dialog{width:min(440px,calc(100vw - 32px));box-sizing:border-box}#install-dialog p{line-height:1.65}#install-dialog .install-icon{width:56px;height:56px;border-radius:12px;margin-bottom:12px}

/* One shared inset for the brand, navigation and account controls. */
#app>aside{padding:28px 16px 24px}
#app>aside .brand{display:flex;align-items:center;gap:12px;flex:none;min-width:0;padding:0 8px 24px;line-height:normal;border-bottom:1px solid #3d4136}
#app>aside .brand::after{display:none}
#app>aside .brand-logo{display:block;width:52px;height:48px;object-fit:contain;border-radius:2px;flex:none}
#app>aside .brand-wordmark{min-width:0;display:grid;gap:5px}
#app>aside .brand strong{font-size:16px;font-weight:650;line-height:1.2;letter-spacing:1.7px;color:#fff}
#app>aside .brand small{margin:0;font-size:9px;line-height:1.2;font-weight:400;letter-spacing:3.2px;color:#aaa99f}
#app>aside nav{margin:24px 0;gap:6px;min-height:0;overflow-y:auto;flex-shrink:1;grid-template-columns:minmax(0,1fr)}
#app>aside nav button{width:100%;min-width:0;min-height:48px;height:auto;padding:13px 12px;gap:12px;line-height:22px;border-radius:8px}
#app>aside nav button svg{width:20px;height:20px}
#app>aside .nav-label{min-width:0;overflow-wrap:normal;text-wrap:balance}
#app>aside .side-bottom{flex:none;width:100%}
#app>aside .account-trigger{padding:20px 12px 0;gap:12px;min-width:0}
#app>aside .account-trigger>.avatar{flex:none}
#app>aside .account-trigger>div{min-width:0;overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1100px){#app>aside .brand{padding-inline:4px;gap:8px}#app>aside .brand strong{font-size:14px}#app>aside nav button{font-size:13px}}

/* Warm charcoal surfaces share the sidebar palette, without a green cast. */
html[data-theme=dark] #app>aside{background:#20211f}
html[data-theme=dark] .topbar{background:#20211f}
html[data-theme=dark] #app>aside .brand,html[data-theme=dark] #app>aside .account-trigger{border-color:var(--line)}
html[data-theme=dark] #app>aside nav button{color:#c2c0b8}
html[data-theme=dark] #app>aside nav button.active{background:#383730;color:#f7f5ef}
html[data-theme=dark] .account-popover{background:linear-gradient(145deg,#33332f,#262624);border-color:#45443e}
html[data-theme=dark] .account-popover button:hover{background:#3d3c35}
html[data-theme=dark] .account-popover .account-label,html[data-theme=dark] .menu-person small,html[data-theme=dark] .profile small{color:#b5b3ac}
html[data-theme=dark] .account-popover .account-identity,html[data-theme=dark] .menu-person b,html[data-theme=dark] .account-sync{color:#e5e2d9}
html[data-theme=dark] .day small{color:#edbd8e}
html[data-theme=dark] .yellow{background:#403620;color:#efcf7f}
html[data-theme=dark] .green{background:#253c2f;color:#95d5ad}
html[data-theme=dark] .red{background:#442b28;color:#f2a39b}
html[data-theme=dark] .error{color:#f2a39b}
html[data-theme=dark] .presence.online{color:#95d5ad}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#9a9891;opacity:1}
html[data-theme=dark] dialog::backdrop{background:#10101099}
html[data-theme=dark] #toast{background:#33332f;border:1px solid var(--line)}
/* Align settings actions to the same column instead of sizing each label separately. */
.settings .row>button{width:228px;min-width:0;max-width:100%}
@media(max-width:760px){.settings .row>button{width:100%}}

/* Notifications belong to navigation; no empty desktop header. */
.topbar{display:none;border:0;background:transparent}
html[data-theme=dark] .topbar{background:transparent}
nav #notifications{height:48px;justify-content:flex-start;gap:12px;padding:0 14px}
.account-presence{min-height:0}
.account-presence:empty{display:none}
@media(max-width:760px){.topbar{display:flex;height:64px;border:0}}

.order-sections{display:grid;gap:32px}.order-section>h2{margin:0 0 18px}.order-section .cards{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.order-section .cards{grid-template-columns:1fr}}
