:root{--bg-dark: #070d18;--bg-card: #0f1c32;--bg-card-hover: #162644;--bg-input: #15243e;--border-color: #1e3458;--border-highlight: #2c4c80;--primary-navy: #0b1e36;--primary-gold: #f5a623;--primary-gold-hover: #e09415;--gold-glow: rgba(245, 166, 35, .25);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--status-submitted: #3b82f6;--status-review: #f59e0b;--status-action: #ec4899;--status-resolved: #10b981;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--shadow-main: 0 10px 30px -5px rgba(0, 0, 0, .5);--shadow-gold: 0 8px 25px rgba(245, 166, 35, .3);--font-main: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-dark);color:var(--text-main);line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1)}input,select,textarea{font-family:inherit;color:var(--text-main);background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.95rem;width:100%;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 0 3px var(--gold-glow)}.app-header{background:#0b1e36d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:50;padding:.75rem 1.5rem}.header-container{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand-badge{background:linear-gradient(135deg,var(--primary-gold),#d97706);color:#000;font-family:var(--font-display);font-weight:900;font-size:1rem;padding:.35rem .65rem;border-radius:var(--radius-sm);letter-spacing:.5px;box-shadow:var(--shadow-gold)}.brand-title{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-main);letter-spacing:-.02em}.brand-subtitle{font-size:.75rem;color:var(--primary-gold);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.staff-login-btn{background:#ffffff0f;color:var(--text-muted);border:1px solid var(--border-color);padding:.45rem .9rem;border-radius:var(--radius-full);font-size:.825rem;font-weight:500;display:flex;align-items:center;gap:.4rem}.staff-login-btn:hover{background:#f5a62326;color:var(--primary-gold);border-color:var(--primary-gold)}.pwa-banner{background:linear-gradient(90deg,#1e3a8a,#0b1e36);border-bottom:1px solid var(--border-highlight);padding:.65rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem}.pwa-banner-content{display:flex;align-items:center;gap:.75rem}.pwa-banner-btn{background:var(--primary-gold);color:#000;font-weight:700;padding:.4rem .85rem;border-radius:var(--radius-sm);font-size:.8rem;white-space:nowrap}.hero-section{padding:3.5rem 1.5rem;text-align:center;background:radial-gradient(circle at top center,#f5a6231f,#070d1800 70%);border-bottom:1px solid rgba(255,255,255,.05)}.hero-pill{display:inline-flex;align-items:center;gap:.5rem;background:#f5a6231a;border:1px solid rgba(245,166,35,.3);color:var(--primary-gold);padding:.35rem 1rem;border-radius:var(--radius-full);font-size:.825rem;font-weight:600;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.05em}.hero-title{font-family:var(--font-display);font-size:2.75rem;font-weight:800;line-height:1.25;color:#fff;max-width:850px;margin:0 auto 1.5rem}.hero-title .gold-accent{background:linear-gradient(135deg,#f5a623,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle-line{display:block;font-size:1.45rem;font-weight:600;color:#cbd5e1;margin-top:.4rem;letter-spacing:-.01em}.hero-desc{font-size:1.1rem;color:var(--text-muted);max-width:620px;margin:0 auto 2.25rem}.cta-ref-button{background:linear-gradient(135deg,var(--primary-gold) 0%,#d97706 100%);color:#0f172a;font-family:var(--font-display);font-size:1.2rem;font-weight:800;padding:1.1rem 2.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-gold);display:inline-flex;align-items:center;gap:.75rem;letter-spacing:-.01em}.cta-ref-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #f5a62373}.cta-ref-button:active{transform:translateY(0)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:1100px;margin:3rem auto;padding:0 1.5rem}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);padding:1.5rem;border-radius:var(--radius-md);transition:border-color .2s}.feature-card:hover{border-color:var(--border-highlight)}.feature-icon{width:44px;height:44px;background:#f5a6231a;color:var(--primary-gold);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.feature-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin-bottom:.5rem}.feature-desc{font-size:.9rem;color:var(--text-muted)}.dashboard-container{max-width:1280px;margin:2rem auto;padding:0 1.5rem 4rem}.dashboard-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;background:var(--bg-card);padding:1.25rem 1.5rem;border-radius:var(--radius-md);border:1px solid var(--border-color)}.user-badge{display:flex;align-items:center;gap:.75rem}.role-pill{padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.role-pill.admin,.role-pill.administrator{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.role-pill.assignor{background:#f5a62326;color:var(--primary-gold);border:1px solid rgba(245,166,35,.3)}.role-pill.observer{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#030712d1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:var(--shadow-main);position:relative}.modal-content.wide{max-width:800px}.modal-close{position:absolute;top:1.25rem;right:1.25rem;background:#ffffff14;color:var(--text-muted);width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#fff3;color:#fff}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.775rem;font-weight:600}.table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card)}.cmi-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.cmi-table th{background:#0b1e36e6;padding:1rem;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border-color);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.cmi-table td{padding:1rem;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.cmi-table tr:hover td{background:var(--bg-card-hover)}@media (max-width: 640px){.hero-title{font-size:2rem}.cta-ref-button{width:100%;justify-content:center;font-size:1.05rem}.modal-content{padding:1.25rem}}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.calendar-full-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-main);overflow:hidden;margin-bottom:2rem}.calendar-header-bar{background:#0b1e36f2;border-bottom:1px solid var(--border-color);padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.calendar-title-group{display:flex;align-items:center;gap:.75rem}.calendar-current-month{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.02em}.est-badge{background:#f5a62326;color:var(--primary-gold);border:1px solid rgba(245,166,35,.3);font-size:.725rem;font-weight:700;padding:.2rem .5rem;border-radius:var(--radius-full);text-transform:uppercase}.calendar-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.calendar-today-btn{background:#ffffff14;color:#fff;border:1px solid var(--border-color);padding:.45rem .85rem;border-radius:var(--radius-sm);font-size:.825rem;font-weight:700;transition:all .2s}.calendar-today-btn:hover{background:var(--primary-gold);color:#000;border-color:var(--primary-gold)}.calendar-month-select{width:auto;padding:.45rem .75rem;font-size:.825rem;font-weight:600;background:var(--bg-input)}.month-nav-group{display:flex;gap:.25rem}.icon-nav-btn{background:#ffffff0f;color:var(--text-main);border:1px solid var(--border-color);padding:.45rem .6rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.icon-nav-btn:hover{background:var(--bg-card-hover);color:var(--primary-gold);border-color:var(--border-highlight)}.calendar-body-layout{display:flex;min-height:650px;position:relative}.calendar-grid-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}.calendar-dow-row{display:grid;grid-template-columns:repeat(7,1fr);background:#070d18cc;border-bottom:1px solid var(--border-color)}.dow-cell{padding:.65rem;text-align:center;font-size:.75rem;font-weight:800;color:var(--text-muted);letter-spacing:.05em}.dow-cell.weekend{color:var(--primary-gold)}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(110px,1fr);gap:1px;background:var(--border-color);flex:1}.calendar-day-square{background:var(--bg-card);padding:.45rem;display:flex;flex-direction:column;position:relative;cursor:pointer;transition:all .15s ease-in-out;-webkit-user-select:none;user-select:none;min-height:110px}.calendar-day-square:hover{background:var(--bg-card-hover);z-index:2}.calendar-day-square.other-month{background:#070d1880;opacity:.45}.calendar-day-square.is-today{box-shadow:inset 0 0 0 2px var(--primary-gold),0 0 15px #f5a62340;background:#f5a62314}.calendar-day-square.is-selected{box-shadow:inset 0 0 0 2px #60a5fa;background:#3b82f614}.day-square-pills{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.4rem}.game-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .55rem;border-radius:var(--radius-full);font-size:.725rem;font-weight:700;line-height:1.2;white-space:nowrap;width:fit-content;max-width:100%;box-shadow:0 2px 5px #0003}.game-pill.womens-pill{background:#ec48992e;border:1px solid rgba(236,72,153,.4);color:#f472b6}.game-pill.mens-pill{background:#3b82f62e;border:1px solid rgba(59,130,246,.4);color:#60a5fa}.cmi-red-badge{color:#ef4444;font-weight:800;padding-left:.15rem}.modal-content.day-detail-modal{position:relative;padding-top:2.5rem}.modal-close-top-left{position:absolute;top:1.25rem;left:1.25rem;background:#ffffff14;color:var(--text-muted);width:34px;height:34px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);cursor:pointer;z-index:10;transition:all .2s cubic-bezier(.4,0,.2,1)}.modal-close-top-left:hover{background:#ef444433;color:#ef4444;border-color:#ef4444;transform:scale(1.05)}.day-square-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.day-number{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--text-main)}.is-today .day-number{color:var(--primary-gold)}.today-pill{background:var(--primary-gold);color:#000;font-size:.625rem;font-weight:900;padding:.1rem .35rem;border-radius:4px;letter-spacing:.03em}.game-count-badge{background:#ffffff1f;color:var(--text-muted);font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:var(--radius-full)}.calendar-day-square.has-games .game-count-badge{background:#60a5fa33;color:#60a5fa}.day-square-games{display:flex;flex-direction:column;gap:.25rem;flex:1;overflow:hidden}.game-micro-card{display:flex;align-items:center;gap:.3rem;padding:.2rem .35rem;border-radius:4px;font-size:.725rem;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.2}.game-micro-card.mens-card{background:#3b82f62e;color:#93c5fd;border-left:3px solid #3b82f6}.game-micro-card.womens-card{background:#ec48992e;color:#fbcfe8;border-left:3px solid #ec4899}.gender-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.mens-card .gender-dot{background-color:#60a5fa}.womens-card .gender-dot{background-color:#f472b6}.micro-teams{overflow:hidden;text-overflow:ellipsis;flex:1}.conf-dot{width:4px;height:4px;border-radius:50%;background-color:var(--primary-gold);flex-shrink:0}.more-games-pill{font-size:.675rem;font-weight:700;color:var(--text-muted);text-align:center;padding-top:.1rem}.calendar-sidebar-drawer{width:360px;background:#0b172a;border-left:1px solid var(--border-color);display:flex;flex-direction:column;animation:fadeIn .2s ease-out;box-shadow:-5px 0 25px #0000004d;z-index:10}.sidebar-header{padding:1.15rem;background:#070d18e6;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start}.sidebar-subtitle{font-size:.725rem;text-transform:uppercase;letter-spacing:.05em;color:var(--primary-gold);font-weight:700}.sidebar-date-title{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:#fff;margin-top:.15rem;line-height:1.25}.sidebar-today-tag{display:inline-flex;align-items:center;gap:.25rem;margin-top:.35rem;font-size:.7rem;font-weight:700;color:#10b981;background:#10b98126;padding:.15rem .45rem;border-radius:var(--radius-full)}.sidebar-close-btn{background:transparent;color:var(--text-muted);padding:.3rem;border-radius:var(--radius-sm)}.sidebar-close-btn:hover{color:#fff;background:#ffffff1a}.sidebar-content{padding:1rem;flex:1;overflow-y:auto}.empty-date-state{text-align:center;padding:2.5rem 1rem;color:var(--text-muted)}.empty-date-state h4{font-family:var(--font-display);font-size:1.1rem;color:#fff;margin-bottom:.4rem}.empty-date-state p{font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.view-season-btn{background:#ffffff14;color:var(--primary-gold);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.825rem;font-weight:700}.view-season-btn:hover{background:var(--primary-gold);color:#000;border-color:var(--primary-gold)}.games-count-header{font-size:.775rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.85rem}.sidebar-games-list{display:flex;flex-direction:column;gap:1rem}.sidebar-match-card{background:#ffffff06;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.1rem;transition:all .2s ease}.sidebar-match-card:hover{border-color:#f5a6234d;background:#ffffff0a}.sidebar-match-card.mens-theme{border-left:3px solid rgba(59,130,246,.6)}.sidebar-match-card.womens-theme{border-left:3px solid rgba(236,72,153,.6)}.match-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}.gender-badge{font-size:.725rem;font-weight:800;padding:.2rem .55rem;border-radius:var(--radius-full)}.gender-badge.mens{background:#3b82f626;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.gender-badge.womens{background:#ec489926;color:#f472b6;border:1px solid rgba(236,72,153,.3)}.match-type-pill{font-size:.7rem;font-weight:700}.match-type-pill.conf{color:var(--primary-gold)}.match-type-pill.non-conf{color:var(--text-dim)}.match-card-meta{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-bottom:.75rem}.match-card-time{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:700;color:#fff}.match-card-teams{background:#0000004d;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:.75rem .9rem;margin-bottom:.65rem}.team-row{display:flex;align-items:center;gap:.5rem}.team-role{font-size:.625rem;font-weight:900;padding:.1rem .3rem;border-radius:3px;background:#ffffff14;color:var(--text-muted)}.team-name{font-size:.9rem;font-weight:800;color:#fff}.team-row.away .team-name{color:#fff}.vs-divider{font-size:.65rem;font-weight:900;color:var(--text-dim);text-align:center;margin:.3rem 0;letter-spacing:.1em}.match-card-venue{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.cmi-accordion-wrapper{margin-top:.65rem}.cmi-accordion-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .75rem;background:#f5a6230f;border:1px solid rgba(245,166,35,.2);border-radius:var(--radius-sm);color:var(--primary-gold);font-size:.775rem;font-weight:700;cursor:pointer;transition:all .15s ease}.cmi-accordion-btn:hover{background:#f5a6231f;border-color:#f5a62366}.cmi-accordion-btn.active{background:#f5a6231f;border-color:var(--primary-gold)}.cmi-accordion-label{display:flex;align-items:center;gap:.4rem}.cmi-subtle-icon{opacity:.9}.cmi-none-label{font-size:.75rem;color:var(--text-dim);margin-top:.5rem;padding-left:.2rem}.cmi-accordion-content{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem;animation:fadeIn .2s ease-out}.cmi-detail-subcard{background:#0006;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);padding:.7rem .85rem}.cmi-detail-subcard-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.cmi-detail-type{font-weight:800;font-size:.825rem;color:var(--primary-gold)}.cmi-detail-time{font-size:.75rem;color:var(--text-muted);background:#ffffff0d;padding:.1rem .4rem;border-radius:4px}.cmi-detail-ref{font-size:.75rem;color:var(--text-muted)}.cmi-detail-ref span{color:#fff;font-weight:600}.cmi-detail-desc{font-size:.775rem;color:var(--text-muted);margin:.35rem 0;line-height:1.35}.cmi-detail-link-row{margin-top:.35rem}.cmi-view-detail-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--primary-gold);font-weight:700;text-decoration:none}.cmi-view-detail-link:hover{text-decoration:underline}.cmi-report-link{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;background:#ffffff0a;color:var(--text-main);border:1px solid rgba(255,255,255,.08);padding:.45rem;border-radius:var(--radius-sm);font-size:.775rem;font-weight:700;text-decoration:none;transition:all .15s ease}.cmi-report-link:hover{background:#f5a6231f;border-color:var(--primary-gold);color:var(--primary-gold)}@media (max-width: 900px){.calendar-body-layout{flex-direction:column}.calendar-sidebar-drawer{width:100%;border-left:none;border-top:1px solid var(--border-color)}.calendar-days-grid{grid-auto-rows:minmax(85px,1fr)}.game-micro-card{font-size:.65rem;padding:.15rem .25rem}}@keyframes highlightRowPulse{0%{box-shadow:inset 3px 0 0 var(--primary-gold),0 0 10px #f5a62326}50%{box-shadow:inset 3px 0 0 var(--primary-gold),0 0 25px #f5a62359}to{box-shadow:inset 3px 0 0 var(--primary-gold),0 0 10px #f5a62326}}.highlighted-cmi-row{animation:highlightRowPulse 2.5s ease-in-out 3;border-left:3px solid var(--primary-gold)!important}
