:root{color-scheme:dark;--base:#0D0D0D;--panel:#1B1815;--surface:#151311;--button:#252019;--hover:#3A1410;--blue:#FF7461;--cyan:#FF907D;--text:#FDF3E0;--muted:#C2B39B;--border:#40352D;--input-border:#40352D;--danger:#DA6470;--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:#151311;font-size:14px;font-weight:600;transition:background-color .18s ease}.primary:hover{background:#FF907D}.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(--blue);background:var(--hover)}.service-tab[aria-pressed=true]{color:var(--blue);background:var(--hover)}.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:#FFAD7094}.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:#151311;padding:8px 12px}
@media(min-width:754px) and (max-width:820px){.brand,.brand-full{width:120px;height:40px}}
@media(max-width:753px),(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(5,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:420px){.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}}

/* Fifth service keeps the original navigation and persistent service frames. */
.topbar-inner{grid-template-columns:150px minmax(0,1fr) 40px;gap:16px}
.service-tabs{justify-content:center}
.service-tab{min-width:86px;padding-inline:12px}
@media(min-width:754px) and (max-width:820px){.topbar-inner{grid-template-columns:120px minmax(0,1fr) 40px;gap:12px}}
@media(max-width:753px),(pointer:coarse) and (max-height:500px){.topbar-inner{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.service-tab{padding-inline:4px;min-width:0;font-size:12px}}
@media(max-width:420px){.topbar-inner{gap:3px}.service-tab{padding-inline:2px;font-size:10px}}

.service-connect{position:absolute;inset:0;overflow:auto;display:grid;place-items:center;background:var(--base);padding:24px;color:var(--text)}
.connect-message{width:100%;max-width:560px;text-align:center}
.connect-message h1{font-size:26px;margin:0 0 16px}
.connect-message p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 24px}
.connect-message button{padding-inline:18px}
.login-view.reconnect{position:fixed;inset:0;z-index:50;background:#0B0D12d9;backdrop-filter:blur(12px)}
#connect-cancel{border:1px solid var(--border);border-radius:7px;background:var(--button);color:var(--text);min-height:40px}
@media(max-width:420px){.service-tab[data-service=prowlarr]{font-size:9px;letter-spacing:-.2px}}

.login-card{box-shadow:0 0 32px var(--hover)}
