Files
Cognitive_Agent/apps/web-console/self-calibration.css
T

1231 lines
24 KiB
CSS

/* Self-calibration workspace ---------------------------------------------- */
.console-v2[data-module="self-calibration"] {
--v2-accent: #4f73b2;
--v2-accent-strong: #1e386b;
--v2-accent-soft: #e7ecf8;
--v2-sidebar: #dae3f5;
--v2-sidebar-deep: #b6c7ea;
--v2-line: rgba(30, 56, 107, 0.14);
}
.console-v2 .v2-calibration-sidebar,
.console-v2 .v2-calibration-footer,
.console-v2 .v2-self-calibration {
display: none;
}
.console-v2[data-module="self-calibration"] .v2-control-section,
.console-v2[data-module="self-calibration"] .v2-config-section,
.console-v2[data-module="self-calibration"] .v2-sidebar > .v2-sidebar-footer:not(.v2-calibration-footer),
.console-v2[data-module="self-calibration"] .v2-operation-shell,
.console-v2[data-module="self-calibration"] .v2-output-shell {
display: none;
}
.console-v2[data-module="self-calibration"] .v2-sidebar {
background:
radial-gradient(circle at 14% 3%, rgba(255, 255, 255, 0.84), transparent 24%),
linear-gradient(158deg, var(--v2-sidebar) 0%, #eef2fa 61%, var(--v2-sidebar-deep) 132%);
}
.console-v2[data-module="self-calibration"] .v2-avatar {
width: 46px;
height: 46px;
background:
radial-gradient(circle at 28% 25%, rgba(255, 255, 255, 0.96), transparent 18%),
linear-gradient(135deg, #183c7a 3%, #6688d4 48%, #e5b0c8 55%, #315eaa 100%);
}
.console-v2[data-module="self-calibration"] .v2-profile {
grid-template-columns: 46px minmax(0, 1fr) 28px;
gap: 8px;
}
.console-v2[data-module="self-calibration"] .v2-role-select > span,
.console-v2[data-module="self-calibration"] .v2-role-select .v2-dropdown-trigger {
font-size: 18px;
}
.console-v2[data-module="self-calibration"] .v2-role-select > .v2-dropdown-trigger {
max-width: none;
gap: 5px;
}
.console-v2[data-module="self-calibration"] .v2-calibration-sidebar {
min-height: 0;
display: flex;
flex: 1;
flex-direction: column;
margin-top: clamp(22px, 3.4vh, 40px);
}
.console-v2[data-module="self-calibration"] .v2-calibration-footer {
display: grid;
}
.console-v2.v2-sidebar-collapsed[data-module="self-calibration"] .v2-calibration-sidebar,
.console-v2.v2-sidebar-collapsed[data-module="self-calibration"] .v2-calibration-footer {
display: none;
}
.console-v2[data-module="self-calibration"] .main-panel {
grid-template-rows: 36px minmax(0, 1fr);
}
.console-v2[data-module="self-calibration"] .v2-self-calibration {
min-width: 0;
min-height: 0;
display: grid;
grid-row: 2;
grid-template-rows: auto minmax(0, 1fr);
gap: 15px;
padding: clamp(14px, 1.55vw, 24px) 0 0;
overflow: hidden;
}
.v2-calibration-sidebar > .v2-field-caption {
display: block;
margin: 0 0 8px;
color: #617193;
font-size: 13px;
font-weight: 750;
}
.v2-calibration-mode-switch {
display: grid;
gap: 7px;
}
.v2-calibration-mode-switch button {
min-height: 52px;
display: grid;
grid-template-columns: 30px minmax(0, 1fr);
align-items: center;
gap: 8px;
padding: 0 15px;
color: #637677;
background: transparent;
border: 1px solid transparent;
border-radius: 13px;
font-size: 15px;
font-weight: 700;
text-align: left;
cursor: pointer;
transition: 160ms ease;
}
.v2-calibration-mode-switch button svg {
width: 19px;
height: 19px;
justify-self: center;
}
.v2-calibration-mode-switch button:hover {
color: var(--v2-accent-strong);
background: rgba(255, 255, 255, 0.52);
}
.v2-calibration-mode-switch button.active {
color: #111f20;
background: rgba(255, 255, 255, 0.94);
border-color: rgba(255, 255, 255, 0.86);
box-shadow: 0 10px 28px rgba(30, 56, 107, 0.08);
}
.v2-calibration-mode-switch button.active svg {
color: var(--v2-accent);
}
.v2-calibration-config-stack {
display: grid;
gap: 7px;
}
.v2-calibration-config-card {
min-width: 0;
min-height: 52px;
display: grid;
grid-template-columns: 28px minmax(0, 1fr) auto;
align-items: center;
gap: 10px;
padding: 9px 11px;
color: #314565;
background: rgba(255, 255, 255, 0.52);
border: 1px solid rgba(49, 94, 170, 0.11);
border-radius: 13px;
}
.v2-calibration-config-card > svg {
width: 18px;
height: 18px;
justify-self: center;
color: #5f7fb7;
}
.v2-calibration-config-card > div {
min-width: 0;
display: grid;
}
.v2-calibration-config-card small {
color: #7786a2;
font-size: 9px;
font-weight: 700;
}
.v2-calibration-config-card strong {
overflow: hidden;
color: #1e386b;
font-size: 12px;
font-weight: 850;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-calibration-config-card > span {
padding: 3px 5px;
color: #345f9d;
background: rgba(255, 255, 255, 0.68);
border-radius: 5px;
font: 800 7px "SFMono-Regular", Consolas, monospace;
}
.v2-calibration-config-card[data-state="online"] > span {
color: #17745d;
}
.v2-calibration-config-card[data-state="error"] > span {
color: #b43d38;
}
.v2-calibration-config-card .v2-config-card-select {
width: 100%;
}
.v2-calibration-config-card .v2-dropdown-trigger {
width: 100%;
height: 18px;
color: #1e386b;
font-size: 12px;
font-weight: 850;
text-align: left;
}
.v2-calibration-target-note {
min-height: 28px;
margin: 7px 4px 8px;
color: #6f7d97;
font-size: 9px;
line-height: 1.45;
}
.v2-calibration-connect,
.v2-calibration-settings-link {
width: 100%;
min-height: 42px;
display: grid;
grid-template-columns: 20px minmax(0, 1fr);
align-items: center;
gap: 9px;
padding: 9px 12px;
border-radius: 12px;
font-size: 11px;
font-weight: 850;
cursor: pointer;
}
.v2-calibration-connect {
color: white;
background: linear-gradient(135deg, #5d82c2, #315eaa);
border: 0;
box-shadow: 0 10px 22px rgba(35, 71, 133, 0.2);
}
.v2-calibration-connect svg,
.v2-calibration-settings-link svg {
width: 16px;
height: 16px;
}
.v2-calibration-settings-link {
grid-template-columns: 20px minmax(0, 1fr) 16px;
margin-top: auto;
color: #536684;
background: rgba(255, 255, 255, 0.35);
border: 1px solid rgba(49, 94, 170, 0.11);
text-align: left;
}
.v2-calibration-settings-link.active,
.v2-calibration-settings-link:hover {
color: #1e386b;
background: rgba(255, 255, 255, 0.72);
}
.v2-calibration-footer > button {
color: #315eaa !important;
background: rgba(255, 255, 255, 0.72) !important;
}
.v2-calibration-heading {
min-width: 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 18px;
}
.v2-calibration-heading > div:first-child {
min-width: 0;
}
.v2-calibration-heading .section-kicker,
.v2-calibration-panel .section-kicker,
.v2-calibration-axis-section .section-kicker {
display: block;
color: #5b77aa;
font: 800 8px "SFMono-Regular", Consolas, monospace;
letter-spacing: 0.16em;
}
.v2-calibration-heading h1 {
margin: 4px 0 2px;
color: #1f2d30;
font-size: clamp(22px, 2vw, 31px);
line-height: 1;
letter-spacing: -0.045em;
}
.v2-calibration-heading p {
margin: 0;
color: #839092;
font-size: 11px;
}
.v2-calibration-statuses {
display: flex;
align-items: center;
gap: 8px;
}
.v2-calibration-statuses > div {
min-width: 112px;
min-height: 43px;
display: grid;
grid-template-columns: 9px minmax(0, 1fr);
align-items: center;
gap: 8px;
padding: 7px 10px;
background: rgba(255, 255, 255, 0.82);
border: 1px solid rgba(42, 72, 74, 0.08);
border-radius: 12px;
box-shadow: 0 8px 20px rgba(37, 70, 72, 0.06);
}
.v2-calibration-statuses > div > i {
width: 7px;
height: 7px;
border-radius: 50%;
background: #a9b3b3;
box-shadow: 0 0 0 4px rgba(126, 145, 145, 0.1);
}
.v2-calibration-statuses > div > i.online {
background: #3ea884;
box-shadow: 0 0 0 4px rgba(62, 168, 132, 0.12);
}
.v2-calibration-statuses > div > i.wait {
background: #d9a34c;
box-shadow: 0 0 0 4px rgba(217, 163, 76, 0.12);
}
.v2-calibration-statuses > div > i.error {
background: #d95d55;
box-shadow: 0 0 0 4px rgba(217, 93, 85, 0.12);
}
.v2-calibration-statuses span {
min-width: 0;
display: grid;
}
.v2-calibration-statuses small {
color: #9aa4a5;
font: 700 7px "SFMono-Regular", Consolas, monospace;
}
.v2-calibration-statuses strong {
overflow: hidden;
color: #425356;
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-calibration-view {
min-width: 0;
min-height: 0;
padding: 1px 3px 22px 1px;
overflow: auto;
scrollbar-color: rgba(49, 94, 170, 0.3) transparent;
scrollbar-width: thin;
}
.v2-calibration-view[hidden] {
display: none !important;
}
.v2-calibration-panel,
.v2-calibration-axis-card {
background:
linear-gradient(152deg, rgba(255, 255, 255, 0.98), rgba(250, 252, 251, 0.91));
border: 1px solid rgba(48, 78, 80, 0.08);
border-radius: 18px;
box-shadow: 0 13px 34px rgba(39, 70, 72, 0.07);
}
.v2-calibration-panel > header,
.v2-calibration-axis-section > header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
}
.v2-calibration-panel h2,
.v2-calibration-axis-section h2 {
margin: 3px 0 0;
color: #2c3d40;
font-size: clamp(15px, 1.25vw, 20px);
letter-spacing: -0.03em;
}
.v2-calibration-hero-grid {
min-width: 0;
display: grid;
grid-template-columns: minmax(0, 1.72fr) minmax(270px, 0.72fr);
gap: 14px;
}
.v2-calibration-stage {
min-height: clamp(390px, 51vh, 565px);
display: grid;
grid-template-rows: auto minmax(250px, 1fr) auto;
padding: 16px;
}
.v2-calibration-badge {
padding: 5px 8px;
color: #18745e;
background: #e1f5ee;
border-radius: 7px;
font-size: 9px;
font-weight: 850;
}
.v2-calibration-badge.wait {
color: #98713a;
background: #fff4df;
}
.v2-calibration-badge.error {
color: #a84039;
background: #fce7e5;
}
.v2-calibration-seat-scene {
min-height: 0;
position: relative;
overflow: hidden;
background:
radial-gradient(circle at 50% 44%, rgba(218, 227, 245, 0.95), transparent 44%),
linear-gradient(180deg, #fafbfe, #edf2fa);
border: 1px solid rgba(49, 83, 84, 0.07);
border-radius: 15px;
}
.v2-calibration-floor-grid {
position: absolute;
inset: 58% -20% -18%;
z-index: 0;
opacity: 0.34;
background-image:
linear-gradient(rgba(68, 99, 151, 0.17) 1px, transparent 1px),
linear-gradient(90deg, rgba(68, 99, 151, 0.17) 1px, transparent 1px);
background-size: 34px 34px;
transform: perspective(360px) rotateX(58deg);
transform-origin: center top;
}
.v2-calibration-seat-scene .seat-model-host {
position: absolute;
inset: 0;
z-index: 1;
overflow: hidden;
}
.v2-calibration-seat-scene .seat-model-host canvas {
width: 100%;
height: 100%;
display: block;
outline: 0;
cursor: grab;
touch-action: none;
}
.v2-calibration-seat-scene .seat-model-host canvas:active {
cursor: grabbing;
}
.v2-calibration-seat-scene .model-loading {
position: absolute;
inset: 0;
display: grid;
place-content: center;
justify-items: center;
gap: 8px;
color: #6b7890;
background: radial-gradient(circle at 50% 48%, rgba(205, 217, 241, 0.72), transparent 52%);
transition: opacity 280ms ease, visibility 280ms ease;
}
.v2-calibration-seat-scene .model-loading strong {
color: #344867;
font-size: 11px;
}
.v2-calibration-seat-scene .model-loading small {
color: #8794aa;
font: 8px Consolas, monospace;
letter-spacing: 0.12em;
}
.v2-calibration-seat-scene .model-loading.error strong {
color: #b5413a;
}
.v2-calibration-seat-scene .model-spinner {
width: 27px;
height: 27px;
border: 2px solid rgba(79, 115, 178, 0.16);
border-top-color: var(--v2-accent);
border-radius: 50%;
animation: calibration-spin 0.8s linear infinite;
}
@keyframes calibration-spin {
to { transform: rotate(360deg); }
}
.v2-calibration-seat-scene .seat-model-host.is-ready .model-loading {
visibility: hidden;
opacity: 0;
pointer-events: none;
}
.v2-calibration-seat-scene .orbit-hint {
position: absolute;
bottom: 10px;
left: 50%;
z-index: 4;
padding: 5px 9px;
color: #7a898b;
background: rgba(255, 255, 255, 0.74);
border: 1px solid rgba(57, 91, 92, 0.1);
border-radius: 999px;
font: 8px Consolas, monospace;
opacity: 0;
transform: translateX(-50%);
transition: opacity 180ms ease;
pointer-events: none;
white-space: nowrap;
}
.v2-calibration-seat-scene .seat-model-host.is-ready:hover .orbit-hint {
opacity: 1;
}
.v2-axis-tag {
position: absolute;
z-index: 3;
display: flex;
gap: 5px;
padding: 5px 8px;
color: #6d7c7e;
background: rgba(255, 255, 255, 0.84);
border: 1px solid rgba(56, 92, 94, 0.1);
border-radius: 8px;
box-shadow: 0 7px 18px rgba(46, 78, 80, 0.07);
font-size: 8px;
pointer-events: none;
backdrop-filter: blur(8px);
}
.v2-axis-tag b {
color: #315eaa;
}
.v2-axis-tag.tag-back { top: 17%; right: 13%; }
.v2-axis-tag.tag-base { right: 11%; bottom: 19%; }
.v2-axis-tag.tag-leg { bottom: 24%; left: 14%; }
.v2-axis-tag.tag-height { top: 52%; left: 11%; }
.v2-calibration-operation {
min-width: 0;
min-height: 44px;
display: grid;
grid-template-columns: 8px minmax(0, 1fr) auto;
align-items: center;
gap: 10px;
margin-top: 10px;
padding: 7px 10px;
background: #f6f9f8;
border-radius: 11px;
}
.v2-calibration-operation > i {
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--v2-accent);
box-shadow: 0 0 0 5px rgba(79, 115, 178, 0.12);
}
.v2-calibration-operation > div {
min-width: 0;
display: grid;
}
.v2-calibration-operation small {
color: #97a1a2;
font-size: 8px;
}
.v2-calibration-operation strong {
overflow: hidden;
color: #46575a;
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-calibration-operation > span {
color: #95a0a1;
font: 700 8px Consolas, monospace;
}
.v2-calibration-operation > span b {
color: #315eaa;
}
.v2-calibration-workflow {
min-height: 390px;
display: flex;
flex-direction: column;
padding: 17px;
}
.v2-calibration-workflow > p {
margin: 13px 0 16px;
color: #849193;
font-size: 10px;
line-height: 1.55;
}
.v2-calibration-flow {
display: grid;
gap: 0;
}
.v2-calibration-flow > div {
min-height: 58px;
display: grid;
grid-template-columns: 35px minmax(0, 1fr);
align-items: center;
gap: 10px;
padding: 8px 9px;
color: #718083;
background: #f7f9f9;
border: 1px solid rgba(50, 80, 81, 0.06);
border-radius: 12px;
transition: 150ms ease;
}
.v2-calibration-flow > div > span {
color: #9ca7a8;
font: 800 10px Consolas, monospace;
}
.v2-calibration-flow > div > div {
display: grid;
}
.v2-calibration-flow strong {
color: #526266;
font-size: 10px;
}
.v2-calibration-flow small {
color: #9ba5a6;
font-size: 8px;
}
.v2-calibration-flow > div.active {
background: #eef3fb;
border-color: rgba(49, 94, 170, 0.2);
box-shadow: inset 3px 0 var(--v2-accent);
}
.v2-calibration-flow > div.active > span,
.v2-calibration-flow > div.active strong {
color: #315eaa;
}
.v2-calibration-flow > div.done {
background: #edf7f3;
}
.v2-calibration-flow > i {
width: 1px;
height: 10px;
margin-left: 26px;
background: rgba(85, 112, 113, 0.18);
}
.v2-calibration-primary {
min-height: 42px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 9px;
padding: 9px 13px;
color: white;
background: linear-gradient(135deg, #5d82c2, #315eaa);
border: 0;
border-radius: 11px;
box-shadow: 0 10px 24px rgba(35, 71, 133, 0.2);
font-size: 10px;
font-weight: 850;
cursor: pointer;
}
.v2-calibration-primary:disabled {
color: #9ba4a4;
background: #e9eeee;
box-shadow: none;
cursor: not-allowed;
}
.v2-calibration-primary svg {
width: 15px;
height: 15px;
}
.v2-calibration-workflow > .v2-calibration-primary {
width: 100%;
margin-top: auto;
}
.v2-calibration-safety {
display: grid;
grid-template-columns: 24px minmax(0, 1fr);
align-items: center;
gap: 8px;
margin-top: 10px;
padding: 9px;
color: #55736d;
background: #eef7f4;
border-radius: 10px;
}
.v2-calibration-safety svg {
width: 17px;
height: 17px;
justify-self: center;
color: #3f907c;
}
.v2-calibration-safety p {
margin: 0;
font-size: 8px;
line-height: 1.5;
}
.v2-calibration-axis-section {
margin-top: 15px;
}
.v2-calibration-axis-section > header {
align-items: flex-end;
margin: 0 3px 9px;
}
.v2-calibration-axis-section > header p {
margin: 0;
color: #929d9e;
font-size: 9px;
}
.v2-calibration-axis-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 10px;
}
.v2-calibration-axis-card {
min-width: 0;
padding: 12px;
}
.v2-calibration-axis-card > header {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 7px;
}
.v2-calibration-axis-card > header > span {
color: #7084a8;
font: 800 7px Consolas, monospace;
}
.v2-calibration-axis-card > header > strong {
overflow: hidden;
color: #435457;
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-calibration-axis-card > header > b {
color: #408974;
font-size: 8px;
}
.v2-calibration-axis-card > header > b.moving {
color: #315eaa;
}
.v2-calibration-axis-reading {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 8px;
margin: 13px 0 8px;
}
.v2-calibration-axis-reading strong {
color: #26383b;
font-size: clamp(15px, 1.35vw, 21px);
}
.v2-calibration-axis-reading span {
color: #9ba5a6;
font: 700 7px Consolas, monospace;
}
.v2-calibration-axis-card input[type="range"] {
width: 100%;
height: 4px;
accent-color: var(--v2-accent);
cursor: pointer;
}
.v2-calibration-range-labels {
display: flex;
justify-content: space-between;
margin-top: 4px;
color: #a1aaaa;
font-size: 7px;
}
.v2-calibration-axis-actions {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 5px;
margin-top: 10px;
}
.v2-calibration-axis-actions button,
.v2-calibration-actions button,
.v2-calibration-settings-card > button:not(.v2-calibration-primary) {
min-height: 30px;
padding: 6px 7px;
color: #6b7779;
background: #f3f6f5;
border: 1px solid rgba(53, 84, 85, 0.08);
border-radius: 8px;
font-size: 8px;
font-weight: 800;
cursor: pointer;
}
.v2-calibration-axis-actions button:nth-child(2),
.v2-calibration-actions button:first-child {
color: #315eaa;
background: #eef3fb;
}
.v2-calibration-axis-actions button:disabled {
cursor: not-allowed;
opacity: 0.48;
}
.v2-calibration-stereo-grid {
display: grid;
grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
gap: 14px;
}
.v2-calibration-mqtt-panel,
.v2-calibration-video-panel,
.v2-calibration-mapping-panel {
padding: 16px;
}
.v2-calibration-metrics {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 7px;
margin: 15px 0 9px;
}
.v2-calibration-metrics > div {
min-width: 0;
display: grid;
gap: 3px;
padding: 10px;
background: #f6f9f8;
border-radius: 10px;
}
.v2-calibration-metrics small {
color: #98a3a4;
font-size: 8px;
}
.v2-calibration-metrics strong {
color: #3c5053;
font-size: 17px;
}
.v2-calibration-detail,
.v2-calibration-form-note {
margin: 8px 0;
color: #8e999a;
font-size: 8px;
line-height: 1.45;
}
.v2-calibration-pose-areas {
min-height: 182px;
display: grid;
align-content: start;
gap: 7px;
}
.v2-calibration-empty {
align-self: center;
margin: 38px auto;
color: #98a3a4;
font-size: 9px;
text-align: center;
}
.v2-calibration-pose-row {
min-width: 0;
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 4px 10px;
padding: 9px 10px;
background: #f6f9f8;
border-radius: 10px;
}
.v2-calibration-pose-row strong {
overflow: hidden;
color: #425457;
font-size: 9px;
text-overflow: ellipsis;
}
.v2-calibration-pose-row span {
color: #315eaa;
font: 800 8px Consolas, monospace;
}
.v2-calibration-pose-row small {
grid-column: 1 / -1;
color: #93a0a1;
font: 7px Consolas, monospace;
}
.v2-calibration-actions {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 10px;
}
.v2-calibration-actions button {
padding-inline: 12px;
}
.v2-calibration-video-frame {
min-height: clamp(260px, 41vh, 440px);
position: relative;
margin-top: 14px;
overflow: hidden;
background:
radial-gradient(circle at 50% 45%, rgba(89, 121, 178, 0.18), transparent 45%),
#17233b;
border-radius: 13px;
}
.v2-calibration-video-frame img {
width: 100%;
height: 100%;
position: absolute;
inset: 0;
z-index: 2;
display: none;
object-fit: contain;
}
.v2-calibration-video-frame img.playing {
display: block;
}
#calibrationVideoPlaceholder {
height: 100%;
position: absolute;
inset: 0;
display: grid;
place-content: center;
justify-items: center;
gap: 7px;
color: #a8bcbc;
}
#calibrationVideoPlaceholder svg {
width: 33px;
height: 33px;
color: #8da8d8;
}
#calibrationVideoPlaceholder strong {
font-size: 11px;
}
#calibrationVideoPlaceholder small {
color: #718487;
font-size: 8px;
}
.v2-calibration-mapping-panel {
margin-top: 14px;
}
.v2-calibration-mapping-rows {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
margin-top: 13px;
}
.v2-calibration-mapping-row {
min-width: 0;
display: grid;
grid-template-columns: 42px 72px minmax(80px, 1fr) 72px;
align-items: center;
gap: 8px;
padding: 9px 10px;
background: #f6f9f8;
border-radius: 10px;
font-size: 8px;
}
.v2-calibration-mapping-row strong {
color: #46595b;
}
.v2-calibration-mapping-row span,
.v2-calibration-mapping-row b {
color: #839193;
font: 700 7px Consolas, monospace;
}
.v2-calibration-mapping-row b {
text-align: right;
}
.v2-calibration-mapping-row > div {
height: 5px;
overflow: hidden;
background: #e1e9e7;
border-radius: 999px;
}
.v2-calibration-mapping-row i {
height: 100%;
display: block;
background: linear-gradient(90deg, #9ab2dd, #315eaa);
border-radius: inherit;
}
.v2-calibration-settings-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 13px;
}
.v2-calibration-settings-card {
min-width: 0;
display: flex;
flex-direction: column;
gap: 10px;
padding: 17px;
}
.v2-calibration-settings-card > header {
display: grid;
grid-template-columns: 38px minmax(0, 1fr);
align-items: center;
justify-content: start;
gap: 10px;
}
.v2-calibration-settings-card > header > span {
width: 36px;
height: 36px;
display: grid;
place-items: center;
color: white;
background: linear-gradient(135deg, #5d82c2, #315eaa);
border-radius: 10px;
font: 850 9px Consolas, monospace;
}
.v2-calibration-settings-card > header small {
color: #657da8;
font: 750 7px Consolas, monospace;
letter-spacing: 0.1em;
}
.v2-calibration-settings-card > header h2 {
margin-top: 1px;
}
.v2-calibration-settings-card label {
display: grid;
gap: 5px;
color: #718083;
font-size: 8px;
font-weight: 750;
}
.v2-calibration-settings-card input {
width: 100%;
min-width: 0;
height: 36px;
padding: 7px 9px;
color: #415356;
background: #f5f8f7;
border: 1px solid rgba(54, 85, 86, 0.09);
border-radius: 9px;
outline: 0;
font-size: 9px;
}
.v2-calibration-settings-card input:focus {
border-color: rgba(49, 94, 170, 0.42);
box-shadow: 0 0 0 3px rgba(79, 115, 178, 0.12);
}
.v2-calibration-two-col {
min-width: 0;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.v2-calibration-settings-card > button {
margin-top: auto;
}
@media (max-width: 1180px) {
.v2-calibration-hero-grid {
grid-template-columns: minmax(0, 1.5fr) minmax(245px, 0.75fr);
}
.v2-calibration-statuses > div {
min-width: 94px;
}
.v2-calibration-axis-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.v2-calibration-settings-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 900px) {
.console-v2[data-module="self-calibration"] .v2-self-calibration {
overflow: auto;
}
.v2-calibration-heading {
align-items: flex-start;
flex-direction: column;
}
.v2-calibration-statuses {
width: 100%;
}
.v2-calibration-statuses > div {
min-width: 0;
flex: 1;
}
.v2-calibration-view {
overflow: visible;
}
.v2-calibration-hero-grid,
.v2-calibration-stereo-grid {
grid-template-columns: 1fr;
}
.v2-calibration-workflow {
min-height: 360px;
}
}
@media (max-width: 680px) {
.v2-calibration-statuses {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.v2-calibration-axis-grid,
.v2-calibration-mapping-rows,
.v2-calibration-settings-grid {
grid-template-columns: 1fr;
}
.v2-calibration-mapping-row {
grid-template-columns: 38px 64px minmax(60px, 1fr) 64px;
}
}
@media (prefers-reduced-motion: reduce) {
.v2-calibration-seat-scene .model-spinner {
animation-duration: 2.4s;
}
}