.modal-backdrop { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 24px; background: rgba(17, 24, 39, 0.52); } .modal { width: min(760px, 100%); max-height: min(820px, calc(100vh - 48px)); overflow: hidden; padding: 0; background: #ffffff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); } .command-modal { display: flex; flex-direction: column; } .command-modal > .modal-head, .command-modal > .modal-actions { flex: 0 0 auto; } .modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 18px 12px; border-bottom: 1px solid var(--line); } .icon-btn { display: grid; width: 30px; height: 30px; place-items: center; background: var(--panel-subtle); border: 1px solid var(--line); border-radius: 7px; cursor: pointer; } .command-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .command-body { display: grid; min-height: 0; grid-auto-rows: max-content; gap: 12px; overflow: auto; padding: 14px 18px; } .command-step { display: flex; min-height: 38px; align-items: center; gap: 8px; padding: 0 10px; color: var(--muted); background: var(--panel-subtle); border: 1px solid var(--line); border-radius: 8px; } .command-step span { display: grid; width: 20px; height: 20px; place-items: center; background: #ffffff; border: 1px solid var(--line); border-radius: 999px; font-size: 11px; font-weight: 800; } .command-step.active { color: var(--brand); border-color: #a9c8f7; } .command-step.done { color: var(--good); border-color: #b9dcc7; } .form-field { display: grid; gap: 6px; } .form-field span, .form-stack span { color: #4b5563; font-weight: 800; } .command-preview { display: grid; gap: 8px; } .command-preview .json-block { max-height: 150px; } .preview-head, .result-title { display: flex; align-items: center; gap: 7px; color: #344054; font-weight: 800; } .result-box { display: grid; gap: 8px; padding: 10px; background: #fbfcfd; border: 1px solid var(--line); border-radius: 8px; } .result-line { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; } .result-line span { color: var(--muted); } .result-line strong { overflow-wrap: anywhere; } .result-message { color: #344054; } .modal-actions { justify-content: flex-end; padding: 12px 18px; background: #ffffff; border-top: 1px solid var(--line); } .login-page { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: var(--bg); } .login-panel { display: grid; width: min(420px, 100%); gap: 18px; padding: 22px; background: #ffffff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); } .login-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .login-head-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; } .login-chip { display: inline-flex; min-height: 24px; align-items: center; padding: 0 8px; color: var(--brand); background: #eaf2fd; border: 1px solid #c7dcf9; border-radius: 999px; font-size: 12px; } .login-copy h1 { margin: 0; font-size: 22px; } .login-copy p { margin: 8px 0 0; color: var(--muted); } .form-stack { display: grid; gap: 12px; } .form-stack label { display: grid; gap: 6px; } .form-stack input { width: 100%; } .boot-screen { display: grid; min-height: 100vh; place-items: center; align-content: center; gap: 18px; } .loader-bar { width: 180px; height: 4px; overflow: hidden; background: #d7dde4; border-radius: 999px; } .loader-bar::before { display: block; width: 42%; height: 100%; content: ""; background: var(--brand); animation: load 1s infinite ease-in-out; } .spin { animation: spin 0.8s linear infinite; } @keyframes load { 0% { transform: translateX(-120%); } 100% { transform: translateX(260%); } } @keyframes spin { to { transform: rotate(360deg); } }