/* Modern tabulation page */

.tabulation-page-shell{
    --tab-bg:#f5f7fb;
    --tab-surface:#ffffff;
    --tab-surface-soft:#f8fafc;
    --tab-border:#e4e7ec;
    --tab-border-strong:#d0d5dd;
    --tab-text:#101828;
    --tab-muted:#475467;
    --tab-accent:#2563eb;
    --tab-accent-soft:#eff6ff;
    --tab-success:#067647;
    --tab-success-soft:#ecfdf3;
    --tab-danger:#b42318;
    --tab-danger-soft:#fee4e2;
    color:var(--tab-text);
    padding:12px 0 8px;
}

.tabulation-page-alert{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 16px;
    padding:10px 14px;
    border:1px solid #f7b7b2;
    border-radius:12px;
    background:var(--tab-danger-soft);
    color:var(--tab-danger);
    font-size:14px;
    font-weight:600;
    line-height:1.35;
}

.tabulation-page-toolbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}

.tabulation-page-stages{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.tabulation-stage-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border:1px solid var(--tab-border);
    border-radius:999px;
    background:var(--tab-surface);
    color:var(--tab-muted);
    font-size:13px;
    font-weight:600;
    line-height:1;
    text-decoration:none !important;
    transition:border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease;
}

.tabulation-stage-chip:hover{
    border-color:var(--tab-border-strong);
    background:var(--tab-surface-soft);
    color:var(--tab-text);
    transform:translateY(-1px);
}

.tabulation-stage-chip.is-active{
    border-color:#bfd3ff;
    background:var(--tab-accent-soft);
    color:var(--tab-accent);
}

.tabulation-page-stage-title{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 14px;
    border:1px solid var(--tab-border);
    border-radius:12px;
    background:var(--tab-surface-soft);
    color:var(--tab-muted);
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}

.tabulation-list-wrap{
    width:100%;
    max-width:100%;
    overflow:auto;
    border:1px solid var(--tab-border);
    border-radius:16px;
    background:var(--tab-surface);
    box-shadow:0 8px 24px rgba(16,24,40,.06);
    -webkit-overflow-scrolling:touch;
}

.tabulation-list-wrap table{
    margin:0;
}

.tabulation-main-table{
    width:100%;
    min-width:100%;
    table-layout:auto;
    border-collapse:separate;
    border-spacing:0;
    background:var(--tab-surface);
    color:var(--tab-text);
    font-size:14px;
}

.tabulation-main-table col.col-number{width:1%;}
.tabulation-main-table col.col-dance{width:auto;}
.tabulation-main-table col.col-age{width:1%;}
.tabulation-main-table col.col-adj{width:1%;}

.tabulation-main-table thead th{
    position:sticky;
    top:0;
    z-index:2;
    padding:12px 12px;
    border-bottom:1px solid var(--tab-border);
    background:var(--tab-surface-soft);
    color:var(--tab-muted);
    font-size:12px;
    font-weight:700;
    letter-spacing:.02em;
    text-align:left;
    white-space:nowrap;
}

.tabulation-main-table tbody td{
    padding:12px;
    border-bottom:1px solid #eef2f6;
    vertical-align:middle;
    background:var(--tab-surface);
}

.tabulation-main-table tbody tr{
    cursor:pointer;
    transition:background-color .16s ease;
}

.tabulation-main-table tbody tr:hover td{
    background:#fbfcfe;
}

.tabulation-main-table tbody tr:last-child td{
    border-bottom:none;
}

.tabulation-main-row.resultsSubmitted td{
    background:var(--tab-success-soft);
}

.tabulation-main-row.resultsSubmitted:hover td{
    background:#e5fbef;
}

.tabulation-comp-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:56px;
    min-height:32px;
    padding:0 10px;
    border:1px solid var(--tab-border);
    border-radius:10px;
    background:var(--tab-surface-soft);
    color:var(--tab-text);
    font-size:13px;
    font-weight:700;
    line-height:1;
    font-variant-numeric:tabular-nums;
}

.tabulation-dance-name{
    color:var(--tab-text);
    font-size:14px;
    font-weight:400;
    line-height:1.35;
    word-break:break-word;
}

.tabulation-age-pill{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 10px;
    border:1px solid var(--tab-border);
    border-radius:999px;
    background:var(--tab-surface-soft);
    color:var(--tab-muted);
    font-size:12px;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
}

.tabulation-select{
    display:inline-block;
    width:auto;
    min-width:fit-content;
    min-height:38px;
    padding:8px 34px 8px 12px;
    border:1px solid var(--tab-border-strong);
    border-radius:10px;
    background-color:#fff;
    color:var(--tab-text);
    font-size:13px;
    font-weight:500;
    line-height:1.2;
    box-shadow:none;
    outline:none;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23667085' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 12px center;
    background-size:14px 14px;
    transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.tabulation-select:hover{
    border-color:#98a2b3;
}

.tabulation-select:focus{
    border-color:var(--tab-accent);
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.tabulation-select:disabled{
    background-color:#f2f4f7;
    color:#98a2b3;
    cursor:not-allowed;
}

#tabulation_table_wrapper{
    padding:0;
}

#tabulation_table_wrapper .dataTables_filter,
#tabulation_table_wrapper .dataTables_length,
#tabulation_table_wrapper .dataTables_info,
#tabulation_table_wrapper .dataTables_paginate{
    display:none !important;
}


.tabulation-main-table th:nth-child(1),
.tabulation-main-table td:nth-child(1),
.tabulation-main-table th:nth-child(3),
.tabulation-main-table td:nth-child(3),
.tabulation-main-table th:nth-child(4),
.tabulation-main-table td:nth-child(4){

    white-space:nowrap;
}

.tabulation-main-table td:nth-child(4){
    text-align:left;
}

.tabulation-main-table td:nth-child(4) .tabulation-select{
    width:auto;
    max-width:100%;
}

@media (max-width: 640px){
    .tabulation-page-shell{
        padding:8px 0 6px;
    }

    .tabulation-page-toolbar{
        gap:10px;
        margin-bottom:12px;
    }

    .tabulation-page-stages{
        gap:6px;
    }

    .tabulation-stage-chip,
    .tabulation-page-stage-title{
        min-height:34px;
        padding:0 10px;
        font-size:12px;
    }

    .tabulation-list-wrap{
        overflow:visible;
        border-radius:12px;
    }

    .tabulation-main-table{
        min-width:0;
        font-size:12px;
    }

    .tabulation-main-table thead th,
    .tabulation-main-table tbody td{
        padding:8px 6px;
    }

    .tabulation-main-table col.col-number,
    .tabulation-main-table col.col-age,
    .tabulation-main-table col.col-adj{
        width:1%;
    }

    .tabulation-main-table th:nth-child(1),
    .tabulation-main-table td:nth-child(1){
        padding-left:4px;
        padding-right:4px;
    }

    .tabulation-comp-badge{
        min-width:0;
        min-height:24px;
        padding:0 6px;
        border-radius:8px;
        font-size:11px;
        font-weight:600;
    }

    .tabulation-dance-name{
        font-size:12px;
        font-weight:400;
        line-height:1.25;
    }

    .tabulation-age-pill{
        min-height:22px;
        padding:0 7px;
        font-size:11px;
        font-weight:500;
    }

    .tabulation-main-table th:nth-child(4),
    .tabulation-main-table td:nth-child(4){
        padding-left:4px;
        padding-right:4px;
    }

    .tabulation-main-table td:nth-child(4) .tabulation-select,
    .tabulation-select{
        width:auto;
        min-width:fit-content;
        min-height:32px;
        padding:6px 20px 6px 8px;
        border-radius:8px;
        font-size:11px;
        background-position:right 6px center;
        background-size:12px 12px;
    }
}


/* v8 content-compact helper columns with fixed adjudicator column */
.tabulation-main-table{
    table-layout:auto;
    width:100%;
    min-width:100%;
}

.tabulation-main-table col.col-number,
.tabulation-main-table col.col-age{
    width:1% !important;
}

.tabulation-main-table col.col-dance{
    width:auto !important;
}

.tabulation-main-table col.col-adj{
    width:58px !important;
}

.tabulation-main-table th:nth-child(1),
.tabulation-main-table td:nth-child(1),
.tabulation-main-table th:nth-child(3),
.tabulation-main-table td:nth-child(3){

    white-space:nowrap;
}

.tabulation-main-table th:nth-child(1),
.tabulation-main-table td:nth-child(1){
    padding-left:4px;
    padding-right:4px;
}

.tabulation-main-table th:nth-child(3),
.tabulation-main-table td:nth-child(3){
    padding-left:6px;
    padding-right:6px;
}

.tabulation-comp-badge{
    min-width:0;
    padding:0 6px;
}

.tabulation-age-pill{
    min-height:24px;
    padding:0 7px;
    font-size:11px;
    font-weight:500;
}

.tabulation-main-table th:nth-child(4),
.tabulation-main-table td:nth-child(4){
    width:58px;
    min-width:58px;
    max-width:58px;
    padding-left:4px;
    padding-right:4px;
}

.tabulation-main-table td:nth-child(4){
    overflow:hidden;
}

.tabulation-main-table td:nth-child(4) .tabulation-select{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    min-height:30px;
    padding:5px 18px 5px 6px;
    border-radius:8px;
    font-size:11px;
    white-space:nowrap;
    text-overflow:ellipsis;
    overflow:hidden;
    background-position:right 5px center;
    background-size:10px 10px;
}

@media (min-width: 641px){
    .tabulation-main-table col.col-adj{
        width:72px !important;
    }

    .tabulation-main-table th:nth-child(4),
    .tabulation-main-table td:nth-child(4){
//        width:72px;
     //   min-width:72px;
        max-width:72px;
    }

    .tabulation-main-table td:nth-child(4) .tabulation-select{
        min-height:34px;
        padding:6px 20px 6px 8px;
        border-radius:10px;
        font-size:12px;
        background-position:right 6px center;
        background-size:12px 12px;
    }
}
/* Expanded tabulation tables */

/* Expanded tabulation tables */

.tabulation-wrap{
    width:100%;
    max-width:100%;
    margin:14px 0 18px;
    overflow-x:auto;
    overflow-y:hidden;
    border:1px solid #e4e7ec;
    border-radius:16px;
    background:#ffffff;
    box-shadow:0 8px 24px rgba(16,24,40,.06);
    -webkit-overflow-scrolling:touch;
}

.tabulation-wrap > .tabulation-table{
    margin:0;
}

.tabulation-table{
    width:max-content;
    min-width:100%;
    border-collapse:separate;
    border-spacing:0;
    table-layout:fixed;
    background:#ffffff;
    color:#101828;
    font-size:14px;
}

.tabulation-table thead th{
    position:sticky;
    top:0;
    z-index:3;
    padding:10px 8px;
    border-bottom:1px solid #e4e7ec;
    background:#f8fafc;
    color:#475467;
    font-size:12px;
    font-weight:700;
    letter-spacing:.02em;
    text-align:left;
    white-space:nowrap;
}

.tabulation-table td{
    padding:8px;
    border-bottom:1px solid #eef2f6;
    border-right:1px solid #f2f4f7;
    vertical-align:middle;
    background:#ffffff;
}

.tabulation-table th:last-child,
.tabulation-table td:last-child{
    border-right:none;
}

.tabulation-table tbody tr:last-child td{
    border-bottom:none;
}

.tabulation-table tbody tr:hover td{
    background:#fbfcfe;
}

.tabulation-table .static-col{
    position:sticky;
    left:0;
    z-index:2;
    background:#ffffff;
}

.tabulation-table tbody tr:hover .static-col{
    background:#fbfcfe;
}

.tabulation-table thead .static-col{
    z-index:5;
    background:#f8fafc;
}

.tabulation-table .col-num{
    width:64px;
    min-width:64px;
    max-width:64px;
    text-align:center;
    font-variant-numeric:tabular-nums;
}

.tabulation-table .col-name{
    left:64px;
    width:190px;
    min-width:190px;
    max-width:190px;
}

.tabulation-table .score-head,
.tabulation-table .score-cell,
.tabulation-table .place-head,
.tabulation-table .place-cell{
    width:62px;
    min-width:62px;
    max-width:62px;
    text-align:center;
}

.tabulation-table .comment-head,
.tabulation-table .comment-cell{
    width:220px;
    min-width:220px;
}

.tabulation-table .score-cell,
.tabulation-table .place-cell{
    padding:6px;
}

.tabulation-input{
    display:block;
    width:100%;
    min-width:0;
    height:34px;
    padding:0 8px;
    border:1px solid #d0d5dd;
    border-radius:10px;
    background:#ffffff;
    color:#101828;
    font-size:13px;
    font-weight:500;
    line-height:1.2;
    text-align:center;
    box-sizing:border-box;
    outline:none;
    transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.tabulation-input:hover{
    border-color:#98a2b3;
}

.tabulation-input:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.tabulation-input:disabled{
    background:#f2f4f7;
    color:#98a2b3;
    cursor:not-allowed;
}

.tabulation-input-place{
    font-weight:700;
}

.tabulation-input-comment{
    text-align:left;
    font-weight:400;
}

.row-disabled td,
.row-disabled .static-col{
    background:#f8fafc !important;
    color:#98a2b3;
}

.row-disabled .tabulation-input{
    background:#f2f4f7;
    color:#98a2b3;
}

.team-members-list{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}

.team-member{
    display:block;
    font-size:13px;
    line-height:1.3;
    white-space:normal;
}

.tabulation-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:10px 0 4px;
}

.tabulation-btn{
    min-width:160px;
    height:38px !important;
    border-radius:10px !important;
}

.champ-table-wrap{
    overflow-x:auto;
    overflow-y:hidden;
}

.champ-table-modern{
    width:max-content;
    min-width:100%;
}

.champ-table-modern .col-num{
    width:52px;
    min-width:52px;
    max-width:52px;
}

.champ-table-modern .col-name{
    left:52px;
    width:170px;
    min-width:170px;
    max-width:170px;
}

.champ-table-modern .judge-group-head{
    min-width:174px;
    text-align:center !important;
}

.champ-table-modern thead tr:nth-child(2) th{
    top:43px;
    padding:8px 4px;
    font-size:11px;
    text-align:center;
}

.champ-table-modern .judge-block{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    min-height:48px;
}

.champ-table-modern .judge-name{
    display:block;
    max-width:150px;
    overflow:hidden;
    color:#101828;
    font-size:12px;
    font-weight:600;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
    cursor:grab;
    user-select:none;
}

.champ-table-modern .judge-group-head:active .judge-name{
    cursor:grabbing;
}

.champ-table-modern .score-head,
.champ-table-modern .score-cell{
    width:58px;
    min-width:58px;
    max-width:58px;
}

.champ-table-modern .round-col-heavy{
    background:#fbfcfd;
}

.champ-table-modern .round-col-soft{
    background:#ffffff;
}

.champ-table-modern .round-col-set{
    background:#f9fafb;
}

.champ-table-modern tbody tr:hover td.round-col-heavy,
.champ-table-modern tbody tr:hover td.round-col-soft,
.champ-table-modern tbody tr:hover td.round-col-set{
    background:#f8fafc;
}

.champ-table-modern .judge-start,
.champ-table-modern .judge-group{
    border-left:2px solid #d0d5dd !important;
}

.champ-table-modern .judge-end,
.champ-table-modern .judge-group{
    border-right:2px solid #d0d5dd !important;
}

.champ-table-modern .approve_checkbox{
    display:none;
}

.champ-table-modern .approve_checkbox + label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.champ-table-modern .approve_checkbox + label span{
    position:relative;
    display:inline-block;
    width:34px;
    height:18px;
    border-radius:999px;
    background:#d0d5dd;
    transition:all .2s ease;
}

.champ-table-modern .approve_checkbox + label span:before{
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:12px;
    height:12px;
    border-radius:50%;
    background:#ffffff;
    box-shadow:0 1px 2px rgba(0,0,0,.12);
    transition:all .2s ease;
}

.champ-table-modern .approve_checkbox:checked + label span{
    background:#12b76a;
}

.champ-table-modern .approve_checkbox:checked + label span:before{
    left:19px;
}

.champ-row-ghost td,
.champ-col-ghost{
    background:#eef4ff !important;
}

.champ-row-chosen td,
.champ-col-chosen{
    background:#f8fbff !important;
}

.champ-row-drag td,
.champ-col-drag{
    box-shadow:inset 0 0 0 1px rgba(37,99,235,.16);
}


.tabulation-page-shell,
.tabulation-list-wrap,
#tabulation_table_wrapper,
#tabulation_table_wrapper .child,
#tabulation_table_wrapper .child > div,
#tabulation_table_wrapper .slider,
#tabulation_table_wrapper table,
#tabulation_table_wrapper .tabulation-wrap,
#tabulation_table_wrapper .champ-table-wrap{
    max-width:100%;
}

#tabulation_table_wrapper .child,
#tabulation_table_wrapper .child > div{
    width:100%;
    overflow:hidden;
}

@media (max-width: 640px){
    .tabulation-wrap,
    .champ-table-wrap{
        width:100%;
        max-width:100vw;
        margin:10px 0 14px;
        border-radius:12px;
    }

    .tabulation-table,
    .champ-table-modern{
        min-width:max-content;
        font-size:12px;
    }

    .tabulation-table thead th,
    .tabulation-table td{
        padding:6px 5px;
    }

    .tabulation-table .col-num{
        width:46px;
        min-width:46px;
        max-width:46px;
    }

    .tabulation-table .col-name{
        left:46px;
        width:132px;
        min-width:132px;
        max-width:132px;
        white-space:normal;
        word-break:break-word;
    }

    .tabulation-table .score-head,
    .tabulation-table .score-cell,
    .tabulation-table .place-head,
    .tabulation-table .place-cell{
        width:50px;
        min-width:50px;
        max-width:50px;
    }

    .tabulation-table .comment-head,
    .tabulation-table .comment-cell{
        width:150px;
        min-width:150px;
    }

    .tabulation-input{
        height:30px;
        padding:0 6px;
        border-radius:8px;
        font-size:11px;
    }

    .tabulation-input-comment{
        text-align:left;
    }

    .tabulation-btn{
        min-width:0;
        width:auto !important;
        max-width:100%;
        padding:0 12px !important;
        font-size:12px !important;
    }

    .champ-table-modern .col-num{
        width:42px;
        min-width:42px;
        max-width:42px;
    }

    .champ-table-modern .col-name{
        left:42px;
        width:118px;
        min-width:118px;
        max-width:118px;
    }

    .champ-table-modern .judge-group-head{
        min-width:126px;
    }

    .champ-table-modern .judge-name{
        max-width:108px;
        font-size:11px;
    }

    .champ-table-modern .score-head,
    .champ-table-modern .score-cell{
        width:42px;
        min-width:42px;
        max-width:42px;
    }

    .champ-table-modern thead tr:nth-child(2) th{
        top:39px;
        padding:6px 2px;
        font-size:10px;
    }
}


/* v3 overflow hardening for DataTables child rows */
#tabulation_table,
#tabulation_table_wrapper,
#tabulation_table_wrapper table.tabulation-main-table,
#tabulation_table_wrapper tbody,
#tabulation_table_wrapper tr,
#tabulation_table_wrapper td{
    max-width:100%;
}

#tabulation_table_wrapper tr.shown > td,
#tabulation_table_wrapper tr.child > td,
#tabulation_table_wrapper table.dataTable tbody tr.child ul,
#tabulation_table_wrapper table.dataTable tbody tr.child li,
#tabulation_table_wrapper table.dataTable tbody tr.child .dtr-data,
#tabulation_table_wrapper table.dataTable tbody tr.child .tabulation-wrap,
#tabulation_table_wrapper table.dataTable tbody tr.child .champ-table-wrap{
    max-width:100%;
    box-sizing:border-box;
}

#tabulation_table_wrapper table.dataTable tbody tr.child > td,
#tabulation_table_wrapper tr.shown + tr > td{
    padding:0 !important;
    overflow:hidden;
}

#tabulation_table_wrapper table.dataTable tbody tr.child ul.dtr-details{
    max-width:100%;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden;
}

#tabulation_table_wrapper table.dataTable tbody tr.child ul.dtr-details > li{
    display:block;
    max-width:100%;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden;
}

#tabulation_table_wrapper table.dataTable tbody tr.child span.dtr-data{
    display:block;
    max-width:100%;
    overflow:hidden;
}

#tabulation_table_wrapper table.dataTable tbody tr.child .tabulation-wrap,
#tabulation_table_wrapper table.dataTable tbody tr.child .champ-table-wrap{
    margin:0;
    border-left:none;
    border-right:none;
    border-radius:0;
}

@media (max-width: 640px){
    #tabulation_table_wrapper table.dataTable tbody tr.child > td,
    #tabulation_table_wrapper tr.shown + tr > td{
        padding:0 !important;
    }

    #tabulation_table_wrapper table.dataTable tbody tr.child .tabulation-wrap,
    #tabulation_table_wrapper table.dataTable tbody tr.child .champ-table-wrap{
        max-width:calc(100vw - 8px);
    }
}


/* v4 row stability and tighter regular/champ widths */
#tabulation_table_wrapper table.tabulation-main-table tbody > tr.shown > td,
#tabulation_table_wrapper table.tabulation-main-table tbody > tr.tabulation-main-row.shown > td{
    vertical-align:middle !important;
}

#tabulation_table_wrapper table.tabulation-main-table tbody > tr.shown + tr.child > td,
#tabulation_table_wrapper table.tabulation-main-table tbody > tr.shown + tr > td{
    position:relative;
}

.tabulation-table-solo .col-name,
.tabulation-table-team .col-name{
    width:160px;
    min-width:160px;
    max-width:160px;
}

@media (max-width: 640px){
    .tabulation-table-solo .col-name,
    .tabulation-table-team .col-name{
        width:112px;
        min-width:112px;
        max-width:112px;
    }

    .champ-table-modern .judge-group-head{
        min-width:108px;
    }

    .champ-table-modern .judge-name{
        max-width:92px;
    }
}


/* v6 desktop width tuning for expanded tables */
@media (min-width: 641px){
    .tabulation-wrap{
        overflow-x:auto;
    }

    .tabulation-table{
        width:auto;
        min-width:0;
    }

    .tabulation-table-solo,
    .tabulation-table-team{
        width:100%;
        min-width:0;
        table-layout:fixed;
    }

    .tabulation-table-solo .col-name,
    .tabulation-table-team .col-name{
        width:148px;
        min-width:148px;
        max-width:148px;
    }

    .tabulation-table-solo .score-head,
    .tabulation-table-solo .score-cell,
    .tabulation-table-solo .place-head,
    .tabulation-table-solo .place-cell,
    .tabulation-table-team .score-head,
    .tabulation-table-team .score-cell,
    .tabulation-table-team .place-head,
    .tabulation-table-team .place-cell{
        width:64px;
        min-width:64px;
        max-width:64px;
    }

    .tabulation-table-solo .comment-head,
    .tabulation-table-solo .comment-cell,
    .tabulation-table-team .comment-head,
    .tabulation-table-team .comment-cell{
        width:auto;
        min-width:220px;
    }

    .champ-table-wrap{
        overflow-x:auto;
        text-align:left;
    }

    .champ-table-modern{
        width:max-content;
        min-width:0;
        table-layout:fixed;
        margin-right:auto;
    }

    .champ-table-modern .col-num{
        width:52px;
        min-width:52px;
        max-width:52px;
    }

    .champ-table-modern .col-name{
        width:154px;
        min-width:154px;
        max-width:154px;
        left:52px;
    }

    .champ-table-modern .judge-group-head{
        width:126px;
        min-width:126px;
        max-width:126px;
    }

    .champ-table-modern .judge-name{
        max-width:106px;
    }

    .champ-table-modern .score-head,
    .champ-table-modern .score-cell{
        width:42px;
        min-width:42px;
        max-width:42px;
        padding:6px 3px;
    }

    .champ-table-modern .tabulation-input{
        height:30px;
        padding:0 4px;
        border-radius:8px;
        font-size:11px;
    }
}


/* v7 fix clipped number column and unify champ score inputs */
@media (min-width: 641px){
    .tabulation-table-solo .col-num,
    .tabulation-table-team .col-num{
        width:72px;
        min-width:72px;
        max-width:72px;
    }

    .tabulation-table-solo .static-col.col-num,
    .tabulation-table-team .static-col.col-num{
        text-align:center;
    }

    .tabulation-table-solo .score-cell .tabulation-input,
    .tabulation-table-solo .place-cell .tabulation-input,
    .tabulation-table-team .score-cell .tabulation-input,
    .tabulation-table-team .place-cell .tabulation-input,
    .champ-table-modern .score-cell .tabulation-input{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box;
    }

    .champ-table-modern .score-head,
    .champ-table-modern .score-cell{
        width:44px;
        min-width:44px;
        max-width:44px;
    }

    .champ-table-modern .score-cell .tabulation-input{
        height:28px;
width: 44px !important;
        padding:0 2px;
        font-size:11px;
        text-align:center;
    }

    .champ-table-modern .judge-group-head{
        width:132px;
        min-width:132px;
        max-width:132px;
    }
}

/* v2 center expanded table inputs inside cells */
.tabulation-table .score-cell,
.tabulation-table .place-cell,
.champ-table-modern .score-cell{
    text-align:center;
}

.tabulation-table .score-cell .tabulation-input,
.tabulation-table .place-cell .tabulation-input,
.champ-table-modern .score-cell .tabulation-input,
.champ-table-modern input.champ_mark{
    display:block;
    margin-left:auto !important;
    margin-right:auto !important;
}

.champ-table-modern .score-cell{
    padding-left:0 !important;
    padding-right:0 !important;
}

@media (min-width: 641px){
    .tabulation-table .score-cell,
    .tabulation-table .place-cell{
        padding-left:6px;
        padding-right:6px;
    }

    .champ-table-modern .score-cell,
    .champ-table-modern td.judge-col{
        text-align:center;
        padding-left:2px !important;
        padding-right:2px !important;
    }

    .champ-table-modern .score-cell .tabulation-input,
    .champ-table-modern td.judge-col .tabulation-input,
    .champ-table-modern input.champ_mark{
        margin-left:auto !important;
        margin-right:auto !important;
    }
}


/* v3 button width, panel spacing, and tighter score input radius */
.tabulation-actions .tabulation-btn,
.tabulation-btn{
    width:auto !important;
    min-width:0 !important;
    max-width:100%;
    padding-left:14px !important;
    padding-right:14px !important;
    display:inline-flex;
    flex:0 0 auto;
}

#tabulation_table_wrapper table.dataTable tbody tr.child .tabulation-wrap,
#tabulation_table_wrapper table.dataTable tbody tr.child .champ-table-wrap{
//    margin-top:6px;
//    margin-bottom:6px;
}

.tabulation-table .score-cell .tabulation-input,
.tabulation-table .place-cell .tabulation-input,
.champ-table-modern .score-cell .tabulation-input,
.champ-table-modern input.champ_mark{
    border-radius:2px !important;
}