:root{color-scheme:dark;--base:#071019;--panel:#111923;--surface:#0b1927;--button:#102437;--hover:#0d3550;--blue:#007bff;--cyan:#00cfff;--text:#e5e9ef;--muted:#bfc6d0;--border:#29415a;--input-border:#315474;--danger:#ed7777;--bar-height:calc(64px + env(safe-area-inset-top,0px));font-family:"Noto Sans",sans-serif;color:var(--text);background:var(--base)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--base)}[hidden]{display:none!important}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.login-view{height:100%;height:100dvh;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 14px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.login-card{flex:none;width:380px;max-width:100%;padding:28px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.login-logo{display:block;width:228px;max-width:100%;height:auto;object-fit:contain;margin:auto}.login-card h1{margin:16px 0 0;font-size:18px;line-height:26px;text-align:center;font-weight:600}.login-intro{margin:8px 0 26px;font-size:13px;text-align:center;color:var(--muted)}#login-form{display:flex;flex-direction:column;gap:14px}#login-form input:not([type=checkbox]){width:100%;height:44px;padding:10px 14px;border:1px solid var(--input-border);border-radius:7px;background:var(--surface);color:var(--text);font-size:14px}input:focus{border-color:var(--blue)}.remember{display:inline-flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;min-height:24px}.remember input{margin:0;accent-color:var(--blue);width:14px;height:14px}.primary{height:44px;border:1px solid var(--blue);border-radius:7px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;transition:background-color .18s ease}.primary:hover{background:#168aff}.error{margin:0;color:var(--danger);font-size:13px;line-height:1.5}.login-footer{margin:16px 0 0;color:var(--muted);font-size:12px}
.workspace{height:100%;height:100dvh;display:grid;grid-template-rows:var(--bar-height) minmax(0,1fr);overflow:hidden}.topbar{z-index:10;position:relative;min-width:0;height:var(--bar-height);background:var(--panel);padding:env(safe-area-inset-top,0px) max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px))}.topbar-inner{height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-width:0}.brand{justify-self:start;display:flex;align-items:center;width:150px;height:50px;text-decoration:none}.brand img{display:block;object-fit:contain}.brand-full{width:150px;height:50px}.brand-q{display:none!important}.service-tabs{display:flex;align-items:stretch;gap:6px;height:48px;min-width:0}.service-tab{position:relative;min-width:104px;min-height:44px;padding:0 18px;color:var(--muted);background:transparent;border:0;border-radius:7px;font-size:14px;font-weight:600;white-space:nowrap;transition:background-color .16s,color .16s}.service-tab:hover{color:var(--text);background:var(--hover)}.service-tab[aria-pressed=true]{color:var(--text);background:var(--button)}.service-tab[aria-pressed=true]::after{content:"";position:absolute;height:3px;left:14px;right:14px;bottom:2px;border-radius:3px;background:var(--blue)}.profile{position:relative;justify-self:end}.profile-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:1px solid var(--border);border-radius:50%;aspect-ratio:1;background:var(--button);color:var(--text);font-size:14px;font-weight:600;transition:background-color .16s,border-color .16s}.profile-button:hover,.profile-button[aria-expanded=true]{background:var(--hover);border-color:#00a4dc94}.profile-menu{position:absolute;right:0;top:50px;width:240px;max-width:calc(100vw - 28px);padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 44px #0000007a}.profile-menu strong{display:block;overflow-wrap:anywhere;font-size:14px}.signed-in{display:flex;align-items:center;gap:7px;margin:7px 0 16px;font-size:12px;color:var(--muted)}.signed-in>span{display:block;width:7px;height:7px;border-radius:50%;background:#58c889}.profile-menu button{display:block;width:100%;min-height:40px;text-align:left;background:var(--button);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:8px 12px}.profile-menu button:hover{background:var(--hover)}.views{position:relative;min-height:0;min-width:0;overflow:hidden;background:var(--base);padding-bottom:env(safe-area-inset-bottom,0px)}.service-frame{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;background:var(--base);visibility:hidden;opacity:0;pointer-events:none}.service-frame.active{visibility:visible;opacity:1;pointer-events:auto;z-index:1}.loading{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:var(--base);color:var(--muted);font-size:13px}.loading img{height:auto;object-fit:contain}.connection-error{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 28px);width:420px;z-index:100;padding:14px;background:var(--panel);border:1px solid var(--border);border-radius:12px;font-size:13px}.connection-error button{margin-top:10px;display:block;border:0;border-radius:7px;background:var(--blue);color:white;padding:8px 12px}
@media(max-width:700px),(pointer:coarse) and (max-height:500px){.topbar{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}.topbar-inner{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.brand{display:none}.service-tabs{display:contents}.service-tab{min-width:0;width:100%;height:48px;max-width:none;padding:0 7px;font-size:13px}.profile{justify-self:center}.service-tab[aria-pressed=true]::after{left:8px;right:8px}.profile-menu{width:224px}}
@media(max-width:360px){.topbar-inner{gap:4px}.service-tab{padding:0 4px;font-size:12px}.topbar{padding-left:8px;padding-right:8px}}
@media(max-height:600px){.login-view{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@supports(padding:env(safe-area-inset-bottom)){.service-frame{left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);width:calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));height:calc(100% - env(safe-area-inset-bottom,0px))}}
@media(pointer:coarse){#login-form input:not([type=checkbox]){font-size:16px}}
