:root{color-scheme:light;--green-980: #031610;--green-950: #062018;--green-900: #0b3226;--green-800: #114333;--green-700: #1f6047;--green-600: #2f7759;--green-100: #e7f1e9;--green-50: #f3f8f1;--sand-300: #d5be7a;--sand-200: #eadfb9;--sand-100: #f7f1df;--sky-200: #dbeafe;--sky-500: #3478b8;--clay-100: #fae9e2;--clay-600: #b55440;--fairway: #dbe8d4;--surface: #f5f6f0;--surface-strong: #fffefa;--surface-soft: #fbfcf7;--ink: #17231c;--ink-soft: #38483f;--muted: #6f7b72;--line: #dce3d8;--line-strong: #c9d4c7;--success: #24814f;--success-soft: #e4f5eb;--warning: #a7791d;--warning-soft: #fff4d8;--danger: #bd4c3e;--danger-soft: #fae7e2;--shadow-soft: 0 18px 54px rgba(5, 26, 18, .16);--shadow-panel: 0 1px 1px rgba(8, 27, 18, .04), 0 18px 38px rgba(8, 27, 18, .08);--shadow-pop: 0 28px 90px rgba(3, 22, 16, .32);--radius-shell: 22px;--radius-panel: 14px;--radius-card: 10px;--radius-control: 9px;--font-main: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-main);font-synthesis:none;text-rendering:optimizeLegibility}.admin-mailing-page{display:grid;gap:18px}.mailing-block{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-strong);box-shadow:var(--shadow-soft)}.admin-panel:has(.admin-mailing-page){position:relative}.admin-panel:has(.admin-mailing-page) .admin-panel-title{padding-right:290px}.mailing-quota-indicators{position:absolute;top:16px;right:clamp(15px,1.5vw,24px);display:flex;gap:8px;margin:0}.mailing-quota-indicators div{min-width:112px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--green-50);text-align:right}.mailing-quota-indicators dt{color:var(--muted);font-size:.65rem;font-weight:800}.mailing-quota-indicators dd{margin:1px 0 0;color:var(--green-800);font-size:.95rem;font-weight:900}.mailing-block{min-width:0;max-width:100%;padding:clamp(15px,2vw,24px);overflow:hidden}.mailing-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px}.mailing-filter-grid label,.mailing-composer label{display:grid;gap:6px;margin:0;color:var(--ink);font-size:.78rem;font-weight:800}.mailing-actions,.mailing-recipient-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.mailing-actions{justify-content:flex-start}.mailing-recipient-heading h2,.mailing-recipient-heading p{margin:0}.mailing-warning{color:var(--danger);font-size:.78rem;font-weight:800}.mailing-recipient-table{width:100%;min-width:760px;margin-top:14px;border-collapse:collapse}.mailing-preview-block .admin-table-scroll{width:100%;max-width:100%;height:auto;overflow-x:auto;overflow-y:visible}.mailing-recipient-table th,.mailing-recipient-table td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.mailing-recipient-table td:first-child{display:grid;gap:3px}.mailing-recipient-table small{color:var(--muted)}.mail-recipient-badges{display:flex;flex-wrap:wrap;gap:5px}.mail-recipient-badge{padding:4px 7px;border:1px solid rgba(22,101,52,.18);border-radius:999px;background:var(--green-50);color:var(--green-800);font-size:.66rem;font-weight:900}.mail-recipient-badge.warning{border-color:#b91c1c33;background:#fee2e2cc;color:var(--danger)}.mailing-composer{display:grid;gap:14px}.mailing-composer .panel-heading>svg{color:var(--green-700);font-size:1.5rem}.mailing-composer textarea{min-height:180px;resize:vertical}.mailing-test-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--green-50)}.mailing-test-row .secondary-button{min-height:44px}@media (max-width: 1100px){.mailing-filter-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (max-width: 620px){.mailing-filter-grid{grid-template-columns:1fr}.mailing-actions,.mailing-test-row{align-items:stretch;flex-direction:column}.mailing-test-row{grid-template-columns:1fr}.admin-panel:has(.admin-mailing-page) .admin-panel-title{padding-right:0}.mailing-quota-indicators{position:static;justify-content:flex-end}.mailing-quota-indicators div{min-width:0;flex:1}.mailing-actions button{width:100%}}.competition-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.competition-list-card{display:grid;gap:9px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius-panel);background:linear-gradient(145deg,rgba(231,241,233,.56),transparent 54%),var(--surface-strong);color:var(--ink);text-align:left;box-shadow:var(--shadow-panel)}.competition-list-card:hover{border-color:#1f604761;background:linear-gradient(145deg,#d5be7a33,#e7f1e9b3),var(--surface-strong);box-shadow:0 0 0 3px #1f604714,var(--shadow-panel)}.competition-list-card strong{color:var(--green-950);font-size:1.12rem}.competition-list-card span{color:var(--muted);font-size:.88rem;line-height:1.4}.competition-list-card small{display:flex;gap:7px;align-items:center;color:var(--green-700);font-weight:900}.competition-status{width:fit-content;padding:5px 9px;border-radius:999px;background:var(--green-100);color:var(--green-800)!important;font-size:.72rem!important;font-weight:950;letter-spacing:.03em;text-transform:uppercase}.competition-status.status-draft{background:#ecefeb;color:#5d685f!important}.competition-status.status-in_progress{background:var(--warning-soft);color:var(--warning)!important}.competition-status.status-finished{background:var(--sky-200);color:#245b8c!important}.competition-badges{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.competition-status.status-registered{background:var(--success-soft);color:var(--success)!important}.competition-detail-page{gap:16px}.competition-back{width:fit-content}.competition-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:clamp(22px,4vw,42px);border-radius:var(--radius-panel);background:linear-gradient(135deg,rgba(213,190,122,.18),transparent 48%),linear-gradient(180deg,var(--green-900),var(--green-980));color:#fff;box-shadow:var(--shadow-panel)}.competition-hero>div:first-child{display:grid;gap:10px}.competition-hero h1{margin:0;color:#fff}.competition-hero p,.competition-hero>div:first-child>span:last-child{margin:0;color:#ffffffb8;line-height:1.55}.competition-hero-stats{display:grid;grid-template-columns:repeat(2,auto);gap:3px 14px;min-width:130px;padding:15px;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-card);background:#ffffff12}.competition-hero-stats strong{color:var(--sand-300);font-size:1.5rem}.competition-hero-stats span{align-self:center;color:#ffffffa8;font-size:.78rem;font-weight:900;text-transform:uppercase}.score-entry-section,.leaderboard-panel,.registration-panel{display:grid;gap:16px;padding:clamp(16px,2.8vw,26px);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-strong);box-shadow:var(--shadow-panel)}.registration-panel.eligible{border-color:#24814f47;background:linear-gradient(135deg,rgba(228,245,235,.72),transparent 58%),var(--surface-strong)}.registration-panel.blocked{border-color:#bd4c3e38;background:linear-gradient(135deg,rgba(250,231,226,.66),transparent 58%),var(--surface-strong)}.registration-price{display:flex;gap:8px;align-items:center;color:var(--green-800);font-size:1.4rem}.pricing-breakdown{display:flex;gap:8px;flex-wrap:wrap}.pricing-breakdown span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-soft);font-size:.78rem;font-weight:850}.registration-blockers{display:grid;gap:8px;margin:0;padding:0;list-style:none}.registration-blockers li{display:flex;gap:8px;align-items:flex-start;color:var(--danger);font-weight:850}.registration-blockers svg{flex:0 0 auto;margin-top:2px}.section-heading-row{display:flex;gap:14px;align-items:center;justify-content:space-between}.section-heading-row h2{margin:0}.section-heading-row label{min-width:230px;margin:0}.hole-score-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.hole-score-card{display:grid;gap:10px;justify-items:center;padding:12px 9px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.hole-score-card>div:first-child{display:flex;gap:6px;align-items:baseline;justify-content:space-between;width:100%}.hole-score-card>div:first-child span{color:var(--green-900);font-weight:950}.hole-score-card>div:first-child strong{color:var(--muted);font-size:.76rem}.score-stepper{display:grid;grid-template-columns:34px minmax(38px,1fr) 34px;gap:4px;width:100%}.score-stepper button{display:grid;min-height:38px;place-items:center;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--green-800)}.score-stepper input{min-height:38px;padding:0 3px;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.score-stepper input::-webkit-inner-spin-button,.score-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.score-under{color:#176438!important;font-weight:950}.score-over{color:var(--danger)!important;font-weight:950}.score-save-button{justify-self:end}.competition-table-scroll{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-card)}.competition-table{width:100%;min-width:650px;border-collapse:collapse;background:#fff}.competition-table th,.competition-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.competition-table th{background:var(--green-50);color:var(--green-900);font-size:.76rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.competition-table tbody tr:last-child td{border-bottom:0}.competition-table tbody tr.incomplete{background:var(--warning-soft)}.competition-table td:nth-child(n+3){font-variant-numeric:tabular-nums;font-weight:900}.competition-table td:nth-child(2) strong,.competition-table td:nth-child(2) small{display:block}.competition-table td:nth-child(2) small{margin-top:3px;color:var(--muted);font-size:.72rem}.competition-info-panel,.competition-requirements-panel,.competition-price-panel,.competition-access-message,.competition-in-progress-actions,.live-results-panel,.hole-results-panel,.detailed-scorecards-panel,.finished-results-heading{display:grid;gap:16px;padding:clamp(16px,2.8vw,26px);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-strong);box-shadow:var(--shadow-panel)}.competition-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.competition-info-grid>span,.score-summary-totals>span{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.competition-info-grid small,.score-summary-totals small{color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.competition-description,.registration-window{margin:0;color:var(--ink-soft);line-height:1.6}.registration-window{padding:10px 12px;border-left:3px solid var(--sand-300);background:var(--sand-100)}.public-requirements{display:flex;gap:8px;flex-wrap:wrap}.public-requirements span{display:flex;gap:7px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:var(--green-50);color:var(--green-800);font-size:.8rem;font-weight:850}.eligibility-criteria{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.criterion{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.criterion svg{flex:0 0 auto;margin-top:2px}.criterion span,.criterion small{display:grid;gap:3px}.criterion small{color:var(--muted);font-size:.72rem}.criterion.met{border-color:#24814f40;color:var(--success)}.criterion.unmet{border-color:#bd4c3e40;color:var(--danger)}.competition-price-details{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.competition-price-details>span{display:flex;gap:12px;align-items:center;justify-content:space-between}.competition-price-details small{color:var(--muted);font-weight:800}.competition-price-details .price-total{margin-top:4px;padding-top:10px;border-top:1px solid var(--line);color:var(--green-900);font-size:1.12rem}.payment-status,.live-state{width:fit-content;padding:6px 9px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:.75rem;font-weight:900}.register-competition-button{justify-self:end}.competition-access-message,.finished-results-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.competition-access-message>svg,.finished-results-heading>svg{color:var(--green-700);font-size:1.8rem}.competition-access-message h2,.competition-access-message p,.finished-results-heading h2,.finished-results-heading p{margin:0}.competition-access-message p,.finished-results-heading p{margin-top:4px;color:var(--muted)}.competition-access-message.blocked{border-color:#bd4c3e40;background:var(--danger-soft)}.competition-actions,.modal-actions{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.competition-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.competition-action-grid button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--radius-panel);background:linear-gradient(145deg,rgba(231,241,233,.7),transparent 58%),#fff;color:var(--green-900);text-align:left}.competition-action-grid button:hover{border-color:#1f604761;background:linear-gradient(145deg,var(--green-100),white);box-shadow:0 0 0 3px #1f604714}.competition-action-grid button:disabled{border-style:dashed;background:var(--surface-soft);color:var(--muted);cursor:not-allowed;box-shadow:none}.competition-action-grid .finish-competition-action{border-color:#bd4c3e47;background:linear-gradient(145deg,var(--danger-soft),var(--surface-strong))}.competition-action-grid .finish-competition-action:hover{border-color:#bd4c3e85;background:linear-gradient(145deg,#f8d8d0,var(--danger-soft));box-shadow:0 0 0 3px #bd4c3e14}.competition-action-grid .finish-competition-action svg{color:var(--danger)}.competition-action-grid button svg{grid-row:span 2;font-size:1.35rem}.competition-action-grid button span{color:var(--muted);font-size:.8rem}.competition-inline-warning{margin:0;padding:10px 12px;border-radius:var(--radius-card);background:var(--warning-soft);color:var(--warning);font-weight:850}.live-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.live-results-grid article{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.live-results-grid article>span:not(.live-state){color:var(--muted);font-size:.82rem}.live-state.state-not_started{background:#ecefeb;color:var(--muted)}.live-state.state-in_progress{background:var(--warning-soft);color:var(--warning)}.detailed-scorecards{display:grid;gap:9px}.detailed-scorecards details{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.detailed-scorecards summary{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px;color:var(--green-900);cursor:pointer}.detailed-scorecards summary span{color:var(--muted);font-size:.8rem;font-weight:800}.scorecard-hole-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;padding:0 13px 13px}.scorecard-hole-grid>span{display:grid;gap:3px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:center}.scorecard-hole-grid small{color:var(--muted);font-size:.65rem}.payment-summary{display:grid;gap:7px;padding:15px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--green-50)}.payment-summary span{color:var(--muted)}.payment-summary b{color:var(--green-800);font-size:1.7rem}.simulated-payment-notice{margin:0;padding:11px;border-radius:var(--radius-card);background:var(--warning-soft);color:var(--warning);font-weight:800}.mobile-score-entry{display:grid;width:min(620px,100%);gap:16px;justify-self:center;padding:clamp(14px,3vw,24px);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-strong);box-shadow:var(--shadow-panel)}.mobile-score-topbar{display:flex;gap:10px;align-items:center;justify-content:space-between;color:var(--muted);font-weight:850}.mobile-score-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-score-progress>span{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--green-50)}.mobile-score-progress small{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.mobile-score-progress strong{font-size:.92rem}.current-hole-card{display:grid;gap:5px;min-height:240px;place-items:center;padding:24px;border-radius:var(--radius-panel);background:radial-gradient(circle at top right,rgba(213,190,122,.28),transparent 35%),linear-gradient(180deg,var(--green-900),var(--green-980));color:#fff;text-align:center}.current-hole-card p,.current-hole-card h2,.current-hole-card span,.current-hole-card small{margin:0;color:#ffffffb8}.current-hole-card h2{color:var(--sand-300)}.current-hole-card>strong{color:#fff;font-size:clamp(4rem,15vw,6.5rem);line-height:1}.numeric-score-keyboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.numeric-score-keyboard button{min-height:66px;border:1px solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface-soft);color:var(--green-950);font-size:1.35rem;font-weight:950}.numeric-score-keyboard button:hover{border-color:#1f604761;background:var(--green-100);box-shadow:0 0 0 3px #1f604712}.numeric-score-keyboard .keyboard-clear{font-size:.82rem}.mobile-score-validate{min-height:54px;justify-content:center;font-size:1rem}.score-summary-heading{display:flex;gap:12px;align-items:center}.score-summary-heading svg{color:var(--success);font-size:1.8rem}.score-summary-heading h2{margin:0}.score-summary-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.score-summary-totals strong{font-size:1.35rem}.score-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.score-summary-grid button{position:relative;display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft);color:var(--ink);text-align:left}.score-summary-grid button:hover{border-color:#1f604761;background:var(--green-50)}.score-summary-grid button>svg{position:absolute;top:9px;right:9px;color:var(--muted);font-size:.72rem}.score-summary-grid small{color:var(--muted)}.golf-admin{display:grid;gap:16px}.golf-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--green-50)}.golf-admin-tabs button{display:flex;gap:8px;align-items:center;min-height:40px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--green-800);font-weight:900}.golf-admin-tabs button.active,.golf-admin-tabs button:hover{border-color:var(--line-strong);background:#fff}.golf-admin-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(440px,1.2fr);gap:16px;align-items:start}.golf-admin-toolbar{display:flex;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.golf-admin-toolbar label{width:min(520px,100%);margin:0}.golf-admin-list{display:grid;gap:9px}.golf-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.golf-admin-row.selected{border-color:#1f604752;background:var(--green-100)}.golf-admin-row>button:first-child,.golf-admin-row>div:first-child{display:grid;gap:3px;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.golf-admin-row strong,.golf-admin-row span,.golf-admin-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.golf-admin-row span,.golf-admin-row small{color:var(--muted);font-size:.78rem}.golf-hole-panel,.competition-player-panel{margin-top:0}.competition-rules-box{display:grid;gap:10px;margin-bottom:14px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--green-50)}.competition-rules-box h3,.competition-rules-box p,.competition-rules-box label{margin-bottom:0}.golf-membership-box{margin-bottom:16px}.hole-admin-table input{min-width:78px;min-height:38px}.hole-admin-table td:nth-child(2) input{min-width:180px}.player-add-form{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto;gap:10px;align-items:end}.player-add-form label{margin:0}.player-add-form label:first-child{grid-column:span 2}.player-admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 1180px){.competition-list{grid-template-columns:repeat(2,minmax(0,1fr))}.hole-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.golf-admin-layout,.player-admin-list{grid-template-columns:1fr}.player-add-form{grid-template-columns:repeat(3,minmax(130px,1fr))}.live-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scorecard-hole-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 720px){.competition-list,.hole-score-grid,.player-add-form,.competition-info-grid,.eligibility-criteria,.competition-action-grid,.live-results-grid{grid-template-columns:1fr}.competition-list-card{padding:15px;box-shadow:none}.competition-hero{grid-template-columns:1fr;padding:18px;border-radius:10px}.competition-hero-stats{width:100%}.score-entry-section,.leaderboard-panel,.registration-panel,.competition-info-panel,.competition-requirements-panel,.competition-price-panel,.competition-access-message,.competition-in-progress-actions,.live-results-panel,.hole-results-panel,.detailed-scorecards-panel,.finished-results-heading,.mobile-score-entry{padding:12px;border-radius:10px;box-shadow:none}.competition-access-message,.finished-results-heading{grid-template-columns:1fr}.competition-actions,.modal-actions{align-items:stretch;flex-direction:column}.competition-actions button,.modal-actions button,.register-competition-button,.mobile-score-entry{width:100%}.current-hole-card{min-height:210px}.score-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detailed-scorecards summary{align-items:flex-start;flex-direction:column}.scorecard-hole-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-heading-row{align-items:stretch;flex-direction:column}.section-heading-row label{min-width:0}.hole-score-card{grid-template-columns:minmax(86px,.8fr) minmax(150px,1.2fr) 38px;align-items:center;justify-items:stretch}.hole-score-card>div:first-child{display:grid}.score-save-button{width:100%;justify-self:stretch}.golf-admin-tabs{display:grid;grid-template-columns:1fr}.golf-admin-tabs button{width:100%}.golf-admin-toolbar{padding:9px}.player-add-form label:first-child{grid-column:span 1}}*{box-sizing:border-box}html{min-width:320px;background:var(--green-950);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(120deg,rgba(255,255,255,.05) 0 1px,transparent 1px 100%),linear-gradient(180deg,#072219,#123929 48%,#0a2118);background-size:32px 32px,auto;color:var(--ink)}html.competition-score-active,body.competition-score-active{width:100%;height:100%;max-height:100%;overflow:hidden;overscroll-behavior:none}body.competition-score-active{position:fixed;top:0;right:0;bottom:0;left:0}body.competition-score-active:before,.page:has(.competition-score-mode):before{display:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(155deg,rgba(247,241,223,.12),transparent 34%),linear-gradient(25deg,rgba(219,232,212,.2),transparent 42%);pointer-events:none}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .22s ease}button:disabled{cursor:not-allowed;opacity:.58;transform:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(52,120,184,.28);outline-offset:2px}::selection{background:#2f775933}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#dce3d873;border-radius:999px}::-webkit-scrollbar-thumb{background:#b5c3b4;border:2px solid rgba(245,246,240,.88);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#8fa08e}.page{position:relative;min-height:100vh;padding:clamp(12px,2.4vw,30px)}.page:before{content:"";position:fixed;right:clamp(16px,4vw,58px);bottom:clamp(16px,4vw,58px);z-index:0;width:clamp(180px,24vw,340px);aspect-ratio:1;background:url(/vldc.png) center / contain no-repeat;opacity:.84;pointer-events:none}.app-shell{position:relative;z-index:1;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1280px,100%);min-height:calc(100vh - clamp(24px,4.8vw,60px));margin:0 auto;overflow:hidden;border:1px solid rgba(238,245,234,.34);border-radius:var(--radius-shell);background:linear-gradient(180deg,#fffefaf5,#f5f6f0fa),var(--surface);box-shadow:var(--shadow-soft)}.app-shell:before{content:"";position:absolute;right:clamp(-78px,-4vw,-32px);bottom:clamp(72px,8vw,128px);z-index:0;width:clamp(220px,26vw,390px);aspect-ratio:1;background:url(/icon.svg) center / contain no-repeat;opacity:.032;pointer-events:none}.site-header,main,.site-footer{position:relative;z-index:1}.app-shell.admin-mode{width:min(1900px,100%);min-height:calc(100vh - 18px)}.app-shell.admin-mode main{padding:clamp(12px,1.4vw,22px)}.page:has(.competition-score-mode){height:100dvh;padding:0;overflow:hidden}.app-shell.competition-score-mode{grid-template-rows:minmax(0,1fr);width:100%;height:100dvh;min-height:0;overflow:hidden;border:0;border-radius:0}.competition-score-mode .site-header,.competition-score-mode .site-footer{display:none}.competition-score-mode main{display:grid;height:100dvh;min-height:0;padding:0;overflow:hidden}.competition-score-mode .competition-detail-page{height:100dvh;min-height:0;gap:0;padding:0;overflow:hidden}.competition-score-mode .mobile-score-entry{grid-template-rows:auto auto minmax(0,1fr) minmax(0,min(38dvh,300px)) auto;width:min(760px,100%);height:100dvh;min-height:0;gap:clamp(5px,1.15dvh,12px);align-content:stretch;padding:max(6px,env(safe-area-inset-top)) clamp(7px,2vw,18px) max(6px,env(safe-area-inset-bottom));overflow:hidden;border-block:0;border-radius:0}.competition-score-mode .mobile-score-topbar{min-height:0}.competition-score-mode .mobile-score-topbar .secondary-button{min-height:clamp(32px,5.5dvh,42px);padding-block:4px}.competition-score-mode .mobile-score-progress{gap:clamp(4px,1vw,8px)}.competition-score-mode .mobile-score-progress>span{gap:1px;padding:clamp(4px,.9dvh,9px)}.competition-score-mode .current-hole-card{min-height:0;gap:clamp(1px,.6dvh,5px);padding:clamp(6px,1.4dvh,18px);overflow:hidden}.competition-score-mode .current-hole-card>strong{font-size:clamp(2.7rem,10dvh,6rem)}.competition-score-mode .numeric-score-keyboard{grid-template-rows:repeat(4,minmax(0,1fr));min-height:0;gap:clamp(4px,.9dvh,9px)}.competition-score-mode .numeric-score-keyboard button{min-height:0;padding:0;font-size:clamp(1rem,3.1dvh,1.35rem)}.competition-score-mode .mobile-score-validate{min-height:clamp(38px,7dvh,54px)}.competition-score-mode .modal-backdrop{padding:8px;overflow:hidden}.competition-score-mode .score-confirm-modal{max-height:calc(100dvh - 16px);padding:clamp(14px,3dvh,24px);overflow:hidden}.competition-score-mode .score-summary{grid-template-rows:auto auto auto minmax(0,1fr)}.competition-score-mode .score-summary-heading{min-height:0}.competition-score-mode .score-summary-heading p{margin-bottom:2px}.competition-score-mode .score-summary-totals{gap:clamp(4px,1vw,9px)}.competition-score-mode .score-summary-totals>span{padding:clamp(4px,.9dvh,10px)}.competition-score-mode .score-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));min-height:0;gap:clamp(3px,.7dvh,8px)}.competition-score-mode .score-summary-grid button{min-height:0;padding:clamp(4px,.8dvh,10px);overflow:hidden}.competition-score-mode .score-summary-grid button>svg{display:none}.competition-score-mode .score-summary-grid small{font-size:clamp(.55rem,1.4dvh,.75rem)}@media (max-width: 480px){.competition-score-mode .mobile-score-topbar{font-size:.76rem}.competition-score-mode .mobile-score-progress small{font-size:.58rem;letter-spacing:0}.competition-score-mode .mobile-score-progress strong{font-size:.78rem}.competition-score-mode .score-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr))}}@media (max-height: 650px){.competition-score-mode .mobile-score-entry{grid-template-rows:auto auto minmax(0,1fr) minmax(0,38dvh) auto}.competition-score-mode .mobile-score-progress small{font-size:.56rem}.competition-score-mode .mobile-score-progress strong{font-size:.76rem}.competition-score-mode .current-hole-card span{display:none}.competition-score-mode .current-hole-card>strong{font-size:clamp(2.4rem,9dvh,4.5rem)}.competition-score-mode .score-summary-heading .section-kicker{display:none}.competition-score-mode .score-summary-heading h2{font-size:1rem}.competition-score-mode .score-summary-totals strong{font-size:.95rem}}@media (max-height: 520px){.competition-score-mode .mobile-score-entry{grid-template-rows:auto auto minmax(0,1fr) minmax(0,40dvh) auto}.competition-score-mode .mobile-score-progress small{display:none}.competition-score-mode .current-hole-card h2{font-size:.9rem}.competition-score-mode .current-hole-card small,.competition-score-mode .score-summary-heading{display:none}.competition-score-mode .score-summary{grid-template-rows:auto auto minmax(0,1fr)}}.site-header,.brand,.mobile-header-actions,.mobile-menu-button,.navbar,.navbar button,.header-actions,.quiet-button,.primary-button,.secondary-button,.approve-button,.danger-button,.session-pill,.toast,.admin-panel-title,.admin-nav,.admin-nav button,.admin-identity,.page-title,.button-row,.search-line,.panel-heading{display:flex;align-items:center}.site-header{display:grid;grid-template-columns:minmax(220px,auto) minmax(280px,1fr) auto;gap:clamp(14px,2vw,28px);padding:14px clamp(16px,3vw,36px);border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fffefaf5,#f7f9f3e6),var(--surface-strong);align-items:center}.brand{gap:12px;min-width:0;padding:6px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--ink);text-align:left}.brand:hover{border-color:var(--line);background:var(--green-50);color:var(--green-900)}.brand span:last-child{display:grid;gap:2px;min-width:0;font-weight:950;line-height:1.05}.brand strong{color:var(--green-700);font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.brand-icon{display:grid;width:clamp(40px,4vw,55px);height:clamp(40px,4vw,75px);flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid rgba(31,96,71,.16);border-radius:6px;background:#3d3d3d;box-shadow:0 10px 24px #0316101a}.brand-icon img{width:100%;height:100%;object-fit:cover}.mobile-menu-button{display:none;justify-content:center;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;color:var(--green-900)}.mobile-menu-button:hover{border-color:#1f604747;background:var(--green-50);color:var(--green-950)}.mobile-menu-button,.navbar button{position:relative}.nav-badge,.mobile-menu-button.has-badge:after{display:inline-block;width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:var(--danger);box-shadow:0 0 0 3px #bd4c3e24}.admin-nav button .nav-badge{flex:0 0 auto}.mobile-menu-button.has-badge:after{content:"";position:absolute;top:-3px;right:-3px}.mobile-header-actions{display:none}.navbar{justify-content:center;gap:6px;min-width:0;flex-wrap:wrap;align-content:center}.navbar button,.quiet-button{gap:8px;min-height:38px;padding:0 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-size:.88rem;font-weight:850;white-space:nowrap}.navbar button svg,.quiet-button svg{color:var(--green-700)}.navbar button:hover,.navbar .active,.quiet-button:hover{border-color:#1f604729;background:var(--green-50);color:var(--green-950);box-shadow:0 1px #fffc,inset 0 0 0 1px #ffffff8c}.navbar .active{background:var(--green-100)}.navbar .mobile-logout-button{display:none}.header-actions{gap:10px;justify-content:flex-end;min-width:max-content}.api-status{display:none;width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#98a29a;box-shadow:0 0 0 4px #98a29a1f}.api-status.online{background:var(--success);box-shadow:0 0 0 6px #24814f1f}.api-status.offline{background:var(--danger);box-shadow:0 0 0 6px #bd4c3e1f}.api-status.loading{background:var(--warning)}.session-pill{min-height:34px;max-width:150px;padding:0 12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green-900);font-size:.86rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.toast{position:fixed;top:18px;right:18px;z-index:90;justify-content:space-between;gap:16px;width:min(420px,calc(100vw - 32px));min-height:54px;padding:12px 14px;border:1px solid rgba(167,121,29,.18);border-radius:14px;background:linear-gradient(90deg,#fff4d8f0,#f7f1dfe6),var(--warning-soft);color:#5f4712;font-size:.93rem;font-weight:800;opacity:0;pointer-events:none;box-shadow:0 18px 46px #051a1233;transform:translateY(-8px);transition:opacity .42s ease,transform .42s ease}.toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.toast span{min-width:0}.toast button{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid rgba(167,121,29,.12);border-radius:50%;background:#ffffff94;color:inherit}.toast button:hover{background:#fff;border-color:#a7791d57}main{min-height:640px;min-width:0;padding:clamp(24px,4.2vw,52px)}.site-footer{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(150px,.6fr);gap:18px;align-items:center;padding:18px clamp(16px,3vw,36px);border-top:1px solid var(--line);background:linear-gradient(180deg,#fffefab8,#f3f8f1db),var(--surface-strong);color:var(--muted);font-size:.86rem;font-weight:750}.site-footer div{display:grid;gap:3px;min-width:0}.site-footer strong{color:var(--green-950);font-size:.94rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.site-footer button{min-height:34px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-size:.83rem;font-weight:850}.site-footer button:hover{border-color:#1f604726;background:var(--green-50);color:var(--green-950)}.site-footer>span{justify-self:end;color:var(--green-700);font-weight:900}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--green-980);letter-spacing:0}h1{margin-bottom:0;font-size:clamp(2rem,4.9vw,4.2rem);line-height:.98}h2{margin-bottom:14px;font-size:1.08rem;line-height:1.22}h3{font-size:.98rem;line-height:1.25}.section-kicker{margin:0 0 8px;color:var(--green-700);font-size:.74rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.plain-page{display:grid;gap:26px}.page-title{gap:18px;align-items:flex-start}.page-title>svg{width:58px;height:58px;flex:0 0 auto;padding:16px;border:1px solid rgba(31,96,71,.16);border-radius:16px;background:linear-gradient(145deg,rgba(213,190,122,.25),transparent 48%),var(--green-900);color:#fff;box-shadow:var(--shadow-panel)}.empty-state{display:grid;min-height:320px;place-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius-panel);background:linear-gradient(135deg,#f3f8f1c7,#fffefaf0),var(--surface-strong);color:var(--green-700);font-size:clamp(1.4rem,4vw,2rem);box-shadow:inset 0 1px #ffffffbd}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-grid article,.confirmation-panel,.form-card,.admin-panel,.list-panel{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-strong);box-shadow:var(--shadow-panel)}.contact-grid article{display:grid;gap:8px;min-height:154px;padding:22px}.contact-grid article:hover,.form-card:hover,.list-panel:hover{border-color:var(--line-strong)}.contact-grid svg,.confirmation-panel>svg{color:var(--green-700);font-size:1.32rem}.contact-page{align-content:start}.contact-form-card{display:grid;gap:16px;width:min(820px,100%)}.contact-form-card label{margin-bottom:0}.contact-form-card textarea{min-height:170px}.contact-identity{display:grid;gap:4px;padding:14px;border:1px solid rgba(31,96,71,.14);border-radius:var(--radius-card);background:linear-gradient(135deg,#e7f1e9d1,#fffefaf2),var(--surface-soft)}.contact-identity strong{color:var(--green-950)}.contact-identity span{color:var(--muted);font-size:.88rem;font-weight:800}.auth-layout{display:grid;min-height:560px;place-items:center}.auth-card,.confirmation-panel{width:min(720px,100%)}.form-card,.confirmation-panel{padding:clamp(22px,3.6vw,34px)}.form-card.compact{padding:18px}.confirmation-panel{display:grid;gap:16px}.confirmation-panel p{max-width:620px;margin:0;color:var(--muted);font-size:1rem;line-height:1.62}label,.field-block{display:grid;gap:8px;margin-bottom:15px;color:var(--green-900);font-size:.86rem;font-weight:900}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--danger);background:#fff7f5;box-shadow:0 0 0 4px #bd4c3e1a}.field-error-text{color:var(--danger);font-size:.8rem;font-weight:850;line-height:1.35}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:linear-gradient(180deg,#fff,#fbfcf7),#fff;color:var(--ink);padding:0 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--green-700) 50%),linear-gradient(135deg,var(--green-700) 50%,transparent 50%),linear-gradient(180deg,#fff,#fbfcf7);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px,0 0;background-size:5px 5px,5px 5px,auto;background-repeat:no-repeat;padding-right:34px}textarea{min-height:110px;padding:12px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:#b8c7b5}input:focus,select:focus,textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 4px #2f77591f;background:#fff}input::placeholder,textarea::placeholder{color:#8a968d}input[type=file]{min-height:auto;padding:9px;background:var(--surface-soft)}input[type=file]::file-selector-button{margin-right:12px;padding:8px 12px;border:1px solid rgba(31,96,71,.18);border-radius:8px;background:var(--green-100);color:var(--green-900);font-weight:900;cursor:pointer}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-hint,.warning-text,.muted{color:var(--muted);font-size:.9rem;line-height:1.45}.field-hint{margin:-6px 0 15px}.field-hint.compact{margin:-2px 0 0;font-size:.78rem}.warning-text{color:var(--warning);font-weight:850}.primary-button,.secondary-button,.approve-button,.danger-button{justify-content:center;gap:8px;min-height:42px;padding:0 14px;border-radius:var(--radius-control);font-size:.88rem;font-weight:950;flex:0 0 auto}.primary-button{border:1px solid var(--green-900);background:linear-gradient(180deg,var(--green-800),var(--green-900)),var(--green-900);color:#fff;box-shadow:0 8px 18px #0b322629}.primary-button:hover:not(:disabled){border-color:var(--green-700);background:linear-gradient(180deg,var(--green-700),var(--green-900)),var(--green-800);box-shadow:0 12px 24px #0b322633;outline:3px solid rgba(47,119,89,.1)}.secondary-button{border:1px solid var(--line-strong);background:#fff;color:var(--green-900)}.secondary-button:hover:not(:disabled){border-color:#1f604740;background:var(--green-50);color:var(--green-950);box-shadow:0 0 0 3px #1f604712}.approve-button{border:1px solid rgba(36,129,79,.2);background:var(--success-soft);color:#176438}.approve-button:hover:not(:disabled){border-color:#24814f57;background:#d9f0e3;box-shadow:0 0 0 3px #24814f14}.danger-button{border:1px solid rgba(189,76,62,.2);background:var(--danger-soft);color:var(--danger)}.danger-button:hover:not(:disabled){border-color:#bd4c3e57;background:#f6d9d1;box-shadow:0 0 0 3px #bd4c3e14}.primary-button.wide{width:100%}.link-button{margin-top:12px;padding:0;border:0;background:transparent;color:var(--green-700);font-weight:900}.link-button:hover{color:var(--green-950);text-decoration:underline;text-underline-offset:4px}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.button-row{gap:10px;flex-wrap:wrap}.search-line{gap:10px;align-items:stretch}.search-line .primary-button{min-width:48px}.checkbox-line{display:flex;align-items:center;gap:10px;width:fit-content;margin-bottom:0;color:var(--ink-soft)}.checkbox-line input{width:18px;min-height:18px;accent-color:var(--green-700)}.checkbox-list{display:grid;gap:8px;margin:8px 0 16px}.inline-checkboxes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.field-block{margin-bottom:16px}.field-block label,.license-edit-field .checkbox-line{margin-bottom:0}.user-type-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.license-valid-line{color:var(--muted);font-size:.84rem;font-weight:850}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:18px;background:#0316109e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow-y:auto}.modal{position:relative;display:grid;width:min(540px,100%);gap:12px;max-height:min(92vh,900px);overflow-y:auto;padding:28px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:linear-gradient(180deg,#fffefa,#f8faf3),#fff;box-shadow:var(--shadow-pop)}.modal h2{padding-right:44px}.modal-close,.icon-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--green-900)}.modal-close:hover,.icon-button:hover{border-color:#1f60473d;background:var(--green-50);color:var(--green-950);box-shadow:0 0 0 3px #1f604712}.modal-close{position:absolute;top:14px;right:14px}.modal-icon{color:var(--green-700);font-size:1.35rem}.modal-icon.danger{color:var(--danger)}.compact-modal{width:min(430px,100%)}.confirm-modal{width:min(480px,100%)}.user-details-modal{width:min(620px,100%)}.user-edit-modal{width:min(900px,100%);max-height:calc(100dvh - 36px);padding-bottom:36px;overscroll-behavior:contain}.user-edit-modal>.primary-button.wide{position:sticky;bottom:-18px;z-index:2;box-shadow:0 -10px 22px #fffefaeb}.app-shell.admin-mode:has(.modal-backdrop){overflow:visible}.admin-dashboard{display:grid;grid-template-columns:1fr;gap:16px;min-width:0;align-items:start}.admin-topbar{position:sticky;top:0;z-index:8;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border:1px solid rgba(213,190,122,.18);border-radius:17px;background:linear-gradient(135deg,rgba(213,190,122,.14),transparent 42%),linear-gradient(180deg,var(--green-900),var(--green-980));color:#fff;box-shadow:var(--shadow-panel)}.admin-identity{gap:12px;min-width:230px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#ffffff12}.admin-identity svg{flex:0 0 auto;color:var(--sand-300)}.admin-identity div{display:grid;gap:3px;min-width:0}.admin-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-identity span{overflow:hidden;color:#ffffffa8;font-size:.8rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.admin-nav{flex-wrap:wrap;gap:7px;justify-content:flex-end}.admin-mobile-nav{display:none}.admin-nav button{gap:9px;position:relative;min-height:42px;padding:9px 11px;border:1px solid transparent;border-radius:11px;background:transparent;color:#ffffffc2;font-size:.84rem;font-weight:850;text-align:left;white-space:nowrap}.admin-nav button svg{flex:0 0 auto}.admin-nav button.active,.admin-nav button:hover{border-color:#ffffff2e;background:#fffffff2;color:var(--green-950)}.admin-nav button:hover{box-shadow:inset 0 0 0 1px #1f60471f}.admin-nav button span{flex:1}.admin-nav button em{min-width:27px;padding:3px 7px;border-radius:999px;background:var(--sand-300);color:var(--green-980);font-style:normal;font-size:.74rem;font-weight:950;text-align:center}.admin-nav-group{position:relative;padding-bottom:8px;margin-bottom:-8px}.admin-subnav{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:grid;gap:6px;width:max-content;min-width:278px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fffefafa;box-shadow:0 18px 44px #03161033;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease}.admin-nav-group:hover .admin-subnav,.admin-nav-group:focus-within .admin-subnav{opacity:1;pointer-events:auto;transform:translateY(0)}.admin-subnav button{width:100%;color:var(--green-900)}.admin-subnav button:hover,.admin-subnav button.active{border-color:#1f604726;background:var(--green-50)}.admin-content{min-width:0;align-self:start}.admin-panel{min-height:680px;padding:clamp(15px,1.5vw,24px);align-self:start}.admin-panel-title{gap:12px;margin-bottom:18px}.admin-panel-title svg{display:grid;width:38px;height:38px;padding:9px;border-radius:11px;background:var(--green-50);color:var(--green-700)}.admin-panel-title h1{font-size:clamp(1.45rem,2.5vw,2.35rem)}.admin-grid{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:start}.admin-grid-single{grid-template-columns:minmax(0,1fr)}.list-panel{display:grid;gap:12px;padding:16px;align-self:start;min-width:0}.panel-heading{gap:12px;justify-content:space-between;padding-bottom:2px}.panel-heading h2{margin:0 0 4px;font-size:1.04rem}.panel-heading span{color:var(--muted);font-size:.82rem;font-weight:850}.users-panel-heading{align-items:flex-start}.user-list{display:grid;gap:12px}.user-row,.center-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.user-row:hover,.center-row:hover{border-color:var(--line-strong);background:#fff}.user-row.locked{border-color:#cbd2cb;background:#eef2ed;color:#69736c}.user-row.locked strong,.user-row.locked span,.user-row.locked small{color:#69736c}.center-row.selected{border-color:#1f60474d;background:var(--green-50);box-shadow:inset 3px 0 0 var(--green-700)}.compact-row{padding:12px}.user-row div:first-child,.center-row button:first-child{display:grid;gap:5px;min-width:0}.user-row strong,.center-row strong{color:var(--green-950)}.user-row span,.user-row small,.center-row span{color:var(--muted);font-size:.86rem}.center-row button:first-child{min-height:44px;padding:8px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left}.center-row button:first-child:hover{background:var(--green-100)}.center-row>div,.row-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.filter-chip{min-height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--muted);font-size:.84rem;font-weight:900}.filter-chip:hover,.filter-chip.active{border-color:#1f604742;background:var(--green-50);color:var(--green-950)}.filter-chip.active{box-shadow:inset 0 0 0 1px #1f604714}.users-table-panel{grid-template-rows:auto auto minmax(0,1fr);height:clamp(560px,68vh,790px);min-height:0;overflow:hidden;padding:16px}.users-table-panel-wide{height:clamp(630px,74vh,850px)}.centers-management-panel{gap:16px}.centers-management-list{display:grid;gap:10px;align-content:start}.centers-management-list .center-filter-list{max-height:clamp(470px,60vh,700px)}.center-filter-list{display:grid;gap:10px;min-height:0;overflow-y:auto;padding-right:4px;align-content:start}.center-filter{display:grid;gap:4px;width:100%;min-height:58px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft);color:var(--ink);text-align:left}.center-filter:hover,.center-filter.active{border-color:#1f604747;background:var(--green-50);color:var(--green-950)}.center-filter.active{box-shadow:inset 3px 0 0 var(--green-700)}.center-filter strong{color:var(--green-950)}.center-filter span{color:var(--muted);font-size:.82rem;font-weight:850}.add-center-filter{grid-template-columns:auto minmax(0,1fr);align-items:center;border-style:dashed;color:var(--green-700)}.add-center-filter svg{color:var(--green-700)}.admin-user-filters{display:grid;grid-template-columns:minmax(180px,1.15fr) minmax(170px,.85fr) auto;gap:12px;align-items:end;margin-bottom:14px}.admin-user-filters label{margin-bottom:0}.admin-user-filters .filter-chip{min-height:44px;border-radius:var(--radius-control)}.admin-table-scroll{height:100%;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-panel);background:#fff}.admin-users-table{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.82rem}.admin-users-table th,.admin-users-table td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;overflow-wrap:anywhere}.admin-users-table th{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#f8faf4,#edf3e9),var(--green-50);color:#5c6b61;font-size:.72rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase;box-shadow:inset 0 -1px 0 var(--line)}.admin-users-table tbody tr{transition:background-color .13s ease}.admin-users-table tbody tr:nth-child(2n){background:#fcfdf9}.admin-users-table tbody tr:hover{background:#f2f8ef}.admin-users-table tbody tr.locked{background:#eef2ed;color:#69736c}.admin-users-table tbody tr:last-child td{border-bottom:0}.admin-users-table th:nth-child(1),.admin-users-table td:nth-child(1){width:15%}.admin-users-table th:nth-child(2),.admin-users-table td:nth-child(2){width:20%}.admin-users-table th:nth-child(3),.admin-users-table td:nth-child(3){width:15%}.admin-users-table th:nth-child(4),.admin-users-table td:nth-child(4),.admin-users-table th:nth-child(5),.admin-users-table td:nth-child(5),.admin-users-table th:nth-child(6),.admin-users-table td:nth-child(6),.admin-users-table th:nth-child(9),.admin-users-table td:nth-child(9){width:7%;text-align:center}.admin-users-table th:nth-child(7),.admin-users-table td:nth-child(7),.admin-users-table th:nth-child(8),.admin-users-table td:nth-child(8){width:10%}.admin-users-table th:nth-child(10),.admin-users-table td:nth-child(10){width:15%}.admin-users-table td:first-child strong,.admin-users-table td:first-child small,.center-cell,.license-cell{display:grid;gap:4px}.admin-users-table td:first-child small{color:var(--muted);font-size:.77rem;font-weight:850}.center-cell,.license-cell{min-width:0}.license-cell small{display:inline-flex;gap:7px;align-items:center;color:var(--muted);font-size:.77rem;font-weight:850}.license-cell .state-icon{width:22px;height:22px}.table-certificate-button{min-height:32px;padding:0 10px;font-size:.78rem}.admin-star{display:inline-flex;gap:5px;align-items:center;width:fit-content;padding:3px 7px;border:1px solid rgba(213,190,122,.28);border-radius:999px;background:var(--sand-100);color:#7a5d17;font-size:.74rem;font-weight:950;line-height:1.35}.state-icon{display:inline-grid;width:27px;height:27px;place-items:center;border-radius:999px}.state-icon.yes{background:var(--success-soft);color:var(--success)}.state-icon.no{background:#f2eee8;color:#9b6250}.row-actions.nowrap{flex-wrap:wrap;justify-content:flex-start}.icon-button.danger{color:var(--danger)}.icon-button.danger:hover{border-color:#bd4c3e40;background:var(--danger-soft)}.icon-button.lock{border-color:#6f7b7242;background:#edf2ec;color:#526259}.icon-button.lock:hover{border-color:#1f60474d;background:#dcecdf;color:var(--green-800)}.scroll-list{display:grid;gap:10px;min-height:0;overflow-y:auto;padding-right:4px;align-content:start}.search-results-list{max-height:300px}.admin-rights-box{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-soft)}.admin-rights-box h3{margin:0;color:var(--green-950);font-size:.95rem}.account-admin-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}.account-self-service{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;align-items:start}.account-admin-grid>.account-self-service{grid-template-columns:repeat(2,minmax(240px,1fr))}.account-profile-card,.account-profile-form,.certificate-inline-form{display:grid;gap:12px}.account-profile-form label,.certificate-inline-form label{margin-bottom:0}.certificate-inline-form{padding-top:16px;border-top:1px solid var(--line)}.certificate-inline-form h3{margin:0;color:var(--green-950)}.account-summary-line,.certificate-status{display:grid;gap:5px;margin-bottom:16px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(135deg,#e7f1e9d1,#fffefaf2),var(--surface-soft)}.account-summary-line span,.certificate-status span{color:var(--muted);font-size:.86rem;font-weight:800}.certificate-status{grid-template-columns:auto minmax(0,1fr);align-items:center}.certificate-status svg{color:var(--danger);font-size:1.45rem}.file-picker-button{display:flex;align-items:center;justify-content:center;min-height:42px;margin-bottom:0;padding:0 14px;border:1px dashed rgba(31,96,71,.32);border-radius:var(--radius-control);background:var(--green-50);color:var(--green-900);font-weight:950;cursor:pointer}.file-picker-button:hover{border-color:#1f604785;background:var(--green-100)}.file-picker-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.selected-file-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(31,96,71,.16);border-radius:var(--radius-card);background:var(--green-50)}.selected-file-card>svg{color:var(--danger);font-size:1.45rem}.selected-file-card div{display:grid;gap:3px;min-width:0}.selected-file-card strong,.selected-file-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file-card span{color:var(--muted);font-size:.84rem;font-weight:800}.selected-file-card button{display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(189,76,62,.2);border-radius:8px;background:#fff;color:var(--danger)}.news-page{align-content:start}.featured-news-card{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1fr);gap:clamp(18px,3vw,34px);align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-strong);box-shadow:var(--shadow-panel)}.featured-news-media,.news-card-media,.news-article-cover,.news-preview-media,.news-gallery button{overflow:hidden;border:0;background:linear-gradient(135deg,#f4f9f5eb,#fffefafa),var(--green-50);color:var(--green-700)}.featured-news-media{display:grid;min-height:360px;place-items:center;padding:0}.featured-news-media img,.news-card-media img,.news-preview-media img,.news-gallery img{box-sizing:border-box;width:100%;height:100%;padding:clamp(6px,1vw,12px);object-fit:contain;transition:transform .22s ease}.featured-news-media:hover img,.news-card-media:hover img,.news-gallery button:hover img{transform:scale(1.03)}.featured-news-media.no-image,.news-article-cover.no-image{font-size:2rem}.featured-news-content{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px;align-content:stretch;padding:clamp(22px,4vw,42px)}.featured-news-content h2,.news-card h2,.news-article-header h1{margin:0}.featured-news-content h2{font-size:clamp(1.7rem,3vw,3rem);line-height:1.02}.featured-news-content p,.news-card p,.news-article-header p,.news-article-body p{color:var(--ink-soft);line-height:1.72}.news-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.news-meta span{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border-radius:999px;font-size:.74rem;font-weight:950;background:var(--green-100);color:var(--green-900)}.news-card-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:4px;align-self:end}.news-card-footer time{margin-left:auto;color:var(--muted);font-size:.78rem;font-weight:900;white-space:nowrap}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.news-card{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-strong);box-shadow:var(--shadow-panel)}.news-card:hover{border-color:var(--line-strong)}.news-card-media{display:grid;aspect-ratio:16 / 10;place-items:center;padding:0;font-size:1.5rem}.news-card-body{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;padding:16px}.news-card-body h2{font-size:1.05rem;line-height:1.24}.news-card-body p{margin-bottom:0;font-size:.92rem}.news-empty-state{gap:10px;color:var(--muted);font-size:1rem}.news-article-page{display:grid;gap:24px;width:min(1040px,100%);margin:0 auto}.back-button{justify-self:start}.news-article-header{display:grid;gap:12px}.news-article-header h1{max-width:860px;font-size:clamp(1.9rem,4vw,3.5rem);line-height:1.04}.news-article-date{color:var(--muted);font-size:.9rem;font-weight:900}.news-article-cover{position:relative;display:grid;aspect-ratio:16 / 8;width:100%;place-items:center;padding:0;border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);cursor:zoom-in}.news-article-cover img{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;height:100%;padding:clamp(10px,1.5vw,18px);object-fit:contain;opacity:0;pointer-events:none;transform:scale(.985);transition:opacity .68s ease,transform .86s cubic-bezier(.2,.72,.2,1)}.news-article-cover img.active{opacity:1;transform:scale(1)}.news-article-cover:hover img.active{transform:scale(1.012)}.cover-carousel-count{position:absolute;z-index:2;right:14px;bottom:14px;padding:6px 10px;border-radius:999px;background:#fffefae6;color:var(--green-950);font-size:.78rem;font-weight:950;box-shadow:0 8px 20px #03161029}.news-article-body{display:grid;gap:16px;width:min(780px,100%);margin:0 auto;padding:8px 0}.news-article-body p,.news-article-body ul,.news-article-body ol,.news-article-body blockquote{margin:0}.news-article-body p,.news-article-body li{font-size:1.04rem;line-height:1.75}.news-article-body h2{margin:16px 0 0;font-size:1.55rem;line-height:1.18}.news-article-body h3{margin:10px 0 0;font-size:1.22rem;line-height:1.24}.news-article-body ul,.news-article-body ol{display:grid;gap:8px;padding-left:24px;color:var(--ink-soft)}.news-article-body blockquote{padding:16px 18px;border-left:4px solid var(--green-700);border-radius:0 var(--radius-card) var(--radius-card) 0;background:var(--green-50);color:var(--green-950);font-weight:850}.news-article-body a{color:var(--green-700);font-weight:900;text-decoration-thickness:2px;text-underline-offset:4px}.news-article-body [data-align=left],.news-preview-window [data-align=left]{text-align:left}.news-article-body [data-align=center],.news-preview-window [data-align=center]{text-align:center}.news-article-body [data-align=right],.news-preview-window [data-align=right]{text-align:right}.news-article-body [data-align=justify],.news-preview-window [data-align=justify]{text-align:justify}.news-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.news-gallery button{aspect-ratio:1 / 1;padding:0;border-radius:var(--radius-card)}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:54px clamp(12px,4vw,56px);background:#031610d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-lightbox img{max-width:min(1120px,100%);max-height:82vh;border-radius:12px;object-fit:contain;box-shadow:var(--shadow-pop)}.image-lightbox .modal-close{position:absolute;top:18px;right:18px}.image-lightbox span{position:absolute;left:50%;bottom:18px;display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:#fffefaeb;color:var(--green-950);font-weight:900;transform:translate(-50%)}.lightbox-arrow{position:absolute;top:50%;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:#fffefae6;color:var(--green-950);transform:translateY(-50%)}.lightbox-arrow.previous{left:18px}.lightbox-arrow.next{right:18px}.news-preview-backdrop{z-index:90;padding:clamp(10px,2vw,26px)}.news-preview-modal{width:min(1180px,100%);max-height:none!important;height:90vh!important;gap:16px}.news-preview-modal-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding-right:48px}.news-preview-modal-header h2{margin:0;padding-right:0}.segmented-control{display:inline-flex;gap:4px;align-items:center;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}.segmented-control button{min-height:34px;padding:0 13px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:950}.segmented-control button:hover{background:var(--green-50);color:var(--green-950)}.segmented-control button.active{background:var(--green-800);color:#fff;box-shadow:0 10px 22px #03161029}.news-preview-window{overflow:auto;padding:clamp(14px,2.2vw,26px);border:1px solid var(--line);border-radius:var(--radius-panel);background:linear-gradient(135deg,#f4f9f59e,#fffefaf5),var(--surface);height:100%!important}.news-preview-page{width:100%}.news-preview-page .featured-news-media,.news-preview-page .news-card-media,.news-preview-page .news-article-cover{cursor:default}.news-admin-layout{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(360px,.68fr);gap:16px;align-items:start}.news-editor{display:grid;gap:14px}.news-editor-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.news-editor-heading h2{margin:0}.news-excerpt-input{min-height:92px}.publish-toggle{padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.rich-editor-field{display:grid;gap:8px;margin-bottom:15px;color:var(--green-900);font-size:.86rem;font-weight:900}.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.rich-editor-toolbar button{display:inline-flex;gap:5px;align-items:center;justify-content:center;min-height:32px;padding:0 9px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--green-900);font-size:.78rem;font-weight:950}.rich-editor-toolbar button:hover{border-color:#1f60473d;background:var(--green-50)}.rich-editor-toolbar button.active{border-color:#1f60476b;background:var(--green-100);color:var(--green-950);box-shadow:inset 0 0 0 1px #1f604714}.rich-editor-toolbar button:disabled{cursor:not-allowed;opacity:.45;transform:none}.toolbar-separator{width:1px;min-height:28px;margin:2px;background:var(--line)}.rich-editor-surface{min-height:320px;padding:14px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:#fff;color:var(--ink);font-weight:500;line-height:1.65}.rich-editor-surface p,.rich-editor-surface h2,.rich-editor-surface h3,.rich-editor-surface blockquote,.rich-editor-surface ul,.rich-editor-surface ol{margin:0 0 10px}.rich-editor-surface ul,.rich-editor-surface ol{padding-left:24px}.rich-editor-surface a{color:var(--green-700);font-weight:850;text-decoration-thickness:2px;text-underline-offset:3px}.rich-editor-surface:focus{border-color:var(--green-600);box-shadow:0 0 0 4px #2f77591f;outline:none}.rich-editor-surface:empty:before{content:"Rédigez le contenu de l'actualité...";color:#8a968d;font-weight:700}.rich-editor-surface h2{margin:12px 0 8px;font-size:1.35rem}.rich-editor-surface h3{margin:10px 0 6px;font-size:1.08rem}.rich-editor-surface blockquote{margin:8px 0;padding:12px 14px;border-left:4px solid var(--green-700);background:var(--green-50)}.news-existing-images,.news-upload-zone{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-soft)}.news-existing-images h3{margin:0}.news-existing-images>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.news-existing-images article{position:relative;display:grid;gap:8px}.news-existing-images article.marked{opacity:.46}.news-existing-images img{width:100%;aspect-ratio:1 / 1;border-radius:9px;object-fit:cover}.news-existing-images button{min-height:30px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--green-900);font-size:.78rem;font-weight:900}.pending-image-list{display:grid;gap:8px}.pending-image-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.pending-image-list svg{color:var(--green-700)}.pending-image-list div{display:grid;gap:2px;min-width:0}.pending-image-list strong,.pending-image-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-image-list span{color:var(--muted);font-size:.78rem;font-weight:850}.pending-image-list button{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(189,76,62,.2);border-radius:8px;background:var(--danger-soft);color:var(--danger)}.news-editor-preview{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-panel);background:linear-gradient(135deg,#fffefaf0,#f4f9f5d6),var(--surface-soft)}.news-preview-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.news-preview-heading h3{margin:0;color:var(--green-950)}.news-preview-heading span,.news-preview-heading strong{color:var(--muted);font-size:.78rem;font-weight:900}.news-preview-card{display:grid;grid-template-columns:minmax(170px,.78fr) minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.news-preview-media{position:relative;display:grid;min-height:230px;aspect-ratio:16 / 10;place-items:center}.news-preview-media.no-image{color:var(--green-700);font-size:1.7rem}.news-preview-media span{position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:999px;background:#fffefae6;color:var(--green-950);font-size:.72rem;font-weight:950;box-shadow:0 8px 18px #03161024}.news-preview-content{display:grid;gap:10px;align-content:start;min-width:0;padding:14px}.news-preview-content h2{margin:0;color:var(--green-950);font-size:1.1rem;line-height:1.22}.news-preview-content p{margin:0;color:var(--ink-soft);font-size:.88rem;line-height:1.6}.news-preview-body{display:grid;gap:10px;max-height:250px;padding-top:10px;overflow-y:auto;border-top:1px solid var(--line);color:var(--ink);font-size:.88rem;line-height:1.64}.news-preview-body h2,.news-preview-body h3,.news-preview-body p,.news-preview-body blockquote,.news-preview-body ul,.news-preview-body ol{margin:0}.news-preview-body h2{font-size:1.18rem}.news-preview-body h3{font-size:1rem}.news-preview-body blockquote{padding:10px 12px;border-left:4px solid var(--green-700);background:var(--green-50)}.news-admin-list{display:grid;grid-template-rows:auto minmax(0,1fr);height:clamp(420px,calc(100vh - 230px),760px);overflow:hidden}.news-admin-list .scroll-list{min-height:0;max-height:none}.news-admin-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft)}.news-admin-row.selected,.news-admin-row:hover{border-color:#1f604740;background:#fff}.news-admin-row img,.news-admin-thumb{width:78px;height:58px;border-radius:9px}.news-admin-row img{object-fit:cover}.news-admin-thumb{display:grid;place-items:center;background:var(--green-50);color:var(--green-700)}.news-admin-row div:nth-child(2){display:grid;gap:4px;min-width:0}.news-admin-row strong,.news-admin-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-admin-row span,.news-admin-row small{color:var(--muted);font-size:.78rem;font-weight:850}.news-admin-row small{display:inline-flex;gap:5px;align-items:center}.admin-placeholder{display:grid;min-height:360px;place-items:center;align-content:center;gap:10px;border:1px dashed var(--line-strong);border-radius:var(--radius-panel);background:linear-gradient(135deg,#e7f1e99e,#fffefaf2),var(--surface-soft);color:var(--muted);text-align:center}.admin-placeholder svg{color:var(--green-700);font-size:2rem}.admin-placeholder strong{color:var(--green-950);font-size:1.04rem}.select-field{display:grid;gap:7px;min-width:min(100%,340px);color:var(--muted);font-size:.82rem;font-weight:850}.details-list{display:grid;gap:0;margin:0}.details-list div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.details-list div:last-child{border-bottom:0}.details-list dt{color:var(--muted);font-weight:850}.details-list dd{margin:0;color:var(--ink);overflow-wrap:anywhere}@media (max-width: 1120px){.site-header{grid-template-columns:1fr}.navbar{justify-content:flex-start;overflow-x:auto;padding-bottom:3px}.header-actions{justify-content:flex-start}.admin-topbar{position:static;align-items:stretch;flex-direction:column}.admin-nav{justify-content:flex-start}}@media (max-width: 980px){.featured-news-card,.news-admin-layout,.admin-dashboard,.admin-grid,.account-admin-grid,.account-self-service,.account-admin-grid>.account-self-service,.contact-grid{grid-template-columns:1fr}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-admin-list{height:clamp(360px,58vh,620px)}.users-table-panel{height:500px}}@media (max-width: 720px){.page{padding:0}.app-shell,.app-shell.admin-mode{width:100%;min-height:100vh;border:0;border-radius:0}.app-shell.admin-mode main{padding:8px}main{min-height:540px;padding:12px}h1{font-size:1.9rem}.featured-news-card,.news-card,.news-article-cover,.news-existing-images,.news-editor-preview,.news-preview-card,.news-upload-zone{border-radius:10px;box-shadow:none}.featured-news-media{min-height:220px}.featured-news-content{padding:16px}.featured-news-content h2{font-size:1.45rem}.news-grid,.news-gallery,.news-existing-images>div{grid-template-columns:1fr}.news-card-body{padding:14px}.news-article-page{gap:16px}.news-article-header h1{font-size:1.9rem}.news-article-body p{font-size:.98rem}.news-article-cover{aspect-ratio:16 / 11}.news-article-body{gap:14px}.image-lightbox{padding:58px 10px}.lightbox-arrow{width:38px;height:38px}.news-preview-modal{width:100%;max-height:96vh}.news-preview-modal-header{display:grid;padding-right:42px}.segmented-control{width:100%}.segmented-control button{flex:1;padding:0 9px}.news-preview-window{max-height:72vh;padding:10px}.news-editor{padding:12px}.news-editor-heading{display:grid}.rich-editor-surface{min-height:250px}.news-preview-card{grid-template-columns:1fr}.news-preview-media{min-height:190px}.news-admin-row{grid-template-columns:58px minmax(0,1fr)}.news-admin-row img,.news-admin-thumb{width:58px;height:48px}.news-admin-row .row-actions{grid-column:1 / -1}.site-header{position:relative;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;z-index:60}.brand{width:min(100%,230px);padding:3px}.brand-icon{width:55px;height:75px;border-radius:6px}.brand span:last-child{font-size:.94rem}.brand strong{font-size:.66rem}.mobile-header-actions{display:flex;grid-column:2;grid-row:1;gap:8px;justify-content:flex-end}.mobile-menu-button{display:flex}.mobile-session-pill{display:flex;max-width:112px;min-height:42px;padding:0 10px;background:var(--green-50)}.navbar,.header-actions{display:none}.navbar.open{display:grid;position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;grid-template-columns:1fr;align-content:start;gap:8px;width:100%;padding:78px 14px 20px;overflow-y:auto;border:0;background:#0620186b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.navbar.open button{justify-content:flex-start;width:100%;min-height:48px;border:1px solid rgba(255,255,255,.76);border-radius:12px;background:#fffefaeb;color:var(--green-950);box-shadow:0 10px 28px #0316101f}.navbar.open button.active{border-color:#d5be7a6b;background:var(--green-100)}.navbar.open .mobile-logout-button{display:flex;margin-top:6px;border-color:#bd4c3e38;background:#fae7e2f0;color:var(--danger)}.toast{top:10px;right:10px;width:calc(100vw - 20px);padding:10px 12px}input,select,textarea{font-size:16px}.form-grid.two,.inline-form,.user-row,.center-row,.admin-user-filters,.inline-checkboxes,.user-type-choice,.details-list div{grid-template-columns:1fr}.row-actions,.center-row>div{justify-content:flex-start}.modal{padding:20px 14px;border-radius:12px}.users-table-panel{height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-panel{min-height:0;padding:10px;border-radius:0;box-shadow:none}.admin-dashboard{gap:8px}.admin-panel-title{margin-bottom:10px}.admin-panel-title svg{display:none}.admin-panel-title h1{font-size:1.35rem}.list-panel{padding:10px;border-radius:10px;box-shadow:none}.panel-heading{align-items:flex-start}.admin-user-filters{gap:8px;margin-bottom:8px}.admin-user-filters .filter-chip{width:100%}.admin-table-scroll{border-radius:10px;overflow-x:hidden}.admin-users-table{min-width:0;table-layout:fixed;font-size:.76rem}.admin-users-table th,.admin-users-table td{padding:8px 6px}.admin-users-table th:nth-child(3),.admin-users-table td:nth-child(3),.admin-users-table th:nth-child(4),.admin-users-table td:nth-child(4),.admin-users-table th:nth-child(5),.admin-users-table td:nth-child(5),.admin-users-table th:nth-child(6),.admin-users-table td:nth-child(6),.admin-users-table th:nth-child(7),.admin-users-table td:nth-child(7),.admin-users-table th:nth-child(8),.admin-users-table td:nth-child(8),.admin-users-table th:nth-child(9),.admin-users-table td:nth-child(9){display:none}.admin-users-table th:nth-child(1),.admin-users-table td:nth-child(1){width:32%}.admin-users-table th:nth-child(2),.admin-users-table td:nth-child(2){width:33%}.admin-users-table th:nth-child(10),.admin-users-table td:nth-child(10){width:35%}.admin-users-table td:first-child strong{font-size:.8rem;line-height:1.16}.admin-users-table td:first-child small,.center-cell small,.admin-star{font-size:.68rem}.center-cell{gap:2px}.admin-star{max-width:100%;padding:2px 5px}.row-actions.nowrap{gap:4px;justify-content:flex-start}.icon-button{width:30px;height:30px;border-radius:8px}.admin-topbar{gap:8px;padding:8px;border-radius:10px}.admin-identity{min-width:0;padding:8px}.admin-mobile-nav{display:grid;gap:6px;margin-bottom:0;color:#ffffffc7;font-size:.74rem;font-weight:900}.admin-mobile-nav select{min-height:42px;border-color:#ffffff38;background-color:#fffffff2}.admin-nav{display:none}.admin-nav-group{padding-bottom:0;margin-bottom:0}.admin-subnav{position:static;width:100%;min-width:0;margin-top:6px;opacity:1;pointer-events:auto;transform:none;box-shadow:none}.form-card,.confirmation-panel,.contact-grid article{padding:14px;border-radius:10px;box-shadow:none}.contact-form-card{gap:12px;width:100%}.contact-form-card textarea{min-height:150px}.page-title{gap:10px}.page-title>svg{width:44px;height:44px;padding:12px}.site-footer{grid-template-columns:1fr;gap:10px;padding:14px 12px;text-align:left}.site-footer nav{justify-content:flex-start}.site-footer>span{justify-self:start}}
