/* Mesa de detectives: alta, reglas, tarjeta de turno y cierres de caso. */
.mesa-dialog{color-scheme:light;width:min(820px,94vw);max-height:88svh;border:1px solid #bca97d;border-radius:8px;padding:28px 32px;
  background:#f6f1e7;color:#142c30;box-shadow:0 25px 110px #0008;font:15px/1.65 system-ui,sans-serif;overscroll-behavior:contain}
.mesa-dialog::backdrop{background:#081c22d9;backdrop-filter:blur(9px)}
.mesa-dialog h2{font:clamp(27px,4vw,40px)/1.1 Georgia,serif;font-weight:400;margin:6px 0 18px}
.mesa-dialog h3{font:21px Georgia,serif;font-weight:400;margin:26px 0 10px}
.mesa-dialog h4{font:16px Georgia,serif;font-weight:400;margin:0 0 8px}
.mesa-dialog{position:relative}
.mesa-close{position:absolute;top:14px;right:16px;z-index:2;border:1px solid #abac91;border-radius:50%;width:34px;height:34px;min-height:0;padding:0;background:#f6f1e7;color:inherit;font-size:23px;line-height:1;cursor:pointer}
.mesa-dialog h2{padding-right:46px}
.mesa-dialog button{font:inherit;cursor:pointer;border:1px solid #b5945c;border-radius:8px;background:#142c30;color:#f6f1e7;padding:12px 16px;min-height:46px}
.mesa-dialog button:disabled{opacity:.45;cursor:default}
.mesa-primary{background:linear-gradient(130deg,#ebd4a6,#cca064)!important;color:#1a3438!important;font-weight:600}
.mesa-lead{font-size:15px}
.mesa-rules{margin:12px 0;padding-left:20px}
.mesa-rules li{margin:7px 0}
.mesa-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.mesa-count{display:flex;gap:8px;margin:14px 0}
.mesa-count button{min-width:52px;font-variant-numeric:tabular-nums}
.mesa-player{border:1px solid #b5945c;border-radius:12px;padding:14px 16px;margin:16px 0}
.mesa-player legend{padding:0 8px;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.mesa-player label{display:block;margin-bottom:12px}
.mesa-player input[type=text],.mesa-player input:not([type]){width:100%}
.mesa-player input{width:100%;font:inherit;padding:10px 12px;margin-top:6px;border:1px solid #b5945c;border-radius:8px;background:#fff;color:#142c30}
.mesa-portraits{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;margin-bottom:12px}
.mesa-portraits button{padding:3px;min-height:0;border-radius:50%;background:#142c30}
.mesa-portraits button[aria-pressed=true]{outline:3px solid #cda669;outline-offset:2px}
.detective-face{display:block;width:100%;height:auto;border-radius:50%;object-fit:cover;object-position:top}
.mesa-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:10px}
.mesa-roles button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;line-height:1.3}
.mesa-roles small{font-size:11px;opacity:.8}
.mesa-roles button[aria-pressed=true]{outline:3px solid #cda669;outline-offset:2px}
.mesa-agency{font-size:12px!important;min-height:38px!important;padding:8px 12px!important}
.mesa-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}
.mesa-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}
.mesa-modes small{font-size:12px;opacity:.85}
.mesa-modes span{font-size:11px;color:#8a5a1f}
.mesa-modes button[aria-pressed=true]{outline:3px solid #cda669;outline-offset:2px}
.mesa-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px}
.mesa-check input{margin-top:5px}
.mesa-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.mesa-chips span{display:inline-flex;align-items:center;gap:8px;border:1px solid #b5945c;border-radius:30px;padding:4px 14px 4px 4px;font-size:14px}
.mesa-chips small{opacity:.7;font-size:11px}
.mesa-chips .detective-face{width:28px;height:28px}
.mesa-rota b{color:#7a5a1f}
.mesa-mode{font-size:14px;opacity:.85}
#mesa-message:empty{display:none}
#mesa-message{color:#8a382a;font-size:14px;margin:10px 0}

/* Tarjeta de turno dentro del expediente */
.mesa-card{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:13px 18px;border-radius:11px;
  border:1px solid #b1a48666;border-left:4px solid #cda669;background:#12292bd9;color:#f2ead6}
.mesa-card .detective-face{width:54px;height:54px;border:1px solid #b1a48666}
.mesa-card h3{margin:2px 0;font:21px Georgia,serif;font-weight:400}
.mesa-card span{font-size:13px;color:#e0c48b}
.mesa-eyebrow{margin:0;font:10px system-ui;letter-spacing:.14em;color:#a9bcb3}
.mesa-card button{margin-left:auto;font:11px system-ui;border:1px solid #b1a48680;border-radius:30px;
  background:transparent;color:#e8dcbf;padding:9px 15px;cursor:pointer}
.mesa-manual{border:1px dashed #8a6d3b;border-radius:8px;padding:10px 14px;font:13px system-ui;background:#efe6d0}

/* Cierre del caso */
.mesa-closing{margin-top:18px}
.mesa-medal{border:1px solid #cda669;border-radius:10px;padding:11px 15px;font-size:14px}
.mesa-wheel ul{margin:6px 0;padding-left:20px;font-size:14px}
.mesa-score{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.mesa-score>div{display:flex;align-items:center;gap:9px;border:1px solid #b5945c66;border-radius:10px;padding:8px 13px}
.mesa-score>div strong{font:24px Georgia,serif}
.mesa-score>div span{font-size:12px}
.mesa-score b{color:#7a5a1f;font-variant-numeric:tabular-nums}
.mesa-score .detective-face{width:30px;height:30px}
@media(max-width:600px){.mesa-dialog{padding:22px 18px}.mesa-card{gap:12px;padding:11px 13px}.mesa-card h3{font-size:18px}}

/* Panel de mesa en la portada del club */
.mesa-panel{border:1px solid #c9a56b44;border-radius:12px;padding:20px 24px;margin:0 0 30px;background:#16303680}
.mesa-panel h3{margin:0 0 8px;font:23px Georgia,serif;font-weight:400}
.mesa-panel p{margin:0;font-size:14px;color:#bdc9c2}
.mesa-panel .mesa-actions{margin-top:14px}
.mesa-panel button{font:12px system-ui;border:1px solid #c9a56b77;border-radius:6px;background:#122f32;color:#f4eedf;padding:11px 16px;min-height:42px;cursor:pointer}
