@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&family=Nunito:wght@400;600;700;800&display=swap";
:root{--brand-navy:#0c1929;--brand-dark:#142640;--brand-teal:#1d7d8c;--brand-teal-light:#4ab3c2;--brand-orange:#f07a20;--brand-orange-hover:#e06910;--brand-court-green:#1a4741;--bg-main:#f8fafc;--bg-card:#fff;--bg-card-hover:#fff;--border-card:#e2e8f0;--border-highlight:#f07a2066;--color-primary:var(--brand-teal);--color-primary-glow:#1d7d8c26;--color-accent:var(--brand-orange);--color-accent-glow:#f07a2026;--color-text-main:#0f172a;--color-text-sub:#475569;--color-text-muted:#64748b;--status-ja:#10b981;--status-ja-bg:#10b9811f;--status-nee:#ef4444;--status-nee-bg:#ef44441f;--status-twijfel:#f59e0b;--status-twijfel-bg:#f59e0b1f;--status-onbekend:#94a3b8;--status-onbekend-bg:#94a3b81f;--font-family:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Nunito", "Montserrat", "Inter", sans-serif;--radius-lg:20px;--radius-md:14px;--radius-sm:10px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--color-text-main);-webkit-font-smoothing:antialiased;background-image:linear-gradient(90deg,#1d7d8c0d 1px,#0000 1px),linear-gradient(#1d7d8c0d 1px,#0000 1px),radial-gradient(circle at 10% 10%,#1d7d8c0f 0%,#0000 40%),radial-gradient(circle at 90% 90%,#f07a200d 0%,#0000 40%);background-size:36px 36px,36px 36px,100% 100%,100% 100%;background-attachment:fixed;min-height:100vh;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}h1,h2,h3,.brand-title,.hero-match-title{font-family:var(--font-display)}.glass-panel{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);transition:transform .25s,border-color .25s,box-shadow .25s;box-shadow:0 4px 25px -5px #0f172a0f,0 1px 3px #00000005}.glass-panel:hover{border-color:#1d7d8c59;box-shadow:0 12px 35px -8px #1d7d8c26}.glass-card-hardenberg{border-left:4px solid var(--brand-orange)}.glass-card-home{border-left:4px solid var(--brand-teal)}.app-header{z-index:100;-webkit-backdrop-filter:blur(16px);background:#fffffff2;border-bottom:1px solid #e2e8f0;position:sticky;top:0;box-shadow:0 2px 15px #0f172a0a}.header-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1240px;margin:0 auto;padding:.85rem 1.25rem;display:flex}.logo-group{align-items:center;gap:.85rem;display:flex}.brand-title{letter-spacing:-.02em;color:var(--brand-navy);font-size:1.4rem;font-weight:800}.brand-title-gradient{background:linear-gradient(135deg, var(--brand-teal) 0%, var(--brand-orange) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.brand-subtitle{color:var(--color-text-muted);align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;display:flex}.domain-pill{color:var(--brand-orange);background:#f07a201f;border:1px solid #f07a204d;border-radius:20px;padding:.15rem .55rem;font-size:.72rem;font-weight:700}.user-selector-bar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:40px;align-items:center;gap:.45rem;padding:.35rem .6rem;display:flex}.user-selector-label{color:var(--color-text-sub);margin-right:.2rem;padding-left:.4rem;font-size:.75rem;font-weight:700}.player-btn{color:var(--color-text-sub);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:30px;padding:.38rem .8rem;font-size:.82rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.player-btn:hover{color:var(--brand-teal);background:#1d7d8c1a}.player-btn.active{background:linear-gradient(135deg, var(--brand-orange) 0%, #e06910 100%);color:#fff;border-color:#0000;box-shadow:0 4px 14px #f07a2059}.main-wrapper{max-width:1240px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.hero-banner{background:linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-dark) 60%, var(--brand-teal) 100%);border-radius:var(--radius-lg);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.75rem;display:flex;box-shadow:0 15px 35px -10px #0c19294d}.next-match-info{flex:300px}.hero-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--brand-orange);background:#f07a2033;border:1px solid #f07a2066;border-radius:20px;align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.28rem .75rem;font-size:.75rem;font-weight:800;display:inline-flex}.hero-match-title{color:#fff;margin-bottom:.35rem;font-size:1.65rem;font-weight:900}.hero-match-detail{color:#cbd5e1;flex-wrap:wrap;gap:1.1rem;font-size:.9rem;display:flex}.detail-item{align-items:center;gap:.4rem;display:flex}.countdown-box{gap:.65rem;display:flex}.countdown-unit{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);text-align:center;background:#ffffff1a;border:1px solid #ffffff2e;min-width:68px;padding:.65rem .85rem}.countdown-num{font-family:var(--font-display);color:var(--brand-orange);font-size:1.55rem;font-weight:900}.countdown-lbl{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-size:.65rem;font-weight:700}.tab-navigation{scrollbar-width:none;gap:.55rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.tab-btn{color:var(--color-text-sub);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:30px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.88rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 8px #00000008}.tab-btn:hover{color:var(--brand-teal);border-color:var(--brand-teal);background:#f1f5f9}.tab-btn.active{background:var(--brand-teal);border-color:var(--brand-teal);color:#fff;box-shadow:0 4px 15px #1d7d8c4d}.badge-count{background:#00000014;border-radius:12px;padding:.12rem .5rem;font-size:.72rem}.tab-btn.active .badge-count{color:#fff;background:#fff3}.controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.search-input-wrapper{flex:240px;position:relative}.search-icon{color:var(--brand-teal);position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.search-input{width:100%;color:var(--color-text-main);background:#fff;border:1px solid #e2e8f0;border-radius:30px;outline:none;padding:.6rem 1rem .6rem 2.6rem;font-size:.88rem;transition:border-color .2s;box-shadow:0 2px 8px #00000008}.search-input:focus{border-color:var(--brand-teal)}.filter-pills{flex-wrap:wrap;gap:.45rem;display:flex}.filter-chip{color:var(--color-text-sub);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:.4rem .75rem;font-size:.78rem;font-weight:600;transition:all .2s}.filter-chip.active{color:var(--brand-orange);background:#f07a201f;border-color:#f07a2073}.match-cards-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;display:grid}.match-card{background:#fff;flex-direction:column;justify-content:space-between;padding:1.35rem;display:flex;position:relative;overflow:hidden}.match-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.8rem;display:flex}.match-date-badge{color:var(--color-text-sub);align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;display:flex}.home-away-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:12px;padding:.22rem .6rem;font-size:.72rem;font-weight:800}.pill-thuis{color:var(--brand-teal);background:#1d7d8c1f;border:1px solid #1d7d8c4d}.pill-uit{color:var(--brand-orange);background:#f07a201f;border:1px solid #f07a204d}.match-teams-title{font-family:var(--font-display);color:var(--brand-navy);align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:1.15rem;font-weight:800;display:flex}.team-highlight{color:var(--brand-teal)}.location-info{color:var(--color-text-sub);align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.82rem;display:flex}.location-link{color:var(--brand-teal);text-underline-offset:3px;font-weight:600;text-decoration:underline}.location-link:hover{color:var(--brand-orange)}.player-list-section{border-radius:var(--radius-md);background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:1rem;padding:.85rem}.player-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.4rem 0;display:flex}.player-row:last-child{border-bottom:none}.player-name-label{color:var(--color-text-main);align-items:center;gap:.45rem;font-size:.88rem;font-weight:600;display:flex}.player-name-label.current-user{color:var(--brand-orange);font-weight:800}.status-button-group{gap:.3rem;display:flex}.status-toggle-btn{color:var(--color-text-muted);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;justify-content:center;align-items:center;width:33px;height:33px;font-size:.75rem;font-weight:700;transition:all .18s;display:flex}.status-toggle-btn:hover{color:var(--color-text-main);background:#f1f5f9}.status-toggle-btn.btn-ja.active{background:var(--status-ja);color:#fff;border-color:var(--status-ja);box-shadow:0 0 12px #10b98173}.status-toggle-btn.btn-nee.active{background:var(--status-nee);color:#fff;border-color:var(--status-nee);box-shadow:0 0 12px #ef444473}.status-toggle-btn.btn-twijfel.active{background:var(--status-twijfel);color:#000;border-color:var(--status-twijfel);box-shadow:0 0 12px #f59e0b73}.roster-summary-bar{border-top:1px dashed #cbd5e1;justify-content:space-between;align-items:center;margin-top:.6rem;padding-top:.6rem;display:flex}.roster-count{align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;display:flex}.roster-sufficient{color:#059669}.roster-warning{color:#d97706}.match-card-actions{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.action-btn{color:var(--color-text-sub);border-radius:var(--radius-sm);cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;align-items:center;gap:.4rem;padding:.45rem .8rem;font-size:.78rem;font-weight:700;transition:all .2s;display:flex}.action-btn:hover{color:var(--color-text-main);background:#e2e8f0}.action-btn-whatsapp{color:#16a34a;background:#25d3661f;border-color:#25d36659}.action-btn-whatsapp:hover{color:#15803d;background:#25d36640}.schedule-table-wrapper{border-radius:var(--radius-lg);background:#fff;border:1px solid #e2e8f0;overflow-x:auto;box-shadow:0 4px 20px #00000008}.schedule-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.schedule-table th{color:var(--brand-teal);text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.9rem 1rem;font-size:.78rem;font-weight:800}.schedule-table td{border-bottom:1px solid #f1f5f9;padding:.9rem 1rem}.schedule-table tr:hover td{background:#f8fafc}.schedule-table tr.is-hb td{background:#f07a200d}.schedule-table tr.is-hb:hover td{background:#f07a201a}.halls-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.hall-card{background:#fff;padding:1.35rem}.hall-name{font-family:var(--font-display);color:var(--brand-navy);margin-bottom:.3rem;font-size:1.15rem;font-weight:800}.hall-teams{color:var(--brand-teal);margin-bottom:.8rem;font-size:.8rem;font-weight:700}.hall-address{color:var(--color-text-sub);align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.85rem;display:flex}.extra-details-box{border-radius:var(--radius-md);background:#f8fafc;border:1px solid #e2e8f0;margin-top:.65rem;padding:.85rem;font-size:.82rem}.form-group{flex-direction:column;gap:.3rem;margin-bottom:.6rem;display:flex}.form-group label{color:var(--color-text-muted);font-size:.74rem;font-weight:700}.form-select,.form-input{color:var(--color-text-main);background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:.45rem .65rem;font-size:.82rem}.form-select:focus,.form-input:focus{border-color:var(--brand-orange)}.toast-msg{background:linear-gradient(135deg, var(--brand-orange) 0%, #e06910 100%);color:#fff;z-index:1000;border-radius:30px;padding:.8rem 1.4rem;font-size:.88rem;font-weight:700;animation:.3s slideUp;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 10px 30px #f07a2073}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.header-container{flex-direction:column;align-items:stretch}.user-selector-bar{justify-content:space-between;width:100%;overflow-x:auto}.hero-banner{flex-direction:column;align-items:flex-start}.match-cards-grid{grid-template-columns:1fr}}
