/* === テニスダブルス乱数表ウィジェット (tennis-doubles-random-number-table) === */

.ransu-app{max-width:700px;margin:1.4em 0;padding:16px;border-radius:10px;background:#f4faf7;border:1px solid #bfe3d3;}
.ransu-fallback{margin:0;font-size:.9em;color:#4a6b5e;}

/* 見出しと人数ボタン */
.ransu-head{margin-bottom:12px;}
.ransu-title{margin:0 0 8px;font-size:.9em;font-weight:700;color:#2f6b55;}
.ransu-tabs{display:flex;gap:8px;}
.ransu-tab{flex:1;padding:12px 4px;border:1px solid #bfe3d3;border-radius:8px;background:#fff;color:#2f6b55;font-size:1.05em;font-weight:700;line-height:1.2;cursor:pointer;}
.ransu-tab:hover{background:#e8f6ef;}
.ransu-tab.is-on{background:#2f8f6b;border-color:#2f8f6b;color:#fff;}

/* 内訳と進捗 */
.ransu-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin:0 0 8px;font-size:.86em;color:#4a6b5e;}
.ransu-meta strong{color:#1f5a44;}
.ransu-progress{margin-left:auto;padding:2px 10px;border-radius:999px;background:#fff;border:1px solid #bfe3d3;white-space:nowrap;}

/* 乱数表 */
.ransu-tablewrap{overflow-x:auto;background:#fff;border:1px solid #d6e8e0;border-radius:8px;}
.ransu-table{width:100%;border-collapse:collapse;font-size:.94em;}
.ransu-table th,.ransu-table td{padding:11px 10px;border-bottom:1px solid #eaf2ee;text-align:left;white-space:nowrap;}
.ransu-table thead th{background:#e8f6ef;color:#2f6b55;font-size:.86em;font-weight:700;}
.ransu-table tbody tr:last-child td{border-bottom:0;}
.ransu-table tbody tr{cursor:pointer;}
.ransu-c-no{width:6.6em;color:#4a6b5e;font-size:.92em;}
.ransu-c-rest{color:#7b8f88;font-size:.92em;}

/* 8人だけ発生する2連続休みの行 */
.ransu-table tr.is-hl td{background:#eafaf1;}

/* 次にやる試合 */
.ransu-table tr.is-next td{background:#fffbe6;}
.ransu-table tr.is-next .ransu-c-no::after{content:"次";display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#f0a500;color:#fff;font-size:.78em;font-weight:700;vertical-align:middle;}

/* 消化済み（ウィジェット側） */
.ransu-table tr.is-done td{background:#f7f7f7;color:#a9a9a9;text-decoration:line-through;}
.ransu-table tr.is-done.is-next .ransu-c-no::after{display:none;}

.ransu-warn{margin:8px 0 0;font-size:.82em;color:#a2683a;}
.ransu-actions{margin-top:10px;}
.ransu-reset{padding:6px 12px;border:1px solid #cfdcd7;border-radius:6px;background:#fff;color:#5a7a6e;font-size:.82em;cursor:pointer;}
.ransu-reset:hover{background:#f0f6f3;}
.ransu-note{margin:8px 0 0;font-size:.82em;line-height:1.7;color:#7b8f88;}

@media screen and (max-width:480px){
    .ransu-app{padding:12px;}
    .ransu-tab{padding:11px 2px;font-size:1em;}
    .ransu-table th,.ransu-table td{padding:10px 7px;}
    .ransu-c-no{width:6em;}
}

/* === 本文下部にある人数別の静的な表（ウィジェットと状態を同期する） === */

.ransu-static-row{cursor:pointer;}
.checked-row{background-color:#fff9c4 !important;transition:background-color .3s;}
.checked-row td{color:#888;text-decoration:line-through;}
