} .metric { margin-top: 12px; color: #1f5c4c; font-size: 1.45rem; font-weight: 800; } .dpi-editor { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: end; } .dpi-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-top: 16px; } .dpi-controls .field.inline { grid-template-columns: 72px 110px; } .stage-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin-top: 18px; } .stage-list div { display: grid; gap: 4px; border: 1px solid #d8e0dc; border-radius: 6px; padding: 10px; background: #f4f7f5; } .stage-list div.active { border-color: #226957; background: #e3f3ec; } .stage-list input { min-height: 34px; } .profile-admin-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 12px; } .profile-admin-list div { display: grid; gap: 6px; align-content: start; border: 1px solid #d8e0dc; border-radius: 6px; padding: 12px; background: #f4f7f5; } .profile-admin-list div.active { border-color: #226957; background: #e3f3ec; } .profile-admin-list span { color: #66736f; font-size: 0.78rem; } .profile-slot-fixed { visibility: hidden; } .button-mapper-grid, .category-grid, .modifier-grid { display: grid; gap: 10px; } .button-mapper-grid { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); margin-bottom: 16px; } .button-tile, .category-grid button { min-height: 40px; border-radius: 6px; cursor: pointer; } .button-tile { display: grid; gap: 4px; align-content: start; padding: 12px; border: 1px solid #d8e0dc; text-align: left; background: #f4f7f5; } .button-tile span { color: #66736f; font-size: 0.78rem; } .button-tile strong, .button-tile span, .profile-admin-list strong, .led-region-tabs button, .flash-summary span { overflow-wrap: anywhere; } .button-tile.active { border-color: #226957; background: #e3f3ec; } .button-hypershift-toggle { margin-bottom: 18px; } .category-grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); margin: 18px 0; } .category-grid button { padding: 0 12px; color: #25322f; background: #dfe7e2; } .category-grid button.active { color: #f8fbf9; background: #226957; } .button-editor-grid { display: grid; gap: 16px; } .button-radio-group { display: grid; gap: 8px; } .modifier-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); } .inline-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .button-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; } .scroll-toggle-row { display: grid; grid-template-columns: minmax(110px, max-content) max-content 18px max-content; gap: 10px; align-items: center; } .scroll-toggle-row span { white-space: nowrap; } .scroll-toggle-row input { width: 18px; min-height: 18px; } .led-region-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; } .led-region-tabs button { min-height: 38px; padding: 8px 14px; border-radius: 6px; color: #25322f; background: #dfe7e2; cursor: pointer; display: inline-flex; justify-content: center; align-items: center; white-space: nowrap; text-align: center; } .led-region-tabs button.active { color: #f8fbf9; background: #226957; } .led-options { display: grid; gap: 10px; margin-bottom: 18px; } .led-option { display: grid; grid-template-columns: max-content minmax(0, max-content) max-content; gap: 10px; align-items: center; justify-content: start; } .led-option span { white-space: nowrap; } .led-option input[type="color"] { width: 52px; min-width: 52px; padding: 3px; } .slider-row { display: grid; grid-template-columns: 90px 110px minmax(0, 1fr); gap: 12px; align-items: center; margin-bottom: 12px; } .slider-row input[type="range"] { width: 100%; } .stage-list span, .info-list dt { color: #66736f; font-size: 0.78rem; font-weight: 700; } .info-list { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px 16px; margin: 0; } .info-list dd { min-width: 0; margin: 0; overflow-wrap: anywhere; } .empty-state { max-width: 760px; } .empty-state p { max-width: 680px; } @media (max-width: 760px) { .app-shell, .panel-grid, .dpi-editor, .field.inline, .info-list, .inline-pair { grid-template-columns: 1fr; } .topbar, .profile-row { align-items: stretch; flex-direction: column; } }