:root{color-scheme:light dark;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg: #f6f7fb;--surface: #ffffff;--surface-subtle: #f0f3fa;--surface-hover: #e8ecf7;--surface-selected: #e8f0fb;--text: #1a1a2e;--text-muted: #4b5062;--text-subtle: #61677c;--border: #ccd1e2;--accent: #2e5fa3;--header-bg: #16213e;--header-text: #ffffff;--header-link: #c0c9ea;--header-hover-bg: rgba(255, 255, 255, .14);--header-separator: rgba(255, 255, 255, .18);--header-active-accent: #8fb0ff;--header-shadow: 0 1px 3px rgba(10, 14, 30, .25);--link: #1f4fd1;--link-hover: #1a41ab;--focus-ring: #2f6fed;--ok: #2e9e5b;--ok-text: #1a6e3e;--danger: #c0392b;--danger-text: #a93226;--pending: #6d7590;--warning-text: #8a5c00;--primary: #16213e;--primary-hover: #233057;--primary-text: #ffffff;--danger-tint: #fdf1ef;--danger-tint-border: #e6b8b2;--ok-tint: #f0faf4;--ok-tint-border: #bfe3cc;--warning-tint: #fdf8ec;--warning-border: #b8860b;--info-tint: #eef3fb;--badge-neutral-bg: #e8ebf4;--badge-neutral-text: #3a3f55;--badge-ok-bg: #dcf2e4;--badge-ok-text: #1e6b3a;--badge-danger-bg: #fbe3e0;--badge-danger-text: #a02c1f;--badge-warning-bg: #fdf0d3;--badge-warning-text: #8a5c00;--badge-info-bg: #dde9fb;--badge-info-text: #1d4f91;--badge-purple-bg: #ece8f7;--badge-purple-text: #5a3fa8;--badge-teal-bg: #e0f2f1;--badge-teal-text: #1f6f6a;--output-bg: #16213e;--output-text: #e8ecff;--qr-bg: #ffffff;--code-bg: #eef0f6;--selection-bg: #c2d4ff}@media(prefers-color-scheme:dark){:root{--bg: #12152a;--surface: #1b2036;--surface-subtle: #232942;--surface-hover: #2a3152;--surface-selected: #263659;--text: #e9ebf5;--text-muted: #b6bcd2;--text-subtle: #98a0bd;--border: #465073;--accent: #8fb0ff;--header-bg: #141b31;--header-text: #ffffff;--header-link: #c0c9ea;--header-hover-bg: rgba(255, 255, 255, .14);--header-separator: rgba(255, 255, 255, .16);--header-active-accent: #8fb0ff;--header-shadow: 0 1px 3px rgba(0, 0, 0, .5);--link: #8fb0ff;--link-hover: #b3c6ff;--focus-ring: #7aa2ff;--ok: #4cc584;--ok-text: #5fd394;--danger: #e07463;--danger-text: #eb8a7a;--pending: #7d86a3;--warning-text: #f0c46a;--primary: #8fb0ff;--primary-hover: #b3c6ff;--primary-text: #141b31;--danger-tint: #2e1b1a;--danger-tint-border: #7a3a32;--ok-tint: #16281f;--ok-tint-border: #2c5b43;--warning-tint: #2c2410;--warning-border: #a8832a;--info-tint: #1a2542;--badge-neutral-bg: #2c3352;--badge-neutral-text: #c3c9e0;--badge-ok-bg: #17382a;--badge-ok-text: #5fd394;--badge-danger-bg: #4a211c;--badge-danger-text: #eb8a7a;--badge-warning-bg: #3d2f10;--badge-warning-text: #f0c46a;--badge-info-bg: #1c2c4e;--badge-info-text: #9db9f5;--badge-purple-bg: #2e2547;--badge-purple-text: #c4b3f0;--badge-teal-bg: #143837;--badge-teal-text: #7fd4cc;--output-bg: #0d1122;--output-text: #dfe6ff;--code-bg: #262c47;--selection-bg: #2c3a6e}}:root{font-family:var(--font-sans);line-height:1.5;color:var(--text);background-color:var(--bg)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh}body{margin:0}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--selection-bg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{display:flex;flex-direction:column;width:100%;min-height:100vh}.app-header{display:flex;align-items:center;flex-wrap:wrap;column-gap:2.5rem;row-gap:.25rem;padding:.75rem clamp(1rem,4vw,2.5rem);background:var(--header-bg);color:var(--header-text);box-shadow:var(--header-shadow)}.app-title{font-weight:700;font-size:1.1rem;letter-spacing:.01em;white-space:nowrap}.app-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .75rem;padding-left:2.5rem;border-left:1px solid var(--header-separator)}.app-nav a{display:inline-flex;align-items:center;min-height:2.5rem;padding:.375rem .875rem;border-radius:6px;color:var(--header-link);text-decoration:none;white-space:nowrap}.app-nav a:hover{color:var(--header-text);background:var(--header-hover-bg)}.app-nav a.active,.app-nav a.active:hover{color:var(--header-text);font-weight:600;background:var(--header-hover-bg);box-shadow:inset 0 -3px 0 var(--header-active-accent)}@media(max-width:480px){.app-nav{flex-basis:100%;padding-left:0;border-left:none}}.app-main{flex:1;width:100%;padding:clamp(1.25rem,3vw,2rem) clamp(1rem,4vw,2.5rem)}.app-main a{color:var(--link);text-underline-offset:.15em}.app-main a:hover{color:var(--link-hover)}code{background:var(--code-bg);padding:.1rem .35rem;border-radius:4px}.sg-page h1,.dashboard h1,.releases-page h1,.commands-page h1,.not-found h1{margin:0 0 .5rem;font-size:1.5rem}.sg-card,.commands-empty,.commands-selection,.commands-controls,.commands-result,.sign-in-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:1rem 1.25rem;margin:1.25rem 0}.sg-card h2,.commands-selection h2,.commands-result h2,.sign-in-panel h2{margin:0 0 .5rem;font-size:1.1rem}.sg-card h3,.commands-selection h3,.commands-result h3{margin:.75rem 0 .5rem;font-size:1rem}.sg-card-header,.commands-selection-header,.commands-result-header,.releases-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.sg-card-header h2,.commands-selection-header h2,.commands-result-header h2,.releases-page-header h1{margin:0}.sg-error-panel,.error-panel,.commands-error,.commands-warning,.commands-stale,.sg-issued-panel,.selection-banner{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:6px;background:var(--surface);padding:.6rem .75rem;margin:.5rem 0}.sg-error-panel,.error-panel,.commands-error,.commands-warning{border-color:var(--danger-tint-border);border-left-color:var(--danger);background:var(--danger-tint);color:var(--danger-text)}.commands-stale{border-color:var(--warning-border);border-left-color:var(--warning-border);background:var(--warning-tint);color:var(--warning-text)}.sg-issued-panel{border-color:var(--ok-tint-border);border-left-color:var(--ok);background:var(--ok-tint)}.selection-banner{border-left-color:var(--accent);background:var(--info-tint)}.error-panel p,.commands-error p,.sg-issued-panel p,.selection-banner p,.commands-warning p,.commands-stale p{margin:0 0 .5rem}.error-panel p:last-child,.commands-error p:last-child,.sg-issued-panel p:last-child,.selection-banner p:last-child,.commands-warning p:last-child,.commands-stale p:last-child{margin-bottom:0}.sg-error-panel{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sg-error-panel .sg-error-text{margin:0;word-break:break-word}.sg-toolbar{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.sg-toolbar-field{display:flex;flex-direction:column;gap:.15rem;font-size:.8rem;color:var(--text-muted)}.sg-muted,.panel-note{color:var(--text-muted);font-size:.9rem}.commands-note,.sign-in-note,.commands-locked{color:var(--text-muted);font-size:.85rem}.commands-note,.sign-in-note{margin:.25rem 0 0}.sg-warning,.commands-warning{color:var(--warning-text);font-size:.85rem;margin:.25rem 0 0}.sg-error-text,.sign-in-error{color:var(--danger-text);font-size:.9rem;margin:.5rem 0 0}.checksum-label{color:var(--text-subtle);font-size:.8rem}.commands-change{font-size:.85rem}.sg-table-wrap,.artifact-table{overflow-x:auto;margin-top:.5rem}.sg-table,.artifact-table{width:100%;border-collapse:collapse;font-size:.85rem}.artifact-table{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.artifact-table caption{caption-side:top;text-align:left;color:var(--text-muted);padding:.5rem .75rem;font-size:.85rem}.sg-table th,.sg-table td,.artifact-table th,.artifact-table td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}.sg-table th,.artifact-table th{color:var(--text-muted);font-weight:600;white-space:nowrap}.sg-table thead th,.artifact-table thead th{background:var(--surface-subtle)}.sg-table tbody tr:last-child td,.artifact-table tbody tr:last-child td{border-bottom:none}.sg-numeric,.artifact-size{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sg-path,.artifact-path code,.commands-sha,.sg-issued-url code,.commands-facts-wide code{word-break:break-all;font-size:.8rem}.sg-url-cell,.artifact-path{min-width:16rem}.sg-url-cell .sg-button{margin-left:.4rem}.artifact-checksums code{display:inline-block;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.sg-detail-cell{max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.artifact-row{cursor:pointer}.artifact-row:hover td{background:var(--surface-hover)}.artifact-row--selected td{background:var(--surface-selected)}.artifact-row--selected td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.sg-row--expanded td,.sg-row--detail td{background:var(--surface-subtle)}.sg-row--detail td{padding:.75rem 1rem}.sg-badge,.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.sg-badge--active,.sg-badge--success,.sg-badge--managed,.sg-badge--event-download,.badge--available{background:var(--badge-ok-bg);color:var(--badge-ok-text)}.sg-badge--expired,.sg-badge--muted{background:var(--badge-neutral-bg);color:var(--text-muted)}.sg-badge--revoked,.sg-badge--danger,.sg-badge--event-revoke,.sg-badge--event-auth_failure,.badge--unavailable{background:var(--badge-danger-bg);color:var(--badge-danger-text)}.sg-badge--direct,.sg-badge--warning,.sg-badge--event-provider_error,.sg-badge--event-expire{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.sg-badge--info,.sg-badge--event-issue,.badge--source-gcs{background:var(--badge-info-bg);color:var(--badge-info-text)}.badge--source-github{background:var(--badge-purple-bg);color:var(--badge-purple-text)}.badge--source-merged{background:var(--badge-teal-bg);color:var(--badge-teal-text)}.sg-button,.refresh-button,.error-panel button,.selection-banner button,.sign-in-form button,.copy-button{border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle);color:var(--text);padding:.35rem .8rem;font:inherit;font-size:.85rem;cursor:pointer}.sg-button:hover:not(:disabled),.refresh-button:hover:not(:disabled),.error-panel button:hover:not(:disabled),.selection-banner button:hover:not(:disabled),.sign-in-form button:hover:not(:disabled),.copy-button:hover:not(:disabled){background:var(--surface-hover)}.sg-button:disabled,.refresh-button:disabled,.copy-button:disabled{opacity:.55;cursor:default}.sg-button--primary,.commands-generate,.sign-in-form button{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.sg-button--primary:hover:not(:disabled),.commands-generate:hover:not(:disabled),.sign-in-form button:hover:not(:disabled){background:var(--primary-hover)}.commands-generate:disabled{cursor:progress}.sg-button--danger,.error-panel button,.selection-banner button{border-color:var(--danger);color:var(--danger-text);background:var(--surface)}.sg-button--danger:hover:not(:disabled),.error-panel button:hover:not(:disabled),.selection-banner button:hover:not(:disabled){background:var(--danger-tint)}.sg-button--small,.copy-button{padding:.2rem .55rem;font-size:.78rem}.sg-copy--copied,.copy-button--copied{border-color:var(--ok);color:var(--ok-text)}.sg-copy--failed,.copy-button--failed{border-color:var(--danger);color:var(--danger-text)}.sg-input,.sg-select,.sign-in-form input,.expiry-select,.commands-field select{border:1px solid var(--border);border-radius:6px;padding:.35rem .55rem;font:inherit;font-size:.85rem;background:var(--surface);color:var(--text)}.sg-input--mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sign-in-form input{width:100%;max-width:20rem}.expiry-select,.commands-field select{max-width:13.75rem}.sg-field,.commands-field{margin:.75rem 0;border:none;padding:0}.commands-field{display:flex;flex-direction:column;gap:.35rem;margin:.75rem 0}.sg-field:disabled,.commands-targets:disabled{opacity:.65}.sg-label,.commands-field>label,.commands-field>legend,.sign-in-form label{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:.25rem;padding:0}.sg-radio,.commands-radio{display:flex;align-items:baseline;gap:.45rem;margin:.25rem 0;font-size:.85rem}.sg-issue-form .sg-input{width:100%;max-width:40rem}.sg-expiry-field .sg-select{min-width:7rem}.sg-actions,.commands-actions{margin-top:.75rem;display:flex;gap:.5rem}.sg-issued-title{margin:0 0 .4rem;font-size:.85rem}.sg-issued-url{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sg-signin,.sign-in-panel{max-width:34rem}.sg-signin-form{display:flex;gap:.5rem}.sg-signin-form .sg-input{flex:1}.sign-in-form{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.command-output{background:var(--output-bg);color:var(--output-text);border-radius:6px;padding:.75rem 1rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.command-output code{background:transparent;padding:0;color:inherit}.qr-code{margin:0;flex:0 0 auto}.qr-code-canvas{border:1px solid var(--border);border-radius:6px;background:var(--qr-bg)}.qr-code-error{max-width:12rem;font-size:.85rem;color:var(--danger-text)}.health-card{border:1px solid var(--border);border-left-width:6px;border-radius:8px;background:var(--surface);padding:1rem 1.25rem;max-width:480px}.health-card--ok{border-left-color:var(--ok)}.health-card--ok .health-status{color:var(--ok-text)}.health-card--unreachable{border-left-color:var(--danger)}.health-card--unreachable .health-status{color:var(--danger-text)}.health-card--loading{border-left-color:var(--pending)}.health-card--loading .health-status{color:var(--text-muted)}.health-status{font-size:1.25rem;font-weight:600;margin:.25rem 0}.health-detail{color:var(--text-muted);word-break:break-word}.health-endpoint{color:var(--text-subtle);font-size:.85rem}.releases-layout{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:1.25rem;align-items:start}@media(max-width:800px){.releases-layout{grid-template-columns:1fr}}.release-list{display:flex;flex-direction:column;gap:.5rem;max-height:70vh;overflow-y:auto}.release-item{display:flex;flex-direction:column;gap:.25rem;text-align:left;padding:.6rem .75rem;border:1px solid var(--border);border-left-width:6px;border-radius:8px;background:var(--surface);cursor:pointer;font:inherit;color:inherit}.release-item:hover{border-color:var(--accent)}.release-item--selected{border-left-color:var(--accent);background:var(--surface-selected)}.release-item-version{font-weight:600;font-size:1.05rem}.release-item-meta{display:flex;gap:.4rem;flex-wrap:wrap}.release-item-date{color:var(--text-muted);font-size:.85rem}.artifact-panel{min-width:0}.commands-facts,.commands-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem 1.5rem;margin:0}.commands-facts dt,.commands-meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle)}.commands-facts dd,.commands-meta dd{margin:0}.commands-facts-wide{grid-column:1 / -1}.commands-meta{margin-top:1rem}.commands-result--stale{opacity:.75}.commands-url-row{display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap;margin-top:1rem}.commands-url-text{flex:1 1 320px;min-width:0}.commands-url-text h3{margin:0 0 .35rem;font-size:.95rem}.commands-url-text code{display:block;word-break:break-all;padding:.4rem .6rem}.commands-url-actions{margin-top:.5rem}.sg-run-artifacts .sg-table{margin-top:.25rem}.sg-issue-inline{border-top:1px dashed var(--border);margin-top:.75rem;padding-top:.25rem}
