/* Waseef Booking Portal - presentation-only design system */
:root { --waseef-blue:#0067b1; --waseef-magenta:#b1005d; --waseef-gold:#ba8748; --w-blue:var(--waseef-blue); --w-blue-dark:#00518c; --w-blue-deep:#063a5a; --w-blue-soft:#eaf5fc; --w-burgundy:var(--waseef-magenta); --w-gold:var(--waseef-gold); --w-ink:#172b3a; --w-border:#d7e2e9; --w-canvas:#f3f7fa; --w-danger:#b42318; --w-radius:14px; --w-shadow:0 12px 35px rgba(17,55,78,.11); }
@font-face { font-family:"Waseef Neo"; src:url("../fonts/Neo.ttf") format("truetype"); font-display:swap; }
html { min-height:100%; }
body { min-height:100vh; margin:0; color:var(--w-ink); background:radial-gradient(circle at 8% 0%,rgba(0,104,179,.10),transparent 27rem),linear-gradient(180deg,#f8fbfd,var(--w-canvas)); font-family:"Waseef Neo","Segoe UI",Arial,sans-serif!important; font-size:15px; font-weight:400!important; line-height:1.55; -webkit-font-smoothing:antialiased; }
body::before { content:""; display:block; height:4px; background:linear-gradient(90deg,var(--w-blue) 0 76%,var(--w-burgundy) 76% 100%); }
a { color:var(--w-blue); transition:color .2s,background-color .2s,transform .2s; }
a:hover,a:focus { color:var(--w-blue-dark); text-decoration:none; }
.container { width:calc(100% - 32px); max-width:1120px; }
body>.container { padding-top:24px; }

/* Brand and navigation */
.topnav,.navbar.navbar-default,.navbar.navbar-inverse { min-height:72px; margin:0 0 24px; padding:10px 16px; border:0; border-radius:0 0 var(--w-radius) var(--w-radius); background:rgba(255,255,255,.96)!important; box-shadow:0 8px 28px rgba(17,55,78,.09); }
.topnav { padding:12px clamp(18px,4vw,56px); }
.topnav img { width:auto!important; height:58px!important; object-fit:contain; }
.navbar-brand { height:50px; padding:14px 18px; color:var(--w-blue)!important; font-weight:700; }
.navbar-default .navbar-nav>li>a,.navbar-inverse .navbar-nav>li>a { color:#355468; font-weight:600; border-radius:9px; }
.navbar-default .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:hover { color:var(--w-blue); background:var(--w-blue-soft); }
.navbar-toggle { margin-top:8px; border-color:var(--w-border)!important; border-radius:9px; }
.navbar-toggle .icon-bar { background-color:var(--w-blue)!important; }

/* Content surfaces */
.panel.panel-default,.form-signin,.account-wall,#login>form { border:1px solid rgba(215,226,233,.9)!important; border-radius:var(--w-radius)!important; background:rgba(255,255,255,.97)!important; box-shadow:var(--w-shadow)!important; }
.panel.panel-default { overflow:hidden; }
.panel { border-color:var(--w-border); box-shadow:none; }
.panel.panel-default>.panel { margin:0; padding:10px 22px; border:0; border-bottom:1px solid #edf2f5; border-radius:0; }
.panel.panel-default>.panel:last-child { border-bottom:0; }
.panel-heading,.panel.panel-heading,.header-style { padding:18px 22px!important; border:0!important; background:linear-gradient(115deg,var(--w-blue-dark),var(--w-blue))!important; color:#fff!important; }
.panel-heading h4,.panel-title,.header-style { color:#fff!important; font-weight:700!important; }
h1,h2,h3,h4,h5,h6 { font-family:inherit; color:var(--w-ink); }
h1 { font-size:clamp(22px,3vw,32px); font-weight:700; border:0; }
h2 { margin-top:24px; color:var(--w-blue-deep); font-size:clamp(18px,2.4vw,24px); font-weight:700; }

/* Forms */
.form-signin { width:min(100%,480px)!important; max-width:480px!important; margin:28px auto!important; padding:clamp(24px,5vw,42px)!important; }
.form-signin img { max-width:190px; height:auto!important; }
.form-control,input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],select,textarea { min-height:46px; padding:10px 13px!important; border:1px solid var(--w-border)!important; border-radius:9px!important; background:#fff!important; color:var(--w-ink)!important; box-shadow:inset 0 1px 2px rgba(17,55,78,.03)!important; font:inherit!important; transition:border-color .2s,box-shadow .2s; }
.form-control:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="tel"]:focus,input[type="number"]:focus,input[type="date"]:focus,select:focus,textarea:focus { border-color:var(--w-blue)!important; outline:0; box-shadow:0 0 0 3px rgba(0,104,179,.14)!important; }
.form-control::placeholder { color:#8193a0; }
.tooltip { opacity:1!important; }

/* Actions */
.button,.btn-submit,.btn.btn-primary,.BTM1,input[type="submit"].button,input[type="button"].button { min-width:120px; min-height:44px; padding:10px 20px!important; border:1px solid transparent!important; border-radius:9px!important; background:linear-gradient(115deg,var(--w-blue-dark),var(--w-blue))!important; color:#fff!important; font-size:15px!important; font-weight:700!important; line-height:1.4; box-shadow:0 5px 14px rgba(0,104,179,.22)!important; text-shadow:none; transition:transform .2s,box-shadow .2s,background .2s!important; }
.button:hover,.btn-submit:hover,.btn.btn-primary:hover,.BTM1:hover,.button:focus,.btn-submit:focus,.btn.btn-primary:focus,.BTM1:focus { transform:translateY(-1px); background:linear-gradient(115deg,var(--w-blue-deep),var(--w-blue-dark))!important; color:#fff!important; box-shadow:0 8px 18px rgba(0,76,133,.28)!important; }
.button:active,.btn-submit:active,.btn.btn-primary:active,.BTM1:active { transform:translateY(0); }
.button-container,.panel-button-row { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding:18px!important; }

/* Tables and booking grids */
.table-responsive { border:1px solid var(--w-border); border-radius:11px; background:#fff; }
.table,.Tables,.FootballTables { width:100%; margin:0 0 20px!important; border:1px solid var(--w-border)!important; border-collapse:separate!important; border-spacing:0; border-radius:11px; overflow:hidden; background:#fff!important; box-shadow:0 6px 18px rgba(17,55,78,.07)!important; }
.table th,.table td,.Tables th,.Tables td,.FootballTables th,.FootballTables td { padding:13px 14px!important; border:0!important; border-bottom:1px solid #e8eef2!important; color:var(--w-ink)!important; vertical-align:middle!important; }
.table th,.table>tbody>tr:first-child>th,.Tables .TableTr>*,.FootballTables .FootballTableTr>* { background:var(--w-blue-deep)!important; color:#fff!important; font-weight:700!important; }
.table tr:nth-child(even) td,.Tables tr:nth-child(even) td,.FootballTables tr:nth-child(even) td { background:#f6fafc!important; }
.table-hover>tbody>tr:hover>td,.Tables tr:hover td,.FootballTables tr:hover td { background:var(--w-blue-soft)!important; }
.Tables tr:not(.TableTr),.FootballTables tr:not(.FootballTableTr) { background:#fff!important; }
.Tables td:first-child,.FootballTables td:first-child { color:var(--w-blue-dark)!important; font-weight:700; }

/* Calendar, validation and status */
table[id*="Calendar"] { border:0!important; border-radius:11px; overflow:hidden; box-shadow:0 6px 18px rgba(17,55,78,.10); }
table[id*="Calendar"] td { padding:8px!important; border-color:#e8eef2!important; }
table[id*="Calendar"]>tbody>tr:first-child td { background:var(--w-blue)!important; color:#fff!important; }
span[style*="color:Red"],span[style*="color: red"],.field-validation-error { color:var(--w-danger)!important; }
#lblError,[id$="_lblError"],[id$="_lblError2"] { display:inline-block; margin-top:8px; padding:8px 11px; border-radius:8px; background:#fff0ee; }

@media (max-width:767px) {
    body::before { height:3px; }
    .container { width:calc(100% - 20px); padding-left:0; padding-right:0; }
    .topnav { text-align:center; }
    .topnav img { float:none!important; display:block; margin:0 auto 10px; }
    .topnav a { float:none!important; display:inline-block!important; margin:4px!important; }
    .navbar.navbar-default,.navbar.navbar-inverse { min-height:58px; padding:4px 8px; }
    .panel.panel-default>.panel { padding:10px 14px; }
    .form-signin { margin:18px auto!important; padding:24px 18px!important; }
    .column1,.column2,.column3 { float:none!important; width:100%!important; }
    .button,.btn-submit,.btn.btn-primary { width:100%!important; max-width:320px; }
    .table th,.table td,.Tables th,.Tables td,.FootballTables th,.FootballTables td { padding:10px 8px!important; font-size:13px!important; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }

/* Unified application typography */
:root{--w-font-sans:"Segoe UI Variable Text","Segoe UI",Tahoma,Arial,sans-serif;--w-font-display:"Segoe UI Variable Display","Segoe UI",Tahoma,Arial,sans-serif}html,body,form,button,input,select,textarea,table,th,td,label,a,p,span,small,dl,dt,dd{font-family:var(--w-font-sans)!important}h1,h2,h3,h4,h5,h6,.chooser-intro h1,.court-header h1,.panel-heading h4,.landing-hero h1,.landing-section-header h2{font-family:var(--w-font-display)!important}.glyphicon{font-family:"Glyphicons Halflings"!important}