@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.fx-auth{--fx-canvas: #041a25;--fx-card: linear-gradient(-44.989deg, #062230 16.02%, #092635 54.4%, #0f3344 100%);--fx-edge: #426b81;--fx-hairline: #254354;--fx-text: #e4e9f1;--fx-heading: #d8dde5;--fx-muted: #a7b7bf;--fx-accent-strong: #5fc8f1;--fx-glow: rgba(148, 218, 255, .32);position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:40px 16px;background:var(--fx-canvas) url(/brand/background-pattern-dark.png) center top / 1446px 900px no-repeat;color:var(--fx-text);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500}.fx-auth-column{width:100%;max-width:440px;display:flex;flex-direction:column;gap:24px}.fx-auth-brand{display:flex;align-items:center;gap:16px}.fx-auth-logo{flex:none;width:42px;height:48px;background:var(--fx-accent-strong);-webkit-mask:url(/brand/ems-logo.png) center / contain no-repeat;mask:url(/brand/ems-logo.png) center / contain no-repeat}.fx-auth-product{font-size:22px;line-height:32px;color:var(--fx-heading)}.fx-auth-company{font-size:14px;line-height:20px;color:var(--fx-muted)}.fx-auth-card{background:var(--fx-card);box-shadow:inset 0 0 0 1px var(--fx-edge);border-radius:2px;padding:32px}.fx-auth-card h1{margin:0 0 16px;font-size:22px;line-height:32px;font-weight:500;color:var(--fx-heading)}.fx-auth-card p{margin:0 0 32px;font-size:14px;line-height:20px;color:var(--fx-muted)}.fx-auth-card .fx-auth-notice{margin-bottom:16px;padding-bottom:16px;box-shadow:inset 0 -1px 0 var(--fx-hairline);color:var(--fx-text)}.fx-auth-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:10px 16px;text-align:center;border-radius:2px;background:transparent;box-shadow:inset 0 0 0 1px var(--fx-edge);color:var(--fx-text);font-size:14px;line-height:20px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:background-color .16s cubic-bezier(.4,0,.2,1)}.fx-auth-button:hover{background:var(--fx-hairline);color:var(--fx-text);text-decoration:none}.fx-auth-button:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--fx-accent-strong),0 0 0 2px var(--fx-glow)}@media (max-width: 480px){.fx-auth-card{padding:24px 20px}}:root{--bg: #0d1117;--bg-elev: #161b22;--bg-elev-2: #1c2128;--bg-hover: #21262d;--border: #30363d;--border-strong:#444c56;--text: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--accent-bg: #1f6feb;--accent-bg-hover:#388bfd;--danger-bg: #2d1416;--danger-border:#5b1f1f;--danger-text: #ffa198;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.app h1{margin:0 0 .25rem;font-size:1.75rem;color:var(--text)}.app .subtitle{color:var(--text-muted);margin:0}.auth-chip{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:.5rem .8rem;display:flex;flex-direction:column;align-items:flex-end;font-size:.82rem;line-height:1.3;min-width:0}.auth-chip-name{color:var(--text);font-weight:600}.auth-chip-email{color:var(--text-muted);font-size:.78rem}.auth-chip-logout{margin-top:.35rem;color:var(--accent);text-decoration:none;font-size:.78rem}.auth-chip-logout:hover{text-decoration:underline}.step{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1.25rem;box-shadow:0 1px 2px #0006}.step h2{margin:0 0 .75rem;font-size:1.05rem;color:var(--text);display:flex;align-items:center;gap:.5rem}.step h2 .badge{background:var(--accent-bg);color:#fff;border-radius:999px;width:1.6rem;height:1.6rem;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center}.search{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.9rem;margin-bottom:.75rem;background:var(--bg-elev-2);color:var(--text)}.search::placeholder{color:var(--text-muted)}.search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #58a6ff33}.repo-list{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:.25rem;background:var(--bg-elev-2)}.repo-row{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border-radius:4px;cursor:pointer;color:var(--text)}.repo-row:hover{background:var(--bg-hover)}.repo-row input[type=checkbox]{accent-color:var(--accent)}.repo-row .meta{color:var(--text-muted);font-size:.8rem;margin-left:auto}.tag-table{width:100%;border-collapse:collapse}.tag-table th,.tag-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text)}.tag-table th{color:var(--text-muted);font-weight:600}.tag-table select{width:100%;padding:.35rem .5rem;border:1px solid var(--border);border-radius:5px;background:var(--bg-elev-2);color:var(--text)}.tag-table select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #58a6ff33}.mode-toggle{display:inline-flex;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;padding:3px;gap:2px;margin-bottom:.25rem}.mode-toggle .toggle{background:transparent;color:var(--text-muted);border:1px solid transparent;padding:.4rem .95rem;border-radius:5px;font-size:.85rem;cursor:pointer;transition:background .12s ease,color .12s ease}.mode-toggle .toggle:hover{color:var(--text)}.mode-toggle .toggle.active{background:var(--accent-bg);color:#fff;border-color:var(--accent-bg)}.actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}button{background:var(--accent-bg);color:#fff;border:1px solid transparent;padding:.55rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .12s ease}button:hover{background:var(--accent-bg-hover)}button:disabled{background:#2a2f37;color:var(--text-muted);cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border-strong)}button.secondary:hover{background:var(--bg-hover)}button.secondary:disabled{color:var(--text-muted);background:transparent;border-color:var(--border)}.preview{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:6px;padding:1rem 1.25rem;max-height:600px;overflow-y:auto;color:var(--text)}.preview h1{font-size:1.4rem;margin:.2rem 0 .6rem;border-bottom:1px solid var(--border);padding-bottom:.3rem;color:var(--text)}.preview h2{font-size:1.15rem;margin:1rem 0 .4rem;color:var(--accent)}.preview h3{font-size:1rem;margin:.7rem 0 .2rem;color:var(--text)}.preview p{margin:.25rem 0 .5rem}.preview a{color:var(--accent)}.preview a:hover{text-decoration:underline}.preview ul,.preview ol{margin:.3rem 0 .6rem 1.4rem;padding:0}.preview li{margin:.15rem 0}.preview code{font-family:Consolas,SFMono-Regular,monospace;font-size:.85em;background:var(--bg-hover);color:var(--text);padding:.1em .35em;border-radius:4px}.preview pre{background:var(--bg);border:1px solid var(--border);padding:.6rem .8rem;border-radius:6px;overflow-x:auto}.preview pre code{background:transparent;padding:0}.preview blockquote{margin:.5rem 0;padding:.2rem .9rem;border-left:3px solid var(--border-strong);color:var(--text-muted)}.preview table{border-collapse:collapse;width:100%;margin:.5rem 0 .9rem;font-size:.88rem}.preview th,.preview td{border:1px solid var(--border);padding:.45rem .7rem;text-align:left;vertical-align:top}.preview th{background:var(--bg-hover);font-weight:600;color:var(--accent)}.preview tbody tr:nth-child(2n) td{background:#ffffff05}.error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);padding:.6rem .9rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem}.muted{color:var(--text-muted);font-size:.88rem}.loading{color:var(--text-muted);font-style:italic}.app-footer{margin-top:2rem;padding-top:1rem;text-align:center;color:var(--text-muted);font-size:.78rem;border-top:1px solid var(--border)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-rotate .8s linear infinite;vertical-align:middle}.spinner-inline{margin-right:.45rem;border-width:2px}.spinner-lg{width:28px;height:28px;border-width:3px;color:var(--accent);flex-shrink:0}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading-panel{margin-top:1rem;padding:1rem 1.25rem;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;gap:1rem}.loading-panel-text{flex:1;min-width:0}.loading-panel-title{color:var(--text);font-size:.95rem;font-weight:500;line-height:1.3}.loading-panel-meta{color:var(--text-muted);font-size:.8rem;margin-top:.2rem;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2.5s}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:#58a6ff59;color:var(--text)}.app.app-wide{max-width:1600px}.app-nav{margin-bottom:1.25rem}.versions-source{margin:0 0 .9rem;line-height:1.45}.versions-source a{color:var(--accent);text-decoration:none}.versions-source a:hover{text-decoration:underline}.versions-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .9rem;margin-bottom:.75rem}.versions-controls .search{flex:1 1 280px;width:auto;margin:0}.versions-controls .mode-toggle,.versions-controls .actions{margin:0}.versions-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text-muted);cursor:pointer}.service-picker{margin-bottom:.75rem;font-size:.85rem}.service-picker summary{cursor:pointer;color:var(--text-muted)}.service-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.chip input{display:none}.chip.active{border-color:var(--accent-bg);color:var(--text);background:#1f6feb26}.chip-latest{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;opacity:.7}.versions-scroll{overflow:auto;max-height:70vh;border:1px solid var(--border);border-radius:6px}.versions-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.84rem}.versions-table th,.versions-table td{padding:.35rem .65rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.versions-table thead th{position:sticky;top:0;z-index:2;background:var(--bg-elev-2);color:var(--text-muted);font-weight:600}.versions-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.versions-table th.sortable:hover{color:var(--text)}.sort-arrow{margin-left:.3rem;font-size:.65rem}.versions-table td:first-child,.versions-table th:first-child{position:sticky;left:0;background:var(--bg-elev);z-index:1}.versions-table thead th:first-child{z-index:3;background:var(--bg-elev-2)}.versions-table tbody tr:hover td{background:var(--bg-hover)}.versions-table td.ver{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.versions-table td.behind{color:#e3b341;background:#bb80091f}.versions-table tbody tr:hover td.behind{background:#bb800938}.site-cell{font-weight:600}.parse-warn{color:var(--danger-text);cursor:help}.updated-cell a{color:var(--text);text-decoration:none}.updated-cell a:hover{text-decoration:underline}.versions-table td.ahead{color:var(--accent);background:#388bfd1f}.versions-table tbody tr:hover td.ahead{background:#388bfd38}.legend{padding:0 .3rem;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.legend.behind{color:#e3b341;background:#bb80092e}.legend.ahead{color:var(--accent);background:#388bfd2e}.stable-panel{margin-bottom:.75rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev-2);font-size:.85rem}.stable-panel summary{cursor:pointer;font-weight:600}.stable-panel summary .muted{font-weight:400}.stable-help{margin:.6rem 0;line-height:1.45}.stable-filter{max-width:320px;margin-bottom:.6rem}.stable-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.35rem 1.25rem;margin-bottom:.5rem}.stable-row{display:flex;align-items:center;gap:.5rem}.stable-key{flex:0 0 45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.stable-row input{flex:1;min-width:0;padding:.3rem .5rem;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.stable-row input:focus{outline:none;border-color:var(--accent)}.stable-row.changed .stable-key{color:var(--text)}.stable-row.changed input{border-color:#e3b341}.versions-table th.movable{cursor:grab}.versions-table th.dragging,.chip.dragging{opacity:.4}.versions-table th.drag-over{box-shadow:inset 2px 0 0 var(--accent)}.chip{cursor:grab}.chip.drag-over{border-color:var(--accent);box-shadow:-2px 0 0 var(--accent)}.picker-help{margin:.5rem 0 0}.link-button{background:none;border:none;padding:0;color:var(--accent);font-size:inherit;cursor:pointer}.link-button:hover{background:none;text-decoration:underline}.admin-help{margin:0 0 .9rem;line-height:1.45}.admin-repo-list{max-height:60vh}.repo-row.locked{opacity:.6;cursor:not-allowed}.repo-row.changed span:first-of-type{color:#e3b341}.visibility-badge{font-size:.72rem;padding:.05rem .45rem;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.visibility-badge.shown{border-color:var(--accent-bg);color:var(--accent)}.saved-note{align-self:center}.stable-row input:disabled{opacity:.75;cursor:default}.insight-panel{margin-bottom:.75rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev-2);font-size:.85rem}.insight-panel summary{cursor:pointer;font-weight:600}.insight-panel summary .muted{font-weight:400}.issue-count{margin-left:.2rem;padding:0 .45rem;border-radius:999px;background:#bb80092e;color:#e3b341;font-size:.78rem}.issue-group h3{font-size:.85rem;margin:.8rem 0 .3rem}.issue-group ul{margin:0;padding-left:1.1rem}.issue-group li{margin:.2rem 0;line-height:1.4}.rollout-table{border-collapse:collapse;margin-top:.6rem;width:100%;max-width:900px}.rollout-table th,.rollout-table td{padding:.25rem .6rem;text-align:left;white-space:nowrap}.rollout-table th{color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border)}.rollout-table td.ver{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.rollout-bar-col{width:45%}.rollout-bar{display:inline-block;vertical-align:middle;width:60%;height:8px;border-radius:4px;background:#bb800959;overflow:hidden}.rollout-fill{height:100%;background:var(--accent-bg)}.rollout-pct{margin-left:.5rem}.rollout-behind{color:#e3b341}.rollout-note{margin:.5rem 0 0}.stale-select{margin-left:.35rem;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:.2rem .3rem}.expand-button{background:none;border:none;padding:0;color:inherit;font:inherit;cursor:pointer}.expand-button:hover{background:none;color:var(--accent)}.expand-caret{display:inline-block;width:1em;color:var(--text-muted)}.versions-table tr.expanded td{background:var(--bg-hover)}.versions-table tr.history-row td{position:static;white-space:normal;background:var(--bg);padding:.6rem 1rem .9rem 1.6rem}.history-last-changed{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-bottom:.6rem}.history-list{margin:0 0 .5rem;padding-left:1.1rem}.history-list>li{margin:.35rem 0}.history-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline}.history-head a{color:var(--accent);text-decoration:none}.history-msg{color:var(--text)}.history-changes{margin:.15rem 0 0;padding-left:1rem;list-style:none}.history-key{color:var(--text-muted)}.history-changes .ver,.history-head .ver{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.history-nochange{font-size:.8rem}.missing-link{color:inherit;text-decoration:underline dotted;text-underline-offset:3px}.missing-link:hover{text-decoration:underline}.stable-row select{flex:1;min-width:0;padding:.3rem .4rem;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:5px;font-size:.8rem}.stable-row.changed select{border-color:#e3b341}.tag-missing{margin:.35rem 0 0;padding:.35rem .5rem;font-size:.8rem}.admin-list{list-style:none;margin:0 0 .9rem;padding:0}.admin-list li{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border-bottom:1px solid var(--border)}.admin-list li:last-child{border-bottom:none}.admin-list .link-button{margin-left:auto}.admin-add{display:flex;gap:.5rem;flex-wrap:wrap}.admin-add .search{flex:1 1 260px;width:auto;margin:0}.auth-chip{flex-direction:row;align-items:center;gap:.9rem}.auth-chip-who{display:flex;flex-direction:column;align-items:flex-end}.auth-chip form{margin:0}.auth-chip-signout{padding:.35rem .8rem;font-size:.8rem}
