:root{
  --ps-navy:#0b2f66;
  --ps-navy-2:#082654;
  --ps-blue:#1268e8;
  --ps-blue-2:#0b57c9;
  --ps-blue-soft:#eaf3ff;
  --ps-red:#e13a3e;
  --ps-red-soft:#fff0f1;
  --ps-green:#16915d;
  --ps-green-soft:#eaf8f1;
  --ps-orange:#d77a13;
  --ps-orange-soft:#fff5e8;
  --ps-purple:#7557c7;
  --ps-purple-soft:#f3efff;
  --ps-bg:#f3f7fc;
  --ps-panel:#ffffff;
  --ps-line:#dbe4f0;
  --ps-line-2:#e8eef6;
  --ps-text:#10213d;
  --ps-muted:#697891;
  --ps-sidebar:224px;
  --ps-shadow:0 8px 28px rgba(16,50,95,.07);
  --ps-radius:15px;
}

*{scrollbar-color:#b8c7da transparent;scrollbar-width:thin}
html{background:var(--ps-bg)}
body{font-family:"Segoe UI",Inter,system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif!important;color:var(--ps-text)!important}
body.ps-themed{background:var(--ps-bg)!important;padding-left:var(--ps-sidebar);min-height:100vh;transition:padding-left .18s ease}
body.ps-themed.ps-sidebar-collapsed{padding-left:76px}
body.embedded{padding-left:0!important;background:#f7f9fc!important}
body.embedded .ps-sidebar{display:none!important}

.ps-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--ps-sidebar);z-index:5000;background:linear-gradient(180deg,var(--ps-navy) 0%,var(--ps-navy-2) 100%);color:#fff;display:flex;flex-direction:column;padding:18px 13px 14px;box-shadow:10px 0 30px rgba(7,33,72,.11);transition:width .18s ease;overflow:hidden}
.ps-sidebar-collapsed .ps-sidebar{width:76px;padding-left:10px;padding-right:10px}
.ps-brand{display:flex;align-items:center;gap:11px;padding:3px 8px 17px;border-bottom:1px solid rgba(255,255,255,.12);white-space:nowrap}
.ps-logo{position:relative;width:39px;height:39px;flex:0 0 39px;border-radius:11px;background:linear-gradient(145deg,#1b79ff,#0757c7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 7px 16px rgba(0,0,0,.18);display:grid;place-items:center;font-size:25px;font-weight:950;font-style:italic;color:#fff;letter-spacing:-2px}
.ps-logo:after{content:"";position:absolute;width:22px;height:5px;background:var(--ps-red);transform:rotate(-37deg);right:-4px;top:7px;border-radius:5px;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.ps-brand-copy{min-width:0}.ps-brand-copy strong{display:block;font-size:16px;line-height:1.08}.ps-brand-copy small{display:block;margin-top:4px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#b9d3fa}
.ps-nav{display:flex;flex-direction:column;gap:5px;padding-top:16px;flex:1}
.ps-nav-section{padding:9px 10px 4px;color:#82ace3;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.ps-nav a{display:flex;align-items:center;gap:11px;min-height:43px;padding:9px 10px;border-radius:11px;color:#dce9fb;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap;transition:.14s ease}
.ps-nav a:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(1px)}
.ps-nav a.active{background:linear-gradient(90deg,#1676f3,#1268e8);color:#fff;box-shadow:0 8px 22px rgba(0,65,170,.28)}
.ps-nav .ps-icon{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:7px;background:rgba(255,255,255,.08);font-size:13px;font-weight:900}
.ps-nav a.active .ps-icon{background:rgba(255,255,255,.16)}
.ps-sidebar-foot{border-top:1px solid rgba(255,255,255,.12);padding:12px 7px 0;display:grid;gap:8px;white-space:nowrap}
.ps-user{display:flex;gap:9px;align-items:center;padding:7px 5px}.ps-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ps-navy);font-weight:900;font-size:12px}.ps-user-copy strong{font-size:12px;display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis}.ps-user-copy small{font-size:10px;color:#9fc0eb}.ps-sidebar-tools{display:flex;gap:6px}.ps-side-btn{appearance:none;border:1px solid rgba(255,255,255,.15)!important;background:rgba(255,255,255,.07)!important;color:#dce9fb!important;border-radius:9px!important;min-height:32px!important;margin:0!important;padding:6px 8px!important;font-size:11px!important;width:auto!important;flex:1}.ps-side-btn:hover{background:rgba(255,255,255,.14)!important}.ps-version{font-size:10px;color:#749dd0;padding:0 4px}
.ps-sidebar-collapsed .ps-brand-copy,.ps-sidebar-collapsed .ps-nav-section,.ps-sidebar-collapsed .ps-nav-label,.ps-sidebar-collapsed .ps-user-copy,.ps-sidebar-collapsed .ps-version{display:none}.ps-sidebar-collapsed .ps-brand{padding-left:4px;padding-right:4px}.ps-sidebar-collapsed .ps-nav a{justify-content:center;padding-left:8px;padding-right:8px}.ps-sidebar-collapsed .ps-sidebar-tools{display:block}.ps-sidebar-collapsed .ps-side-btn{width:100%!important;margin-top:6px!important;font-size:0!important}.ps-sidebar-collapsed .ps-side-btn:before{content:"⇥";font-size:15px}

/* Top bars become light and calm instead of black. */
body.ps-themed>header{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.96)!important;color:var(--ps-text)!important;border-bottom:1px solid var(--ps-line)!important;box-shadow:0 4px 18px rgba(18,65,125,.04)!important;padding:13px 22px!important;backdrop-filter:blur(10px);min-height:64px}
body.ps-themed>header b{color:var(--ps-navy)!important;font-weight:850!important;letter-spacing:-.015em}
body.ps-themed>header span{color:var(--ps-muted)!important;opacity:1!important}
body.ps-themed>header a,body.ps-themed>header .header-link,body.ps-themed>header .back,body.ps-themed>header .nav a{background:#f7faff!important;color:var(--ps-navy)!important;border:1px solid var(--ps-line)!important;box-shadow:none!important}
body.ps-themed>header a:hover,body.ps-themed>header .header-link:hover,body.ps-themed>header .back:hover{background:var(--ps-blue-soft)!important;border-color:#bdd6fb!important}

body.ps-themed main{max-width:1500px!important;margin:18px auto!important;padding:0 22px 30px!important}
body.ps-themed.ps-journal main{max-width:none!important;margin:0!important;padding:16px 18px 18px!important}
body.embedded main{margin:0!important;padding:10px!important;max-width:none!important}

/* Global controls */
body.ps-themed input,body.ps-themed select,body.ps-themed textarea{border:1px solid #cdd9e8!important;border-radius:10px!important;background:#fff!important;color:var(--ps-text)!important;box-shadow:0 1px 2px rgba(17,50,95,.02);outline:none;transition:border-color .14s,box-shadow .14s}
body.ps-themed input:focus,body.ps-themed select:focus,body.ps-themed textarea:focus{border-color:#6da6ef!important;box-shadow:0 0 0 3px rgba(18,104,232,.10)!important}
body.ps-themed label{color:#61728c!important;font-weight:650}
body.ps-themed button{background:linear-gradient(180deg,#1974ef,#0f63df)!important;border-color:#0f63df!important;color:#fff!important;border-radius:10px!important;box-shadow:0 5px 13px rgba(18,104,232,.12);transition:transform .1s,box-shadow .12s,filter .12s}
body.ps-themed button:hover{filter:brightness(.98);box-shadow:0 7px 18px rgba(18,104,232,.17);transform:translateY(-1px)}
body.ps-themed button:active{transform:translateY(0)}
body.ps-themed .secondary,body.ps-themed .schedule-btn,body.ps-themed .former-btn,body.ps-themed .today-btn{background:#fff!important;color:var(--ps-navy)!important;border:1px solid #cdd9e8!important;box-shadow:none}
body.ps-themed .danger-btn,body.ps-themed button.danger,body.ps-themed .member-action{background:#fff!important;color:#bd292f!important;border-color:#efc5c7!important;box-shadow:none!important}
body.ps-themed .member-action.restore{color:var(--ps-green)!important;border-color:#b8ddca!important}

/* Reusable cards and panels */
body.ps-themed .card,body.ps-themed .toolbar,body.ps-themed .subtoolbar,body.ps-themed .journal-wrap,body.ps-themed .formbox,body.ps-themed .buybox,body.ps-themed .account,body.ps-themed .coach-card,body.ps-themed .archive-card{border-color:var(--ps-line)!important;background:var(--ps-panel)!important;box-shadow:var(--ps-shadow)!important}
body.ps-themed .card{border-radius:var(--ps-radius)!important}
body.ps-themed h1,body.ps-themed h2,body.ps-themed h3{color:var(--ps-navy)!important;letter-spacing:-.012em}
body.ps-themed .muted,body.ps-themed .hint,body.ps-themed .period-hint{color:var(--ps-muted)!important}
body.ps-themed .pill{background:var(--ps-blue-soft)!important;color:#2c5d9d!important}
body.ps-themed .note{background:#f5f9ff!important;color:#47617e!important;border:1px solid #e0ebf8!important}

/* Journal - keep the dense square-cell workflow. */
body.ps-journal .toolbar{border-radius:14px!important;padding:12px!important;grid-template-columns:170px 210px minmax(250px,1fr) 132px 132px 110px 150px!important;gap:9px!important;box-shadow:0 7px 22px rgba(20,67,126,.055)!important}
body.ps-journal .toolbar label{font-size:11px!important;margin-bottom:4px!important}
body.ps-journal .toolbar select,body.ps-journal .toolbar input,body.ps-journal .toolbar button{min-height:38px!important;padding:8px 9px!important;font-size:13px!important}
body.ps-journal .subtoolbar{margin-top:9px!important;border-radius:12px!important;padding:8px 10px!important;gap:7px!important;box-shadow:none!important}
body.ps-journal .subtoolbar button{min-height:34px!important;padding:7px 10px!important;font-size:12px!important}
body.ps-journal .legend{margin:8px 2px!important;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.72);border:1px solid var(--ps-line-2)}
body.ps-journal .legend span{color:#51617a!important}
body.ps-journal .sw{border-color:#c8d3e1!important}
body.ps-journal .journal-wrap{border-radius:13px!important;max-height:calc(100vh - 306px)!important;box-shadow:0 8px 24px rgba(23,63,113,.06)!important;background:#fff!important}
body.ps-journal table{font-size:12.5px!important}
body.ps-journal th,body.ps-journal td{border-right:1px solid #d9e2ee!important;border-bottom:1px solid #d9e2ee!important;height:46px!important}
body.ps-journal thead th{height:54px!important;min-width:62px!important;background:#f4f8fd!important;color:#263b59!important}
body.ps-journal thead th:first-child{width:360px!important;min-width:360px!important;max-width:360px!important;background:#edf4fd!important;color:var(--ps-navy)!important;padding:0 11px!important}
body.ps-journal tbody td:first-child{width:360px!important;min-width:360px!important;max-width:360px!important;padding:0 10px!important;background:#fff!important;box-shadow:5px 0 10px rgba(28,62,108,.035)}
body.ps-journal .date-head{font-size:12px!important}.ps-journal .date-head small{color:#74839a!important;font-size:10px}.ps-journal .date-head .time{font-size:9px!important;color:#8490a2!important}
body.ps-journal .cell{min-width:62px!important;height:46px!important;font-size:21px!important;color:#13294a!important;transition:background .08s,box-shadow .08s!important}
body.ps-journal .cell:hover{outline:2px solid var(--ps-blue)!important;outline-offset:-2px!important;filter:none!important;z-index:2}
body.ps-journal .cell.active,body.ps-journal .cell.blank,body.ps-journal .cell.future{background:#fff!important}
body.ps-journal .cell.inactive{background:#fff0f1!important}
body.ps-journal .cell.purchase{background:#dff5e8!important}
body.ps-journal .cell.frozen{background:#e6f1ff!important}
body.ps-journal .cell.today-col{box-shadow:inset 2px 0 #bdd7fb,inset -2px 0 #bdd7fb;background-image:linear-gradient(rgba(234,243,255,.45),rgba(234,243,255,.45))!important}
body.ps-journal .today-head{background:#e4f0ff!important;color:#0b5ccf!important;box-shadow:inset 0 -3px 0 var(--ps-blue)!important}
body.ps-journal .athlete-cell{grid-template-columns:minmax(0,1fr) auto auto!important;gap:6px!important}
body.ps-journal .athlete-name{color:#132a4b!important;font-size:12.5px!important}.ps-journal .athlete-meta{font-size:10px!important;color:#75839a!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.ps-journal .sub-count{font-size:14px!important;color:#1e3657}.ps-journal .sub-count small{font-size:9px!important;color:#8190a6!important;line-height:1.25}
body.ps-journal .medical-chip{font-size:9px!important;padding:2px 5px!important}
body.ps-journal .statusline{background:#fff;border:1px solid var(--ps-line-2);padding:7px 10px;border-radius:9px;color:#6b7b92!important;margin-top:7px!important}
body.ps-journal .menu{border-color:var(--ps-line)!important;box-shadow:0 18px 45px rgba(18,52,98,.19)!important}.ps-journal .menu button{background:#fff!important;color:var(--ps-text)!important;box-shadow:none!important}.ps-journal .menu button:hover{background:var(--ps-blue-soft)!important}
body.ps-journal .notice{border:1px solid #f3dec0!important;background:#fff9ef!important}

.journal-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin:9px 0}.journal-kpi{background:#fff;border:1px solid var(--ps-line);border-radius:12px;padding:9px 11px;display:flex;align-items:center;gap:9px;box-shadow:0 5px 17px rgba(20,67,126,.045)}.journal-kpi-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--ps-blue-soft);color:var(--ps-blue);font-weight:900}.journal-kpi.red .journal-kpi-icon{background:var(--ps-red-soft);color:var(--ps-red)}.journal-kpi.orange .journal-kpi-icon{background:var(--ps-orange-soft);color:var(--ps-orange)}.journal-kpi.green .journal-kpi-icon{background:var(--ps-green-soft);color:var(--ps-green)}.journal-kpi b{font-size:18px;color:#183153;display:block;line-height:1}.journal-kpi span{display:block;font-size:10px;color:#7a879b;margin-top:3px}.journal-kpi-sub{font-size:9px!important;color:#9aa5b4!important;margin-top:2px!important}

/* Management */
body.ps-manage main{max-width:1460px!important}.ps-manage .grid{gap:14px!important}.ps-manage .card{padding:17px!important}.ps-manage .card h2{font-size:17px!important;margin-bottom:12px!important}.ps-manage .card h2:before{content:"";display:inline-block;width:5px;height:18px;border-radius:5px;background:var(--ps-blue);vertical-align:-3px;margin-right:8px}.ps-manage .scroll-list,.ps-manage .client-list{border-color:var(--ps-line)!important;background:#fbfdff!important}.ps-manage .coach-card{box-shadow:none!important;background:#f9fbfe!important}.ps-manage .coach-group{border-color:#e3ebf5!important}.ps-manage .staff-section-title{background:#edf4fd!important;color:#335b8f!important;border-color:#d8e5f4!important}.ps-manage .staff-badge{background:var(--ps-blue-soft)!important;color:#265c9e!important}.ps-manage .staff-badge.choreo{background:#fff0f5!important;color:#b43a68!important}.ps-manage .archive-scroll{max-height:420px!important}.ps-manage details{border-color:var(--ps-line-2)!important}.ps-manage summary{color:#365a88!important;font-weight:700}.ps-manage .workspace-head,.ps-manage .edit-head{background:var(--ps-navy)!important}.ps-manage .workspace-panel,.ps-manage .edit-modal{border-radius:16px!important}.ps-manage .day:has(input:checked){background:var(--ps-blue)!important;border-color:var(--ps-blue)!important}.ps-manage .schedule-slot.active{border-color:#99bff0!important;box-shadow:0 0 0 2px rgba(18,104,232,.05)}

/* Payroll */
body.ps-payroll main{max-width:1460px!important}.ps-payroll .grid{grid-template-columns:minmax(360px,.9fr) minmax(620px,1.55fr)!important;gap:14px!important}.ps-payroll .card{padding:17px!important}.ps-payroll .metric{background:#f5f9ff!important;border:1px solid #e2ebf7}.ps-payroll .rate-row{border-color:#e2eaf4!important}.ps-payroll .coach-card{box-shadow:none!important;background:#f9fbfe!important}.ps-payroll .coach-total-row.top{background:#f0faf5!important;border-color:#cdebdc!important}.ps-payroll .amount{color:var(--ps-green)!important}.ps-payroll th{background:#f1f6fc!important;color:#425a78!important}.ps-payroll .table-wrap{border-color:var(--ps-line)!important}

/* Trainees */
body.ps-trainees main{max-width:1480px!important}.ps-trainees .card{border-color:var(--ps-line)!important;box-shadow:var(--ps-shadow)!important}.ps-trainees .tab.active,.ps-trainees .tabs button.active{background:var(--ps-blue)!important;color:#fff!important;border-color:var(--ps-blue)!important}.ps-trainees iframe{border-color:var(--ps-line)!important;background:#fff!important}.ps-trainees .assignment,.ps-trainees .trainee-card{border-color:var(--ps-line)!important;background:#fbfdff!important}

/* Athlete */
body.ps-athlete main{max-width:1420px!important}.ps-athlete .metric,.ps-athlete .profile-item{background:#f5f9ff!important;border:1px solid #e4edf8}.ps-athlete .table-wrap{border-color:var(--ps-line)!important}.ps-athlete th{background:#f1f6fc!important;color:#425a78!important}.ps-athlete .sub,.ps-athlete .formbox,.ps-athlete .buybox{border-color:var(--ps-line)!important}.ps-athlete .medical-status{border-radius:11px!important}

/* Access */
body.ps-access main{max-width:1120px!important}.ps-access .grid{grid-template-columns:390px 1fr!important;gap:14px!important}.ps-access .account{box-shadow:none!important;background:#fbfdff!important}

/* Login keeps brand identity but no sidebar. */
body.ps-login{background:radial-gradient(circle at 15% 15%,#e8f2ff 0,#f4f8fd 32%,#f7f9fc 62%,#eef4fb 100%)!important;position:relative;overflow:hidden}
body.ps-login:before,body.ps-login:after{content:"";position:fixed;border-radius:999px;filter:blur(2px);opacity:.8;pointer-events:none}.ps-login:before{width:420px;height:420px;left:-220px;bottom:-140px;background:linear-gradient(145deg,#0d63dd,#0b2f66)}.ps-login:after{width:220px;height:20px;right:-30px;top:90px;background:var(--ps-red);transform:rotate(-18deg)}
body.ps-login .card{position:relative;z-index:2;border-color:#d8e3f1!important;border-radius:20px!important;box-shadow:0 25px 70px rgba(10,45,92,.16)!important;padding:30px!important}.ps-login .brand{color:var(--ps-blue)!important;letter-spacing:.08em}.ps-login h1{color:var(--ps-navy)!important}.ps-login button{background:linear-gradient(180deg,#1974ef,#0f63df)!important}

@media(max-width:1180px){
  :root{--ps-sidebar:192px}.ps-brand-copy strong{font-size:14px}.ps-nav a{font-size:12px}
  body.ps-journal .toolbar{grid-template-columns:1fr 1fr 1.4fr 1fr 1fr!important}.ps-journal .toolbar>div:nth-last-child(-n+2){grid-column:auto}.journal-summary{grid-template-columns:repeat(3,1fr)}
  .ps-payroll .grid{grid-template-columns:1fr!important}
}
@media(max-width:860px){
  body.ps-themed{padding-left:0}.ps-sidebar{display:none}.journal-summary{grid-template-columns:repeat(2,1fr)}
  body.ps-themed>header{padding:10px 12px!important}.ps-journal .toolbar{grid-template-columns:1fr 1fr!important}.ps-journal .toolbar>div:nth-child(3){grid-column:1/-1}.ps-journal .journal-wrap{max-height:calc(100vh - 400px)!important}
  body.ps-journal thead th:first-child,body.ps-journal tbody td:first-child{width:285px!important;min-width:285px!important;max-width:285px!important}
}
body.embedded .journal-summary{display:none!important}

/* Statistics */
body.ps-statistics main{max-width:1500px!important}
body.ps-statistics .stats-toolbar,body.ps-statistics .kpi,body.ps-statistics .card{border-color:var(--ps-line)!important;box-shadow:var(--ps-shadow)!important}
body.ps-statistics .primary{background:linear-gradient(180deg,#1974ef,#0f63df)!important;color:#fff!important}
body.ps-statistics .preset{background:#fff!important;color:var(--ps-navy)!important;border-color:#cdd9e8!important;box-shadow:none!important}
body.ps-statistics .preset.active{background:var(--ps-blue-soft)!important;color:var(--ps-blue-2)!important;border-color:#9ec4f7!important}
