@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--cg-ink:#123f7a;--cg-blue:#2878b8;--cg-sky:#eaf7ff;--cg-green:#159447;--cg-mint:#eaf8ef;--cg-saffron:#ff8a35;--cg-sun:#fff4dd;--cg-paper:#fffdf7;--cg-white:#fff;--cg-muted:#657a83;--cg-line:#dbe9e3;--cg-shadow:0 18px 48px rgba(28,92,72,.09);--cg-display:'Space Grotesk',system-ui,sans-serif;--cg-body:'Manrope',system-ui,sans-serif}
html{background:#eef8f3!important}body,.auth-page,.dash-page,.practice-page,.analysis-page,.review-page,.progress-page,.report-page,.cp-page,.admin-page,.guardian-page{color:var(--cg-ink)!important;font-family:var(--cg-body)!important;background:linear-gradient(145deg,#f8fcff 0%,#fffdf7 48%,#f0faf3 100%) fixed!important}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 10% 5%,rgba(255,138,53,.1),transparent 23%),radial-gradient(circle at 92% 15%,rgba(40,120,184,.11),transparent 25%),radial-gradient(circle at 70% 92%,rgba(21,148,71,.09),transparent 24%)}
h1,h2,h3,.auth-body h1,.dash-body h1{font-family:var(--cg-display)!important;letter-spacing:-.035em}p,small{color:var(--cg-muted)}a{transition:color .2s,background .2s,border-color .2s,transform .2s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(40,120,184,.28)!important;outline-offset:3px!important}
/* Global white navigation with CricGenz tricolour monogram */
.app-header,.dash-top,.practice-top,.analysis-top,.review-top,.progress-top,.report-top,.cp-top,.admin-top,.guardian-top{border:1px solid rgba(18,63,122,.09)!important;border-top:4px solid transparent!important;border-image:linear-gradient(90deg,var(--cg-saffron) 0 33%,#fff 33% 66%,var(--cg-green) 66%) 1!important;background:rgba(255,255,255,.94)!important;color:var(--cg-ink)!important;box-shadow:0 12px 34px rgba(28,92,72,.08)!important;backdrop-filter:blur(16px)}
.app-header a,.dash-top a,.practice-top a,.analysis-top a,.review-top a,.progress-top a,.report-top a,.cp-top a,.admin-top a,.guardian-top a{color:var(--cg-ink)!important}.app-header small,.dash-top small,.practice-top small,.analysis-top small,.review-top small,.progress-top small,.report-top small,.cp-top small,.admin-top small,.guardian-top small{color:#66807a!important}
.app-header a>span:first-child,.dash-top>div>span,.practice-top a>b,.analysis-top a>b,.review-top a>b,.progress-top a>b,.report-top a>b,.cp-top a>b,.admin-top a>b,.guardian-top a>b,.auth-top>a,.register-logo{position:relative!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,var(--cg-sun),#fff 48%,var(--cg-mint))!important;color:var(--cg-ink)!important;border:1px solid rgba(21,148,71,.18)!important;box-shadow:0 7px 20px rgba(21,148,71,.12)!important}
/* Cards, panels and content surfaces */
.auth-shell,.dash-shell,.practice-shell,.analysis-wrap,.review-wrap,.progress-wrap,.report-wrap,.cp-wrap,.admin-wrap,.guardian-wrap,.cv-app{background:transparent!important}.auth-shell{box-shadow:var(--cg-shadow)!important}.auth-top{background:linear-gradient(100deg,#fff7e8,#f2fbff,#eef9f1)!important;color:var(--cg-ink)!important;border-bottom:1px solid var(--cg-line)!important}.auth-top strong{color:var(--cg-ink)!important}.auth-top small{color:var(--cg-green)!important}.auth-body,.signed-in,.welcome{background:rgba(255,255,255,.94)!important}.admin-card,.permission-box,.dash-card,.practice-card,.analysis-card,.analysis-panel,.review-card,.progress-panel,.report-card,.cp-card,.cp-player-card,.guardian-card,.app-card,.level-card,.curriculum-summary article,.cp-admin-card,.cp-panel{border:1px solid var(--cg-line)!important;border-radius:20px!important;background:rgba(255,255,255,.95)!important;color:var(--cg-ink)!important;box-shadow:var(--cg-shadow)!important}.admin-card:hover,.dash-card:hover,.app-card:hover{transform:translateY(-3px);border-color:rgba(21,148,71,.3)!important;box-shadow:0 22px 55px rgba(28,92,72,.13)!important}
.dash-hero,.practice-hero,.analysis-hero,.progress-hero,.report-hero,.cp-hero,.admin-heading{border:1px solid rgba(40,120,184,.13)!important;background:linear-gradient(135deg,#fff 0%,var(--cg-sky) 58%,var(--cg-sun) 100%)!important;color:var(--cg-ink)!important;box-shadow:var(--cg-shadow)!important}.dash-hero h1,.practice-hero h1,.analysis-hero h1,.progress-hero h1,.report-hero h1,.cp-hero h1,.admin-heading h1{color:var(--cg-ink)!important}.dash-hero p,.practice-hero p,.analysis-hero p,.progress-hero p,.report-hero p,.cp-hero p,.admin-heading p{color:var(--cg-muted)!important}
/* Forms that feel safe for parents and clear for coaches */
label{color:#294f65!important;font-weight:700}input,select,textarea{border:1px solid #cfdfda!important;border-radius:13px!important;background:#fff!important;color:var(--cg-ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important}input:hover,select:hover,textarea:hover{border-color:#9ec7b2!important}input:focus,select:focus,textarea:focus{border-color:var(--cg-blue)!important;box-shadow:0 0 0 4px rgba(40,120,184,.1)!important}button,.auth-body button,.admin-form button{border-radius:13px!important;background:linear-gradient(135deg,var(--cg-green),#20b75c)!important;color:#fff!important;box-shadow:0 10px 24px rgba(21,148,71,.18)!important;font-family:var(--cg-body)!important;font-weight:800!important}button:hover,.auth-body button:hover,.admin-form button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(21,148,71,.25)!important}.secondary,.back-home{color:var(--cg-blue)!important}
/* Friendly state colours */
.auth-kicker,.section-kicker,.role-pill,.source-badge,.cp-review-count{color:var(--cg-green)!important}.success,.admin-alert.success,.review-message.success{border-color:#bce4c9!important;background:#edfaf1!important;color:#17693a!important}.error,.auth-error,.admin-alert.error{border-color:#f2c2b6!important;background:#fff0eb!important;color:#a33d28!important}.notice,.pilot-warning,.unavailable{border-color:#f1d3a2!important;background:#fff8e9!important;color:#795622!important}.status-pill,.network{background:var(--cg-mint)!important;color:#17693a!important}.score-primary,.mission-visual{background:linear-gradient(145deg,#eaf7ff,#effaf2)!important;color:var(--cg-ink)!important}.score-primary strong,.mission-visual strong{color:var(--cg-ink)!important}
/* Tables and tabs */
table{overflow:hidden;border-collapse:separate!important;border-spacing:0!important;border:1px solid var(--cg-line)!important;border-radius:15px!important;background:#fff!important}thead th{background:linear-gradient(90deg,#edf8ff,#eff9f2)!important;color:#315971!important}tbody td{border-color:#e8efec!important;color:#3b5964!important}tbody tr:nth-child(even){background:#fbfdfa!important}tbody tr:hover{background:#f1faf5!important}.cp-admin-tabs,.tabs,.role-tabs{border-color:var(--cg-line)!important;background:#fff!important}.cp-admin-tabs a.active,.tabs a.active,.role-tabs a.active{background:var(--cg-green)!important;color:#fff!important}
/* Mobile navigation remains bright and easy to scan */
.launch-mobile-nav,.app-nav{border-top:1px solid var(--cg-line)!important;border-image:none!important;background:rgba(255,255,255,.97)!important;box-shadow:0 -10px 32px rgba(28,92,72,.11)!important;backdrop-filter:blur(16px)}.launch-mobile-nav a,.app-nav a{color:#6d817a!important}.launch-mobile-nav a.active,.app-nav a.active{color:var(--cg-green)!important}.launch-mobile-nav:before,.app-nav:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--cg-saffron) 0 33%,#fff 33% 66%,var(--cg-green) 66%)}
/* PWA public app */
.cv-app{background:linear-gradient(145deg,#f8fcff,#fffdf7 48%,#effaf3)!important}.hero-art{background:linear-gradient(145deg,#e8f7ff,#fff3dd)!important}.hero-art strong{color:var(--cg-ink)!important}.hero-art em{color:var(--cg-green)!important}.boundary{border-left-color:var(--cg-green)!important;background:#edf9f1!important}.primary{background:linear-gradient(135deg,var(--cg-saffron),#ffb34f)!important;color:#42220b!important}.install{background:var(--cg-blue)!important}.profile>span{background:linear-gradient(145deg,var(--cg-saffron),#ffb34f)!important;color:#3d220c!important}
/* Privacy surface */
.guardian-hero,.guardian-panel{background:linear-gradient(145deg,#fff,#eef8ff 56%,#effaf2)!important;color:var(--cg-ink)!important}.guardian-hero h1,.guardian-panel h2{color:var(--cg-ink)!important}
@media(max-width:760px){body{background:linear-gradient(150deg,#f7fbff,#fffdf7 55%,#f0faf3)!important}.app-header,.dash-top,.practice-top,.analysis-top,.review-top,.progress-top,.report-top,.cp-top,.admin-top,.guardian-top{border-radius:0!important}.admin-card,.permission-box,.dash-card,.practice-card,.analysis-card,.analysis-panel,.review-card,.progress-panel,.report-card,.cp-card,.cp-player-card,.guardian-card,.app-card{border-radius:16px!important;box-shadow:0 10px 28px rgba(28,92,72,.08)!important}.auth-shell{border-radius:0!important}.auth-body{padding-bottom:100px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
