
:root{
  --bg:#f3f6f5; --panel:#fff; --panel2:#f8fbfa; --line:#dce5e1;
  --text:#18251f; --muted:#6b7a73; --nav:#0b2d25; --nav2:#123d33;
  --accent:#19704b; --accent-strong:#105d3d; --accent-soft:#e2f2e9;
  --amber:#8a6500; --amber-soft:#fff2cc;
  --red:#8a3030; --red-soft:#f8dddd;
  --blue:#245d89; --blue-soft:#dcecf8;
  --shadow:0 10px 30px rgba(17,48,39,.08);
  --shadow-soft:0 3px 12px rgba(17,48,39,.05);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:linear-gradient(145deg,#f6f8f7 0%,var(--bg) 55%,#eef3f1 100%)}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav) 0%,#0e352c 60%,#09251f 100%);color:#fff;padding:18px 14px;display:flex;flex-direction:column;box-shadow:8px 0 30px rgba(8,31,25,.08);z-index:8}
.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#fff,#dfeee8);color:var(--nav);display:grid;place-items:center;font-weight:950;box-shadow:0 5px 18px rgba(0,0,0,.14)}
.brand-title{font-size:13px;font-weight:880;letter-spacing:-.01em}
.brand-sub{font-size:10px;color:#aec0cd;margin-top:2px}
.side-nav{padding-top:11px;display:grid;gap:2px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;min-height:0;flex:1;align-content:start}
.nav-label{padding:12px 11px 4px;color:#7fa397;font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.nav-label:first-child{padding-top:4px}
.nav-item{width:100%;border:0;background:transparent;color:#d5e4df;text-align:left;padding:8px 11px;border-radius:9px;font-size:12px;font-weight:720;position:relative;transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-item:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#5f887b;margin-right:10px;vertical-align:1px;transition:.16s ease}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(1px)}
.nav-item.active{background:#fff;color:var(--nav);box-shadow:0 5px 16px rgba(0,0,0,.14)}
.nav-item.active:before{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.nav-sep{height:1px;background:rgba(255,255,255,.1);margin:8px}
.sidebar-foot{margin-top:auto;padding:12px 8px 4px}
.connection-chip{font-size:10px;font-weight:800;border-radius:999px;padding:6px 8px;border:1px solid rgba(255,255,255,.16);display:inline-block}
.connection-chip.live{background:#1f6f50;color:#fff;border-color:#3e8e6d}
.connection-chip.error{background:#733;color:#fff}
.version{font-size:10px;color:#8fa5b5;margin-top:8px}
.staff-access-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.staff-access-row{gap:12px}
.main{min-width:0}
.topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:17px 28px;display:flex;justify-content:space-between;gap:16px;align-items:center;position:sticky;top:0;z-index:5}
.topbar h1{margin:2px 0 0;font-size:22px;line-height:1.2}
.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}
.breadcrumbs{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:850}
.top-actions{display:flex;gap:8px;align-items:center}
#contextBackBtn{white-space:nowrap}
.environment-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #cfe0d8;background:#f2f8f5;border-radius:999px;color:#47675a;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.environment-chip span{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.btn{border-radius:9px;padding:9px 12px;border:1px solid var(--line);font-weight:760;font-size:12px;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}
.btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
.btn-ghost{background:#fff;color:var(--text)}
.btn-small{padding:6px 9px;font-size:11px}
.content{padding:24px 28px 34px;display:grid;gap:17px}
.error-bar{margin:14px 18px 0;background:var(--red-soft);color:var(--red);border:1px solid #edc4c4;padding:10px 12px;border-radius:9px;font-size:12px}
.hidden{display:none!important}
.grid{display:grid;gap:12px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow-soft)}
.card.clickable{cursor:pointer}
.card.clickable:hover{box-shadow:var(--shadow);border-color:#bdcfc7;transform:translateY(-1px)}
.card-title{font-size:13px;font-weight:850;margin:0 0 10px}
.kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px;font-weight:850}
.kpi-value{font-size:30px;font-weight:920;margin-top:4px;letter-spacing:-.04em}
.kpi-note{font-size:10px;color:var(--muted);margin-top:4px}
.quick-actions{display:flex;gap:8px;flex-wrap:wrap}
.action-btn{background:#fff;border:1px solid #cfddd7;border-radius:9px;padding:9px 11px;font-size:11px;font-weight:780;color:#25483b;transition:.14s ease}
.action-btn:hover{background:#edf6f1;border-color:#9fbdaf;transform:translateY(-1px)}
.toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.toolbar-left,.toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.search{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;min-width:220px;font-size:12px}
.select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;font-size:12px}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px rgba(17,48,39,.025)}
table{width:100%;border-collapse:collapse;font-size:12px;min-width:900px}
th{background:#f4f8f6;color:#687b72;text-transform:uppercase;letter-spacing:.055em;font-size:9px;text-align:left;padding:10px 11px;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;z-index:1}
td{padding:11px;border-bottom:1px solid #edf2ef;vertical-align:top}
tbody tr.row-link{cursor:pointer}
tbody tr.row-link:hover{background:#f3f8f5}
.muted{color:var(--muted)}
.rtp-date{font-weight:780;color:#315c4d;white-space:nowrap}.rtp-missing{font-size:10px;font-weight:780;color:var(--amber);white-space:nowrap}
.inactive-player-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;border-color:#e3cd95;background:#fff9e9}.inactive-player-notice strong{color:#785a0a}
.season-admin-card{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(320px,1.3fr);gap:20px;align-items:center}.season-admin-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px}.season-admin-actions .small{max-width:530px;line-height:1.45}.season-player-picker{max-height:390px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fafcfb}.season-picker-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);background:#f3f8f5}.season-picker-head span{margin-right:auto;font-size:10px;font-weight:850}.season-player-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #edf2ef;cursor:pointer}.season-player-row:last-child{border-bottom:0}.season-player-row:hover{background:#f1f7f4}.season-player-row>span{display:grid;grid-template-columns:28px minmax(140px,1fr) auto;align-items:center;gap:9px;width:100%}.season-player-row strong{font-size:11px}.season-player-row small{font-size:9px;color:var(--muted)}
.small{font-size:10px}
.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap;border:1px solid transparent}
.badge.available,.badge.closed,.badge.pass{border-color:#c4e1d1}
.badge.modified,.badge.individual,.badge.monitoring{border-color:#ead99c}
.badge.rehab{border-color:#bdd8eb}
.badge.unavailable,.badge.illness,.badge.open{border-color:#ecc4c4}
.badge.available,.badge.closed,.badge.pass{background:var(--accent-soft);color:var(--accent)}
.badge.modified,.badge.individual,.badge.monitoring{background:var(--amber-soft);color:var(--amber)}
.badge.rehab{background:var(--blue-soft);color:var(--blue)}
.badge.unavailable,.badge.illness,.badge.open{background:var(--red-soft);color:var(--red)}
.empty{padding:28px;text-align:center;color:var(--muted);font-size:12px}
.player-head{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}
.player-name{font-size:25px;font-weight:900}
.player-meta{font-size:11px;color:var(--muted);margin-top:4px}
.availability-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}
.strip-item{padding:9px;border-radius:9px;border:1px solid var(--line);background:#fafcfd}
.strip-label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:850}
.strip-value{font-size:11px;font-weight:800;margin-top:3px}
.section-list{display:grid;gap:8px}
.record{border:1px solid var(--line);border-radius:9px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;background:#fff}
.record:hover{border-color:#c9d5de}
.record-title{font-size:12px;font-weight:800}
.record-meta{font-size:10px;color:var(--muted);margin-top:3px}
.link-btn{border:0;background:transparent;color:#234f74;font-size:11px;font-weight:800;padding:2px}
.module-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.module-count{font-size:11px;color:var(--muted)}
.tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px}
.tab{border:0;background:transparent;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:800;color:var(--muted)}
.tab.active{background:#eaf0f4;color:var(--text)}
.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.admin-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:13px}
.admin-card strong{font-size:12px;display:block}
.admin-card span{display:block;color:var(--muted);font-size:10px;margin-top:5px;line-height:1.45}
.modal-backdrop{position:fixed;inset:0;background:rgba(11,22,31,.52);z-index:30;display:grid;place-items:center;padding:20px}
.modal{width:min(720px,96vw);max-height:88vh;overflow:hidden;background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.28);display:flex;flex-direction:column}
.modal-head{padding:16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:start;flex:0 0 auto;background:#fff;z-index:2}
.modal-head h2{font-size:18px;margin:2px 0 0}
.eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}
.icon-btn{border:1px solid var(--line);background:#fff;border-radius:8px;width:32px;height:32px;font-size:20px}
.modal-body{padding:16px;font-size:12px;overflow:auto;min-height:0;flex:1 1 auto;overscroll-behavior:contain}
.modal-foot{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;flex:0 0 auto;background:#fff;z-index:2}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.detail-item{border:1px solid var(--line);border-radius:9px;padding:9px}
.detail-label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:850}
.detail-value{font-size:12px;margin-top:4px;white-space:pre-wrap}
.notice{background:#edf3f6;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:11px;color:#52616c}
@media(max-width:950px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .side-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
  .nav-sep,.nav-label{display:none}
  .nav-item{text-align:center;padding:8px 4px;font-size:10px}
  .sidebar-foot{display:none}
  .topbar{position:relative}
  .grid-4,.grid-3,.grid-2,.admin-grid{grid-template-columns:1fr 1fr}
  .availability-strip{grid-template-columns:1fr 1fr}
  .season-admin-card{grid-template-columns:1fr}.season-admin-actions{justify-content:space-between}
}
@media(max-width:620px){
  .grid-4,.grid-3,.grid-2,.admin-grid{grid-template-columns:1fr}
  .topbar{align-items:flex-start}
  .top-actions{flex-direction:column}
  .side-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .detail-grid{grid-template-columns:1fr}
  .inactive-player-notice,.season-admin-actions{align-items:flex-start;flex-direction:column}.season-player-row>span{grid-template-columns:28px 1fr}.season-player-row small{grid-column:2}
}


/* Auth */
.auth-gate{
  min-height:100vh;display:grid;place-items:center;padding:24px;
  background:linear-gradient(145deg,#09291f 0%,#14513d 48%,#edf4f1 48%,#f8faf9 100%);
}
.login-card{
  width:min(420px,94vw);background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 24px 70px rgba(5,20,31,.26);padding:22px;
}
.login-brand{display:flex;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}
.login-mark{background:var(--nav);color:#fff}
.login-title{font-weight:900;font-size:16px}
.login-sub{font-size:11px;color:var(--muted);margin-top:3px}
.login-form{display:grid;gap:12px;margin-top:18px}
.login-form label{font-size:11px;font-weight:800;color:#4f5f6a;display:grid;gap:6px}
.login-form input{
  width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;
  outline:none;background:#fff;color:var(--text)
}
.login-form input:focus{border-color:#8ba5b8;box-shadow:0 0 0 3px rgba(30,80,115,.08)}
.login-btn{width:100%;margin-top:3px;padding:11px}
.login-error{background:var(--red-soft);border:1px solid #edc4c4;color:var(--red);border-radius:9px;padding:9px 10px;font-size:11px}
.login-success{background:var(--accent-soft);border:1px solid #b9decd;color:var(--accent-strong);border-radius:9px;padding:9px 10px;font-size:11px;line-height:1.45}
.auth-link-btn{border:0;background:transparent;color:var(--blue);font:inherit;font-size:11px;font-weight:800;padding:4px;cursor:pointer;text-align:center}
.auth-link-btn:hover{text-decoration:underline}.auth-link-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:5px}
.auth-form-copy{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}
.auth-form-copy strong{font-size:12px;color:var(--text)}.auth-form-copy span{font-size:10px;line-height:1.45;color:var(--muted)}
.login-note{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:10px;line-height:1.5}
.user-badge{display:flex;align-items:center;gap:8px;border-right:1px solid var(--line);padding-right:10px;margin-right:2px}
.user-badge>div{display:grid;text-align:right}
.user-badge strong{font-size:11px}
.user-badge span{font-size:9px;color:var(--muted);font-weight:850;letter-spacing:.05em}
@media(max-width:760px){
  .user-badge>div{display:none}
  .user-badge{border:0;padding:0;margin:0}
}

.form-input{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 10px;
  background:#fff;color:var(--text);font-size:12px;margin-top:5px;outline:none
}
.form-input:focus{border-color:#8ba5b8;box-shadow:0 0 0 3px rgba(30,80,115,.08)}
.form-textarea{min-height:78px;resize:vertical;font-family:inherit}
label.detail-item{display:block}
.app-toast{
  position:fixed;right:20px;bottom:20px;z-index:60;background:#173d2e;color:#fff;
  padding:11px 14px;border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.2);
  font-size:12px;font-weight:750;opacity:0;transform:translateY(12px);pointer-events:none;
  transition:.18s ease
}
.app-toast.show{opacity:1;transform:translateY(0)}

.exercise-editor{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.exercise-edit-row{border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:9px;background:#fafcfd}
.exercise-row-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px;font-size:11px}
.exercise-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.exercise-fields label{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.exercise-notes{grid-column:span 2}
@media(max-width:900px){.exercise-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-notes{grid-column:1/-1}}

.secure-preview{margin-top:12px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f7f9fa;padding:8px;text-align:center}
.secure-preview img{display:block;max-width:100%;max-height:520px;margin:0 auto;border-radius:6px;object-fit:contain}
.secure-preview-loading,.secure-preview-error{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:16px;color:var(--muted);font-size:11px;text-align:center;background:#f7f9fa}
.secure-preview-error{color:var(--red);background:var(--red-soft)}

/* UX pass 1 */
.report-group-row td{
  background:#eef3f6!important;color:#536773;font-size:9px;font-weight:900;letter-spacing:.08em;
  padding:7px 10px!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.report-group-row span{
  display:inline-flex;margin-left:8px;min-width:18px;height:18px;align-items:center;justify-content:center;
  border-radius:9px;background:#fff;border:1px solid var(--line);font-size:9px;letter-spacing:0
}
.player-context-bar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;background:#edf4f7;border:1px solid #d7e2e8;
  border-radius:10px;padding:10px 12px;margin-bottom:10px
}
.player-context-bar>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.player-context-bar strong{font-size:12px}
.player-context-bar span:not(.context-label){font-size:10px;color:var(--muted)}
.context-label{font-size:8px;font-weight:900;letter-spacing:.08em;color:#627785}
.context-actions{display:flex;gap:6px}
.record-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.record-type-card{
  text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px;cursor:pointer;color:var(--text)
}
.record-type-card:hover{border-color:#9fb4c2;background:#f7fafb}
.record-type-card strong{display:block;font-size:12px;margin-bottom:3px}
.record-type-card span{display:block;color:var(--muted);font-size:10px;line-height:1.35}
.new-record-context{
  display:flex;align-items:center;gap:8px;padding:9px 10px;margin-bottom:10px;border-radius:9px;background:#edf4f7;border:1px solid #d7e2e8
}
.new-record-context strong{font-size:11px}.new-record-context span{font-size:10px;color:var(--muted)}
#modalFoot{justify-content:space-between}
.modal-foot-left,.modal-foot-right{display:flex;gap:7px;align-items:center}
@media(max-width:720px){
  .record-type-grid{grid-template-columns:1fr}
  .player-context-bar{align-items:flex-start;flex-direction:column}
}

/* v0.10 forms UX */
.form-section-title{
  grid-column:1/-1;
  margin:4px 0 -2px;
  padding-top:8px;
  border-top:1px solid var(--line);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  color:#607581;
  text-transform:uppercase;
}
.form-section-title:first-of-type{border-top:0;padding-top:0}
.form-hint{
  background:#f3f7f9;border:1px solid #dce6eb;border-radius:9px;padding:9px 10px;
  color:var(--muted);font-size:10px;line-height:1.45
}
.form-textarea-small{min-height:58px}
.advanced-fields{
  border:1px solid var(--line);border-radius:9px;background:#fafcfd;padding:0 10px
}
.advanced-fields summary{
  cursor:pointer;padding:10px 0;font-size:10px;font-weight:800;color:#536773
}
.advanced-grid{padding:0 0 10px}
.detail-grid>.form-section-title+label{margin-top:0}

/* v0.11 workflow UX */
.planned-action{
  opacity:.58;cursor:default!important;border-style:dashed!important
}
.planned-action span{
  margin-left:5px;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)
}
.morning-head-actions{display:flex;align-items:center;gap:8px}
.morning-edit-banner{
  margin:8px 0 10px;padding:8px 10px;border:1px solid #d8e2e8;border-radius:8px;background:#f3f7f9;
  font-size:10px;color:#536773
}
.morning-edit-table{min-width:1050px}
.morning-control{
  width:100%;min-width:92px;border:1px solid #d5e0e6;border-radius:7px;background:#fff;color:var(--text);
  font-size:10px;padding:6px 7px;outline:none
}
.morning-control:focus{border-color:#809caf;box-shadow:0 0 0 2px rgba(30,80,115,.08)}
.morning-match-inline{display:flex;align-items:center;gap:5px;min-width:178px}.morning-match-inline .morning-match{min-width:112px;flex:1}.morning-minutes{margin-top:0!important;width:58px;min-width:58px;max-width:58px;padding-left:6px;padding-right:6px}
.morning-restriction{min-width:210px}
.morning-review{min-width:125px}
.morning-edit-row.dirty{background:#fff9e8}
.morning-edit-row.dirty .edit-state{color:#8a6500;font-weight:800}
.edit-state{font-size:9px;color:var(--muted)}
.form-section-title-first{border-top:0!important;padding-top:0!important}

.intervention-add-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(160px,1fr) auto;gap:7px;align-items:end}
.intervention-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;min-height:24px;align-items:center}
.intervention-chip{
  display:inline-flex;align-items:center;gap:5px;border:1px solid #cad8df;background:#eef4f6;border-radius:999px;
  padding:5px 8px;font-size:10px;color:#314b5a
}
.intervention-chip button{border:0;background:transparent;cursor:pointer;color:#697c87;padding:0;font-size:13px;line-height:1}

.modal.modal-wide{width:min(1120px,97vw)}
.compact-exercise-row{
  border:1px solid var(--line);border-radius:9px;padding:8px;margin-top:7px;background:#fbfcfd
}
.exercise-main-row{
  display:grid;grid-template-columns:24px minmax(220px,2fr) 150px 32px;gap:6px;align-items:center
}
.exercise-index{font-size:10px;color:var(--muted);text-align:center}
.exercise-main-row .form-input{margin-top:0;padding:7px 8px;font-size:11px}
.exercise-param-row{
  display:grid;grid-template-columns:repeat(7,minmax(72px,1fr)) minmax(135px,1.6fr);
  gap:6px;margin-top:6px;align-items:end
}
.exercise-param-row label{font-size:8px;letter-spacing:.02em;color:#74838c;font-weight:500;text-transform:none}
.exercise-param-row .form-input{margin-top:3px;padding:6px 7px;font-size:10px;min-width:0}
.exercise-notes-compact{grid-column:auto}
.exercise-editor .card-title{font-size:12px}
@media(max-width:900px){
  .exercise-main-row{grid-template-columns:22px minmax(180px,1fr) 130px 30px}
  .exercise-param-row{display:flex;overflow-x:auto;padding-bottom:4px}
  .exercise-param-row label{min-width:90px}
  .exercise-param-row .exercise-notes-compact{min-width:160px}
  .intervention-add-row{grid-template-columns:1fr}
}

/* v0.11.1 detail editing */
.modal-close-btn{
  width:36px;height:36px;flex:0 0 36px;border:1px solid #102f43;border-radius:9px;
  background:#102f43;color:#fff;font-size:22px;line-height:1;cursor:pointer;
  display:grid;place-items:center;box-shadow:0 3px 10px rgba(10,35,51,.18)
}
.modal-close-btn:hover{background:#1b465f;border-color:#1b465f;transform:translateY(-1px)}
.btn-edit-record{border-color:#92a8b5;background:#f5f8fa;font-weight:800}
.btn-edit-record:hover{background:#eaf1f4}
.edit-context{display:flex;gap:8px;align-items:center;margin-bottom:12px;padding:8px 10px;border:1px solid #dbe5ea;background:#f4f8fa;border-radius:8px;font-size:10px;color:#60727d}
.edit-context span:first-child{font-weight:800;color:var(--text)}

/* v0.12 Player Card + avatars */
.kpi-main{display:flex;align-items:center;justify-content:space-between;gap:10px}.avatar-stack{display:flex;align-items:center;min-height:28px;padding-right:2px}.player-avatar{border:0;padding:0;margin:0;overflow:hidden;border-radius:50%;background:#dfe8ed;color:#244456;display:inline-grid;place-items:center;font-weight:900;flex:0 0 auto;box-shadow:0 0 0 2px #fff}button.player-avatar{cursor:pointer}button.player-avatar:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #8da7b6}.player-avatar img{width:100%;height:100%;object-fit:cover;display:block}.player-avatar span{font-size:.62em;letter-spacing:-.03em}.avatar-kpi{width:28px;height:28px;margin-left:-7px;font-size:12px}.avatar-kpi:first-child{margin-left:0}.avatar-xs{width:26px;height:26px;font-size:12px;box-shadow:none}.avatar-sm{width:30px;height:30px;font-size:13px;box-shadow:none}.avatar-more{height:28px;min-width:30px;padding:0 7px;margin-left:-5px;border-radius:14px;background:#edf3f6;border:2px solid #fff;display:grid;place-items:center;font-size:9px;font-weight:900;color:#536c7a}.player-cell{display:flex;align-items:center;gap:8px;min-width:0}
.player-profile-card{padding:0;overflow:hidden}.player-card-main{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px}.profile-photo-column{display:grid;justify-items:center;gap:7px}.avatar-profile{width:110px;height:110px;font-size:36px;box-shadow:0 0 0 1px #d6e1e7;background:#e7eef2}.profile-shirt{font-size:11px;font-weight:900;color:#536a78}.profile-eyebrow{font-size:8px;font-weight:900;letter-spacing:.1em;color:#788994;margin-bottom:4px}.profile-name{font-size:24px!important;line-height:1.05}.profile-subline{font-size:11px;color:var(--muted);margin-top:5px}.profile-facts{display:grid;grid-template-columns:repeat(5,minmax(95px,1fr));gap:7px;margin-top:14px}.profile-facts>div{border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:#fafcfd}.profile-facts span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#7a8992;font-weight:800}.profile-facts strong{display:block;margin-top:3px;font-size:10px;font-weight:750}.profile-actions{display:flex;gap:7px;align-self:start;flex-wrap:wrap;justify-content:flex-end;max-width:330px}.profile-availability{border-top:1px solid var(--line);border-radius:0;margin:0;background:#f4f8fa}.profile-context-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.profile-background-card,.profile-notes-card{min-height:235px}.history-list,.player-notes-list{display:grid;gap:0;margin-top:4px}.history-row{display:grid;grid-template-columns:10px 1fr;gap:9px;padding:10px 0;border-top:1px solid var(--line)}.history-row:first-child{border-top:0}.history-marker{width:8px;height:8px;border-radius:50%;background:#91a6b2;margin-top:5px}.history-marker.surgery{background:#8d5860}.history-marker.previous-injury{background:#b48629}.history-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.history-top strong{font-size:11px}.history-top span{font-size:9px;color:var(--muted);white-space:nowrap}.history-meta,.history-outcome{font-size:9px;color:var(--muted);margin-top:2px}.history-text{font-size:10px;margin-top:5px;line-height:1.4}.history-outcome{color:#49616f}.player-note-row{padding:10px 0;border-top:1px solid var(--line)}.player-note-row:first-child{border-top:0}.note-meta{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:var(--muted)}.note-category{font-weight:900;color:#466171;text-transform:uppercase;letter-spacing:.04em}.note-text{font-size:10px;line-height:1.45;margin-top:5px}.note-visibility{font-size:8px;color:#89969e;margin-top:4px}.profile-section-heading{display:flex;align-items:center;gap:10px;margin:17px 0 8px}.profile-section-heading:after{content:'';height:1px;background:#dbe4e9;flex:1}.profile-section-heading span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#627681}.profile-photo-edit{display:flex!important;align-items:center;gap:16px;background:#f7fafb}.avatar-profile-edit{width:74px;height:74px;font-size:26px;box-shadow:none}
@media(max-width:980px){.player-card-main{grid-template-columns:100px 1fr}.profile-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}.avatar-profile{width:86px;height:86px}.profile-facts{grid-template-columns:repeat(3,1fr)}.profile-context-grid{grid-template-columns:1fr}}@media(max-width:650px){.player-card-main{grid-template-columns:1fr;text-align:center}.profile-photo-column{justify-self:center}.profile-actions{justify-content:center}.profile-facts{grid-template-columns:repeat(2,1fr);text-align:left}.avatar-stack{display:none}}

/* v0.12.2 Medical Background + Player Note actions */
.history-top-right,.note-meta-right{display:flex;align-items:center;gap:8px}
.record-inline-actions{display:flex;align-items:center;gap:4px}
.mini-action{
  border:1px solid #cfdae0;background:#fff;color:#405b69;border-radius:6px;
  padding:3px 7px;font-size:8px;font-weight:800;cursor:pointer;line-height:1.2
}
.mini-action:hover{background:#edf4f7;border-color:#a8bbc6}
.mini-action.danger{color:#8a3c42;border-color:#e1c4c7}
.mini-action.danger:hover{background:#faeeee;border-color:#cb989d}
@media(max-width:700px){
  .history-top,.note-meta{align-items:flex-start}
  .history-top-right,.note-meta-right{align-items:flex-end;flex-direction:column;gap:4px}
}

/* v0.12.5 single-row Morning Squad edit */
.morning-single-edit{background:#fffdf5!important}
.inline-row-actions{display:flex;gap:5px;align-items:center;white-space:nowrap}
.morning-single-edit .morning-control{font-size:10px}
.morning-single-edit .morning-restriction{min-width:190px}
.morning-single-edit .morning-review{min-width:120px}

/* v0.14.2 roster management */
.roster-admin-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:10px}
.roster-import{display:grid;gap:10px}.roster-paste{min-height:150px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.45}
.roster-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 1px 7px;font-size:10px}.roster-preview-table{max-height:310px}.roster-preview-table small{display:block;margin-top:3px;color:var(--red);font-size:8px}.roster-preview-table .import-row-error{background:var(--red-soft)}.text-danger{color:var(--red);font-weight:800}
@media(max-width:760px){.roster-admin-card{align-items:flex-start;flex-direction:column}.roster-admin-card .toolbar-right{width:100%;justify-content:flex-start}}

/* v0.14.3 secure staff invitations / v0.14.4 password recovery */
.invite-identity{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.invite-identity strong{font-size:13px;color:var(--text)}.invite-identity span{font-size:10px;color:var(--muted)}
.password-requirements{margin-top:-2px;color:var(--muted);font-size:9px;line-height:1.45}

/* v0.12.7 module date/staff filters */
.module-filter-card{padding:11px 13px}
.module-filter-top{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.module-filter-fields{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(150px,1fr) 132px 132px minmax(150px,1fr);gap:8px;align-items:end;flex:1}
.filter-field{display:grid;gap:4px}
.filter-field>span{font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#73848d}
.filter-field .search,.filter-field .select{width:100%;margin:0}
.filter-date{min-width:0}
.module-filter-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.date-presets{display:flex;gap:5px;white-space:nowrap}
@media(max-width:1150px){
  .module-filter-top{align-items:stretch;flex-direction:column}
  .module-filter-actions{align-items:stretch;flex-direction:row;justify-content:space-between}
}
@media(max-width:900px){
  .module-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-search{grid-column:1/-1}
}
@media(max-width:600px){
  .module-filter-fields{grid-template-columns:1fr}
  .filter-search{grid-column:auto}
  .module-filter-actions{flex-direction:column}
  .date-presets{overflow-x:auto;padding-bottom:2px}
}


/* v0.13 forms / workflow cleanup */
.form-span-full{grid-column:1/-1}
.form-row{grid-column:1/-1;display:grid;gap:10px;min-width:0}
.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-row-35-65{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.form-row-context-3{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.2fr) minmax(135px,.65fr)}
.form-hint-box{border:1px solid #dce6eb;background:#f6f9fa;border-radius:9px;padding:9px 11px;color:#647680;font-size:10px;line-height:1.4;display:flex;align-items:center}
.help-dot{display:inline-grid;place-items:center;width:15px;height:15px;border:1px solid #aabac3;border-radius:50%;font-size:9px;line-height:1;color:#637783;cursor:help;margin-left:3px;vertical-align:middle;text-transform:none;letter-spacing:0}
.availability-match-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:end}.availability-match-row.has-cap{grid-template-columns:minmax(0,1fr) 92px}.minutes-cap-inline{display:grid;gap:3px}.minutes-cap-inline>span{font-size:8px;color:#74838c;font-weight:700}.minutes-cap-inline .form-input{margin-top:0}
@media(max-width:760px){.form-row-2,.form-row-3,.form-row-35-65,.form-row-context-3{grid-template-columns:1fr}.availability-match-row.has-cap{grid-template-columns:minmax(0,1fr) 86px}.modal{max-height:94dvh}}

/* v0.14 Case Hub, RTP, testing and reports */
.section-kicker{font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#6f838f}
.case-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;background:linear-gradient(120deg,#fff 0%,#f3f8f6 100%)}
.case-hero-main{display:flex;align-items:center;gap:12px;min-width:0}.case-hero h2{font-size:21px;margin:4px 0 6px;line-height:1.1}.case-hero-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.case-hero-meta>span:last-child{font-size:10px;color:var(--muted)}.case-hero-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.context-tabs{display:flex;gap:4px;margin:10px 0;border-bottom:1px solid var(--line);overflow-x:auto}.context-tabs button{border:0;background:transparent;color:#647782;padding:10px 12px;font-size:10px;font-weight:850;white-space:nowrap;border-bottom:2px solid transparent}.context-tabs button:hover{color:var(--nav)}.context-tabs button.active{color:var(--nav);border-bottom-color:var(--accent)}.context-tabs button span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e8eef1;font-size:8px;margin-left:3px}
.case-overview-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:10px}.compact-details{margin-top:9px}.case-plan-list{display:grid;margin-top:8px}.case-plan-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:9px 0}.case-plan-list>div:first-child{border-top:0}.case-plan-list span{font-size:9px;color:var(--muted)}.case-plan-list strong{font-size:10px;text-align:right}.case-note{font-size:11px;line-height:1.55;white-space:pre-wrap;margin:10px 0 0}.case-actions-list{display:grid;gap:7px;margin-top:9px}.case-actions-list>span,.case-actions-list>button{border:1px solid var(--line);background:#fafcfd;border-radius:8px;padding:8px 9px;font-size:10px;text-align:left}.case-actions-list>button{display:grid;grid-template-columns:85px 1fr 1.5fr;gap:8px;align-items:center}.case-actions-list button em{font-style:normal;color:var(--muted)}
.progress-block{border-top:1px solid var(--line);padding-top:10px;margin-top:6px}.progress-block>div:first-child{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.progress-track{height:7px;background:#e6ecef;border-radius:99px;overflow:hidden;margin-top:7px}.progress-track i{display:block;height:100%;border-radius:99px;background:var(--accent)}
.case-timeline{margin-top:12px}.timeline-entry{display:grid;grid-template-columns:14px 88px minmax(0,1fr);gap:9px;position:relative;padding:0 0 16px}.timeline-entry:before{content:'';position:absolute;left:6px;top:11px;bottom:-3px;width:1px;background:#dbe4e8}.timeline-entry:last-child:before{display:none}.timeline-dot{position:relative;z-index:1;width:13px;height:13px;border-radius:50%;border:3px solid #fff;background:#718995;box-shadow:0 0 0 1px #c9d5db}.timeline-dot.rtp-criterion,.timeline-dot.return-to-play,.timeline-dot.return-to-team-training{background:var(--accent)}.timeline-dot.setback{background:var(--red)}.timeline-date{font-size:9px;color:var(--muted);padding-top:1px}.timeline-content{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#fff;margin-top:-5px}.timeline-entry.clickable .timeline-content:hover{border-color:#9fb4c2;background:#f8fbfc}.timeline-content span{display:block;font-size:8px;color:#6f828d;text-transform:uppercase;font-weight:850}.timeline-content strong{display:block;font-size:11px;margin-top:2px}.timeline-content p{font-size:9px;color:var(--muted);margin:4px 0 0;line-height:1.4}
.case-record-list{display:grid;margin-top:7px}.case-record{border:0;border-top:1px solid var(--line);background:transparent;padding:9px 2px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--text);width:100%}.case-record:first-child{border-top:0}.case-record:hover{background:#f7fafb}.case-record strong,.case-record small{display:block}.case-record strong{font-size:10px}.case-record small{font-size:8px;color:var(--muted);margin-top:3px}.record-arrow{font-size:13px;color:#78909c}.case-rtp-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
.rtp-stage-list{display:grid;margin-top:9px}.rtp-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;border:0;border-top:1px solid var(--line);background:transparent;padding:10px 2px;text-align:left;color:var(--text)}.rtp-row:first-child{border-top:0}.rtp-row:hover{background:#f8fafb}.rtp-row>span:nth-child(2) small,.rtp-row>span:nth-child(2) strong,.rtp-row>span:nth-child(2) em{display:block}.rtp-row small{font-size:8px;text-transform:uppercase;color:#70838d}.rtp-row strong{font-size:10px;margin-top:2px}.rtp-row em{font-size:8px;color:var(--muted);font-style:normal;margin-top:2px}.rtp-row>span:last-child{font-size:8px;font-weight:850}.rtp-check{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#eef2f4;color:#6e808a;font-size:11px}.rtp-check.passed{background:var(--accent-soft);color:var(--accent)}
.rtp-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.rtp-case-card{border:1px solid var(--line);border-radius:11px;background:#fff;padding:13px;text-align:left;color:var(--text);box-shadow:0 4px 14px rgba(20,40,58,.04)}.rtp-case-card:hover{border-color:#9fb5c1;transform:translateY(-1px)}.rtp-case-top,.rtp-case-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.rtp-case-top>span:first-child{font-size:8px;text-transform:uppercase;font-weight:900;color:#6b7f8b}.rtp-case-card>strong{display:block;font-size:10px;margin-top:12px}.rtp-case-card h3{font-size:13px;margin:4px 0 12px}.rtp-case-foot{font-size:8px;color:var(--muted);margin-top:7px}
.check-item{display:flex!important;align-items:center;gap:8px;font-size:10px;font-weight:750;padding-top:22px}.check-item input{accent-color:var(--accent)}
.squad-test-grid{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden}.squad-test-row{display:grid;grid-template-columns:minmax(220px,1.2fr) 110px 150px 90px minmax(150px,1fr);gap:7px;align-items:center;padding:7px 9px;border-top:1px solid var(--line)}.squad-test-row:first-child{border-top:0}.squad-test-row>span{display:grid;grid-template-columns:28px 1fr;column-gap:8px;align-items:center}.squad-test-row>span .player-avatar{grid-row:1/3}.squad-test-row strong{font-size:10px}.squad-test-row small{font-size:8px;color:var(--muted)}.squad-test-row .form-input{margin:0;padding:7px;font-size:10px}
.trend-chart{margin-top:18px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}.trend-chart svg{display:block;width:100%;height:260px}.trend-chart line{stroke:#bccbd3;stroke-width:1}.trend-chart polyline{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-chart circle{fill:#fff;stroke:var(--accent);stroke-width:3}.trend-chart text{fill:#778992;font-size:9px}.trend-labels{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);padding:0 16px}
.report-note{border:1px solid #d7e2e8;background:#eef4f7;border-radius:9px;padding:9px 11px;font-size:9px;color:#596f7b;margin-bottom:10px}.bar-list{display:grid;gap:9px;margin-top:12px}.bar-row{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(100px,1.5fr) 28px;gap:8px;align-items:center}.bar-row span{font-size:9px}.bar-row>div{height:7px;background:#edf1f3;border-radius:99px;overflow:hidden}.bar-row i{display:block;height:100%;background:#527b91;border-radius:99px}.bar-row strong{text-align:right;font-size:9px}.integrity-list{display:grid;margin-top:8px}.integrity-list>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:8px 0;font-size:9px}.integrity-list>div:first-child{border-top:0}.integrity-list .warn strong{color:var(--amber)}.integrity-list .ok strong{color:var(--accent)}.admin-card>strong{font-size:18px}.admin-detail-grid{margin-top:10px}
@media(max-width:1100px){.rtp-board{grid-template-columns:repeat(2,minmax(0,1fr))}.squad-test-row{grid-template-columns:minmax(200px,1fr) 90px 130px 80px minmax(130px,1fr)}}
@media(max-width:820px){.case-hero{align-items:flex-start;flex-direction:column}.case-hero-actions{justify-content:flex-start}.case-overview-grid,.case-rtp-grid{grid-template-columns:1fr}.rtp-board{grid-template-columns:1fr}.squad-test-grid{overflow-x:auto}.squad-test-row{min-width:820px}.timeline-entry{grid-template-columns:14px 72px minmax(0,1fr)}}

/* v0.14.1 pilot readiness */
.today-brief{
  display:flex;align-items:stretch;justify-content:space-between;gap:24px;
  padding:20px 22px;border:1px solid #cfe0d8;border-radius:16px;
  background:linear-gradient(118deg,#0f3a2e 0%,#14513e 58%,#1a674b 100%);
  color:#fff;box-shadow:0 12px 32px rgba(10,49,37,.16);overflow:hidden;position:relative
}
.today-brief:after{content:'';position:absolute;width:240px;height:240px;border-radius:50%;right:-95px;top:-145px;border:42px solid rgba(255,255,255,.045)}
.today-brief .section-kicker{color:#9fd1bd}.brief-copy{position:relative;z-index:1;max-width:580px}.brief-copy h2{font-size:23px;letter-spacing:-.025em;margin:5px 0 5px}.brief-copy p{font-size:10px;line-height:1.5;color:#c7ded4;margin:0}
.brief-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(115px,1fr));gap:8px;min-width:410px}
.brief-stat{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:11px;padding:12px;text-align:left;backdrop-filter:blur(5px);transition:.15s ease}
.brief-stat:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}.brief-stat span{display:block;font-size:8px;color:#bcd8cc;text-transform:uppercase;letter-spacing:.055em;font-weight:850}.brief-stat strong{display:block;font-size:22px;letter-spacing:-.035em;margin-top:5px}.brief-stat.attention{background:rgba(255,207,105,.13);border-color:rgba(255,218,139,.32)}.brief-stat.attention strong{color:#ffe2a5}
.kpi-card{position:relative;overflow:hidden;transition:.16s ease}.kpi-card:before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:#789086}.kpi-success:before{background:var(--accent)}.kpi-warning:before{background:#c7931d}.kpi-danger:before{background:#a64a4a}.kpi-neutral:before{background:#52778a}
.kpi-card .kpi-note{padding-top:7px;border-top:1px solid #edf2ef;margin-top:8px}
.quick-action-panel{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(520px,1.45fr);gap:22px;align-items:center;padding:15px 17px}.quick-action-panel .card-title{margin:3px 0 3px}.quick-action-panel .quick-actions{justify-content:flex-end}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(25,112,75,.18);outline-offset:2px}
.error-bar{box-shadow:0 6px 18px rgba(138,48,48,.08)}
.empty:not(td){border:1px dashed #d7e2dd;border-radius:9px;background:#fafcfb;margin:4px;color:#74837c}
@media(max-width:1150px){.today-brief{align-items:flex-start;flex-direction:column}.brief-stats{width:100%;min-width:0}.quick-action-panel{grid-template-columns:1fr}.quick-action-panel .quick-actions{justify-content:flex-start}}
@media(max-width:760px){.content{padding:16px}.brief-stats{grid-template-columns:1fr}.today-brief{padding:17px}.environment-chip{display:none}}
