:root{--bg:#05070d;--ink:#f5f6fa;--muted:#e5e7eb9e;--faint:#e5e7eb6b;--line:#ffffff1a;--glass:#ffffff0d;--glass-strong:#ffffff17;--header-glass:#0a0d1699;--field:#ffffff0d;--field-line:#ffffff24;--cyan:#22d3ee;--sky:#38bdf8;--indigo:#6366f1;--violet:#a855f7;--danger:#f87171;--glow-a:#22d3ee33;--glow-b:#a855f72e;--glow-c:#6366f13d;--dots:#ffffff0f;--shadow:0 8px 40px #00000059;--sans:"Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--ease:cubic-bezier(.2, .8, .2, 1);--panel:#10131d;--accent:#6366f1;--red:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f2f4f9;--ink:#1c2433;--muted:#1c2433a3;--faint:#1c243375;--line:#141e321f;--glass:#ffffffb3;--glass-strong:#ffffffeb;--header-glass:#ffffffc7;--field:#ffffffbf;--field-line:#141e3229;--danger:#b3322a;--glow-a:#22d3ee29;--glow-b:#a855f71f;--glow-c:#6366f11a;--dots:#141e3212;--shadow:0 8px 40px #141e321f;--panel:#fff;--accent:#4f46e5;--red:#b3322a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{color:inherit;font-family:inherit}.center-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.muted{color:var(--muted);margin:0;font-size:.95rem}:focus-visible{outline:2px solid var(--sky);outline-offset:2px}.hub-bg{z-index:0;pointer-events:none;background:radial-gradient(circle at 18% 12%, var(--glow-a), transparent 42%), radial-gradient(circle at 85% 8%, var(--glow-b), transparent 40%), radial-gradient(circle at 50% 110%, var(--glow-c), transparent 50%), var(--bg);position:fixed;inset:0}.hub-bg:before{content:"";background-image:radial-gradient(var(--dots) 1px, transparent 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 30%,#0000 100%);mask-image:radial-gradient(70% 60% at 50% 40%,#000 30%,#0000 100%)}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative}.login-card{z-index:1;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);width:100%;max-width:360px;box-shadow:var(--shadow), inset 0 1px 0 #ffffff14;border-radius:20px;flex-direction:column;gap:1rem;padding:2.5rem 2rem;display:flex;position:relative}.login-card h1{letter-spacing:-.03em;margin:0;font-size:1.7rem;font-weight:800}.login-card label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.82rem;display:flex}.login-card input{background:var(--field);border:1px solid var(--field-line);width:100%;color:var(--ink);border-radius:10px;padding:.65rem .75rem;font-family:inherit;font-size:.95rem}.login-card input:focus{border-color:var(--indigo);box-shadow:0 0 0 3px color-mix(in srgb, var(--indigo) 30%, transparent);outline:none}.error-text{color:var(--danger);margin:0;font-size:.85rem}.brand-badge{background:var(--glass-strong);border:1px solid var(--line);border-radius:13px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.brand-badge img{object-fit:contain;width:100%;height:100%}.btn-primary{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--indigo), var(--violet));transition:transform .2s var(--ease), filter .2s;border:none;border-radius:10px;margin-top:.2rem;padding:.75rem;font-size:.95rem;font-weight:600;box-shadow:0 6px 24px #6366f159}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:default}.hub-shell{min-height:100vh;position:relative}.hub-header{z-index:10;background:var(--header-glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(140%);border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;width:min(1180px,100% - 32px);margin:14px auto 0;padding:.5rem .6rem .5rem 1rem;display:flex;position:sticky;top:14px}.brand-row{align-items:center;gap:.6rem;display:flex}.brand-icon{width:auto;height:26px;display:block}.brand{letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.header-right{align-items:center;gap:.6rem;display:flex}.role-pill{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--glass);border:1px solid var(--line);border-radius:100px;padding:.25rem .6rem;font-size:.72rem;font-weight:600}.theme-toggle{background:var(--glass);border:1px solid var(--line);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;line-height:1;transition:background .2s,border-color .2s;display:inline-flex}.theme-toggle:hover{background:var(--glass-strong);border-color:var(--field-line)}.login-theme{z-index:2;position:fixed;top:16px;right:16px}.link-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:10px;padding:.4rem .6rem;font-size:.88rem;transition:color .2s,background .2s}.link-btn:hover{color:var(--ink);background:var(--glass)}.hub-main{z-index:1;width:min(1180px,100% - 32px);margin:0 auto;padding:3.5rem 0 4rem;position:relative}.hub-main h1{letter-spacing:-.03em;margin:0 0 .4rem;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:2rem;display:grid}.app-tile{background:var(--glass);min-height:168px;color:var(--ink);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);transition:transform .25s var(--ease), border-color .25s, box-shadow .25s, background .25s;border-radius:16px;flex-direction:column;gap:.45rem;padding:1.25rem 1.25rem 1.1rem;text-decoration:none;display:flex;position:relative}a.app-tile:hover{border-color:color-mix(in srgb, var(--indigo) 60%, var(--line));background:var(--glass-strong);box-shadow:0 14px 40px color-mix(in srgb, var(--indigo) 22%, transparent);transform:translateY(-3px)}.app-tile.disabled{opacity:.6;cursor:default}.app-tile-icon{background:linear-gradient(135deg, color-mix(in srgb, var(--cyan) 22%, transparent), color-mix(in srgb, var(--indigo) 26%, transparent));border:1px solid var(--line);border-radius:13px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:.35rem;font-size:1.5rem;display:flex}.app-tile-name{letter-spacing:-.01em;font-size:1.08rem;font-weight:600}.app-tile-desc{color:var(--muted);font-size:.86rem;line-height:1.45}.app-tile-status{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);border:1px solid var(--line);border-radius:100px;align-self:flex-start;margin-top:auto;padding:.2rem .55rem;font-size:.68rem;font-weight:600}.app-tile-open{color:var(--sky);align-self:flex-start;gap:.35rem;margin-top:auto;font-size:.88rem;font-weight:600;display:inline-flex}:root[data-theme=light] .app-tile-open{color:#2f5d8a}a.app-tile:hover .app-tile-open span{transform:translate(3px)}.app-tile-open span{transition:transform .2s var(--ease)}@media (width<=560px){.hub-main{padding-top:2.25rem}.role-pill{display:none}}@media (prefers-reduced-motion:reduce){.app-tile,.btn-primary,.app-tile-open span{transition:none}a.app-tile:hover{transform:none}}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);background:#05070d8c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--panel);width:min(420px,100%);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:1.6rem}.modal h3{margin:0 0 .6rem;font-size:1.05rem}.modal p{color:var(--muted);margin:0 0 .6rem;font-size:.92rem}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.modal-actions .btn-primary{margin-top:0;padding:.55rem 1rem}.btn-secondary{cursor:pointer;background:var(--glass);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:.55rem 1rem;font-size:.9rem;font-weight:600}.btn-secondary:hover{background:var(--glass-strong)}.header-right .link-btn[aria-label^=Notifications]{font-size:1rem}
