:root{
  --cf-purple:#4f1bb1;--cf-purple-dark:#28105f;--cf-purple-soft:#f1ebff;--cf-red:#e21d48;--cf-orange:#ff9d18;
  --cf-ink:#16132b;--cf-muted:#727084;--cf-line:#e7e4ef;--cf-bg:#f7f6fb;--cf-card:#fff;
  --cf-shadow:0 14px 35px rgba(48,26,95,.08);--cf-gradient:linear-gradient(120deg,#291064 0%,#5b18c5 52%,#e51d4d 100%);
}
*{scrollbar-width:thin;scrollbar-color:#c9b8e8 transparent}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;background:var(--cf-bg)!important;color:var(--cf-ink)!important}
a{transition:.18s ease}
/* shared branding */
.cf-brand{display:flex;align-items:center;gap:10px;color:var(--cf-ink);text-decoration:none;font-weight:900;letter-spacing:-.5px}.cf-brand img{width:52px;height:52px;object-fit:contain}.cf-brand strong{font-size:20px}.cf-brand em{font-style:normal;color:var(--cf-red);margin-left:3px}.cf-brand small{display:block;color:var(--cf-muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:1px}
/* common controls */
.btn-primary,.btn-success,.action-btn.primary-action,.submit-btn{background:linear-gradient(135deg,#6425d0,#4514a2)!important;color:#fff!important;border:0!important}.btn-primary:hover,.btn-success:hover,.action-btn.primary-action:hover,.submit-btn:hover{filter:brightness(1.05);box-shadow:0 10px 22px rgba(79,27,177,.25)!important}
input,select,textarea{border-color:#ddd7e8!important;border-radius:11px!important;background:#fff!important;color:var(--cf-ink)!important}input:focus,select:focus,textarea:focus{border-color:#6a38c6!important;box-shadow:0 0 0 4px rgba(106,56,198,.11)!important}
.card,.dashboard-card,.section-box,.surface,.stat-card{border-color:var(--cf-line)!important;box-shadow:var(--cf-shadow)!important}
/* admin shell */
.sidebar{background:linear-gradient(180deg,#25104e,#16092f)!important}.sidebar-logo{border-color:rgba(255,255,255,.09)!important}.logo-icon{background:#fff url('/images/crickify-logo.png') center/contain no-repeat!important}.sidebar-logo h2{color:#fff!important}.sidebar-logo span{color:#bca9dc!important}.sidebar-nav a.active{background:linear-gradient(135deg,#6d2ed5,#4813a2)!important}.main-area{background:var(--cf-bg)!important}.topbar{background:rgba(255,255,255,.96)!important;border-color:var(--cf-line)!important}.topbar h2{color:var(--cf-ink)!important}.page-content{max-width:1600px!important}
/* scorer shell */
.scorer-header{background:linear-gradient(115deg,#26104f,#4f1bb1 58%,#d51e4a)!important;box-shadow:0 8px 25px rgba(55,21,100,.2)!important}.scorer-logo::before{background:#fff url('/images/crickify-logo.png') center/contain no-repeat!important}.scorer-logo span{color:#fff}.scorer-logo small{color:rgba(255,255,255,.72)!important}.scorer-nav a.active{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.25)!important}.scorer-nav .create-match{color:#42149a!important}.scorer-container{background:var(--cf-bg)!important}.scorer-container .page-title h1{color:var(--cf-ink)!important}.badge-live{color:#b31539!important;background:#ffe9ee!important}.badge-upcoming{color:#5a35a6!important;background:#f0eaff!important}.badge-completed{color:#14734a!important;background:#e7f8ef!important}
/* scorer dashboard overrides */
.dashboard-hero{background:var(--cf-gradient)!important;box-shadow:0 18px 40px rgba(79,27,177,.22)!important}.dashboard-hero::after{opacity:.14!important}.create-match-card{border-color:#e4d8f7!important}.create-match-icon{background:#f1e8ff!important}.btn-green{background:linear-gradient(135deg,#6425d0,#4514a2)!important}.btn-purple{background:linear-gradient(135deg,#7d3fe2,#4f1bb1)!important}
/* forms */
.form-page{max-width:1180px!important}.form-page .top-bar h1{color:var(--cf-ink)!important}.form-page .card{border-color:var(--cf-line)!important;box-shadow:var(--cf-shadow)!important}.section-title{border-color:var(--cf-line)!important}.section-title h2{color:var(--cf-ink)!important}.team-player-box{border-color:var(--cf-line)!important;background:#fbfaff!important}.team-a-title{color:#5d27c7!important}.team-b-title{color:#d3214c!important}.player-check-item.checked{background:#f1eaff!important;color:#4a219d!important}.submit-btn{border-radius:12px!important}
/* public frontend */
.frontend-navbar{background:rgba(255,255,255,.96)!important;color:var(--cf-ink)!important;border-bottom:1px solid var(--cf-line);box-shadow:0 5px 20px rgba(42,20,86,.05)!important}.brand{color:var(--cf-ink)!important}.brand-icon{width:48px;height:48px;background:url('/images/crickify-logo.png') center/contain no-repeat;font-size:0}.hero{background:var(--cf-gradient)!important;box-shadow:0 18px 40px rgba(67,21,129,.2)!important}.hero h1{letter-spacing:-1px}.view-all{color:var(--cf-purple)!important}.tournament-name{color:var(--cf-purple)!important}.match-card{border-color:var(--cf-line)!important}.match-card:hover{box-shadow:0 12px 30px rgba(60,25,120,.1)!important}
/* user shell */
.user-nav{background:rgba(255,255,255,.97)!important;border-color:var(--cf-line)!important;box-shadow:0 4px 18px rgba(42,20,86,.05)!important}.user-brand{color:var(--cf-ink)!important}.user-brand img{width:54px!important;height:54px!important}.user-nav-links a:hover,.user-nav-links a.active{color:var(--cf-purple)!important;background:#f1ebff!important}.register-btn{background:linear-gradient(135deg,#5f20c8,#42139c)!important}.login-btn{color:var(--cf-purple)!important;border-color:#ddd4ee!important}.user-main{background:var(--cf-bg)!important}.user-footer{background:#fff;border-color:var(--cf-line)!important}.match-hero{background:var(--cf-gradient)!important;box-shadow:0 18px 40px rgba(79,27,177,.2)!important}.hero-link:hover{color:var(--cf-purple)!important}.metric{border-color:var(--cf-line)!important}.metric-dot{background:#6d37d1!important}.metric-dot.red{background:#e21d48!important}.metric-dot.blue{background:#3577d4!important}.team-score{color:var(--cf-purple)!important}.versus{background:#f1ebff!important;color:#6945a8!important}.match-tile:hover{border-color:#8a62d3!important}.insight-card{background:linear-gradient(135deg,#291064,#5b18c5)!important}
/* auth */
.login-card,.register-card{border-color:var(--cf-line)!important;box-shadow:var(--cf-shadow)!important}.login-btn,.register-btn{background:linear-gradient(135deg,#6425d0,#4514a2)!important;color:#fff!important}.login-logo{background:#fff url('/images/crickify-logo.png') center/contain no-repeat!important;font-size:0!important}
/* responsive */
@media(max-width:760px){.cf-brand strong{font-size:17px}.cf-brand img{width:46px;height:46px}.user-brand img{width:46px!important;height:46px!important}.user-nav{padding:8px 13px!important}.scorer-header{padding:11px 14px!important}}
/* live score surfaces */
.score-card{border-color:var(--cf-line)!important;box-shadow:var(--cf-shadow)!important}.score-head{background:var(--cf-gradient)!important}.score-back{color:var(--cf-purple)!important}.score-label,.recent-balls-label,.player-role,.card-sub{color:#777187!important}.main-score strong,.player-name,.batsman-name,.card-section h3{color:var(--cf-ink)!important}.crr-pill,.batsman-runs,.stat-table td:first-child{color:var(--cf-purple)!important}.target{border-color:#dfd1f5!important;background:#f4efff!important}.target span{color:#6d5a8c!important}.target strong{color:var(--cf-purple)!important}.player-box{border-color:#e8e1f2!important;background:#fbfaff!important}.player-box.bowler-box{background:#fffaf0!important;border-color:#f0dfbd!important}.player-name .live-dot{background:var(--cf-red)!important}.batsmen{border-color:#e8e1f2!important}.batsman{border-color:#eee9f4!important}.bcard{box-shadow:0 12px 28px rgba(43,20,87,.12)!important}.bcard-total{background:linear-gradient(135deg,#e51d4d,#b90f35)!important}.live-score-page .topbar{background:linear-gradient(115deg,#28105f,#5a17c2)!important;color:#fff!important}.live-score-page .topbar-title,.live-score-page .topbar-back{color:#fff!important}.live-score-page .topbar-badge{background:#ffebf0!important;color:#c71940!important}.live-score-page .app-card{border-color:#e7e1f0!important;box-shadow:var(--cf-shadow)!important}.live-score-page .primary-btn{background:linear-gradient(135deg,#6425d0,#4514a2)!important}.live-score-page .run-circle:hover{background:#f1eaff!important;color:#4f1bb1!important;border-color:#b99be4!important}.live-score-page .section-title{color:var(--cf-ink)!important}

/* =========================================================
   CRICKIFY LIVE - GLOBAL BUTTON FIX
   ========================================================= */

.btn,
button,
a.btn,
input[type="submit"],
input[type="button"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 10px 20px !important;
    border-radius: 12px !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

/* Main purple button */
.btn-primary,
.btn-success,
.btn-purple,
.primary-btn,
.submit-btn,
.action-btn.primary-action,
.login-btn,
.register-btn,
button[type="submit"] {
    color: #fff !important;
    background: linear-gradient(135deg, #6425d0 0%, #4514a2 100%) !important;
    border: 0 !important;
    box-shadow: 0 7px 18px rgba(79, 27, 177, .22) !important;
}

.btn-primary:hover,
.btn-success:hover,
.btn-purple:hover,
.primary-btn:hover,
.submit-btn:hover,
.action-btn.primary-action:hover,
.login-btn:hover,
.register-btn:hover,
button[type="submit"]:hover {
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 25px rgba(79, 27, 177, .30) !important;
}

/* Secondary / outline button */
.btn-outline,
.btn-secondary,
.btn-light,
.outline-btn,
.login-outline,
.view-btn {
    color: #4f1bb1 !important;
    background: #fff !important;
    border: 1px solid #d9cfea !important;
}

.btn-outline:hover,
.btn-secondary:hover,
.btn-light:hover,
.outline-btn:hover,
.login-outline:hover,
.view-btn:hover {
    color: #4f1bb1 !important;
    background: #f1ebff !important;
    border-color: #a98bd8 !important;
}

/* Red / Live button */
.btn-danger,
.live-btn {
    color: #fff !important;
    background: linear-gradient(135deg, #e21d48, #b90f35) !important;
    border: 0 !important;
}

/* Orange button */
.btn-warning,
.btn-orange {
    color: #fff !important;
    background: linear-gradient(135deg, #ffad27, #ed7b00) !important;
    border: 0 !important;
}

/* =========================================================
   PUBLIC NAVBAR
   ========================================================= */

.frontend-navbar,
.user-nav {
    min-height: 76px !important;
}

.frontend-navbar .btn,
.user-nav .btn,
.frontend-navbar a[class*="btn"],
.user-nav a[class*="btn"] {
    white-space: nowrap !important;
}

/* Sign In */
.frontend-navbar .login-btn,
.user-nav .login-btn {
    display: inline-flex !important;
    color: #4f1bb1 !important;
    background: #fff !important;
    border: 1px solid #d8cdea !important;
}

/* Sign Up */
.frontend-navbar .register-btn,
.user-nav .register-btn {
    display: inline-flex !important;
    color: #fff !important;
    background: linear-gradient(135deg, #6425d0, #4514a2) !important;
    border: 0 !important;
    box-shadow: 0 7px 18px rgba(79, 27, 177, .20) !important;
}

/* =========================================================
   HERO BUTTONS
   ========================================================= */

.hero .btn,
.hero a,
.hero button,
.match-hero .btn,
.match-hero a {
    text-decoration: none !important;
}

.hero .btn-primary,
.hero .primary-btn,
.match-hero .btn-primary {
    color: #fff !important;
    background: linear-gradient(135deg, #6425d0, #4514a2) !important;
}

.hero .btn-outline,
.hero .secondary-btn,
.match-hero .btn-outline {
    color: #fff !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.65) !important;
}

.hero .btn-outline:hover,
.hero .secondary-btn:hover,
.match-hero .btn-outline:hover {
    background: rgba(255,255,255,.12) !important;
    border-color: #fff !important;
}

/* =========================================================
   AUTH PAGES
   ========================================================= */

.login-card,
.register-card {
    border-radius: 20px !important;
    background: #fff !important;
}

.login-card button,
.register-card button,
.login-card input[type="submit"],
.register-card input[type="submit"] {
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #6425d0, #4514a2) !important;
    border: 0 !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

.login-card button:hover,
.register-card button:hover,
.login-card input[type="submit"]:hover,
.register-card input[type="submit"]:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px rgba(79,27,177,.25) !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:640px) {

    .btn,
    button,
    a.btn {
        min-height: 44px !important;
        padding: 10px 16px !important;
        font-size: 13px !important;
    }

    .frontend-navbar .login-btn,
    .frontend-navbar .register-btn,
    .user-nav .login-btn,
    .user-nav .register-btn {
        min-height: 40px !important;
        padding: 9px 13px !important;
    }
}