/* ===========================
   SDVX(사운드 볼텍스) 페이지 전용 스타일
   (마이마이 styles.css를 먼저 불러온 뒤 이 파일로 덮어씀)
   =========================== */

.sdvx-record-section {
    margin-top: 20px;
}

.sdvx-record-toolbar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.sdvx-record-toolbar input,
.sdvx-record-toolbar select {
    flex: 1 1 160px;
}

.sdvx-record-block {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.sdvx-record-main {
    flex: 1 1 200px;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.sdvx-record-title {
    font-weight: 700;
    font-size: 14px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: break-word;
}
.sdvx-record-artist {
    font-size: 11px;
    color: #999;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: break-word;
}

.sdvx-record-diff-tag {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    background: rgba(255,255,255,0.1);
    color: #ccc;
}

/* 난이도 + 레벨 태그 (사볼 참고 사이트 스타일: 레벨/난이도를 크고 눈에 띄게) */
.sdvx-diff-level-tag {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    min-width: 46px;
    max-width: 100%;
    box-sizing: border-box;
    padding: 4px 10px;
    border-radius: 8px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.12);
    overflow: hidden;
}
.sdvx-diff-short {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.5px;
    opacity: 0.9;
}
.sdvx-level-num {
    font-size: 21px;
    font-weight: 900;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

/* 난이도별 색상 (유저 지정: NOV 파랑 / ADV 노랑 / EXH 빨강 / MXM 회색 /
   INF 연분홍 / GRV 주황 / HVN 하늘색 / VVD 분홍 / EXCEED 하늘색 / NOVEL 초록)
   .sdvx-diff-level-tag(기록 탭, 흰색 카드 위)는 흰 배경에서도 잘 보이도록 진하게
   채운 배경 + 흰 글씨를 쓰고, .sdvx-rating-card-diff(볼포스 탭, 자켓 사진 위)는
   반투명한 톤 + 밝은 글씨를 써서 사진 위에서 잘 보이게 함. */
.sdvx-diff-level-tag.sdvx-diff-NOVICE   { background: #2f6fe0; border-color: #2f6fe0; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-ADVANCED { background: #d19a00; border-color: #d19a00; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-EXHAUST  { background: #e8415f; border-color: #e8415f; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-MAXIMUM  { background: #7a7a82; border-color: #7a7a82; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-INFINITE { background: #e05a97; border-color: #e05a97; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-GRAVITY  { background: #e0801f; border-color: #e0801f; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-HEAVENLY { background: #2f93e0; border-color: #2f93e0; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-VIVID    { background: #e0529a; border-color: #e0529a; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-EXCEED   { background: #2f93e0; border-color: #2f93e0; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-NOVEL    { background: #2fa360; border-color: #2fa360; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-ULTIMATE { background: #c99a10; border-color: #c99a10; color: #fff; }
.sdvx-diff-level-tag.sdvx-diff-EXTRA    { background: #8a8a90; border-color: #8a8a90; color: #fff; }
.sdvx-diff-level-tag .sdvx-level-num { color: #fff; }

/* 곡명 옆에 붙는 작은 난이도 배지(기록 탭) - 위 색상과 동일 계열, 더 작게 */
.sdvx-record-title-diff {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    padding: 1px 6px;
    border-radius: 4px;
    margin-left: 6px;
    vertical-align: middle;
    letter-spacing: 0.3px;
}
.sdvx-record-title-diff.sdvx-diff-NOVICE   { background: #2f6fe0; }
.sdvx-record-title-diff.sdvx-diff-ADVANCED { background: #d19a00; }
.sdvx-record-title-diff.sdvx-diff-EXHAUST  { background: #e8415f; }
.sdvx-record-title-diff.sdvx-diff-MAXIMUM  { background: #7a7a82; }
.sdvx-record-title-diff.sdvx-diff-INFINITE { background: #e05a97; }
.sdvx-record-title-diff.sdvx-diff-GRAVITY  { background: #e0801f; }
.sdvx-record-title-diff.sdvx-diff-HEAVENLY { background: #2f93e0; }
.sdvx-record-title-diff.sdvx-diff-VIVID    { background: #e0529a; }
.sdvx-record-title-diff.sdvx-diff-EXCEED   { background: #2f93e0; }
.sdvx-record-title-diff.sdvx-diff-NOVEL    { background: #2fa360; }
.sdvx-record-title-diff.sdvx-diff-ULTIMATE { background: #c99a10; }
.sdvx-record-title-diff.sdvx-diff-EXTRA    { background: #8a8a90; }

/* 볼포스 탭 자켓 오버레이용(사진 위라서 반투명 톤으로) */
.sdvx-rating-card-diff.sdvx-diff-NOVICE   { background: rgba(47,111,224,0.85); border-color: rgba(143,193,255,0.6); }
.sdvx-rating-card-diff.sdvx-diff-ADVANCED { background: rgba(209,154,0,0.85); border-color: rgba(255,224,138,0.6); }
.sdvx-rating-card-diff.sdvx-diff-EXHAUST  { background: rgba(232,65,95,0.85); border-color: rgba(255,153,169,0.6); }
.sdvx-rating-card-diff.sdvx-diff-MAXIMUM  { background: rgba(122,122,130,0.85); border-color: rgba(207,208,212,0.6); }
.sdvx-rating-card-diff.sdvx-diff-INFINITE { background: rgba(224,90,151,0.85); border-color: rgba(255,170,205,0.6); }
.sdvx-rating-card-diff.sdvx-diff-GRAVITY  { background: rgba(224,128,31,0.85); border-color: rgba(255,172,87,0.6); }
.sdvx-rating-card-diff.sdvx-diff-HEAVENLY { background: rgba(47,147,224,0.85); border-color: rgba(127,196,255,0.6); }
.sdvx-rating-card-diff.sdvx-diff-VIVID    { background: rgba(224,82,154,0.85); border-color: rgba(255,143,196,0.6); }
.sdvx-rating-card-diff.sdvx-diff-EXCEED   { background: rgba(47,147,224,0.85); border-color: rgba(127,196,255,0.6); }
.sdvx-rating-card-diff.sdvx-diff-NOVEL    { background: rgba(47,163,96,0.85); border-color: rgba(111,224,160,0.6); }
.sdvx-rating-card-diff.sdvx-diff-ULTIMATE { background: rgba(201,154,16,0.85); border-color: rgba(255,213,79,0.7); }
.sdvx-rating-card-diff.sdvx-diff-EXTRA    { background: rgba(10,10,12,0.78); border-color: rgba(255,255,255,0.18); }

/* ===========================
   볼포스 탭: 마이마이 스타일 그리드 (자켓 위에 난이도/레벨/VF 오버레이)
   =========================== */
.sdvx-rating-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
@media (max-width: 900px) {
    .sdvx-rating-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
    .sdvx-rating-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}

.sdvx-rating-card {
    background: #2b2b33;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
    display: flex;
    flex-direction: column;
}

.sdvx-rating-card-jacket-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #000;
}
.sdvx-rating-card-jacket {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.sdvx-rating-card-diff {
    position: absolute;
    top: 6px;
    left: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.05;
    padding: 4px 8px;
    border-radius: 7px;
    background: rgba(10,10,12,0.78);
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 1px 5px rgba(0,0,0,0.55);
}
.sdvx-rating-card-diff .sdvx-diff-short { font-size: 11px; font-weight: 900; text-shadow: 0 1px 2px rgba(0,0,0,0.6); }
.sdvx-rating-card-diff .sdvx-level-num { font-size: 21px; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,0.6); }

/* 클리어마크(곡명 옆, 약자 PUC/UC/MXV/EX/COM/PLAY) - 카드 정보 영역(진한 회색) 위라
   자켓 사진 위에 있을 때보다 잘 보여서, 반투명 배경이어도 선명하게 보임 */
.sdvx-rating-card-clear {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.3px;
    padding: 3px 7px;
    border-radius: 6px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
.sdvx-rating-card-clear.sdvx-clear-played      { color: #7fd1a6; background: rgba(46,125,85,0.38); }
.sdvx-rating-card-clear.sdvx-clear-complete    { color: #4ade99; background: rgba(74,222,153,0.3); }
.sdvx-rating-card-clear.sdvx-clear-ex-complete { color: #c98bff; background: rgba(179,109,240,0.32); }
.sdvx-rating-card-clear.sdvx-clear-mx-complete { color: #d4d4db; background: rgba(154,154,162,0.32); }
.sdvx-rating-card-clear.sdvx-clear-uc          { color: #ff8fc0; background: rgba(255,95,168,0.3); }
.sdvx-rating-card-clear.sdvx-clear-puc         { color: #ffd54f; background: rgba(255,213,79,0.32); }

.sdvx-rating-card-vf {
    position: absolute;
    top: 6px;
    right: 6px;
    font-size: 15px;
    font-weight: 900;
    padding: 4px 9px;
    border-radius: 7px;
    color: #1a1a1a;
    background: linear-gradient(90deg, #ffd54f, #ff9d4f);
    font-variant-numeric: tabular-nums;
    box-shadow: 0 1px 5px rgba(0,0,0,0.5);
}
.sdvx-rating-card-info {
    padding: 8px 9px 9px;
    background: #2b2b33;
}
.sdvx-rating-card-title-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
}
.sdvx-rating-card-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sdvx-rating-card-sub {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #e8e8e8;
    font-weight: 600;
}
/* 등급을 스코어 왼쪽에 붙여서 표시 (예: "S 9900000") */
.sdvx-rating-card-grade {
    font-weight: 900;
    font-size: 14px;
    color: #ffd54f;
}
.sdvx-rating-card-score {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: #fff;
}

.sdvx-record-grade {
    flex: 0 1 44px;
    min-width: 0;
    box-sizing: border-box;
    text-align: center;
    font-weight: 900;
    font-size: 15px;
    color: #ffd54f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sdvx-record-score {
    flex: 0 1 90px;
    min-width: 0;
    box-sizing: border-box;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sdvx-record-clear {
    flex: 0 1 64px;
    min-width: 0;
    box-sizing: border-box;
    text-align: center;
    font-size: 10px;
    font-weight: 800;
    padding: 4px 5px;
    border-radius: 6px;
    background: #8a8a90;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* 클리어마크 색상(유저 지정: PUC 금색 / UC 분홍 / MX-complete 회색 /
   EX-complete 보라 / complete 초록 / played 어두운 녹색) */
.sdvx-clear-played      { color: #fff; background: #2e7d55; }
.sdvx-clear-complete    { color: #163322; background: #4ade99; }
.sdvx-clear-ex-complete { color: #fff; background: #b36df0; }
.sdvx-clear-mx-complete { color: #fff; background: #9a9aa2; }
.sdvx-clear-uc          { color: #fff; background: #ff5fa8; }
.sdvx-clear-puc         { color: #1a1a1a; background: linear-gradient(90deg, #ffe08a, #ffd54f); }

.sdvx-vf-badge {
    flex: 0 1 68px;
    min-width: 0;
    box-sizing: border-box;
    text-align: center;
    font-size: 17px;
    font-weight: 900;
    padding: 6px 8px;
    border-radius: 8px;
    color: #1a1a1a;
    background: linear-gradient(90deg, #ffd54f, #ff9d4f);
    font-variant-numeric: tabular-nums;
    box-shadow: 0 1px 4px rgba(255,157,79,0.35);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sdvx-record-block .record-jacket {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    max-width: 56px;
    border-radius: 6px;
    object-fit: cover;
    box-sizing: border-box;
}

/* 기록탭이 2열 그리드로 바뀌는 넓은 화면에서는 한 칸의 너비가 줄어드니
   고정폭 요소들을 살짝 줄여서 줄바꿈 없이 깔끔하게 들어가도록 함 */
@media (min-width: 1000px) {
    .sdvx-record-score { flex-basis: 78px; font-size: 14px; }
    .sdvx-vf-badge { flex-basis: 56px; font-size: 15px; padding: 5px 6px; }
    .sdvx-record-clear { flex-basis: 56px; font-size: 9px; padding: 4px 4px; }
    .sdvx-record-main { flex-basis: 150px; }
}

.sdvx-profile-extra {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 6px;
    font-size: 12px;
    color: #ccc;
}
.sdvx-profile-img {
    width: 84px;
    height: 84px;
    border-radius: 10px;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,0.15);
}
.sdvx-skill-name {
    font-weight: 700;
    color: #ffd54f;
}

@media (max-width: 600px) {
    .sdvx-record-block { gap: 6px; }
    .sdvx-record-artist { display: none; }
    .sdvx-record-clear { flex-basis: 54px; font-size: 9px; padding: 4px 3px; }
    .sdvx-record-score { flex-basis: 74px; font-size: 13px; }
    .sdvx-vf-badge { flex-basis: 48px; font-size: 13px; padding: 4px 6px; }
    .sdvx-diff-level-tag { min-width: 38px; padding: 3px 7px; }
    .sdvx-diff-short { font-size: 9px; }
    .sdvx-level-num { font-size: 17px; }
    .sdvx-profile-img { width: 60px; height: 60px; }
}

/* 볼포스 탭 상단 "VOLFORCE" 타원 - 글자가 꽉 차 보여서 좌우로 살짝 넓히고 위로 올림 */
#sdvx-rating .title-text {
    width: 130px;
    top: -4px;
}

/* 친구 탭 - 대신 갱신 허용 토글 */
.proxy-toggle-row { display: flex !important; align-items: center; justify-content: flex-start !important; gap: 8px; }
.proxy-toggle-row input[type="checkbox"] { width: auto !important; margin: 0; flex: 0 0 auto; }
.proxy-toggle-row strong { margin: 0; font-size: 14px; }

/* ===========================
   프로필 영역 정렬 (사볼)
=========================== */
.profile-section .sdvx-profile-img {
    width: auto;
    height: 132px;
    max-width: 120px;
    object-fit: contain;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.15);
    background: rgba(0,0,0,0.25);
    flex-shrink: 0;
}
.profile-left { align-items: center; }
.profile-info { gap: 3px; min-width: 0; }
/* 마이마이용 레이팅 프레임 자리(왼쪽 63px 여백)가 사볼에선 필요 없어서 제거 */
.profile-info .rating-container { min-width: 0; height: auto; padding: 0; margin: 2px 0; }
.profile-info .rating-container .rating { padding-left: 0; letter-spacing: 2px; }
.profile-info .sdvx-profile-extra { margin-top: 2px; }
@media (max-width: 600px) {
    .profile-section .sdvx-profile-img { height: 96px; max-width: 86px; }
}

/* ===========================
   기록 탭 곡 블록 고정 정렬 (grid)
   곡명/레벨 길이와 상관없이 모든 칸이 같은 위치/폭에 오도록 컬럼을 고정함
=========================== */
.sdvx-record-block {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 62px 48px 96px 68px 64px;
    grid-template-areas: "jacket main tag grade score clear vf";
    align-items: center;
    column-gap: 10px;
    height: 84px;
    min-height: 84px;
    overflow: hidden;
}
.sdvx-record-block > * { min-width: 0; max-width: 100%; flex: none; margin: 0; }
.sdvx-record-block .record-jacket { grid-area: jacket; width: 56px; height: 56px; }
.sdvx-record-main        { grid-area: main; }
.sdvx-diff-level-tag     { grid-area: tag; width: 100%; min-width: 0; height: 46px; padding: 3px 4px; }
.sdvx-record-grade       { grid-area: grade; text-align: center; }
.sdvx-record-score       { grid-area: score; text-align: right; }
.sdvx-record-clear       { grid-area: clear; width: 100%; padding: 5px 2px; }
.sdvx-vf-badge           { grid-area: vf; width: 100%; padding: 6px 2px; }
.sdvx-record-block .sdvx-level-num { font-size: 19px; }

/* 곡명: 한 줄 고정(길면 …), 난이도 배지는 항상 보이게 */
.sdvx-record-title { display: flex; align-items: center; gap: 6px; overflow: hidden; }
.sdvx-record-title-text { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sdvx-record-title .sdvx-record-title-diff { flex: 0 0 auto; margin-left: 0; }

@media (min-width: 1000px) {
    .sdvx-record-block {
        grid-template-columns: 52px minmax(0, 1fr) 54px 42px 80px 58px 54px;
        column-gap: 8px;
        padding: 10px;
    }
    .sdvx-record-block .record-jacket { width: 52px; height: 52px; }
    .sdvx-record-block .sdvx-level-num { font-size: 17px; }
    .sdvx-record-grade { font-size: 13px; }
    .sdvx-record-score { font-size: 13px; }
    .sdvx-record-clear { font-size: 9px; }
    .sdvx-vf-badge { font-size: 14px; }
}

@media (max-width: 600px) {
    .sdvx-record-block {
        height: auto;
        min-height: 96px;
        grid-template-columns: 48px 44px 38px minmax(0, 1fr) 50px 40px;
        grid-template-areas:
            "jacket main  main  main  main  main"
            "jacket tag   grade score clear vf";
        row-gap: 6px;
        column-gap: 6px;
        padding: 10px;
    }
    .sdvx-record-block .record-jacket { width: 48px; height: 48px; }
    .sdvx-record-artist { display: none; }
    .sdvx-diff-level-tag { height: 36px; padding: 2px; }
    .sdvx-record-block .sdvx-level-num { font-size: 15px; }
    .sdvx-diff-short { font-size: 8px; }
    .sdvx-record-grade { font-size: 12px; }
    .sdvx-record-score { font-size: 12px; text-align: center; }
    .sdvx-record-clear { font-size: 8px; padding: 4px 1px; }
    .sdvx-vf-badge { font-size: 12px; padding: 4px 1px; }
}

/* 사볼 칭호(닉네임 위 작은 글씨) */
.sdvx-player-title {
    font-size: 12px;
    font-weight: 700;
    color: #ffd54f;
    line-height: 1.3;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* SDVX 곡 고르기 난이도 필터 버튼 (기본 모양은 styles.css의 .diff-filter-btn 공용) */
.diff-filter-btn.sdvx-nov-diff-filter   { color: #2f6fe0; }
.diff-filter-btn.sdvx-adv-diff-filter   { color: #d19a00; }
.diff-filter-btn.sdvx-exh-diff-filter   { color: #e8415f; }
.diff-filter-btn.sdvx-mxm-diff-filter   { color: #7a7a82; }
.diff-filter-btn.sdvx-fifth-diff-filter { color: #e0801f; }
.diff-filter-btn.sdvx-nov-diff-filter.is-active   { background: #2f6fe0; color: #fff; border-color: #2f6fe0; }
.diff-filter-btn.sdvx-adv-diff-filter.is-active   { background: #d19a00; color: #fff; border-color: #d19a00; }
.diff-filter-btn.sdvx-exh-diff-filter.is-active   { background: #e8415f; color: #fff; border-color: #e8415f; }
.diff-filter-btn.sdvx-mxm-diff-filter.is-active   { background: #7a7a82; color: #fff; border-color: #7a7a82; }
.diff-filter-btn.sdvx-fifth-diff-filter.is-active { background: #e0801f; color: #fff; border-color: #e0801f; }

/* 곡 고르기/담은 곡 블록: 기록 탭 블록과 같은 격자(자켓 · 곡명 · 난이도).
   담은 곡의 삭제 버튼은 원래처럼 오른쪽에 떠 있고(absolute), 그 자리만 padding으로 비워둠 */
.sdvx-record-block.sdvx-pick-block {
    grid-template-columns: 56px minmax(0, 1fr) 62px;
    grid-template-areas: "jacket main tag";
    height: 72px; min-height: 72px; cursor: pointer;
}
.sdvx-record-block.sdvx-pick-block.song-cart-item { cursor: default; padding-right: 74px; }
@media (min-width: 1000px) {
    .sdvx-record-block.sdvx-pick-block { grid-template-columns: 52px minmax(0, 1fr) 54px; }
}
@media (max-width: 600px) {
    .sdvx-record-block.sdvx-pick-block {
        grid-template-columns: 48px minmax(0, 1fr) 46px;
        grid-template-areas: "jacket main tag";
        height: auto; min-height: 64px; row-gap: 0;
    }
    .sdvx-record-block.sdvx-pick-block.song-cart-item { padding-right: 64px; }
}

/* 세트 수정 모달 안의 SDVX 난이도 태그는 전역 width:100% 를 풀어서 작게 */
.se-row .se-sdvx-tag.sdvx-diff-level-tag { width: auto; flex: 0 0 auto; padding: 2px 8px; grid-area: auto; }
.se-row .se-row-targets .se-score { width: 130px; }

/* 사볼 난이도표 체크 기준: 스코어는 7자리라 입력칸을 넓게 */
#sxCheckBar input[type=number] { width: 112px; }
