.portal-experience{min-height:100vh}.portal-experience .portal-section{align-content:start;padding-bottom:clamp(3rem,8vh,6rem);display:grid}.portal-experience .portal-window{width:min(560px,100%);margin-inline:auto}.client-workspace-shell.shell{--client-workspace-gap:clamp(.75rem, 1.8vw, 1.1rem);box-sizing:border-box;flex-direction:column;height:100dvh;min-height:100dvh;max-height:100dvh;padding-bottom:0;display:flex;overflow:hidden}.client-workspace-main{box-sizing:border-box;min-height:0;padding-top:calc(var(--menu-h,36px) + env(safe-area-inset-top,0px) + var(--client-workspace-gap));padding-inline:var(--client-workspace-gap);padding-bottom:calc(var(--client-workspace-gap) + env(safe-area-inset-bottom,0px));flex:1;display:grid;overflow:hidden}.client-workspace-window{flex-direction:column;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden;width:100%!important;max-width:none!important;margin:0!important}.client-workspace-window .os-window-body{flex-direction:column;flex:1;gap:clamp(1.5rem,4vh,2.5rem);min-height:0;padding:clamp(1.25rem,3vw,2.5rem);display:flex;overflow:auto}.client-workspace-welcome .display-lg{max-width:22ch}.client-workspace-projects{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex}.client-workspace-projects-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:700}.client-workspace-project-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.client-workspace-project-card{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--glass) 55%, transparent);width:100%;color:inherit;text-align:start;font:inherit;cursor:pointer;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:1rem 1.1rem;text-decoration:none;transition:background .16s,border-color .16s,transform .1s;display:grid}button.client-workspace-project-card:hover,a.client-workspace-project-card:hover{background:color-mix(in srgb, var(--glass-hover) 70%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--glass-border))}button.client-workspace-project-card:active,a.client-workspace-project-card:active{transform:scale(.985)}.client-workspace-project-card.is-current{border-color:color-mix(in srgb, var(--accent) 40%, var(--glass-border));background:color-mix(in srgb, var(--accent) 10%, var(--glass))}.client-workspace-project-icon{color:#fff;background:linear-gradient(160deg,#7ec8ff 0%,#0a84ff 55%,#0055d4 100%);border-radius:12px;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 1px #ffffff59}.client-workspace-project-icon--spark{background:linear-gradient(160deg,#f0abfc 0%,#a855f7 48%,#6366f1 100%)}.client-workspace-project-copy{gap:.2rem;min-width:0;display:grid}.client-workspace-project-name{color:var(--text);font-size:.98rem;font-weight:700}.client-workspace-project-meta{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.client-workspace-project-arrow{color:var(--text-3);flex:none}.client-workspace-logout{appearance:none;color:#fff;height:22px;font:inherit;white-space:nowrap;cursor:pointer;background:#ff3b30;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0 .65rem;font-size:12px;font-weight:500;line-height:1;transition:filter .12s,background .12s;display:inline-flex;box-shadow:inset 0 1px #ffffff38}.client-workspace-logout:hover{filter:brightness(1.05);background:#ff453a}.client-workspace-logout:active{filter:brightness(.94)}.portal-login{flex-direction:column;gap:.85rem;width:min(280px,100%);margin-top:1.75rem;display:flex;position:relative}.portal-login-fields{flex-direction:column;gap:.7rem;display:flex}.portal-login-field{flex-direction:column;gap:.35rem;display:flex}.portal-login-field label{color:var(--text-2);letter-spacing:.01em;margin:0;font-size:12px;font-weight:600}.portal-login-field input{box-sizing:border-box;border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface) 70%, transparent);width:100%;height:36px;color:var(--text);font:inherit;border-radius:8px;outline:none;margin:0;padding:0 .75rem;font-size:13.5px;line-height:1.2;transition:border-color .14s,box-shadow .14s,background .14s}.portal-login-password-wrap{align-items:center;display:flex;position:relative}.portal-login-password-wrap input{padding-inline-end:2.35rem}.portal-login-password-toggle{inset-inline-end:.35rem;z-index:1;width:28px;height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0;transition:color .14s,background .14s;display:inline-flex;position:absolute;top:50%;translate:0 -50%}.portal-login-password-toggle:hover:not(:disabled),.portal-login-password-toggle:focus-visible:not(:disabled){color:var(--text);background:color-mix(in srgb, var(--glass-hover) 70%, transparent);outline:none}.portal-login-password-toggle:disabled{opacity:.5;cursor:wait}.portal-login-field input:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 28%, var(--glass-border))}.portal-login-field input:focus{border-color:color-mix(in srgb, var(--accent) 70%, var(--glass-border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);background:color-mix(in srgb, var(--glass-hover) 55%, transparent)}.portal-login-field input:disabled{opacity:.6;cursor:wait}.portal-login-field input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px color-mix(in srgb, var(--surface) 90%, transparent) inset;caret-color:var(--text);transition:background-color 9999s ease-in-out}.portal-login-field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px color-mix(in srgb, var(--surface) 90%, transparent) inset;caret-color:var(--text);transition:background-color 9999s ease-in-out}.portal-login-field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px color-mix(in srgb, var(--surface) 90%, transparent) inset;caret-color:var(--text);transition:background-color 9999s ease-in-out}.portal-login-error{border:1px solid color-mix(in srgb, #ff453a 30%, var(--glass-border));color:#ff6961;background:#ff453a1a;border-radius:8px;margin:0;padding:.55rem .7rem;font-size:12px;line-height:1.4}html[data-theme=light] .portal-login-error{color:#d70015;background:#fff0ef}.portal-login-submit{appearance:none;box-sizing:border-box;min-width:7.25rem;height:32px;font:inherit;color:#fff;cursor:pointer;background:linear-gradient(#5aadff 0%,#0a84ff 55%,#0071e3 100%);border:0;border-radius:7px;align-self:flex-end;margin-top:.15rem;padding:0 1rem;font-size:13px;font-weight:600;transition:filter .12s,transform 80ms,opacity .12s;box-shadow:inset 0 1px #ffffff4d,0 1px 2px #0062cc47}.portal-login-submit:hover:not(:disabled){filter:brightness(1.05)}.portal-login-submit:active:not(:disabled){filter:brightness(.97);transform:translateY(.5px)scale(.985)}.portal-login-submit:disabled{opacity:.42;cursor:default;filter:none}.portal-login-submit:focus-visible{outline-offset:2px;outline:2px solid #60afff}.portal-hp{clip:rect(0, 0, 0, 0);white-space:nowrap;opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-signin-screen{z-index:100;color:#fff;background:#000;place-items:center;display:grid;position:fixed;inset:0}.portal-signin-stage{text-align:center;flex-direction:column;align-items:center;gap:.45rem;max-width:min(420px,92vw);padding:1.5rem;display:flex}.portal-signin-hello{color:#ffffffeb;letter-spacing:.02em;margin:0 0 .35rem;font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:600}.portal-signin-avatar{place-items:center;width:88px;height:88px;margin-bottom:.55rem;display:grid;position:relative}.portal-signin-avatar-glow{filter:blur(10px);background:radial-gradient(circle,#0a84ff66 0%,#0000 70%);border-radius:50%;animation:2.4s ease-in-out infinite portal-signin-glow;position:absolute;inset:-20%}.portal-signin-avatar-mark{z-index:1;color:#fff;letter-spacing:.02em;background:linear-gradient(160deg,#8fd0ff 0%,#0a84ff 52%,#0055d4 100%);border-radius:50%;place-items:center;width:80px;height:80px;font-size:26px;font-weight:700;display:grid;position:relative;box-shadow:0 18px 44px #0a84ff61,inset 0 1px #ffffff73}.portal-signin-name{letter-spacing:-.02em;color:#fff;margin:0;font-size:clamp(1.35rem,3.5vw,1.75rem);font-weight:650;line-height:1.25}.portal-signin-status{color:#ffffff9e;margin:.55rem 0 0;font-size:13.5px;font-weight:500}.portal-signin-progress{background:#ffffff24;border-radius:999px;width:min(168px,46vw);height:4px;margin-top:1.1rem;overflow:hidden}.portal-signin-progress-fill{border-radius:inherit;transform-origin:0;will-change:transform;background:#fff;width:100%;height:100%;display:block}[dir=rtl] .portal-signin-progress-fill,html[lang=ar] .portal-signin-progress-fill{transform-origin:100%}@keyframes portal-signin-glow{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.08)}}.portal-actions{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.35rem;display:flex}.portal-actions .btn-primary{border-radius:6px;min-width:auto;min-height:32px;padding:.4rem 1rem;font-size:13px}.portal-actions .btn-ghost{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--glass) 40%, transparent);min-height:32px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:.35rem .9rem;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.portal-actions .btn-ghost:hover{background:color-mix(in srgb, var(--glass) 75%, transparent)}.portal-loading{place-items:center;min-height:40vh;display:grid}@media (width<=420px){.portal-login{width:100%;max-width:280px}.portal-login-submit{align-self:stretch;width:100%}}@media (prefers-reduced-motion:reduce){.portal-signin-avatar-glow{animation:none}}
