/* RefSheet Light Outdoor Theme
   High-contrast light UI for improved readability in bright environments.
   Printable scoresheet keeps its own print styling. */
:root{
  --rs-bg:#f3f5f7;
  --rs-bg2:#ffffff;
  --rs-panel:#ffffff;
  --rs-panel2:#f8fafc;
  --rs-panel3:#eef2f6;
  --rs-line:#cbd5df;
  --rs-line2:#aebbc8;
  --rs-text:#111827;
  --rs-muted:#4b5d70;
  --rs-red:#d52230;
  --rs-red2:#b71927;
  --rs-blue:#1e5f9e;
  --rs-green:#176b43;
  --rs-amber:#8a5a00;
  --rs-purple:#68469a;
  --rs-shadow:0 8px 24px rgba(15,23,42,.07);
}

html{background:var(--rs-bg)!important}
body{
  color:var(--rs-text)!important;
  background:
    linear-gradient(rgba(28,55,82,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(28,55,82,.028) 1px,transparent 1px),
    #f3f5f7!important;
  background-size:32px 32px,32px 32px,auto!important;
  background-attachment:fixed!important;
  min-height:100vh;
}
body:before{display:none!important}
body>*{position:relative;z-index:1}

a{color:#1f5f96}
a:hover{color:#123f66}
h1,h2,h3,h4,strong,b{color:var(--rs-text)!important}
.muted,small,.meta,.audit,.console-status,.correction-meta{color:var(--rs-muted)!important}
.eyebrow,.action-sheet-kicker{color:var(--rs-red)!important;text-shadow:none!important}

/* App chrome */
header,.top,.operator-bar{
  background:rgba(255,255,255,.97)!important;
  color:var(--rs-text)!important;
  border-color:var(--rs-line)!important;
  box-shadow:0 3px 14px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(12px);
}
.top a,.operator-bar a{color:#223347!important}

.side{
  background:#fff!important;
  color:var(--rs-text)!important;
  border-right:1px solid var(--rs-line)!important;
  box-shadow:4px 0 18px rgba(15,23,42,.035)!important;
}
.side:before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;height:3px;
  background:var(--rs-red);
  box-shadow:none;
}
.side small,.side footer,.nav-section-label{color:#526579!important}
.side nav a{
  color:#334155!important;
  border:1px solid transparent;
  border-radius:7px!important;
  transition:.14s ease;
}
.side nav a:hover{
  color:#111827!important;
  border-color:#d6dee7!important;
  background:#f4f7fa!important;
}
.side nav a.active{
  color:#fff!important;
  background:linear-gradient(180deg,#df2b39,#bd1d2a)!important;
  border-color:#ae1723!important;
  box-shadow:0 5px 14px rgba(183,24,38,.15)!important;
}

/* Brand blocks */
.sidebar-logo,.refsheet-brand-image{
  background:#fff!important;
  border-color:#d6dee7!important;
  box-shadow:0 5px 16px rgba(15,23,42,.07)!important;
}

/* Surfaces */
.panel,.card,.info,.metric,.setup-card,.setup-submit,.summary>div,
.correction-card,.mark-box,.hero:not(.splash),.box,.task-row,
.secondary-entry,.coach-sign-card{
  background:#fff!important;
  border-color:var(--rs-line)!important;
  color:var(--rs-text)!important;
  box-shadow:var(--rs-shadow)!important;
}
.panel,.card,.setup-card,.setup-submit,.info,.summary>div{
  border-radius:9px!important;
}
.panel-head,.head,.setup-sheet-head,.action-sheet-head{
  border-color:var(--rs-line)!important;
}
.panel-head{background:#f8fafc!important}
.panel-head:before,.head:before{
  content:"";
  width:3px;
  align-self:stretch;
  min-height:24px;
  background:var(--rs-red);
  box-shadow:none;
  border-radius:2px;
}
.head:before{display:none}
.main>.head{position:relative;padding-left:16px}
.main>.head:before{
  display:block;position:absolute;left:0;top:2px;bottom:2px;width:3px;
}

/* Status lifecycle */
.lifecycle-grid{
  background:#fff!important;
  border-color:var(--rs-line)!important;
  border-radius:9px;
  overflow:hidden;
  box-shadow:var(--rs-shadow);
}
.lifecycle-grid>div{border-color:var(--rs-line)!important}
.lifecycle-grid>div:after{display:none!important}
.lifecycle-grid strong{color:#111827!important;text-shadow:none!important}

/* Buttons */
.btn,button:not(.setup-sheet-close):not(.action-sheet-close):not(.foul-pop-head button){
  border-radius:6px!important;
  transition:.12s ease;
}
.btn{
  background:linear-gradient(180deg,#e13240,#c41f2d)!important;
  color:#fff!important;
  border:1px solid #b71826!important;
  box-shadow:0 4px 12px rgba(183,24,38,.15)!important;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(183,24,38,.20)!important}
.btn.alt,.entry-button,.small-action,.center-action,.quick-action,
.secondary-entry button,.correction-actions button{
  background:#fff!important;
  color:#26384a!important;
  border:1px solid #b8c4d0!important;
  box-shadow:none!important;
}
.btn.alt:hover,.entry-button:hover,.small-action:hover,.center-action:hover,
.quick-action:hover,.secondary-entry button:hover{
  background:#eef3f7!important;
  border-color:#8ea0b2!important;
  color:#111827!important;
}
.center-action.primary,.quick-action.primary,.next-period-btn{
  background:linear-gradient(180deg,#df2b39,#bd1d2a)!important;
  color:#fff!important;
  border-color:#aa1824!important;
}
.center-action.danger,.quick-action.danger{
  color:#8f1f2b!important;border-color:#d8a8ae!important;background:#fff2f3!important;
}
.special-action,.quick-action.technical{
  color:#6f4a00!important;background:#fff8e7!important;border-color:#e5c982!important;
}

/* Tables */
table,.data,.final-table{color:var(--rs-text)!important}
th{
  background:#eef2f6!important;
  color:#435569!important;
  border-color:var(--rs-line)!important;
  text-transform:uppercase;
  letter-spacing:.035em;
}
td{border-color:#dde4eb!important}
tbody tr:hover{background:#f7f9fb!important}
.scroll,.table-wrap{scrollbar-color:#aebbc8 #edf1f4}

/* Inputs */
.field input,.field textarea,.field select,
.correction-form input,.correction-form textarea,.correction-form select,
.option-form select,.team-tools select,
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
select,textarea{
  background:#fff!important;
  color:#111827!important;
  border-color:#aebbc8!important;
  border-radius:6px!important;
  outline:none;
}
input::placeholder,textarea::placeholder{color:#718196!important}
input:focus,select:focus,textarea:focus{
  border-color:#2f6fa7!important;
  box-shadow:0 0 0 3px rgba(47,111,167,.12)!important;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--rs-red)}
option{background:#fff;color:#111827}

/* Pills */
.pill,.tag,.state-pill,.ink-badge,.status{
  border:1px solid #c5d0da!important;
  background:#eef3f7!important;
  color:#38516a!important;
  border-radius:999px!important;
}
.pill.green,.tag.ok,.status.ok,.state-pill.final{
  background:#e8f6ee!important;border-color:#9ed0b3!important;color:#176b43!important;
}
.pill.orange,.status.warn,.state-pill.live{
  background:#fff5df!important;border-color:#e6c478!important;color:#815600!important;
}
.state-pill.ready,.state-pill.prepared{
  background:#eaf3fb!important;border-color:#a8c7e3!important;color:#245f93!important;
}
.state-pill.sealed{
  background:#f1ebfb!important;border-color:#c9b8e4!important;color:#68469a!important;
}
.state-pill.pending{background:#eef1f4!important;color:#536578!important}

/* Notices */
.warning,.notice,.flash,.error{border-radius:7px!important;box-shadow:none!important}
.warning{background:#fff7e7!important;border-color:#e6ca8b!important;color:#704b00!important}
.notice,.flash.success{background:#edf8f1!important;border-color:#a9d2b8!important;color:#235c3d!important}
.flash,.error{background:#fff1f2!important;border-color:#e1afb5!important;color:#8c2530!important}

/* Dialogs */
.setup-sheet,.action-sheet,.foul-popover{
  background:rgba(31,41,55,.42)!important;
  backdrop-filter:blur(6px);
}
.setup-sheet-card,.action-sheet-card,.foul-pop-card{
  background:#fff!important;
  border-color:#bdc8d3!important;
  color:var(--rs-text)!important;
  border-radius:11px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.20)!important;
}
.setup-sheet-head,.action-sheet-head{background:#f8fafc!important}
.setup-sheet-close,.action-sheet-close,.foul-pop-head button{
  background:#eef2f6!important;color:#334155!important;border:1px solid #c7d1db!important;
}
.setup-card,.task-row,.secondary-entry{
  background:#fff!important;border-color:var(--rs-line)!important;
}
.setup-card:after{background:var(--rs-red)!important;box-shadow:none!important}
.setup-badge{background:#eef3f7!important;color:#455b70!important;border:1px solid #c9d3dc!important}

/* Login */
.login-main,.main{background:transparent!important}
.splash,.hero{
  background:#fff!important;
  color:#111827!important;
  border-right:1px solid var(--rs-line)!important;
}
.splash h1,.hero h1{color:#111827!important}
.splash p,.hero p,.splash small,.hero small{color:#536579!important}
.login-card,.auth .card{
  background:#fff!important;
  border-color:var(--rs-line)!important;
  box-shadow:var(--rs-shadow)!important;
}
.mark{background:#f7f9fb!important;border-color:#cbd5df!important;color:var(--rs-red)!important;box-shadow:none!important}
.product{border-color:var(--rs-line)!important}

/* Scoring console */
.tri-console{
  background:#f6f8fa!important;
  border-color:#c6d1db!important;
  box-shadow:var(--rs-shadow)!important;
}
.roster-column{background:#fff!important;border-color:#c7d1db!important}
.roster-head{background:#eef3f7!important;border-color:#c7d1db!important}
.team-status-strip{background:#f6f8fa!important;border-color:#d1d9e1!important;color:#4f6073!important}
.tf-box{background:#f1f4f7!important;border-color:#b7c3cf!important;color:#43576c!important}
.tf-box.used{background:#cf2230!important;border-color:#b71927!important;color:#fff!important}
.roster-player{
  background:#fff!important;border-color:#cbd5df!important;color:#182433!important;border-radius:6px!important;
}
.roster-player:hover{background:#f4f7fa!important;border-color:#94a6b8!important}
.roster-player.selected{background:#fff0f2!important;border-color:#d94b57!important;box-shadow:0 0 0 2px rgba(217,75,87,.08)!important}
.rp-main span,.rp-main b{color:#111827!important}
.rp-main em,.rp-status{color:#536579!important}
.rp-fouls i{background:#eef2f6!important;color:#465a70!important;border-color:#bdc9d4!important}
.rp-fouls i.used{background:#c7202d!important;color:#fff!important;border-color:#ad1925!important}
.shared-controls{background:#fff!important;border-color:#c6d1dc!important;box-shadow:var(--rs-shadow)!important}
.selected-box{background:#eef3f7!important;color:#31465b!important}
.selected-box.ready{background:#e8f6ee!important;color:#176b43!important}
.period-strip,.recent-action,.advanced-tools{background:#fff!important;border-color:var(--rs-line)!important}
.advanced-tools>summary{color:#24384b!important}
.closeout{background:#fff4f5!important;border-color:#ddb1b6!important;color:#792933!important}

.summary>div,.metric{background:#fff!important}
.summary strong,.metric strong,.summary b{color:#111827!important;text-shadow:none!important}

.player{background:#fff!important;border-color:#cbd5df!important;color:#1f2937!important}
.player.court{background:#edf8f1!important;border-color:#a6cfb6!important}
.jersey{background:#24374b!important;border:1px solid #24374b!important;color:#fff!important}
.inline-note{background:#fff7e7!important;border-color:#e6ca8b!important;color:#704b00!important}
.roster-choice .player:has(input:checked){background:#fff1f2!important;border-color:#d64a56!important}

.pad,.sig{background:#fff!important;border-color:#8fa0b1!important}
.final-table th{background:#eef2f6!important}
.card.signed{background:#edf8f1!important;border-color:#9ecbae!important}

.hash{background:#eef4f8!important;border-color:#c1ccd7!important;color:#245f93!important}
.correction-grid b,.meta b{color:#4c5e71!important}
.decision.approved{color:#176b43!important}
.decision.rejected{color:#922b35!important}
.decision.pending{color:#8b641d!important}
.event{border-color:#d7e0e8!important}
.event.voided{opacity:.58}
.pair{border-color:#cbd5df!important;background:#fff!important}

/* PWA standalone / safe area */
:root{
  --rs-safe-top:env(safe-area-inset-top,0px);
  --rs-safe-right:env(safe-area-inset-right,0px);
  --rs-safe-bottom:env(safe-area-inset-bottom,0px);
  --rs-safe-left:env(safe-area-inset-left,0px);
}
@supports (height:100dvh){html,body,.shell{min-height:100dvh}}
a,button,.btn,input,select,textarea{-webkit-tap-highlight-color:rgba(213,34,48,.14)}
button,.btn,a{touch-action:manipulation}
@media (display-mode:standalone){
  html,body{min-height:100dvh;overscroll-behavior-y:none}
  .shell{min-height:100dvh}
  header,.top{
    padding-top:calc(16px + var(--rs-safe-top))!important;
    padding-left:max(16px,var(--rs-safe-left))!important;
    padding-right:max(16px,var(--rs-safe-right))!important;
  }
  .operator-bar{
    top:0;
    padding-top:calc(9px + var(--rs-safe-top))!important;
    padding-left:max(18px,var(--rs-safe-left))!important;
    padding-right:max(18px,var(--rs-safe-right))!important;
  }
  .side{
    padding-top:calc(22px + var(--rs-safe-top))!important;
    padding-bottom:calc(22px + var(--rs-safe-bottom))!important;
  }
  .main{padding-bottom:calc(75px + var(--rs-safe-bottom))!important}
  .login-main{padding-bottom:max(20px,var(--rs-safe-bottom))!important}
  .setup-sheet,.action-sheet,.foul-popover{
    padding-top:max(18px,var(--rs-safe-top))!important;
    padding-right:max(18px,var(--rs-safe-right))!important;
    padding-bottom:max(18px,var(--rs-safe-bottom))!important;
    padding-left:max(18px,var(--rs-safe-left))!important;
  }
}
@media (display-mode:standalone) and (max-width:780px){
  header,.top,.operator-bar{border-radius:0!important}
}
@media(max-width:900px){body{background-size:24px 24px,24px 24px,auto!important}}
@media(max-width:780px){
  .side{border-right:0!important;border-bottom:1px solid var(--rs-line)!important}
}

/* Correct full logo presentation */
.sidebar-logo{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:calc(100% - 12px)!important;min-height:84px!important;height:auto!important;
  margin:0 6px 20px!important;padding:10px 12px!important;background:#fff!important;
  border:1px solid #d6dee7!important;border-radius:12px!important;
  box-shadow:0 5px 16px rgba(15,23,42,.07)!important;overflow:hidden!important;
}
.sidebar-logo img{display:block!important;width:100%!important;height:auto!important;max-height:68px!important;object-fit:contain!important}
.refsheet-brand-image{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:min(320px,72vw)!important;min-height:64px!important;height:auto!important;padding:8px 12px!important;
  background:#fff!important;border:1px solid #d6dee7!important;border-radius:10px!important;
  box-shadow:0 5px 16px rgba(15,23,42,.07)!important;overflow:hidden!important;
}
.refsheet-brand-image img{display:block!important;width:100%!important;height:auto!important;max-height:52px!important;object-fit:contain!important}
.operator-bar .refsheet-brand-image{width:220px!important;min-height:48px!important;flex:0 0 220px!important;padding:6px 10px!important}
.operator-bar .refsheet-brand-image img{max-height:36px!important}
@media(max-width:780px){
  .sidebar-logo{width:min(300px,100%)!important;min-height:74px!important;margin:0 0 12px!important}
  .sidebar-logo img{max-height:58px!important}
  .refsheet-brand-image{width:min(280px,76vw)!important;min-height:56px!important}
  .refsheet-brand-image img{max-height:44px!important}
  .operator-bar .refsheet-brand-image{width:180px!important;min-height:42px!important;flex-basis:180px!important}
  .operator-bar .refsheet-brand-image img{max-height:31px!important}
}

/* RefSheet UI polish v4 */
:root{
  --rs-radius:14px;
  --rs-radius-sm:10px;
  --rs-control:42px;
  --rs-shadow-soft:0 8px 28px rgba(15,23,42,.06);
  --rs-shadow-hover:0 10px 26px rgba(15,23,42,.10);
}

/* Cleaner page rhythm */
.main,main{max-width:1280px}
.main{padding-top:26px!important}
.panel,.card,.info,.metric,.setup-card,.setup-submit,.summary>div,
.correction-card,.task-row,.secondary-entry,.coach-sign-card{
  border-radius:var(--rs-radius)!important;
  box-shadow:var(--rs-shadow-soft)!important;
}
.panel{overflow:hidden}
.panel-head,.head{
  gap:16px!important;
}
.panel-head{
  min-height:58px;
  padding:15px 18px!important;
}
.panel-body,.body{padding:18px!important}
.head h1{font-weight:850!important;letter-spacing:-.035em!important}
.eyebrow{font-size:9px!important;letter-spacing:.16em!important}

/* Modern controls: flat, compact, consistent */
.btn,.entry-button,.small-action,.center-action,.quick-action,
.secondary-entry button,.correction-actions button,.setup-open,.sheet-open{
  min-height:var(--rs-control)!important;
  padding:0 15px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:760!important;
  letter-spacing:0!important;
  line-height:1!important;
  gap:7px!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.btn{
  background:#d52230!important;
  border:1px solid #d52230!important;
  color:#fff!important;
}
.btn:hover{
  background:#bb1d29!important;
  border-color:#bb1d29!important;
  transform:none!important;
  box-shadow:0 6px 16px rgba(213,34,48,.16)!important;
}
.btn.alt,.entry-button,.small-action,.center-action,.quick-action,
.secondary-entry button,.correction-actions button{
  background:#fff!important;
  border:1px solid #d1d9e2!important;
  color:#243447!important;
}
.btn.alt:hover,.entry-button:hover,.small-action:hover,.center-action:hover,
.quick-action:hover,.secondary-entry button:hover,.correction-actions button:hover{
  background:#f6f8fa!important;
  border-color:#aebbc8!important;
}
.btn.ghost{background:transparent!important;border-color:transparent!important;color:#405267!important}
.btn.ghost:hover{background:#eef2f6!important}
.btn.danger{background:#fff!important;border-color:#e4b7bd!important;color:#a12635!important}
.btn.danger:hover{background:#fff2f3!important;border-color:#d99ca5!important}
.row-actions,.actions{gap:8px!important}
.row-actions .btn{min-height:36px!important;padding:0 12px!important;font-size:11px!important}

/* Top account area */
.top,.operator-bar,header{
  min-height:72px;
}
.rs-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
}
.rs-topbar-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.rs-topbar-title{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.rs-topbar-title strong{
  font-size:14px!important;
  font-weight:850!important;
  white-space:nowrap;
}
.rs-topbar-title span{
  font-size:10px;
  color:#738296;
  white-space:nowrap;
}
.rs-account{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.rs-hello{
  display:flex;
  align-items:center;
  gap:9px;
  padding:6px 8px 6px 12px;
  min-height:40px;
  background:#f5f7f9;
  border:1px solid #dde3e9;
  border-radius:999px;
  color:#38495d;
  font-size:12px;
  white-space:nowrap;
}
.rs-hello strong{font-size:12px!important}
.rs-avatar{
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:#172232;color:#fff;
  font-size:11px;font-weight:850;
}
.rs-account form{margin:0}
.rs-logout{
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:9px!important;
  background:#fff!important;
  border:1px solid #d7dee6!important;
  color:#435367!important;
  font-size:11px!important;
  font-weight:750!important;
}
.rs-logout:hover{background:#f6f8fa!important;border-color:#b9c4cf!important}

/* Sidebar */
.side{padding:22px 14px!important}
.side nav{margin-top:12px!important}
.side nav a{
  min-height:44px;
  padding:0 12px!important;
  margin:3px 0!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:700;
}
.nav-section-label{
  margin:18px 12px 6px!important;
  font-size:8px!important;
  letter-spacing:.15em!important;
}
.side footer{font-size:9px!important;line-height:1.65!important;opacity:.72}
.sidebar-logo{margin-bottom:12px!important;min-height:70px!important}

/* Tables */
.data th,.data td,table th,table td{padding:13px 14px!important}
th{font-size:10px!important}
tbody tr{transition:background .12s ease}
tbody tr:hover{background:#f8fafb!important}
.state-pill,.pill,.tag,.status{
  padding:4px 9px!important;
  font-size:10px!important;
  font-weight:780!important;
}

/* Setup cards */
.setup-grid{gap:14px!important}
.setup-card{
  padding:18px!important;
  border:1px solid #dfe5eb!important;
  min-height:126px;
}
.setup-card h3{font-size:14px!important;margin:0 0 7px!important}
.setup-card p{font-size:11px!important;line-height:1.65!important;margin:0 0 10px!important;color:#607084!important}
.setup-card:after{width:3px!important}
.setup-submit{
  padding:16px 18px!important;
  align-items:center!important;
}

/* Forms */
.field label{font-size:11px!important;color:#3c4b5d!important}
.field input,.field select,.field textarea,
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
select,textarea{
  min-height:42px!important;
  border-radius:9px!important;
  padding:9px 11px!important;
}

/* Reduce visual noise from non-essential helper copy */
.rs-compact-note{
  font-size:10px!important;
  color:#738296!important;
  margin:6px 0!important;
  line-height:1.55!important;
}
.rs-hidden-explain{display:none!important}

/* Login */
.login-card,.auth .card,.box .card{border-radius:16px!important}
.login-card,.box .card{padding:22px!important}
.login-card .btn,.box .btn{border-radius:10px!important}
.hero{border-right:1px solid #dfe5eb!important}
.hero h1{font-size:42px!important}
.hero p{max-width:430px!important}

/* Responsive */
@media(max-width:900px){
  .top,.operator-bar,header{min-height:64px}
  .rs-topbar{align-items:flex-start}
  .rs-account{gap:7px}
}
@media(max-width:780px){
  .main{padding:20px 14px 70px!important}
  .rs-topbar{flex-wrap:wrap}
  .rs-topbar-left{width:auto}
  .rs-account{width:auto;margin-left:auto}
  .rs-hello{padding-left:10px}
  .rs-hello .rs-account-label{display:none}
  .top,.operator-bar,header{padding-left:14px!important;padding-right:14px!important}
  .row-actions .btn{min-height:38px!important}
}
