:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e8ece9;background:#111413;font-synthesis:none;letter-spacing:0;--bg: #111413;--surface: #181c1a;--surface-2: #202522;--surface-3: #282e2a;--border: #323934;--border-soft: #282e2a;--text: #e8ece9;--muted: #98a19b;--green: #54b87a;--green-dark: #1f5334;--blue: #65a9d7;--red: #df6a63;--yellow: #d5ad5c;--sidebar: 236px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:var(--bg)}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}code{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:12px;color:#b9c8be;overflow-wrap:anywhere}.boot{display:grid;min-height:100vh;place-items:center;color:var(--green)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,44%) 1fr;background:#121514}.login-image{position:relative;overflow:hidden;background:#202622;display:grid;place-items:center}.login-image:before{content:"";position:absolute;inset:0;background-image:url(/eris-avatar.png);background-size:cover;background-position:center;image-rendering:pixelated;opacity:.25;filter:saturate(.65) contrast(1.3)}.login-image:after{content:"";position:absolute;inset:0;background:#0c0f0d52}.login-image img{position:relative;z-index:1;width:156px;height:156px;image-rendering:pixelated;border:1px solid rgba(255,255,255,.2);box-shadow:0 22px 60px #0006}.login-panel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:440px;width:calc(100% - 64px);margin:auto}.login-panel .brand{margin-bottom:70px}.login-panel h1{font-size:30px;margin:0 0 28px;font-weight:680}.brand{display:flex;align-items:center;gap:12px}.brand img{width:38px;height:38px;image-rendering:pixelated;border-radius:4px}.brand div{display:flex;flex-direction:column}.brand strong{font-size:18px}.brand span{color:var(--muted);font-size:12px}.discord-login{display:inline-flex;height:44px;align-items:center;gap:10px;padding:0 18px;background:#5865f2;color:#fff;text-decoration:none;border-radius:5px;font-weight:650}.discord-login:hover{background:#6975f5}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar);display:flex;flex-direction:column;background:#151817;border-right:1px solid var(--border-soft)}.sidebar-brand{display:flex;align-items:center;gap:11px;height:72px;padding:0 18px;border-bottom:1px solid var(--border-soft)}.sidebar-brand img{width:34px;height:34px;image-rendering:pixelated;border-radius:4px}.sidebar-brand div{display:flex;flex-direction:column;min-width:0}.sidebar-brand strong{font-size:15px}.sidebar-brand span{color:var(--muted);font-size:11px}.sidebar nav{padding:16px 10px;display:flex;flex-direction:column;gap:3px}.sidebar nav button{border:0;border-radius:5px;background:transparent;display:flex;align-items:center;gap:11px;min-height:40px;padding:0 12px;text-align:left;color:#aab2ad;cursor:pointer}.sidebar nav button:hover{background:#1e2320;color:var(--text)}.sidebar nav button.active{background:#24352a;color:#8ed2a7}.sidebar-user{margin-top:auto;border-top:1px solid var(--border-soft);padding:14px 12px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:9px;align-items:center}.sidebar-user>div:nth-child(2){display:flex;flex-direction:column;overflow:hidden}.sidebar-user strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user span{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.user-avatar{width:32px;height:32px;border-radius:4px;background:#33433a;color:#9bd3af;display:grid;place-items:center;font-size:12px;font-weight:700}.main-content{min-height:100vh;margin-left:var(--sidebar);padding:32px clamp(22px,3vw,48px) 64px}.mobile-menu,.sidebar-scrim,.icon-button.mobile-close{display:none}.page-header{min-height:68px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:25px}.page-header h1{font-size:24px;line-height:1.2;margin:0;font-weight:680}.page-header p{color:var(--muted);margin:7px 0 0;font-size:13px}.header-actions{display:flex;gap:9px;align-items:center}.server-page-header{min-height:74px;margin-bottom:4px}.server-page-header h1{margin-top:4px}.back-link{border:0;background:transparent;color:var(--muted);padding:0;font-size:12px;cursor:pointer}.back-link:hover{color:var(--green)}.icon-button{width:34px;height:34px;flex:0 0 34px;display:inline-grid;place-items:center;color:#a8b0ab;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;text-decoration:none;padding:0}.icon-button:hover{background:var(--surface-2);border-color:var(--border);color:var(--text)}.danger-icon:hover{color:var(--red);background:#df6a6314;border-color:#df6a6340}.button{min-height:36px;border:1px solid transparent;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:var(--green);color:#0e1b13;border-color:var(--green)}.button.primary:hover:not(:disabled){background:#6ac78d}.button.secondary{background:var(--surface-2);border-color:var(--border);color:#d8ded9}.button.secondary:hover:not(:disabled){background:var(--surface-3)}.button.danger{background:#6c2d2b;border-color:#8e3d39;color:#ffe2df}.button.danger:hover:not(:disabled){background:#813632}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--border-soft);margin-bottom:32px}.metric{min-height:92px;display:flex;align-items:center;gap:13px;padding:17px 20px;border-right:1px solid var(--border-soft)}.metric:last-child{border-right:0}.metric>svg{color:var(--green)}.metric>div{display:flex;flex-direction:column;min-width:0}.metric span{font-size:11px;color:var(--muted)}.metric strong{margin-top:3px;font-size:19px;font-weight:660}.metric small{margin-top:2px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border-soft)}.data-section{background:var(--surface);border:1px solid var(--border-soft);border-radius:6px;overflow:hidden}.data-section.unframed{background:transparent;border:0;border-radius:0}.section-title{min-height:54px;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:0 17px;border-bottom:1px solid var(--border-soft)}.unframed .section-title{padding-inline:0}.section-title h2{margin:0;font-size:14px;font-weight:650}.section-title span{font-size:11px;color:var(--muted)}.table-wrap{width:100%;overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse;font-size:12px}th{height:39px;padding:0 13px;text-align:left;font-size:10px;text-transform:uppercase;color:#7f8983;font-weight:650;border-bottom:1px solid var(--border-soft);white-space:nowrap}td{height:54px;padding:8px 13px;border-bottom:1px solid var(--border-soft);color:#c9cfcb}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#ffffff04}.clickable-row{cursor:default}.empty-row{text-align:center;color:var(--muted);height:110px}.server-link{width:100%;min-width:150px;display:grid;grid-template-columns:31px minmax(70px,1fr) 18px;align-items:center;gap:9px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.server-link>div{display:flex;flex-direction:column}.server-link strong{color:var(--text);font-size:12px}.server-link small{font-size:9px;color:var(--muted)}.server-link>svg{color:#59615c}.server-icon{width:31px;height:31px;border-radius:4px;background:#29352e;color:#76be90;display:grid;place-items:center}.status{display:inline-flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}.status>span{width:7px;height:7px;border-radius:50%;background:#727a75}.status-running{color:#7dcc99}.status-running>span{background:var(--green);box-shadow:0 0 0 3px #54b87a1f}.status-stopped{color:#a5aca7}.status-stopped>span{background:#727a75}.status-starting,.status-loading{color:var(--yellow)}.status-starting>span,.status-loading>span{background:var(--yellow)}.status-offline,.status-failed{color:var(--red)}.status-offline>span,.status-failed>span{background:var(--red)}.status-externally_started{color:var(--blue)}.status-externally_started>span{background:var(--blue)}.usage{display:flex;align-items:center;min-width:96px;gap:8px}.usage>span{width:64px;height:5px;border-radius:2px;overflow:hidden;background:#2f3531}.usage i{display:block;height:100%;background:var(--green)}.usage small{color:var(--muted);font-size:10px}.action-row{display:flex;gap:8px;flex-wrap:wrap}.action-row.compact{flex-wrap:nowrap}.action-row.compact .button{width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.action-row.compact .button:not(:first-child){display:none}.action-row.compact .button:first-child{font-size:0}.action-row.compact .button:first-child svg{display:block;width:16px;height:16px;margin:0;transform:translate(3px)}.tabs{height:43px;display:flex;align-items:end;gap:4px;border-bottom:1px solid var(--border);margin-bottom:25px;overflow-x:auto}.tabs button{display:flex;align-items:center;gap:7px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:0 13px 11px;white-space:nowrap;cursor:pointer;font-size:12px}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--green);border-bottom-color:var(--green)}.overview-status{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.overview-status h2{font-size:20px;margin:10px 0 3px}.tool-toolbar{min-height:49px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:7px 11px;background:var(--surface)}.segmented{display:inline-flex;background:#101312;border:1px solid var(--border);border-radius:4px;padding:2px}.segmented button{height:29px;border:0;border-radius:3px;padding:0 11px;color:var(--muted);background:transparent;cursor:pointer;font-size:11px}.segmented button.active{background:var(--surface-3);color:var(--text)}.connection{color:var(--muted);font-size:10px;display:flex;align-items:center;gap:6px}.connection i{width:6px;height:6px;border-radius:50%;background:var(--red)}.connection.connected i{background:var(--green)}.console-tool{border:1px solid var(--border);min-height:min(680px,calc(100vh - 205px));display:grid;grid-template-rows:auto 1fr auto;background:#0b0d0c;border-radius:5px;overflow:hidden}.console-output{margin:0;padding:16px;min-height:420px;max-height:calc(100vh - 315px);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#c0c8c2;font:12px/1.55 Cascadia Code,Consolas,monospace}.console-input{height:43px;border-top:1px solid #292e2b;display:grid;grid-template-columns:24px 1fr 36px;align-items:center;padding-left:11px}.console-input span{color:var(--green);font-family:monospace;font-size:17px}.console-input input{width:100%;height:100%;border:0;outline:0;color:var(--text);background:transparent;font-family:Cascadia Code,Consolas,monospace}.console-input button{height:100%;border:0;color:var(--green);background:transparent;cursor:pointer}.console-input button:disabled,.console-input input:disabled{opacity:.35}.file-tool{border:1px solid var(--border-soft);background:var(--surface);border-radius:5px;overflow:hidden;min-height:500px}.file-toolbar{justify-content:flex-start;flex-wrap:wrap}.search{height:32px;width:min(280px,30vw);display:flex;align-items:center;gap:7px;border:1px solid var(--border);background:#111413;padding:0 9px;border-radius:4px;color:var(--muted)}.search input{width:100%;border:0;outline:0;color:var(--text);background:transparent;font-size:11px}.toolbar-actions{margin-left:auto;display:flex;gap:7px}.breadcrumbs{height:41px;display:flex;align-items:center;gap:2px;padding:0 13px;border-bottom:1px solid var(--border-soft);overflow-x:auto}.breadcrumbs button{border:0;background:transparent;color:#aeb6b1;display:flex;align-items:center;gap:5px;padding:4px 5px;font-size:11px;white-space:nowrap;cursor:pointer}.breadcrumbs button:hover{color:var(--green)}.breadcrumbs>svg{color:#555d58;flex:0 0 auto}.file-table td{height:46px}.file-name{display:inline-flex;align-items:center;gap:9px;max-width:440px;border:0;background:transparent;cursor:pointer;padding:0}.file-name svg{color:var(--yellow);flex:0 0 auto}.file-name span{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;justify-content:flex-end;gap:1px}.upload-progress{padding:10px 13px;border-bottom:1px solid var(--border-soft);background:#1c2520}.upload-progress>div{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.upload-progress>span{display:block;height:4px;background:#303732}.upload-progress i{display:block;height:100%;background:var(--green)}.editor-meta{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);color:var(--muted);font-size:10px}.text-editor{width:100%;height:min(620px,65vh);display:block;resize:vertical;border:0;outline:0;background:#0e1110;color:#d9dfdb;padding:16px;font:12px/1.55 Cascadia Code,Consolas,monospace;tab-size:2}.settings-tool{max-width:760px}.settings-form h2,.danger-zone h2,.deployment-layout h2{font-size:15px;margin:0 0 20px}.settings-form{padding-bottom:28px;border-bottom:1px solid var(--border)}.settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:19px}.danger-zone{margin-top:32px;border:1px solid rgba(223,106,99,.32);padding:17px;display:flex;justify-content:space-between;align-items:center;border-radius:5px;gap:18px}.danger-zone h2{color:#f0958f;margin-bottom:5px}.danger-zone p{color:var(--muted);font-size:11px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .span-2{grid-column:span 2}label{display:flex;flex-direction:column;gap:7px;color:#aab2ad;font-size:11px}input,select{height:36px;border:1px solid var(--border);border-radius:4px;padding:0 10px;background:#111413;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#527e62;box-shadow:0 0 0 2px #54b87a1a}.check-label{flex-direction:row;align-items:center;gap:9px}.check-label input,.selection-list input{width:15px;height:15px;accent-color:var(--green)}.fingerprint{min-width:0;padding:11px;background:#19251e;border:1px solid #2d4b38;display:flex;align-items:center;gap:9px;color:var(--green);border-radius:4px}.fingerprint div{display:flex;flex-direction:column;min-width:0}.fingerprint span{font-size:10px;color:#8eaa98}.fingerprint code{color:#b7d7c2}.form-error{color:#ef8a84;margin:0;font-size:11px}.deployment-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.deployment-layout>section{border-top:1px solid var(--border);padding-top:20px}.deployment-layout select{width:100%}.selection-list{margin-top:17px;border:1px solid var(--border-soft);max-height:390px;overflow-y:auto}.selection-list label{min-height:47px;display:grid;grid-template-columns:18px 20px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 11px;border-bottom:1px solid var(--border-soft);cursor:pointer}.selection-list label:last-child{border-bottom:0}.selection-list label:hover{background:var(--surface)}.selection-list span{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-list small{color:var(--muted)}.restart-check{margin-top:18px}.deploy-button{margin-top:20px}.empty-inline{color:var(--muted);text-align:center;padding:30px 10px;font-size:11px}.job-progress{display:flex;align-items:center;gap:9px;min-width:120px}.job-progress>span{width:80px;height:5px;background:#303732}.job-progress i{height:100%;display:block;background:var(--blue)}.job-progress strong{font-size:10px;color:var(--muted)}.cell-sub{display:block;color:var(--muted);font-size:9px;margin-top:2px}.audit-result{display:inline-flex;border-radius:3px;padding:3px 6px;font-size:9px;text-transform:uppercase;background:#2c322e;color:var(--muted)}.audit-result.success{background:#203529;color:#83c89b}.audit-result.failed{background:#422624;color:#e18c86}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#050706c7}.modal{width:min(480px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#191d1b;border:1px solid #3a423d;border-radius:6px;box-shadow:0 24px 80px #00000080}.modal-wide{width:min(980px,100%)}.modal>header{min-height:50px;padding:0 11px 0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.modal>header h2{margin:0;font-size:14px}.modal-body{padding:18px}.modal-body p{margin:0 0 15px;color:#c9cfcb;font-size:12px;line-height:1.6}.modal-actions{min-height:57px;padding:10px 16px;display:flex;justify-content:flex-end;align-items:center;gap:8px;border-top:1px solid var(--border)}.toasts{position:fixed;z-index:200;top:18px;right:18px;width:min(380px,calc(100vw - 36px));display:flex;flex-direction:column;gap:8px}.toast{min-height:45px;display:grid;grid-template-columns:1fr 32px;align-items:center;padding:5px 7px 5px 13px;background:#222724;border:1px solid #3a423d;border-radius:5px;box-shadow:0 12px 38px #0000004d;font-size:11px}.toast.success{border-left:3px solid var(--green)}.toast.error{border-left:3px solid var(--red)}@media(max-width:1100px){.summary-strip,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip .metric:nth-child(2),.metrics-grid .metric:nth-child(2){border-right:0}.summary-strip .metric:nth-child(-n+2),.metrics-grid .metric:nth-child(-n+2){border-bottom:1px solid var(--border-soft)}.deployment-layout{grid-template-columns:1fr}}@media(max-width:760px){:root{--sidebar: 252px}.sidebar{transform:translate(-100%);transition:transform .16s ease}.sidebar.open{transform:translate(0)}.sidebar-scrim{position:fixed;inset:0;z-index:25;background:#00000094}.sidebar-scrim.show{display:block}.icon-button.mobile-close{display:inline-grid;margin-left:auto}.main-content{margin-left:0;padding:72px 15px 46px}.mobile-menu{display:grid;place-items:center;position:fixed;z-index:20;top:17px;left:15px;width:36px;height:36px;border:1px solid var(--border);background:var(--surface);border-radius:4px}.page-header{min-height:55px;margin-bottom:17px}.page-header h1{font-size:20px}.header-actions .icon-button{display:none}.summary-strip,.metrics-grid{grid-template-columns:1fr}.summary-strip .metric,.metrics-grid .metric{border-right:0;border-bottom:1px solid var(--border-soft);min-height:75px}.summary-strip .metric:last-child,.metrics-grid .metric:last-child{border-bottom:0}.table-wrap{margin:0}th,td{padding-inline:10px}.overview-status{align-items:flex-start;flex-direction:column}.file-toolbar{align-items:stretch}.search{width:100%;order:3}.toolbar-actions{margin-left:auto}.toolbar-actions .button{font-size:0;width:34px;padding:0}.toolbar-actions .button svg{margin:0}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.login-page{grid-template-columns:1fr}.login-image{min-height:38vh}.login-image img{width:100px;height:100px}.login-panel{min-height:62vh;width:calc(100% - 40px)}.login-panel .brand{margin-bottom:42px}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px)}.danger-zone{align-items:flex-start;flex-direction:column}}
