:root{color:#18211d;background:#f4f6f5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #18211d;--muted: #69756f;--subtle: #8b9690;--line: #dce3df;--line-soft: #e9eeeb;--surface: #ffffff;--canvas: #f4f6f5;--sidebar: #17201c;--accent: #167a55;--accent-dark: #106342;--blue: #2563eb;--amber: #b45309;--danger: #b42318}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}body.drawer-open{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,42%) 1fr;background:var(--surface)}.auth-loading{display:grid;place-items:center;background:var(--canvas)}.loading-mark{display:flex;align-items:center;gap:14px;color:var(--accent)}.auth-brand-panel{position:relative;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:42px clamp(32px,5vw,72px);color:#fff;background:var(--sidebar)}.auth-brand-panel:after{position:absolute;right:-110px;bottom:9%;width:260px;height:260px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 44px #ffffff06,0 0 0 88px #ffffff05;content:""}.brand-lockup{position:relative;z-index:1;display:flex;align-items:center;gap:11px;font-size:17px;font-weight:700}.brand-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#ffffff12}.brand-lockup-light{color:#f8faf9}.auth-signal{position:relative;z-index:1;width:min(340px,100%);display:grid;grid-template-columns:1fr 1fr;gap:12px}.signal-line{grid-column:1 / -1;height:88px;padding:18px 20px;display:flex;align-items:flex-end;gap:8px;border:1px solid rgba(255,255,255,.12);border-radius:6px}.signal-line span{width:7px;background:#4ade80;border-radius:2px 2px 0 0}.signal-line span:nth-child(1){height:24px;opacity:.55}.signal-line span:nth-child(2){height:42px;opacity:.75}.signal-line span:nth-child(3){height:30px}.signal-box{min-height:94px;display:flex;align-items:center;gap:13px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#86efac}.signal-box-secondary{color:#93c5fd}.signal-box strong,.signal-box small{display:block;letter-spacing:0}.signal-box strong{color:#fff;font-size:18px}.signal-box small{margin-top:3px;color:#98a49e;font-size:11px;text-transform:uppercase}.auth-version{position:relative;z-index:1;margin:0;color:#8d9a94;font-size:12px}.auth-form-panel{display:grid;place-items:center;padding:40px 28px}.login-form{width:min(390px,100%)}.login-heading{display:flex;align-items:center;gap:14px;margin-bottom:34px}.login-heading-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;color:var(--accent);background:#e8f4ee}.login-heading h1,.login-heading p{margin:0}.login-heading h1{font-size:24px;line-height:1.25;letter-spacing:0}.login-heading p{margin-top:4px;color:var(--muted);font-size:13px}.field-label{display:block;margin:19px 0 8px;color:#3f4b45;font-size:13px;font-weight:600}.input-wrap{height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid #ccd5d0;border-radius:6px;color:var(--subtle);background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #167a551f}.input-wrap input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);background:transparent}.input-action,.search-box button,.detail-list button,.url-field button{width:30px;height:30px;display:grid;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:5px;color:var(--muted);background:transparent;cursor:pointer}.input-action:hover,.search-box button:hover,.detail-list button:hover,.url-field button:hover{color:var(--ink);background:#eff3f1}.login-button{width:100%;height:46px;margin-top:26px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:6px;color:#fff;background:var(--accent);font-weight:650;cursor:pointer}.login-button:hover:not(:disabled){background:var(--accent-dark)}.login-button:disabled{opacity:.55;cursor:not-allowed}.form-alert,.page-alert{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid #f2c9c5;border-radius:6px;color:#8f1f17;background:#fff5f4;font-size:13px}.form-alert+.form-alert{margin-top:8px}.app-shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr);background:var(--canvas)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:224px;display:flex;flex-direction:column;padding:24px 14px 18px;color:#dce4e0;background:var(--sidebar)}.sidebar-brand{padding:0 8px}.sidebar-brand .brand-icon{width:34px;height:34px}.primary-nav{margin-top:36px;display:grid;gap:6px}.primary-nav button{height:42px;display:flex;align-items:center;gap:11px;padding:0 12px;border:0;border-radius:6px;color:#aeb9b3;background:transparent;cursor:pointer;text-align:left}.primary-nav button:hover{color:#fff;background:#ffffff0d}.primary-nav button.active{color:#fff;background:#286346}.sidebar-footer{margin-top:auto;display:grid;gap:7px;padding:14px 9px 0;border-top:1px solid rgba(255,255,255,.09);color:#829089;font-size:11px;text-transform:uppercase}.service-indicator{display:flex;align-items:center;gap:7px;color:#c6d0cb;font-size:12px;text-transform:none}.service-indicator i{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px #4ade801f}.workspace{min-width:0;grid-column:2}.topbar{height:60px;display:flex;align-items:center;padding:0 clamp(20px,3vw,42px);border-bottom:1px solid var(--line);background:#fffffff0}.mobile-brand{display:none}.topbar-spacer{flex:1}.user-menu{display:flex;align-items:center;gap:9px;color:#435049;font-size:13px;font-weight:600}.user-avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#155d41;background:#dff1e8;font-size:12px}.icon-button{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent;cursor:pointer}.icon-button:hover{border-color:var(--line);color:var(--ink);background:#fff}.content{width:min(1240px,100%);margin:0 auto;padding:34px clamp(20px,3vw,42px) 56px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.eyebrow{margin:0 0 7px;color:var(--accent);font-size:10px;font-weight:800}.page-heading h1{margin:0;font-size:27px;line-height:1.2;letter-spacing:0}.primary-button,.secondary-button,.text-button,.download-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;font-weight:650;cursor:pointer;text-decoration:none}.primary-button{height:36px;padding:0 13px;border:1px solid var(--accent);color:#fff;background:var(--accent);font-size:13px}.primary-button:hover:not(:disabled){border-color:var(--accent-dark);background:var(--accent-dark)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.danger-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid #c73a31;border-radius:6px;color:#fff;background:var(--danger);font-size:12px;font-weight:700;cursor:pointer}.danger-button:hover:not(:disabled){border-color:#901f18;background:#901f18}.danger-button:disabled{opacity:.48;cursor:not-allowed}.secondary-button{height:36px;padding:0 13px;border:1px solid #cfd8d3;color:#344139;background:#fff;font-size:13px}.page-actions{display:flex;align-items:center;gap:8px}.secondary-button:hover:not(:disabled){border-color:#aebbb4;background:#f9fbfa}.secondary-button:disabled{opacity:.6}.page-alert{margin-top:18px}.page-notice{min-height:42px;margin-top:18px;display:flex;align-items:center;gap:9px;padding:8px 10px 8px 13px;border:1px solid #b9ddcb;border-radius:6px;color:#176344;background:#eef8f3;font-size:13px}.page-notice button{width:28px;height:28px;margin-left:auto;display:grid;place-items:center;padding:0;border:0;border-radius:5px;color:#418067;background:transparent;cursor:pointer}.page-notice button:hover{background:#dfeee7}.page-alert button{margin-left:auto;border:0;color:#8f1f17;background:transparent;font-weight:700;cursor:pointer}.metrics{margin-top:28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric{min-width:0;min-height:82px;display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.metric-icon{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;border-radius:6px}.metric-service .metric-icon{color:#147d54;background:#e5f5ed}.metric-release .metric-icon{color:var(--blue);background:#eaf0ff}.metric-missing .metric-icon{color:var(--amber);background:#fff2df}.metric-scripts .metric-icon{color:#6648a6;background:#f0ebfb}.metric small,.metric strong{display:block}.metric small{color:var(--muted);font-size:11px}.metric strong{margin-top:3px;overflow:hidden;font-size:20px;line-height:1.1;text-overflow:ellipsis}.data-section{margin-top:18px}.data-toolbar{min-height:54px;display:flex;align-items:center;gap:12px;padding:9px 10px;border:1px solid var(--line);border-bottom:0;border-radius:6px 6px 0 0;background:var(--surface)}.search-box{width:min(280px,34vw);height:35px;display:flex;align-items:center;gap:8px;padding:0 8px 0 11px;border:1px solid #d3dbd7;border-radius:5px;color:var(--subtle);background:#fbfcfb}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #167a551a}.search-box input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px}.search-box button{width:25px;height:25px}.segmented-control{height:34px;display:flex;align-items:center;padding:3px;border:1px solid #dbe2de;border-radius:5px;background:#f1f4f2}.segmented-control button{height:26px;padding:0 10px;border:0;border-radius:3px;color:var(--muted);background:transparent;font-size:11px;cursor:pointer}.segmented-control button.active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #18211d1a;font-weight:700}.updated-at{margin-left:auto;display:flex;align-items:center;gap:5px;white-space:nowrap;color:var(--subtle);font-size:11px}.extension-table,.config-list,.table-loading{border:1px solid var(--line);background:var(--surface)}.table-loading{min-height:280px;display:grid;place-items:center;color:var(--accent)}.table-header,.extension-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(180px,1.25fr) 80px 110px 105px 24px;align-items:center;column-gap:16px}.table-header{min-height:37px;padding:0 15px;border-bottom:1px solid var(--line);color:var(--subtle);background:#f8faf9;font-size:10px;font-weight:700;text-transform:uppercase}.extension-row{width:100%;min-height:62px;padding:8px 15px;border:0;border-bottom:1px solid var(--line-soft);background:#fff;text-align:left;cursor:pointer}.extension-row:last-of-type{border-bottom:0}.extension-row:hover{background:#f8fbf9}.extension-name-cell{min-width:0;display:flex;align-items:center;gap:11px}.extension-glyph{width:32px;height:32px;display:grid;flex:0 0 auto;place-items:center;border:1px solid #dbe4df;border-radius:6px;color:var(--accent);background:#f4f8f6;font-style:normal}.extension-glyph.large{width:42px;height:42px}.extension-name-cell span,.extension-name-cell strong,.extension-name-cell small{min-width:0;display:block}.extension-name-cell strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.extension-name-cell small{margin-top:4px;overflow:hidden;color:var(--subtle);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.extension-id,.version-value,.date-value{min-width:0;overflow:hidden;color:#59655f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.version-value{color:var(--ink);font-size:13px}.status-badge{width:fit-content;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;font-weight:650}.status-badge i{width:7px;height:7px;border-radius:50%}.status-available{color:#14724f}.status-available i{background:#20a66e;box-shadow:0 0 0 3px #e2f4eb}.status-missing{color:#97600b}.status-missing i{background:#d88b16;box-shadow:0 0 0 3px #fff0d7}.status-unavailable{color:#a03931}.status-unavailable i{background:#d14d43;box-shadow:0 0 0 3px #fbe6e4}.row-arrow{color:#a8b2ad}.empty-state,.drawer-empty{min-height:150px;display:grid;place-items:center;color:var(--subtle);font-size:13px}.config-list{display:grid;gap:12px;padding:12px;background:#f8faf9}.config-group{overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}.config-group>header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.config-group>header>div{min-width:0;display:flex;align-items:center;gap:11px}.config-group h2,.config-group p{margin:0}.config-group h2{font-size:14px}.config-group p{margin-top:3px;color:var(--muted);font-size:11px}.text-button{flex:0 0 auto;padding:7px 8px;border:0;color:var(--accent);background:transparent;font-size:12px}.text-button:hover{background:#eef7f2}.config-rules{padding:0 14px}.config-rule{min-height:52px;display:grid;grid-template-columns:minmax(0,1fr) 105px 55px;align-items:center;gap:16px;border-bottom:1px solid var(--line-soft)}.config-rule:last-child{border-bottom:0}.config-rule code,.config-rule small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-rule code{color:#28352e;font-size:11px;font-weight:650}.config-rule small{margin-top:3px;color:var(--subtle);font-size:10px}.run-at{color:#7042a0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.match-count{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.drawer-layer{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end;background:#11181561;animation:fade-in .15s ease-out}.modal-layer{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#1118156b;animation:fade-in .15s ease-out}.modal-dialog{width:min(440px,100%);overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 20px 60px #121d1733;animation:modal-in .18s ease-out}.modal-header{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 16px;border-bottom:1px solid var(--line)}.modal-header>div{min-width:0;display:flex;align-items:center;gap:11px}.modal-icon{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;border-radius:6px;color:var(--accent);background:#e8f4ee}.modal-icon-danger{color:var(--danger);background:#fceae8}.modal-header p,.modal-header h2{margin:0}.modal-header p{color:var(--accent);font-size:9px;font-weight:800}.modal-header .danger-eyebrow{color:var(--danger)}.modal-header h2{margin-top:3px;font-size:16px}.add-extension-form{padding:18px 18px 16px}.add-extension-form .field-label:first-of-type{margin-top:4px}.add-extension-form input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.delete-warning{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #f0c3bf;border-radius:6px;color:#8f251e;background:#fff4f3}.delete-warning svg{flex:0 0 auto;margin-top:1px}.delete-warning p{margin:0;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.delete-warning+.form-alert{margin-top:10px}.input-wrap-danger:focus-within{border-color:var(--danger);box-shadow:0 0 0 3px #b423181a}.modal-actions{margin:24px -18px -16px;display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:#f8faf9}.detail-drawer{width:min(480px,100%);height:100%;overflow:auto;background:#fff;box-shadow:-12px 0 40px #121d1729;animation:slide-in .18s ease-out}.drawer-header{position:sticky;top:0;z-index:2;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 18px;border-bottom:1px solid var(--line);background:#fffffff5}.drawer-header>div{min-width:0;display:flex;align-items:center;gap:12px}.drawer-header p,.drawer-header h2{margin:0}.drawer-header p{color:var(--accent);font-size:9px;font-weight:800}.drawer-header h2{margin-top:3px;overflow-wrap:anywhere;font-size:16px}.drawer-content{padding:20px 18px 40px}.detail-status{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:#fafcfb}.detail-status strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.detail-section{margin-top:25px}.detail-section h3{margin:0 0 10px;color:#344139;font-size:12px;font-weight:750}.detail-section h3 span{margin-left:5px;color:var(--subtle);font-weight:500}.danger-zone{padding:14px;border:1px solid #efcfcc;border-radius:6px;background:snow}.danger-zone h3{color:#8f251e}.danger-zone p{margin:-2px 0 12px;color:#7e625f;font-size:11px;line-height:1.55}.detail-list{margin:0;border-top:1px solid var(--line-soft)}.detail-list>div{min-height:43px;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;border-bottom:1px solid var(--line-soft);font-size:12px}.detail-list dt{color:var(--muted)}.detail-list dd{min-width:0;margin:0;display:flex;align-items:center;justify-content:flex-end;gap:6px;overflow-wrap:anywhere;text-align:right}.detail-list code{min-width:0;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.url-field{min-height:44px;display:flex;align-items:center;gap:7px;padding:6px 7px 6px 10px;border:1px solid var(--line);border-radius:6px;background:#f8faf9}.url-field code{min-width:0;flex:1;overflow-wrap:anywhere;color:#4b5851;font-size:10px;line-height:1.45}.download-button{height:36px;margin-top:10px;padding:0 12px;color:#fff;background:var(--accent);font-size:12px}.download-button:hover{background:var(--accent-dark)}.drawer-rules{display:grid;gap:8px}.drawer-rules article{padding:11px;border:1px solid var(--line);border-radius:6px}.drawer-rules header{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer-rules header code{min-width:0;overflow-wrap:anywhere;color:#26332c;font-size:11px;font-weight:700}.drawer-rules header span{flex:0 0 auto;color:#7042a0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.drawer-rules p{margin:9px 0;display:flex;align-items:center;gap:6px;overflow-wrap:anywhere;color:var(--muted);font-size:10px}.drawer-rules ul{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px;list-style:none}.drawer-rules li{max-width:100%;padding:4px 6px;overflow-wrap:anywhere;border-radius:4px;color:#315a48;background:#edf6f1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}@keyframes modal-in{0%{transform:translateY(8px);opacity:0}}@media(max-width:1050px){.table-header,.extension-row{grid-template-columns:minmax(170px,1.4fr) minmax(155px,1.15fr) 72px 100px 24px}.table-header span:nth-child(5),.extension-row .date-value{display:none}}@media(max-width:840px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:auto;height:58px;padding:6px 12px;border-top:1px solid rgba(255,255,255,.12)}.sidebar-brand,.sidebar-footer{display:none}.primary-nav{height:100%;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.primary-nav button{height:100%;justify-content:center}.workspace{padding-bottom:58px}.mobile-brand{display:flex;align-items:center;gap:8px;color:#26322c;font-size:14px}.metrics{grid-template-columns:1fr 1fr}.table-header,.extension-row{grid-template-columns:minmax(170px,1.3fr) 74px 100px 24px}.table-header span:nth-child(2),.extension-row .extension-id{display:none}}@media(max-width:650px){.auth-page{display:block;background:#fff}.auth-loading{display:grid}.auth-brand-panel{min-height:178px;padding:24px}.auth-brand-panel:after{right:-90px;bottom:-125px}.auth-signal{display:none}.auth-version{margin-top:56px}.auth-form-panel{padding:38px 22px 48px}.topbar{height:56px;padding:0 16px}.user-name{display:none}.content{padding:25px 14px 38px}.page-heading h1{font-size:23px}.page-heading{flex-wrap:wrap}.page-actions{margin-left:auto}.metrics{gap:8px;margin-top:22px}.metric{min-height:72px;padding:11px;gap:9px}.metric-icon{width:33px;height:33px}.metric strong{font-size:17px}.data-toolbar{min-height:99px;flex-wrap:wrap;align-content:center}.search-box{width:100%}.updated-at{font-size:10px}.segmented-control{max-width:calc(100% - 112px)}.segmented-control button{padding:0 8px}.table-header{display:none}.extension-row{min-height:72px;grid-template-columns:minmax(0,1fr) 88px 18px;gap:10px;padding:10px 12px}.extension-row .version-value{display:none}.status-badge{font-size:10px}.config-list{padding:8px}.config-rule{grid-template-columns:minmax(0,1fr) 42px;gap:8px}.config-rule .run-at{display:none}.detail-drawer{width:100%}.modal-layer{align-items:end;padding:0}.modal-dialog{width:100%;border-width:1px 0 0;border-radius:7px 7px 0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
