/* Evolution reference supplied by the centre. Layout and menu hierarchy stay in depor-layout.css. */
:root{color-scheme:dark;--navy:#0a1823;--paper:#07131d;--surface:#0a1823;--raised:#142839;--ink:#fff;--muted:#b4c2cc;--line:#344b5c;--lime:#f5fe3c;--red:#fe0000;--action-red:#d80000;--green:#8fe1b7}
body,.depor-shell{background:var(--paper);color:var(--ink)}
input,select,textarea,.depor-centre-row select,.depor-filters input{background:var(--navy);color:var(--ink);border-color:#526878}
input::placeholder,textarea::placeholder{color:#aebdca;opacity:1}
input[type=checkbox]{accent-color:var(--lime)}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.skip-link{color:var(--navy)}
.depor-topbar{background:var(--navy);border-bottom:2px solid var(--red)}
.depor-topbar .brand,.depor-topbar .brand small{color:var(--lime)}
.depor-global-search{background:var(--raised);border:1px solid #526878}
.depor-global-search input{background:var(--raised);color:white}
.depor-global-search button{background:var(--lime);color:var(--navy)}
.depor-global-search{position:relative;overflow:visible}
.depor-global-search>input{border-radius:4px 0 0 4px;min-width:0}
.depor-global-search>button{border-radius:0 4px 4px 0}
.global-search-panel{position:absolute;z-index:60;top:calc(100% + 7px);left:0;width:100%;min-width:min(440px,calc(100vw - 48px));max-height:min(480px,65vh);overflow:auto;background:var(--navy);border:1px solid #526878;border-radius:6px;box-shadow:0 16px 36px #0009}
.global-search-panel[hidden]{display:none}
.global-search-message{padding:12px;color:#c2d0da;font-size:12px;line-height:1.5;border-bottom:1px solid #30434f}
.depor-global-search .global-search-option{display:block;width:100%;text-align:left;background:var(--navy);color:white;border:0;border-bottom:1px solid #30434f;border-radius:0;padding:12px 14px;cursor:pointer;white-space:normal}
.depor-global-search .global-search-option:hover,.depor-global-search .global-search-option[aria-selected=true]{background:var(--raised);box-shadow:inset 3px 0 var(--lime)}
.global-search-name{display:flex;justify-content:space-between;align-items:start;gap:12px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.global-search-state{font-size:11px;color:#8ce2bb;flex-shrink:0;font-weight:600}.global-search-state.is-inactive{color:var(--lime)}
.global-search-meta{display:block;color:#c2d0da;font-size:12px;margin-top:5px;line-height:1.5;overflow-wrap:anywhere}
.depor-top-actions>.btn:hover,.depor-top-actions>.nested-menu>summary:hover{background:var(--raised);color:var(--lime)}
.depor-centre-row,.topbar{background:var(--surface);border-color:var(--line)}
.depor-centre-row .breadcrumb,.breadcrumb strong{color:var(--muted)}
.depor-sidebar{background:transparent}
.depor-sidebar>details>summary,.depor-sidebar h3{background:var(--raised);border-color:var(--line);color:white}
.depor-side-link.btn{background:var(--surface);color:#e4ecf1;border-color:var(--line)}
.depor-side-link.btn:hover{background:var(--raised);color:var(--lime)}
.depor-side-link.btn.active{background:#242e20;border-color:var(--line);border-left-color:var(--lime);color:var(--lime)}
.depor-shell .record-tabs{border-color:var(--line)}
.depor-tabs>.btn,.depor-tabs>.nested-menu>summary{background:var(--surface);color:var(--muted)}
.depor-tabs>.btn.active,.depor-tabs .nested-menu:has(.active)>summary{border-color:var(--line);border-bottom-color:var(--lime);background:var(--raised);color:var(--lime)}
.nested-menu>summary,.nested-menu-items,.record-data{background:var(--surface);color:var(--ink);border-color:var(--line)}
.nested-menu[open]>summary{border-color:var(--lime)}
.nested-menu-items{box-shadow:0 12px 30px #0008}
.record-tabs .active,.record-tabs .nested-menu:has(.active)>summary,.subnav .active,.portal-tabs .active{background:var(--raised);color:var(--lime);border-color:var(--lime)}
.depor-filters,.member-filters{background:var(--surface);border-color:var(--line)}
.panel,.depor-shell .panel,.stat,.entry-card,.feature-card,.session-card,.product,.leader-card,.program-card,.report-card,.lead-card,.portal-card{background:var(--surface);border-color:var(--line);color:var(--ink)}
.depor-welcome{background:var(--surface);border-color:#727a28}
.depor-welcome h2{background:var(--raised);color:var(--lime)}
.depor-home-card{background:var(--surface);border-color:#727a28;color:white;border-radius:12px}
.depor-card-body{background:var(--surface)}
.depor-card-body>.icon{color:var(--lime)}
.depor-card-body strong{color:white}
.depor-card-body small{color:var(--muted)}
.depor-card-footer{background:var(--raised);color:#ecf1f5;border-top:1px solid var(--line)}
.depor-card-footer>span{background:var(--red);color:white;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex-shrink:0}
.depor-home-card:hover{border-color:var(--lime)}
.depor-home-card:hover .depor-card-body{background:#102330}
.depor-home-card:focus-visible{outline-color:var(--lime)}
.btn,.icon-button,.report-filters button{background:var(--raised);border-color:#526878;color:white}
.btn:hover,.icon-button:hover{background:#20394b;color:white}
/* Slightly deeper red gives small white button labels WCAG AA contrast. */
.btn.primary{background:var(--action-red);border-color:var(--red);color:white}
.btn.primary:hover{background:#b80000;color:white}
.btn.dark{background:var(--navy);border-color:#526878;color:white}
.btn.subtle{color:var(--muted)}
.btn.danger{background:#341c25;border-color:#a96064;color:#ffc3c3}
.btn:disabled,button:disabled{opacity:.6;cursor:not-allowed;transform:none}
.text-btn,.inline-link,.portal-head a{color:var(--lime)}
.text-btn:hover{color:white}
.portal-head .btn{color:white}
th,.depor-shell th{background:var(--raised);color:#e8eff4;border-color:var(--line)}
td,.depor-shell td{color:#dce6ed;border-color:var(--line)}
tbody tr:hover{background:#122735}
td strong,.ledger-total,.class-info strong,.time-block,.seats strong,.chart-summary strong,.quick-action strong,.feature-card strong,.empty h3,.week-day strong{color:white}
.badge{background:#233b42;color:#d8f0e7}
.badge.green{background:#173d31;color:#a1efc5}
.badge.amber{background:#40351a;color:#ffdf8d}
.badge.blue{background:#183747;color:#b5def9}
.badge.red{background:#44262d;color:#ffc3c3}
.badge.gray{background:#2c3b45;color:#d7e0e6}
.badge.lime{background:#343a1a;color:var(--lime)}
.notice,.depor-shell .notice,.scope-note,.scope-alert,.status-banner{background:#192b32;color:#dbe8dc;border-color:#687733}
.danger-note{background:#3a2c18;color:#ffe0a3;border-color:#816737}
.form-error,.portal-error{background:#3d222c;color:#ffd0d0;border-color:#a96064}
.form-error:empty{display:none}
.live-pill,.demo-pill{background:#252f21;color:var(--lime);border-color:#727a28}
.live-pill .dot{background:var(--lime)}
dialog,.modal-head{background:var(--surface);color:white;border-color:var(--line)}
dialog{box-shadow:0 30px 100px #0009}
dialog::backdrop{background:#030a12bd}
.auth-workspace{background:var(--paper)}
.auth-card .eyebrow{color:var(--lime)}
.auth-foot strong{color:white}
.form-field label,.field-hint,.subtle-note,.module-subtitle,.definition-list small,.modal-head p,.auth-card>p,.auth-foot,.local-meta,.portal-meta,.plain-list small,.operation-section td small,.detail-field small,.scope-caption,.record-id,.report-category,.empty,.panel-head p,.cell-person small,.stat-header,.stat-footer,.center-title small,.session-body p,.session-meta,.program-copy p,.product-copy p,.cart-info small,.cart-controls label,.total-line,.receipt p,.report-card small,.planned-grid .feature-card p,.feature-card p,.config-row small,.time-block small,.class-info small,.seats,.table-pagination,.chart-summary,.leader-metrics small,.bottom-line{color:var(--muted)}
.training-row,.journal-row,.session-bottom,.detail-note,.field-tags span,.coverage-stats,.date-pill,.field-search,.phone-preview,.week-day,.kanban-column,.segmented,.promo-note{background:var(--raised);border-color:var(--line);color:var(--ink)}
.segmented button{color:var(--muted)}
.segmented button.active,.tabs button.active{background:var(--navy);color:var(--lime);border-color:var(--lime)}
.tabs button,.tabs .count{color:var(--muted)}
.tabs .count{background:var(--raised)}
.position-choice span{background:var(--raised);color:white;border-color:#526878}
.position-choice input:checked+span{background:var(--lime);color:var(--navy);border-color:var(--lime)}
.position-choice.occupied span{background:#29353d;color:#bac5cc}
.avatar,.avatar.blue,.avatar.purple,.center-symbol,.center-symbol.blue,.stat-icon{background:var(--raised);color:var(--lime)}
.actual-bar,.progress{background:var(--raised)}
.actual-bar span,.progress span,.hour-bar i{background:var(--lime)}
.actual-row:nth-child(2) .actual-bar span{background:#8bb5d3}
.portal-head{background:var(--navy);border-bottom:2px solid var(--red)}
.portal-head .brand{color:var(--lime)}
.reservation-block-list table{white-space:normal;min-width:880px;table-layout:fixed}
.reservation-block-list th,.reservation-block-list td{padding:12px 9px;overflow-wrap:anywhere;vertical-align:top}
.reservation-block-list :is(th,td):nth-child(6),.reservation-block-list :is(th,td):nth-child(7){width:15%}
.reservation-block-list :is(th,td):last-child{width:58px}
/* Fichas: same hierarchy, structured fields and responsive columns. */
.member-type-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.member-type-options .member-type{padding:28px 16px;border-color:var(--accent,#F5FE3C);font-size:18px}
#app-dialog:has(#member-record-form),#app-dialog:has(.record-data){width:min(1240px,95vw);max-width:95vw;height:auto;max-height:94vh;margin:auto;border:1px solid var(--line);border-radius:14px}
.member-record-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px}
.member-age{display:block;padding:12px;border:1px solid #50606a;border-radius:8px;min-height:45px;color:#fff}
.record-data{flex:1;min-width:0}
@media(max-width:800px){.member-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.member-type-options{grid-template-columns:1fr}}
@media(max-width:520px){.member-record-grid{grid-template-columns:1fr!important}}
:root { --member-photo-size: 110px; }
.signature-document { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; padding:22px; border:1px solid #667781; border-radius:10px; margin:20px 0; }
.document-test { font-weight:700; border-left:4px solid #D80000; padding:16px; }
.document-hash { overflow-wrap:anywhere; font-size:12px; }
.signature-image,#signature-canvas { background:#fff; border:1px solid #6b7982; border-radius:10px; width:100%; max-width:900px; aspect-ratio:900/240; }
#signature-canvas { touch-action:none; display:block; margin:12px 0; }
.signature-consent { display:flex; align-items:flex-start; gap:12px; margin:24px 0; line-height:1.5; }
.signature-consent input { width:20px; height:20px; flex:none; }
#portal-signature input:not([type=checkbox]),#portal-signature select { display:block; width:100%; margin:10px 0 18px; }
#signature-pad[hidden],#signature-error[hidden] { display:none; }
#app-dialog:has(.signature-document) { width:1100px; max-width:95vw; height:auto; max-height:94vh; }
.member-photo-row { display:flex; align-items:center; gap:20px; margin:20px 0; flex-wrap:wrap; }
.member-avatar { width:var(--member-photo-size); height:var(--member-photo-size); object-fit:cover; border-radius:12px; border:1px solid #75818a; }
.member-avatar.placeholder { display:grid; place-items:center; background:#102735; color:#c4d0d7; }
.member-avatar.thumb { width:40px; height:40px; border-radius:8px; }
.photo-editor { display:flex; justify-content:center; gap:12px; margin:16px 0; }
.photo-editor img,.photo-editor video { max-width:100%; width:320px; max-height:320px; object-fit:contain; border-radius:12px; }
.billing-summary { margin:16px 0 24px; }
.billing-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:20px 0; }
#member-billing-form fieldset { min-width:0; padding:20px; border:1px solid #60717b; border-radius:10px; }
#member-billing-form legend { padding:0 8px; font-weight:700; }
#member-billing-form .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:16px; }
#member-billing-form [hidden],.photo-editor [hidden] { display:none; }
#app-dialog:has(#member-billing-form) { width:1240px; max-width:95vw; height:auto; max-height:94vh; }
@media(max-width:850px) { .billing-columns { grid-template-columns:1fr; } }
@media(max-width:520px) { #member-billing-form .form-grid { grid-template-columns:1fr; } }
/* DNI/NIE controls shared by Alta and Editar ficha. */
.document-parts{display:grid;grid-template-columns:80px minmax(100px,1fr) 65px;gap:8px}.document-parts .form-field label{font-size:.75rem}.document-parts[hidden]{display:none!important}@media(max-width:600px){.document-parts{grid-template-columns:65px minmax(90px,1fr) 60px}}
