/* Page styles for login — extracted from login.html (was an inline <style>). */
/* This page is standalone (no Bootstrap), so set border-box explicitly —
   otherwise width:100% + padding on .g-btn/.signin overflows the panel. */
*, *::before, *::after { box-sizing: border-box; }
body { min-height: 100vh; display: grid; place-items: center; background: var(--bf-blue); position: relative; overflow: hidden; }
.bg { position: absolute; inset: 0; background: url("../../img/brand/cricket_bg.c6818240cea7.png") center/cover; opacity: .35; filter: saturate(.85); }
.bg-tint { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(15,59,82,.82) 0%, rgba(10,42,60,.96) 78%); }
.tri { position: absolute; width: 0; height: 0; }
.tri.o { top: 0; right: 0; border-top: 30vh solid var(--bf-orange); border-left: 30vh solid transparent; opacity: .9; }
.tri.b { bottom: 0; left: 0; border-bottom: 22vh solid var(--bf-blue-light); border-right: 22vh solid transparent; opacity: .25; }
.panel-wrap { position: relative; z-index: 2; width: min(420px, calc(100vw - 40px)); animation: panelIn .6s var(--ease-overshoot) both .15s; }
@keyframes panelIn { from { opacity: 0; transform: translateY(34px) scale(.97); } to { opacity: 1; transform: none; } }
.lockup { text-align: center; margin-bottom: 26px; }
.lockup img { height: 52px; display: block; margin: 0 auto 12px; }
.lockup .oms { font-family: var(--ff-display); font-style: italic; text-transform: uppercase; color: #fff; font-size: 2.2rem; line-height: 1; }
.lockup .full { font-size: .6rem; font-weight: 700; letter-spacing: .34em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-top: 7px; }
.panel { background: #fff; border: 2px dashed rgba(255,255,255,.0); border-radius: 4px; padding: 30px 30px 26px; box-shadow: 12px 16px 0 rgba(0,0,0,.25); position: relative; }
.panel::before { content: ''; position: absolute; inset: 7px; border: 2px dashed var(--bf-border-strong); border-radius: 2px; pointer-events: none; }
.panel > * { position: relative; }
.corner { position: absolute; top: 0; left: 0; width: 0; height: 0; border-top: 20px solid var(--bf-orange); border-right: 20px solid transparent; }
.panel h1 { font-family: var(--ff-display); font-style: italic; text-transform: uppercase; font-size: 1.3rem; color: var(--bf-blue); margin: 0 0 4px; text-align: center; font-weight: 500; }
.panel .sub { text-align: center; font-size: .78rem; color: var(--bf-muted); margin-bottom: 22px; }
.g-btn { display: flex; align-items: center; justify-content: center; gap: 11px; width: 100%; padding: 13px; border: 1.5px solid var(--bf-border-strong); border-radius: 4px; background: #fff; font-weight: 700; font-size: .8rem; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; color: var(--bf-graphite); text-decoration: none; }
.g-btn:hover { border-color: var(--bf-blue); box-shadow: var(--sh-card); color: var(--bf-graphite); }
.g-btn.disabled { opacity: .55; cursor: not-allowed; }
.g-logo { width: 18px; height: 18px; }
.g-note { text-align: center; font-size: .68rem; color: var(--bf-muted); margin: 8px 0 0; }
.or { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: var(--bf-muted); font-size: .62rem; font-weight: 700; letter-spacing: .12em; }
.or::before, .or::after { content: ''; flex: 1; height: 1px; background: var(--bf-border); }
.dev { margin-bottom: 4px; }
.dev .bf-input, .dev .bf-select { width: 100%; margin-bottom: 10px; box-sizing: border-box; }
.signin { width: 100%; padding: 13px; font-size: .8rem; }
.foot { position: relative; z-index: 2; text-align: center; margin-top: 18px; font-size: .66rem; color: rgba(255,255,255,.5); letter-spacing: .06em; text-transform: uppercase; font-weight: 600; }
