/* Ajedrez Maestrat · 1.8.1. Estilo visual sin cambios al motor ni al almacenamiento. */
:root{
  --ink:#25324A;
  --muted:#596A86;
  --forest:#173D8F;
  --forest-2:#102F72;
  --sand:#F5F7FC;
  --line:#DCE6F8;
  --gold:#E97868;
  --cream:#FFFFFF;
  --white:#FFFFFF;
  --danger:#A73B3B;
  --success:#196B4B;
  --am-blue:#173D8F;
  --am-navy:#25324A;
  --am-coral:#E97868;
  --am-light:#F1F5FF;
  --am-line:#DCE6F8;
}
html { color-scheme:light; }
body { color:var(--am-navy); background:var(--sand); font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #E97868;outline-offset:3px}
a{color:var(--am-blue)}
.site-header{background:#fff;border-bottom:1px solid var(--am-line);color:var(--am-navy);box-shadow:0 2px 14px rgba(23,61,143,.04)}
.header-inner{padding-top:16px;padding-bottom:16px}
.brand{color:var(--am-navy)}
.brand-mark{width:46px;height:46px;border:0;border-radius:13px;background:var(--am-blue);color:white;font-size:34px}
.brand-copy strong{font-family:'DM Sans',system-ui,sans-serif;font-weight:800;letter-spacing:-.025em;font-size:20px}
.brand-copy small{color:var(--muted);font-weight:600;letter-spacing:0}
.header-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.header-link{border:1px solid var(--am-line);color:var(--am-blue);border-radius:9px;padding:9px 13px;font-weight:750;background:var(--am-light)}
.header-link:hover{background:#E6EDFF}
.header-link-main{background:#fff}
.intro{padding:40px 40px 37px;margin:26px 0 20px;min-height:265px;background:linear-gradient(116deg,#F1F5FF 0%,#FCFDFF 68%,#EDF1FD 100%);border:1px solid var(--am-line);border-radius:23px;gap:38px}
.intro-copy{max-width:700px}
.eyebrow{color:var(--am-blue);font-size:11px;letter-spacing:.12em}
.eyebrow-dot{background:var(--am-coral)}
h1{font-family:'DM Sans',system-ui,sans-serif;font-size:clamp(35px,4.2vw,53px);font-weight:800;line-height:1.12;letter-spacing:-.055em;color:var(--am-navy);max-width:780px;margin:17px 0 16px}
h1 em{font-style:normal;font-weight:800;color:var(--am-blue)}
.intro-copy p{color:#475B7C;line-height:1.65;font-size:16px;max-width:640px}
.intro-benefits{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:19px}
.intro-benefits span{font-size:12px;letter-spacing:0;font-weight:750;background:#fff;color:#294879;padding:6px 11px;border-radius:30px;border:1px solid #D8E2F8}
.intro-benefits span:first-child::before{content:'✓';color:#248268;margin-right:6px;font-weight:900}
.intro-art{min-height:208px;background:#E4EBFA;background-image:linear-gradient(135deg,#e5edfc 25%,transparent 25%),linear-gradient(225deg,#e5edfc 25%,transparent 25%),linear-gradient(45deg,#e5edfc 25%,transparent 25%),linear-gradient(315deg,#e5edfc 25%,#F8FAFF 25%);background-position:20px 0,20px 0,0 0,0 0;background-size:40px 40px;border:1px solid #CFDDF8;box-shadow:none}
.board-symbol{color:var(--am-blue);filter:drop-shadow(0 4px 1px rgba(23,61,143,.12));font-size:130px}
.board-symbol span{color:var(--am-coral)}
.intro-art-caption{background:var(--am-blue);color:#fff;font-size:9px;letter-spacing:.09em;border-radius:6px}
.quick-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:32px}
.quick-steps>div{display:flex;align-items:center;gap:13px;padding:13px 17px;background:#fff;border:1px solid var(--am-line);border-radius:13px;min-width:0}
.quick-steps>div>span{display:grid;place-items:center;width:30px;height:30px;flex:none;font-size:14px;font-weight:800;border-radius:9px;background:#E6EEFF;color:var(--am-blue)}
.quick-steps p{display:flex;flex-direction:column;gap:1px;margin:0;min-width:0}
.quick-steps strong{font-size:13px;color:var(--am-navy)}
.quick-steps small{font-size:11px;color:var(--muted);line-height:1.4}
.mode-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}
.mode-heading h2{font-size:clamp(23px,3vw,30px);font-weight:800;line-height:1.22;letter-spacing:-.035em;color:var(--am-navy);margin:3px 0 7px}
.mode-heading p{font-size:13px;max-width:680px;margin:0;color:var(--muted)}
.mode-heading .mode-heading-kicker{font-size:10px;font-weight:800;color:var(--am-blue);letter-spacing:.14em}
.mode-heading>a{white-space:nowrap;font-size:12px;font-weight:750;color:var(--am-blue);text-decoration:underline;text-underline-offset:3px;padding-bottom:4px}
.mode-picker{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:16px}
.mode-option{display:flex;flex-direction:column;min-width:0;border:1px solid var(--am-line);border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(23,61,143,.035);transition:border-color .17s,box-shadow .17s,transform .17s}
.mode-option:hover{border-color:#9FB9ED;box-shadow:0 8px 20px rgba(23,61,143,.09);transform:translateY(-1px)}
.mode-option:has(.is-active){border-color:var(--am-blue);box-shadow:0 0 0 2px rgba(23,61,143,.11),0 8px 25px rgba(23,61,143,.10)}
.mode-tab,.mode-tab:hover{width:100%;flex:1;border:0;border-radius:0;padding:17px 15px 13px;display:flex;align-items:flex-start;gap:12px;box-shadow:none;transform:none;min-height:114px;background:#fff;color:var(--am-navy)}
.mode-tab:hover{background:#F9FBFF}
.mode-tab.is-active,.mode-tab.is-active:hover{background:var(--am-light);border:0;box-shadow:none;color:var(--am-navy)}
.tab-icon{width:38px;height:38px;border:1px solid #D5E2FB;background:#F1F5FF;border-radius:10px;flex:none;font-size:28px;color:var(--am-blue)}
.mode-tab.is-active .tab-icon{color:#fff;background:var(--am-blue);border-color:var(--am-blue)}
.mode-tab strong{font-size:14px;font-weight:800;line-height:1.3;color:var(--am-navy);letter-spacing:-.02em}
.mode-tab small{font-size:11px;color:#5B6B89;opacity:1;margin-top:6px;line-height:1.4}
.mode-help{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:9px 15px 11px;border-top:1px solid var(--am-line);background:#fff;font-size:11px;line-height:1.3;font-weight:750;color:var(--am-blue);text-decoration:none}
.mode-help:hover{text-decoration:underline;background:#F8FAFF}
.mode-option:has(.is-active) .mode-help{background:#EEF3FF}
.mode-help span{font-size:13px}
.storage-banner{display:flex;gap:13px;align-items:center;margin:15px 0 16px;padding:12px 17px;border:1px solid #F1DDCF;border-left:4px solid var(--am-coral);background:#FFFAF7;border-radius:10px}
.storage-banner .storage-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:#FCE9E3;color:#A54438;font-size:23px}
.storage-banner p{font-size:12px;color:#5E5360;line-height:1.5;margin:0}
.storage-banner strong{color:var(--am-navy)}
.app-shell{border-color:var(--am-line);border-radius:16px;box-shadow:0 8px 28px rgba(23,61,143,.06)}
.app-toolbar{background:#F6F8FF;border-bottom:1px solid var(--am-line);padding:18px 21px}
.toolbar-label{color:var(--am-navy)}
select,input,textarea{border:1px solid #CCD9F2;border-radius:9px;color:var(--am-navy);background:#fff}
select:focus,input:focus,textarea:focus{border-color:var(--am-blue)}
.btn{border:1px solid #C9D6F0;background:#fff;color:var(--am-navy);box-shadow:none}
.btn:hover:not(:disabled){background:#F1F5FF;border-color:#A6BCED}
.btn-primary,.btn-primary:hover:not(:disabled){background:var(--am-blue);border-color:var(--am-blue);color:#fff}
.btn-primary:hover:not(:disabled){background:var(--forest-2);border-color:var(--forest-2)}
.btn-soft{background:#ECF2FF;border-color:#D7E4FF;color:var(--am-blue)}
.btn-text{color:var(--am-blue)}
.btn-warn{color:#A73B3B;border-color:#F0C8C4;background:#FFF9F8}
.empty-icon{color:#829BCC}
.empty-state h2,.form-heading h2,.section-heading h2,.player-editor h3{font-family:'DM Sans',system-ui,sans-serif;font-weight:800;letter-spacing:-.025em;color:var(--am-navy)}
.form-heading p,.section-heading p,.empty-state p{color:var(--muted)}
.badge{background:#FBE9E5;color:#92483D}
.player-table-head{background:#F1F5FF;color:#43567A;border-color:var(--am-line)}
.player-row{border-color:#EEF2FA}
.player-extra{border-color:#CBD8F0;background:#FAFBFF}
.player-extra summary{color:var(--am-blue)}
.player-extra-grid label{color:#50617E}
.panel,.card,.kpi-card{border-color:var(--am-line)}
.panel-title{background:#F7F9FF;border-color:var(--am-line)}
.info-row{margin:24px 0 40px;gap:15px}
.info-item{border:1px solid var(--am-line);background:#fff;padding:17px 15px;border-radius:13px}
.info-icon{background:var(--am-light);color:var(--am-blue);border-radius:9px}
.info-item strong{color:var(--am-navy);font-size:13px}
.info-item p{font-size:12px;color:var(--muted);line-height:1.5}
.site-footer{border-color:var(--am-line);color:#71809A}
.site-footer a{color:var(--am-blue)}
.confirm-dialog{border:1px solid var(--am-line);background:#fff;box-shadow:0 22px 70px rgba(25,47,92,.25)}
.dialog-notice{background:#F1F5FF;border-color:#DCE6F8;color:#43577A}
.report-meta strong,.report-title{color:var(--am-blue)}
/* Colores de contexto de modalidades específicas: no alterar rojos de error ni ámbar de advertencia. */
.masnou-alert-panel{background:#F1F5FF;border-color:#DCE6F8}
.masnou-alert-panel strong,.masnou-alert-panel p,.masnou-alert-controls label,.masnou-alert-panel .masnou-alert-status{color:#36527F}
.masnou-board{border-color:#DCE6F8;background:linear-gradient(180deg,#fff,#F7F9FF)}
.masnou-board-heading{color:var(--am-navy)}
.masnou-queue-number{background:#E7EFFF;color:var(--am-blue)}
.masnou-resident{color:#48618D}
.masnou-match{border-color:var(--am-line)}
.arena-clock-panel{border-color:#DCE6F8;background:linear-gradient(120deg,#ECF2FF,#FAFCFF)}
.arena-clock-label{color:var(--am-blue)}
.arena-clock-value{color:var(--am-navy)}
.arena-clock-panel small{color:var(--muted)}
.groups-tab.is-active{background:var(--am-blue);border-color:var(--am-blue);color:#fff}
.groups-tab{border-color:var(--am-line)}
/* Respetar medios pequeños, zoom y documentos impresos. */
@media(max-width:1150px){.mode-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.intro{padding:33px}}
@media(max-width:920px){.mode-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-steps{grid-template-columns:1fr 1fr 1fr}.intro{grid-template-columns:minmax(0,1fr) 210px}.mode-tab{min-height:104px}}
@media(max-width:700px){.header-inner{padding:13px 15px}.header-nav{gap:5px}.header-link{font-size:11px;padding:8px 9px}.intro{grid-template-columns:1fr;padding:28px 23px;margin:14px 0 16px;gap:10px}.intro-art{display:none}.intro-benefits{gap:5px}.quick-steps{grid-template-columns:1fr;gap:6px;margin-bottom:22px}.quick-steps>div{padding:9px 12px}.mode-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mode-heading{flex-direction:column;align-items:flex-start;gap:8px}.mode-tab{min-height:125px;padding:12px 10px;gap:9px;flex-direction:column}.tab-icon{width:32px;height:32px;font-size:25px}.mode-help{padding:9px 10px;font-size:10px}.mode-tab strong{font-size:13px}.mode-tab small{font-size:11px}.storage-banner{align-items:flex-start;padding:10px 12px}.info-item{padding:13px}}
@media(max-width:420px){.header-link:not(.header-link-main){display:none}.intro{padding:23px 18px}.mode-picker{grid-template-columns:1fr}.mode-tab{min-height:auto;flex-direction:row;padding:13px 12px}.mode-help{font-size:12px;padding:10px 13px}.quick-steps strong{font-size:13px}}
@media print{.quick-steps,.mode-heading,.mode-option,.storage-banner{display:none!important}.intro-benefits{display:none!important}}
/* Ajustes de presentación de iconos y navegación en móvil. */
#tab-scheveningen .tab-icon{font-size:22px;letter-spacing:-.13em;padding-right:4px}
@media(max-width:650px){.header-link-main{display:inline-flex;font-size:10px;line-height:1.2;padding:7px 9px;max-width:113px;text-align:center}}
@media(max-width:410px){.brand-copy strong{font-size:18px}.brand-copy small{font-size:10px}.brand{gap:8px}.brand-mark{width:40px;height:40px;font-size:31px}}


/* 1.8.1: marca idéntica a la cabecera de Ajedrez Maestrat, sin ilustración promocional. */
.header-inner{gap:clamp(12px,2vw,28px)}
.brand-identity{display:flex;align-items:center;gap:12px;min-width:0}
.brand-identity-mark{display:inline-grid;place-items:center;flex:none;width:46px;height:48px;background:var(--am-blue);border:0;border-radius:12px;line-height:1}
.brand-identity-mark svg{display:block;width:30px;height:34px}
.brand-identity-copy{display:flex;flex-direction:column;min-width:0;gap:3px}
.brand-identity-name{display:block;color:var(--am-navy);font-family:'DM Sans',system-ui,sans-serif;font-size:clamp(20px,2.3vw,24px);font-weight:800;line-height:1.14;letter-spacing:-.045em;white-space:nowrap}
.brand-identity-name span{color:var(--am-coral)}
.brand-identity-tagline{display:block;color:#65728b;font-family:'DM Sans',system-ui,sans-serif;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.intro{display:block;min-height:0;max-width:none;padding:clamp(27px,4vw,48px) clamp(24px,4.2vw,52px);margin:24px 0 21px;background:linear-gradient(118deg,#F1F5FF 0%,#FCFDFF 100%);border-color:var(--am-line)}
.intro-copy{max-width:940px}.intro-copy h1{max-width:850px;margin-top:12px}
.intro-copy p{max-width:775px;font-size:clamp(15px,1.45vw,17px)}
.intro-art,.board-symbol,.intro-art-caption{display:none!important}
@media(max-width:700px){.header-inner{align-items:center;flex-wrap:wrap;gap:9px}.brand-identity-name{font-size:19px}.brand-identity-mark{width:41px;height:43px;border-radius:10px}.brand-identity-mark svg{width:27px;height:32px}.brand-identity-tagline{font-size:9px;letter-spacing:.035em}.intro{padding:27px 22px;margin:14px 0 16px}}
@media(max-width:380px){.brand-identity{gap:8px}.brand-identity-name{font-size:17px}.brand-identity-tagline{font-size:8px}.header-nav{margin-left:auto}}
