:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Cascadia Mono", "SF Mono", "JetBrains Mono", Consolas, "Liberation Mono", monospace;--radius-sm: 6px;--radius: 12px;--radius-lg: 18px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--transition: .14s cubic-bezier(.4, 0, .2, 1)}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0e14;--bg-glow-a: rgba(79, 142, 247, .13);--bg-glow-b: rgba(124, 92, 255, .11);--surface: #141922;--surface-2: #1a2029;--surface-hover: #1e2530;--border: #262d3a;--border-strong: #333c4c;--text: #e8ecf3;--text-muted: #97a1b3;--text-faint: #6b7686;--accent: #4f8ef7;--accent-contrast: #ffffff;--warn: #f0ad3a;--danger: #f2555a;--success: #35c48a;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .28);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55)}:root[data-theme=light]{color-scheme:light;--bg: #f5f7fb;--bg-glow-a: rgba(79, 142, 247, .12);--bg-glow-b: rgba(124, 92, 255, .1);--surface: #ffffff;--surface-2: #f2f5fa;--surface-hover: #f7f9fd;--border: #e0e6ef;--border-strong: #cbd4e1;--text: #131822;--text-muted: #5a6577;--text-faint: #8894a7;--accent: #2563eb;--accent-contrast: #ffffff;--warn: #b7791f;--danger: #d92d34;--success: #12855c;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 20px rgba(16, 24, 40, .07);--shadow-lg: 0 24px 60px rgba(16, 24, 40, .16)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--text);background-color:var(--bg);background-image:radial-gradient(900px 520px at 12% -8%,var(--bg-glow-a),transparent 62%),radial-gradient(760px 460px at 92% 4%,var(--bg-glow-b),transparent 60%);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p{margin:0}code{font-family:var(--font-mono);font-size:.9em;padding:1px 5px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;color:var(--text-muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:color-mix(in srgb,var(--accent) 32%,transparent)}.shell{display:flex;flex-direction:column;min-height:100%;max-width:1360px;margin:0 auto;padding:0 var(--space-5)}.content{flex:1;padding-bottom:var(--space-7)}.centred{display:grid;place-items:center;min-height:100%;padding:var(--space-5)}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;margin-bottom:var(--space-4);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.header__brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.header__logo{border-radius:9px;flex-shrink:0}.header__title{font-size:17px;font-weight:650;letter-spacing:-.01em;white-space:nowrap}.header__subtitle{font-size:12.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.account{position:relative}.account__button{display:flex;align-items:center;gap:var(--space-2);padding:5px 10px 5px 5px;font:inherit;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.account__button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.account__avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:11.5px;font-weight:650;letter-spacing:.02em;color:var(--accent-contrast);background:linear-gradient(135deg,var(--accent),#7c5cff)}.account__name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account__chevron{width:14px;height:14px;color:var(--text-faint)}.account__menu{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:pop .12s ease-out}.account__menu-head{padding:var(--space-2) var(--space-3)}.account__menu-name{font-weight:600;font-size:13.5px}.account__menu-email{font-size:12.5px;color:var(--text-muted);word-break:break-all}.account__roles{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:0 var(--space-3) var(--space-2)}.account__menu-item{display:block;width:100%;padding:9px var(--space-3);margin-top:var(--space-1);font:inherit;font-size:13.5px;text-align:left;color:var(--text);background:none;border:none;border-top:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.account__menu-item:hover{background:var(--surface-hover)}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}}.filter-bar{display:grid;grid-template-columns:minmax(240px,380px) 1fr auto;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.search{position:relative;display:flex;align-items:center}.search__icon{position:absolute;left:12px;width:17px;height:17px;color:var(--text-faint);pointer-events:none}.search__input{width:100%;padding:10px 44px 10px 37px;font:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition),box-shadow var(--transition)}.search__input::placeholder{color:var(--text-faint)}.search__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.search__input::-webkit-search-cancel-button{filter:grayscale(1);opacity:.5;cursor:pointer}.search__hint{position:absolute;right:10px;pointer-events:none}.search__input:focus~.search__hint{opacity:0}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font:inherit;font-size:13px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer;white-space:nowrap;transition:all var(--transition)}.chip:hover{color:var(--text);border-color:var(--border-strong)}.chip--active{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.chip__count{font-size:11px;font-variant-numeric:tabular-nums;opacity:.7}.filter-bar__status{font-size:12.5px;color:var(--text-faint);white-space:nowrap;font-variant-numeric:tabular-nums}.section{margin-bottom:var(--space-6)}.section__head{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3)}.section__title{display:flex;align-items:center;gap:var(--space-2);font-size:13px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.section__count{display:grid;place-items:center;min-width:20px;height:18px;padding:0 5px;font-size:11px;font-weight:600;letter-spacing:0;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border);border-radius:999px}.section__description{font-size:12.5px;color:var(--text-faint)}.section__action{margin-left:auto}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:var(--space-4)}.app-card{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);overflow:hidden;color:inherit;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition),background var(--transition)}.app-card:hover{transform:translateY(-2px);background:var(--surface-hover);border-color:color-mix(in srgb,var(--card-accent, var(--accent)) 45%,var(--border));box-shadow:var(--shadow-lg)}.app-card:focus-visible{outline:2px solid var(--card-accent, var(--accent));outline-offset:2px}.app-card__accent{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--card-accent, var(--accent)),color-mix(in srgb,var(--card-accent, var(--accent)) 25%,transparent));opacity:0;transition:opacity var(--transition)}.app-card:hover .app-card__accent,.app-card:focus-visible .app-card__accent{opacity:1}.app-card__head{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-icon{display:grid;place-items:center;flex-shrink:0;border:1px solid;border-radius:11px;font-size:15px;font-weight:700;letter-spacing:.01em;overflow:hidden}.app-icon img{width:60%;height:60%;object-fit:contain}.app-card__titles{display:flex;flex-direction:column;min-width:0}.app-card__name{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:620;letter-spacing:-.005em;color:var(--text)}.app-card__external{width:12px;height:12px;color:var(--text-faint);opacity:0;transition:opacity var(--transition);flex-shrink:0}.app-card:hover .app-card__external,.app-card:focus-visible .app-card__external{opacity:1}.app-card__host{font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-card__description{font-size:13px;line-height:1.45;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-card__notice{display:flex;align-items:flex-start;gap:6px;padding:6px 9px;font-size:11.5px;line-height:1.4;color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 28%,transparent);border-radius:var(--radius-sm)}.app-card__notice svg{width:13px;height:13px;flex-shrink:0;margin-top:1px}.app-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto;padding-top:var(--space-1)}.app-card__badges{display:flex;flex-wrap:wrap;gap:var(--space-1);min-width:0}.app-card__actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity var(--transition)}.app-card:hover .app-card__actions,.app-card:focus-within .app-card__actions{opacity:1}.app-card__actions:has(.icon-button--starred){opacity:1}.badge{display:inline-flex;align-items:center;padding:2px 7px;font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border-radius:999px;border:1px solid var(--border);color:var(--text-faint);background:var(--surface-2);white-space:nowrap}.badge--tag{text-transform:none;letter-spacing:0;font-weight:500}.badge--development,.badge--staging{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent);background:color-mix(in srgb,var(--warn) 12%,transparent)}.badge--internal{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.badge--role{text-transform:none;letter-spacing:0;color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,transparent);background:color-mix(in srgb,var(--success) 12%,transparent)}.icon-button{display:grid;place-items:center;width:28px;height:28px;padding:0;color:var(--text-faint);background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all var(--transition)}.icon-button svg{width:15px;height:15px}.icon-button:hover{color:var(--text);background:var(--surface-2);border-color:var(--border)}.icon-button--lg{width:34px;height:34px;background:var(--surface);border-color:var(--border)}.icon-button--lg svg{width:17px;height:17px}.icon-button--starred{color:#f5b301}.icon-button--ok{color:var(--success)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 18px;font:inherit;font-size:14px;font-weight:550;color:var(--text);text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition)}.button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.button:disabled{opacity:.6;cursor:progress}.button--primary{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.button--primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,#000);border-color:color-mix(in srgb,var(--accent) 85%,#000)}.button--small{padding:5px 11px;font-size:12.5px}.button__ms-logo{width:17px;height:17px}.link-button{padding:0;font:inherit;font-size:inherit;color:var(--accent);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.panel{width:100%;max-width:440px;padding:var(--space-6);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg)}.panel--wide{max-width:620px;text-align:left}.panel__logo{border-radius:14px;margin-bottom:var(--space-4)}.panel__badge{display:grid;place-items:center;width:52px;height:52px;margin:0 0 var(--space-4);border-radius:14px}.panel:not(.panel--wide) .panel__badge{margin-inline:auto}.panel__badge svg{width:26px;height:26px}.panel__badge--warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.panel__badge--error{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.panel__title{font-size:21px;font-weight:650;letter-spacing:-.015em;margin-bottom:var(--space-2)}.panel__subtitle{font-size:14px;color:var(--text-muted);margin-bottom:var(--space-5)}.panel__note{margin-top:var(--space-5);font-size:12.5px;line-height:1.6;color:var(--text-faint)}.panel__error{margin-top:var(--space-4);padding:var(--space-3);font-size:13px;text-align:left;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--radius)}.panel__list{margin:0 0 var(--space-4);padding-left:var(--space-5);font-size:13.5px;line-height:1.7;color:var(--text)}.panel__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.panel:not(.panel--wide) .panel__actions{justify-content:center}.splash{display:grid;justify-items:center;gap:var(--space-4)}.splash__message{font-size:13.5px;color:var(--text-muted)}.spinner{width:30px;height:30px;border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--space-5);background:#04070c99;backdrop-filter:blur(3px);animation:fade .12s ease-out}@keyframes fade{0%{opacity:0}}.modal{width:100%;max-width:560px;max-height:85vh;overflow-y:auto;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg)}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.modal__title{font-size:17px;font-weight:650}.modal__steps{margin:0 0 var(--space-4);padding-left:var(--space-5);font-size:13.5px;line-height:1.8;color:var(--text-muted)}.modal__code{position:relative}.modal__copy{position:absolute;top:var(--space-2);right:var(--space-2);z-index:1}.modal__code pre{margin:0;padding:var(--space-4);overflow-x:auto;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.modal__code code{padding:0;background:none;border:none;font-size:inherit}.modal__note{margin-top:var(--space-4);font-size:12.5px;line-height:1.7;color:var(--text-faint)}.empty{padding:var(--space-7) var(--space-5);text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.empty__title{font-size:15px;font-weight:600;margin-bottom:var(--space-2)}.empty__body{font-size:13.5px;color:var(--text-muted)}.footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) 0;font-size:12px;color:var(--text-faint);border-top:1px solid var(--border)}.footer__hints{display:flex;align-items:center;gap:6px}@media(max-width:900px){.filter-bar{grid-template-columns:1fr;gap:var(--space-3)}.filter-bar__status,.header__subtitle{display:none}}@media(max-width:620px){.shell{padding:0 var(--space-4)}.app-grid{grid-template-columns:1fr}.account__name{display:none}.footer{justify-content:center;text-align:center}.footer__hints{display:none}.app-card__actions{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.app-card:hover{transform:none}}
