:root {
  color-scheme: light;
  --ink: #222822;
  --muted: #858b84;
  --soft-ink: #515950;
  --line: #e7e9e4;
  --surface: #ffffff;
  --canvas: #f7f8f5;
  --green: #456a53;
  --green-deep: #294438;
  --green-soft: #e8efe9;
  --brand-action: #294438;
  --brand-on-action: #ffffff;
  --brand-action-hover: #21392e;
  --brand-focus: rgb(87 128 96 / 36%);
  --type-base-size: 16px;
  --amber: #b07837;
  --shadow: 0 12px 38px rgb(26 42 31 / 5%);
  font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
  font-size: var(--type-base-size);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--canvas);
  color: var(--ink);
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
html[data-text-size="small"] { --type-base-size: 15px; }
html[data-text-size="standard"] { --type-base-size: 16px; }
html[data-text-size="large"] { --type-base-size: 18px; }
body { min-width: 320px; min-height: 100vh; margin: 0; background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, label:focus-within { outline: 3px solid var(--brand-focus); outline-offset: 2px; }
::selection { background: #d8e5d9; color: #1e3628; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.icon { display: block; width: 18px; height: 18px; flex: 0 0 auto; }

/* Shared brand and controls */
.brand { display: inline-flex; max-width: 100%; align-items: center; gap: 10px; color: #26352b; font-size: 1.0625rem; font-weight: 800; letter-spacing: .14em; }
.brand-copy { display: grid; min-width: 0; gap: 4px; }
.brand-name { line-height: 1; white-space: nowrap; }
.brand-release { color: #6f796e; font-size: .47rem; font-weight: 550; letter-spacing: 0; line-height: 1.35; white-space: normal; }
.brand-symbol { display: flex; align-items: flex-end; gap: 2px; width: 20px; height: 19px; padding: 2px; border: 1.4px solid currentColor; border-radius: 5px 5px 7px 7px; transform: skew(-8deg); }
.brand-symbol span { display: block; width: 4px; border-radius: 2px; background: currentColor; }
.brand-symbol span:nth-child(1) { height: 7px; opacity: .6; }
.brand-symbol span:nth-child(2) { height: 11px; opacity: .82; }
.brand-symbol span:nth-child(3) { height: 15px; }
.auth-visual .brand { color: #eef2ec; }
.auth-visual .brand-release { color: #a8b7aa; }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 10px; padding: 0 18px; border: 1px solid transparent; border-radius: 7px; cursor: pointer; font-size: 0.8125rem; font-weight: 650; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.button .icon { width: 16px; height: 16px; }
.button:active { transform: translateY(1px); }
.button-primary { background: var(--brand-action); color: var(--brand-on-action); }
.button-primary:hover { background: var(--brand-action-hover); }
.button-secondary { border-color: var(--line); background: white; color: var(--soft-ink); }
.button-secondary:hover { border-color: #cdd5cd; background: #fafbf9; }
.button-wide { width: 100%; margin-top: 9px; }
.icon-button { position: relative; display: inline-grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #6f776e; cursor: pointer; }
.icon-button:hover { border-color: var(--line); background: #f8f9f7; color: var(--ink); }
.icon-button .icon { width: 19px; height: 19px; }
.subtle-button { width: 32px; height: 32px; color: #90978f; }
.subtle-button .icon { width: 17px; height: 17px; }
.text-button { display: inline-flex; align-items: center; gap: 7px; padding: 0; border: 0; background: none; color: var(--green); cursor: pointer; font-size: 0.75rem; font-weight: 700; }
.text-button:hover { color: #294438; }
.text-button .icon { width: 15px; height: 15px; }
.text-link { color: var(--green); font-size: 0.75rem; font-weight: 650; }
.text-link:hover { text-decoration: underline; }
.eyebrow { display: block; color: #838b82; font-size: 0.5625rem; font-weight: 750; letter-spacing: .14em; line-height: 1.4; }
.light-eyebrow { color: #a8b7aa; }

/* Sign in */
.auth-page { display: grid; min-height: 100vh; grid-template-columns: minmax(370px, .88fr) minmax(460px, 1.12fr); background: white; }
.auth-visual { position: relative; display: flex; min-height: 660px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 34px 46px; background: #20342b; color: #f3f4f0; }
.auth-visual::before { position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 73%, rgb(115 145 116 / 19%), transparent 54%), linear-gradient(145deg, transparent 50%, rgb(7 21 15 / 20%)); content: ""; }
.auth-visual-top, .auth-visual-copy, .auth-visual-foot { position: relative; z-index: 1; }
.pitch-art { position: absolute; top: 18%; left: -6%; width: 112%; height: 50%; opacity: .34; }
.pitch-art::before { position: absolute; inset: 0 5%; border: 1px solid #b0c0ad; border-radius: 50%; content: ""; }
.pitch-circle { position: absolute; top: 0; bottom: 0; left: 40%; width: 20%; border: 1px solid #b0c0ad; border-radius: 50%; }
.pitch-line { position: absolute; top: 0; bottom: 0; left: 50%; border-left: 1px solid #b0c0ad; }
.pitch-box { position: absolute; top: 28%; width: 15%; height: 44%; border: 1px solid #b0c0ad; }
.pitch-box-left { left: 5%; border-left: 0; }
.pitch-box-right { right: 5%; border-right: 0; }
.pitch-dot { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #d9e2d6; box-shadow: 0 0 0 5px rgb(217 226 214 / 10%); }
.dot-one { top: 46%; left: 29%; }
.dot-two { top: 57%; left: 64%; }
.dot-three { top: 36%; left: 75%; }
.auth-visual-copy { max-width: 440px; margin-top: auto; padding: 0 0 58px 5px; }
.auth-visual-copy h2 { margin: 18px 0 13px; font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 600; letter-spacing: -.055em; line-height: 1.13; }
.auth-visual-copy p { max-width: 360px; margin: 0; color: #c2cdc2; font-size: 0.875rem; line-height: 1.8; }
.auth-visual-foot { display: flex; justify-content: space-between; color: #a7b4a8; font-size: 0.625rem; letter-spacing: .045em; }
.auth-form-side { display: flex; min-height: 100vh; flex-direction: column; justify-content: center; padding: 48px 9.5%; }
.auth-form-wrap { width: min(100%, 390px); margin: auto; }
.auth-mobile-brand { display: none; margin-bottom: 55px; }
.auth-heading { margin-bottom: 31px; }
.auth-heading h1 { margin: 13px 0 9px; font-size: clamp(1.6875rem, 3vw, 2.1875rem); font-weight: 630; letter-spacing: -.05em; line-height: 1.2; }
.auth-heading p { margin: 0; color: #818980; font-size: 0.8125rem; line-height: 1.6; }
.auth-form { display: grid; gap: 9px; }
.auth-form > label, .field-row-label label, .assistant-modal form > label { margin-top: 10px; color: #515950; font-size: 0.6875rem; font-weight: 650; }
.field-row-label { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; }
.auth-form input, .form-field input, .form-field select, .form-field textarea, .assistant-modal input, .assistant-modal textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #e2e5df; border-radius: 6px; background: #fff; color: var(--ink); font-size: 0.75rem; outline: none; transition: border .16s ease, box-shadow .16s ease; }
.auth-form input::placeholder, .form-field input::placeholder, .form-field textarea::placeholder, .assistant-modal input::placeholder, .assistant-modal textarea::placeholder { color: #a4aaa2; }
.auth-form input:focus, .form-field input:focus, .form-field select:focus, .form-field textarea:focus, .assistant-modal input:focus, .assistant-modal textarea:focus { border-color: #91a595; box-shadow: 0 0 0 3px rgb(87 128 96 / 10%); }
.auth-switch { margin: 23px 0 0; color: #80877f; text-align: center; font-size: 0.75rem; }
.auth-switch a { margin-left: 3px; color: var(--green); font-weight: 700; }
.auth-privacy-note { margin: 3px 0 6px; color: #858d84; font-size: 0.625rem; line-height: 1.55; }
.registration-confirmation { color: #6c756b; font-size: 0.8125rem; line-height: 1.7; }
.registration-confirmation p { margin: 0; }
.demo-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 40px; padding-top: 17px; border-top: 1px solid #eff0ed; color: #8b9289; font-size: 0.625rem; }
.demo-indicator, .saved-dot, .status-dot { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--team-secondary, #83a08a); }
.auth-footer { display: flex; justify-content: space-between; gap: 18px; margin-top: 55px; color: #a0a69f; font-size: 0.5625rem; }
.form-alert { margin: -11px 0 18px; padding: 11px 13px; border: 1px solid #ead9c7; border-radius: 6px; background: #fff9f2; color: #8a5d2e; font-size: 0.75rem; line-height: 1.5; }

/* Application shell */
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 20; top: 0; left: 0; display: flex; width: 238px; height: 100vh; height: 100dvh; flex-direction: column; padding: 25px 15px 13px; border-right: 1px solid #e9ebe6; background: #fbfcfa; }
.sidebar-top, .sidebar-account-footer { flex: 0 0 auto; }
.sidebar-scroll { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.sidebar-scroll::-webkit-scrollbar { width: 4px; }
.sidebar-scroll::-webkit-scrollbar-thumb { border-radius: 4px; background: #dce3da; }
.sidebar-brand { padding: 0 12px 35px; }
.sidebar .brand { font-size: 0.9375rem; }
.sidebar .brand-symbol { width: 18px; height: 17px; }
.sidebar .brand-copy { max-width: calc(100% - 28px); gap: 3px; }
.sidebar .brand-release { color: #929a91; font-size: .4375rem; }
.workspace-label, .nav-label { padding: 0 12px; color: #a2a8a0; font-size: 0.5rem; font-weight: 750; letter-spacing: .13em; }
.department-switch { display: flex; width: 100%; align-items: center; gap: 10px; margin: 12px 0 24px; padding: 9px; border: 1px solid #e9ebe6; border-radius: 7px; background: white; text-align: left; }
.product-switcher { position: relative; z-index: 22; }
.product-switcher > summary { cursor: pointer; list-style: none; }
.product-switcher > summary::-webkit-details-marker { display: none; }
.product-switcher > summary > .icon { margin-left: auto; transition: transform .16s ease; }
.product-switcher[open] > summary > .icon { transform: rotate(90deg); }
.product-switcher > summary:hover, .product-switcher[open] > summary { border-color: #d7e2d7; background: #fcfdfb; }
.department-switch-static { cursor: default; }
.product-switch-menu { position: absolute; z-index: 23; top: calc(100% - 16px); right: 0; left: 0; display: grid; gap: 3px; padding: 5px; border: 1px solid #e4e9e2; border-radius: 7px; background: #fff; box-shadow: 0 12px 28px rgb(31 44 32 / 12%); }
.product-switch-option { display: grid; min-height: 49px; grid-template-columns: 28px minmax(0, 1fr) 15px; align-items: center; gap: 9px; padding: 6px 7px; border-radius: 5px; color: #717a70; }
.product-switch-option:hover, .product-switch-option.is-active { background: #f2f6f1; color: #38543d; }
.product-switch-mark { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #e0e9df; border-radius: 5px; background: #f8faf7; color: #54745a; font-size: .65rem; font-weight: 750; }
.product-switch-option > span:nth-child(2) { display: grid; min-width: 0; gap: 3px; }
.product-switch-option strong { overflow: hidden; font-size: .61rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.product-switch-option small { color: #929a90; font-size: .52rem; }
.product-switch-option > .icon { width: 14px; height: 14px; color: #52775a; }
.department-mark { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border-radius: 5px; background: var(--green-soft); color: var(--green-deep); font-size: 0.8125rem; font-weight: 750; }
.department-copy, .sidebar-user-copy { display: grid; min-width: 0; gap: 3px; }
.department-copy strong, .sidebar-user-copy strong { overflow: hidden; color: #373e37; font-size: 0.6875rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.department-copy small, .sidebar-user-copy small { overflow: hidden; color: #969d95; font-size: 0.5625rem; text-overflow: ellipsis; white-space: nowrap; }
.department-switch > .icon { width: 16px; height: 16px; margin-left: auto; color: #abb1a9; }
.side-nav { display: flex; flex-direction: column; gap: 3px; }
.nav-label { margin: 0 0 6px; }
.nav-label-space { margin-top: 25px; }
.nav-link { position: relative; display: flex; min-height: 39px; align-items: center; gap: 11px; padding: 0 11px; border-radius: 6px; color: #747c73; font-size: 0.6875rem; font-weight: 550; transition: color .16s ease, background .16s ease; }
.nav-link > .icon { width: 16px; height: 16px; color: #8c948a; }
.nav-link:hover { background: var(--green-soft); color: var(--green-deep); }
.nav-link.is-active { background: var(--green-soft); color: var(--green-deep); font-weight: 700; }
.nav-link.is-active > .icon { color: var(--green); }
.nav-count { display: grid; min-width: 18px; height: 18px; place-items: center; margin-left: auto; padding: 0 5px; border-radius: 9px; background: #fff; color: #728073; font-size: 0.5625rem; font-weight: 700; }
.sidebar-help { display: grid; gap: 11px; margin: auto 4px 15px; padding: 14px; border: 1px solid #e9ede7; border-radius: 7px; background: #f5f7f3; }
.help-icon { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 6px; background: #e7eee8; color: #527259; }
.help-icon .icon { width: 15px; height: 15px; }
.sidebar-help strong { max-width: 155px; color: #515b50; font-size: 0.625rem; font-weight: 580; line-height: 1.5; }
.sidebar-help a { display: flex; align-items: center; gap: 6px; color: #54745a; font-size: 0.5625rem; font-weight: 700; }
.sidebar-help a .icon { width: 12px; height: 12px; }
.sidebar-user { display: flex; align-items: center; gap: 9px; padding: 12px 8px 1px; border-top: 1px solid #e9ebe6; }
.avatar { display: inline-grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 50%; background: #e9eee8; color: #49604c; font-size: 0.625rem; font-weight: 750; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.avatar-large { width: 48px; height: 48px; font-size: 0.875rem; }
.logout-button { width: 30px; height: 30px; margin-left: auto; }
.logout-button .icon { width: 16px; height: 16px; }
.app-main { min-height: 100vh; margin-left: 238px; }
.topbar { position: sticky; z-index: 10; top: 0; display: flex; height: 66px; align-items: center; justify-content: space-between; padding: 0 clamp(25px, 4vw, 55px); border-bottom: 1px solid #e9ebe6; background: rgb(247 248 245 / 94%); backdrop-filter: blur(14px); }
.topbar-breadcrumb { display: flex; align-items: center; gap: 8px; color: #8a9189; font-size: 0.625rem; }
.topbar-breadcrumb > .icon { width: 13px; height: 13px; color: #aab0a8; }
.topbar-breadcrumb strong { color: #535c52; font-size: 0.625rem; font-weight: 650; }
.topbar-actions { display: flex; align-items: center; gap: 15px; }
.search-wrap, .notification-wrap { position: relative; }
.search-box { display: flex; width: clamp(185px, 20vw, 250px); height: 34px; align-items: center; gap: 8px; padding: 0 9px; border: 1px solid #e4e7e1; border-radius: 6px; background: #fff; color: #969e95; }
.search-box:focus-within { border-color: #b7c6b8; box-shadow: 0 0 0 2px rgb(87 128 96 / 9%); }
.search-box .icon { width: 15px; height: 15px; }
.search-box input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 0.625rem; }
.search-box input::placeholder { color: #a0a69f; }
.search-box kbd { flex: 0 0 auto; padding: 2px 4px; border: 1px solid #e9ebe7; border-radius: 3px; background: #f8f9f7; color: #a1a69f; font: inherit; font-size: 0.5rem; }
.notification-button .icon { width: 18px; height: 18px; }
.notification-button > i { position: absolute; top: 7px; right: 8px; width: 5px; height: 5px; border: 1px solid var(--canvas); border-radius: 50%; background: #668e6d; }
.topbar-avatar { display: flex; align-items: center; }
.topbar-avatar .avatar { width: 29px; height: 29px; }
.mobile-menu { display: none; }
.page-content { width: min(100%, 1440px); margin: 0 auto; padding: 33px clamp(25px, 4vw, 55px) 44px; }
.app-footer { display: flex; justify-content: space-between; gap: 15px; padding: 0 clamp(25px, 4vw, 55px) 22px; color: #a3aaa1; font-size: 0.5625rem; }
.app-footer i { margin: 0 3px; font-style: normal; }

/* Dashboard */
.welcome-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 0 0 24px; }
.welcome-row .eyebrow { margin-bottom: 9px; }
.welcome-row h1, .page-heading h1 { margin: 0; color: #252d26; font-size: clamp(1.6875rem, 3vw, 2.125rem); font-weight: 620; letter-spacing: -.055em; line-height: 1.2; }
.welcome-period { color: var(--green); }
.welcome-row p, .page-heading p { margin: 8px 0 0; color: #858c83; font-size: 0.75rem; line-height: 1.6; }
.welcome-pill { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 4px; padding: 8px 11px; border: 1px solid #e4e9e2; border-radius: 20px; background: #fcfdfa; color: #768276; font-size: 0.5625rem; }
.welcome-pill-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--team-secondary, #739177); }
.dashboard-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: stretch; gap: 16px; }
.card { min-width: 0; border: 1px solid #e8ebe5; border-radius: 8px; background: var(--surface); box-shadow: var(--shadow); }
.match-card, .today-card { grid-column: span 6; min-height: 275px; padding: 19px 21px 15px; }
.assistant-card { grid-column: span 6; display: flex; min-height: 405px; flex-direction: column; overflow: hidden; border-radius: 8px; background: var(--brand-action); box-shadow: 0 12px 35px rgb(25 47 34 / 12%); color: var(--brand-on-action); }
.tasks-card { grid-column: span 6; min-height: 275px; padding: 18px 20px; }
.week-card { margin-bottom: 16px; padding: 19px 21px 17px; }
.card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.quiet-link { display: inline-flex; align-items: center; gap: 5px; color: #788378; font-size: 0.625rem; font-weight: 600; }
.quiet-link:hover { color: var(--green); }
.quiet-link .icon { width: 13px; height: 13px; }
.match-main { display: flex; align-items: center; gap: 15px; margin: 22px 0 20px; }
.match-date { display: grid; width: 48px; height: 54px; flex: 0 0 auto; align-content: center; justify-items: center; border: 1px solid #e9ece7; border-radius: 6px; background: #fafbf9; }
.match-date strong { color: #465246; font-size: 1.1875rem; font-weight: 650; letter-spacing: -.04em; line-height: 1.1; }
.match-date span { margin-top: 3px; color: #899186; font-size: 0.5rem; text-transform: uppercase; }
.match-info { min-width: 0; }
.match-info h2 { margin: 0 0 4px; color: #2c342c; font-size: 1.0625rem; font-weight: 660; letter-spacing: -.025em; }
.match-info p { overflow: hidden; margin: 0; color: #899087; font-size: 0.625rem; text-overflow: ellipsis; white-space: nowrap; }
.match-status { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 6px 8px; border-radius: 4px; background: #f1f5f0; color: #6e8370; font-size: 0.5rem; white-space: nowrap; }
.match-status .status-dot { width: 5px; height: 5px; }
.match-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; padding: 11px 0; border-top: 1px solid #eef0ec; border-bottom: 1px solid #eef0ec; color: #788076; font-size: 0.5625rem; }
.match-meta > span:not(.match-divider) { display: inline-flex; align-items: center; gap: 5px; }
.match-meta .icon { width: 12px; height: 12px; color: #9ca49a; }
.match-divider { height: 12px; border-left: 1px solid #e6e9e3; }
.match-progress { height: 3px; margin-top: 13px; overflow: hidden; border-radius: 4px; background: #edf0eb; }
.match-progress span { display: block; width: 60%; height: 100%; border-radius: inherit; background: var(--brand-action); }
.match-foot { display: flex; justify-content: space-between; margin-top: 6px; color: #8d958a; font-size: 0.5rem; }
.assistant-topline { display: flex; align-items: center; gap: 9px; padding: 18px 19px 0; }
.assistant-icon { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border: 1px solid rgb(255 255 255 / 15%); border-radius: 7px; background: rgb(255 255 255 / 8%); color: #c7d6c7; }
.assistant-icon .icon { width: 16px; height: 16px; }
.assistant-tag { color: #cad4c9; font-size: 0.5rem; font-weight: 700; letter-spacing: .12em; }
.assistant-online { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; color: #a3b4a5; font-size: 0.5rem; }
.assistant-online i { width: 5px; height: 5px; border-radius: 50%; background: #9cbe9e; }
.assistant-content { padding: 22px 21px 19px; }
.assistant-content > .eyebrow { margin-bottom: 9px; }
.assistant-content h2 { margin: 0; color: #f2f4f0; font-size: 1.8125rem; font-weight: 590; letter-spacing: -.05em; line-height: 1.12; }
.assistant-content > p { max-width: 300px; margin: 9px 0 18px; color: #b7c3b8; font-size: 0.625rem; line-height: 1.6; }
.assistant-input { display: flex; width: 100%; min-height: 42px; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 6px 5px 11px; border: 1px solid rgb(255 255 255 / 17%); border-radius: 6px; background: rgb(255 255 255 / 8%); color: #c6d0c6; cursor: pointer; text-align: left; font-size: 0.5625rem; }
.assistant-input:hover { background: rgb(255 255 255 / 12%); }
.assistant-send { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border-radius: 5px; background: #dfe9dd; color: #314a39; }
.assistant-send .icon { width: 15px; height: 15px; }
.assistant-quick-label { margin: 19px 0 8px; color: #96a899; font-size: 0.5rem; font-weight: 700; letter-spacing: .13em; }
.assistant-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.assistant-action { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 0 8px; border: 1px solid rgb(255 255 255 / 17%); border-radius: 4px; background: transparent; color: #d0dbd0; cursor: pointer; font-size: 0.5rem; }
.assistant-action:hover { border-color: rgb(255 255 255 / 34%); background: rgb(255 255 255 / 8%); }
.assistant-action .icon { width: 10px; height: 10px; opacity: .6; }
.assistant-context { display: flex; align-items: center; gap: 7px; margin-top: auto; padding: 12px 18px; border-top: 1px solid rgb(255 255 255 / 12%); color: #a6b6a7; font-size: 0.5rem; }
.assistant-context .icon { width: 12px; height: 12px; }
.today-card .card-heading { margin-bottom: 17px; }
.today-card .eyebrow { color: #738271; }
.today-card-main { display: flex; align-items: center; gap: 11px; }
.activity-symbol { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 7px; background: var(--green-soft); color: var(--green); }
.activity-symbol .icon { width: 17px; height: 17px; }
.activity-label { display: block; margin-bottom: 4px; color: #969e94; font-size: 0.4375rem; font-weight: 700; letter-spacing: .12em; }
.today-card-main h2 { margin: 0; color: #30382f; font-size: 0.875rem; font-weight: 650; letter-spacing: -.02em; }
.today-objective { margin: 14px 0; color: #868e85; font-size: 0.625rem; line-height: 1.55; }
.today-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-top: 11px; border-top: 1px solid #eef0ec; color: #727b71; font-size: 0.5625rem; }
.today-footer > span:first-child { display: inline-flex; align-items: center; gap: 6px; }
.today-footer .icon { width: 12px; height: 12px; color: #9ca49a; }
.today-footer i { color: #b4bab1; font-style: normal; }
.pill { display: inline-flex; align-items: center; gap: 5px; color: #6f8872; font-size: 0.5rem; }
.pill > i { width: 5px; height: 5px; border-radius: 50%; background: #87a38b; }
.tasks-card .card-heading { margin-bottom: 9px; }
.section-title { display: flex; align-items: center; gap: 7px; margin: 5px 0 0; color: #303830; font-size: 1rem; font-weight: 650; letter-spacing: -.035em; }
.task-count { display: inline-grid; min-width: 17px; height: 17px; place-items: center; border-radius: 5px; background: #f0f3ef; color: #768475; font-size: 0.5rem; font-weight: 650; letter-spacing: 0; }
.task-list { display: grid; }
.task-row { display: flex; min-height: 47px; align-items: center; gap: 10px; border-bottom: 1px solid #f0f1ee; cursor: pointer; }
.task-row > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.task-check { display: grid; width: 16px; height: 16px; flex: 0 0 auto; place-items: center; border: 1px solid #d9ded7; border-radius: 4px; color: transparent; transition: all .12s ease; }
.task-check .icon { width: 12px; height: 12px; }
.task-row:hover .task-check { border-color: #85a188; }
.task-row > input:focus-visible + .task-check { outline: 3px solid rgb(87 128 96 / 36%); outline-offset: 2px; }
.task-row > input:checked + .task-check { border-color: #6f8f73; background: #6f8f73; color: white; }
.task-copy { display: grid; min-width: 0; gap: 3px; }
.task-copy strong { overflow: hidden; color: #414940; font-size: 0.625rem; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
.task-copy small { overflow: hidden; color: #9aa198; font-size: 0.5rem; text-overflow: ellipsis; white-space: nowrap; }
.task-due { flex: 0 0 auto; margin-left: auto; color: #939b91; font-size: 0.5rem; }
.task-due.due-today { color: #a87943; }
.task-row.is-done .task-copy strong { color: #9ba198; text-decoration: line-through; }
.tasks-card > .text-button { margin-top: 12px; }
.empty-state { color: #868e85; font-size: 0.625rem; }
.week-card .card-heading { align-items: flex-start; margin-bottom: 15px; }
.week-card .section-title { margin-top: 4px; font-size: 1.1875rem; }
.week-card-subtitle { margin: 5px 0 0; color: #858d84; font-size: 0.5625rem; }
.program-view-switch { display: inline-flex; flex-wrap: wrap; gap: 3px; margin: 0 0 15px; padding: 3px; border: 1px solid #e8ece6; border-radius: 7px; background: #f8faf7; }
.program-view-tab { min-height: 31px; padding: 0 12px; border: 0; border-radius: 5px; background: transparent; color: #7a8579; font: inherit; font-size: 0.5625rem; cursor: pointer; }
.program-view-tab:hover { color: #3f6046; }
.program-view-tab.is-active { background: white; color: #38583f; box-shadow: 0 1px 4px rgb(32 47 32 / 9%); font-weight: 650; }
.program-view-tab:focus-visible, .month-day-select:focus-visible, .month-day-add:focus-visible { outline: 3px solid rgb(87 128 96 / 35%); outline-offset: 2px; }
.week-header-actions { display: flex; align-items: center; gap: 12px; }
.week-action-buttons { display: flex; align-items: center; gap: 7px; }
.week-navigation { display: flex; align-items: center; gap: 7px; color: #747e74; font-size: 0.5625rem; text-transform: capitalize; }
.week-navigation .icon-button { width: 29px; height: 29px; }
.week-navigation .icon { width: 14px; height: 14px; }
.week-navigation .week-next .icon { transform: rotate(180deg); }
.week-add-button { min-height: 35px; padding: 0 10px; font-size: 0.5625rem; }
.week-add-button .icon { width: 13px; height: 13px; }
.week-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); overflow: hidden; border: 1px solid #edf0eb; border-radius: 7px; }
.week-grid.is-daily { grid-template-columns: minmax(0, 1fr); }
.week-day { display: flex; min-width: 0; min-height: 185px; flex-direction: column; padding: 9px 8px 8px; border-right: 1px solid #edf0eb; }
.week-day:last-child { border-right: 0; }
.day-heading { display: flex; align-items: center; gap: 5px; color: #858d83; font-size: 0.5rem; }
.day-heading strong { display: grid; width: 22px; height: 22px; flex: 0 0 auto; place-items: center; margin-left: auto; border-radius: 50%; color: #626b61; font-size: 0.5625rem; font-weight: 600; }
.week-day.is-today .day-heading strong { background: var(--brand-action); color: var(--brand-on-action); }
.day-add-button { display: grid; width: 21px; height: 21px; flex: 0 0 auto; place-items: center; border: 1px solid #e8ece6; border-radius: 50%; background: white; color: #728472; cursor: pointer; }
.day-add-button .icon { width: 12px; height: 12px; }
.day-add-button:hover { border-color: #bfcfbe; background: #f4f7f3; }
.day-events { display: grid; flex: 1; align-content: start; gap: 5px; margin-top: 8px; }
.schedule-period-group { display: grid; gap: 5px; }
.schedule-period-group + .schedule-period-group { margin-top: 8px; padding-top: 7px; border-top: 1px solid #eef1ec; }
.schedule-period-group > h4 { margin: 0; color: #859084; font-size: .48rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.general-schedule-tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 22px; padding: 15px; border: 1px solid #edf0eb; border-radius: 7px; background: #fbfcfa; }
.general-schedule-tools label { display: grid; gap: 6px; color: #768175; font-size: .58rem; }
.general-schedule-tools select, .general-schedule-tools input { min-width: 0; min-height: 36px; padding: 0 9px; border: 1px solid #e1e7df; border-radius: 5px; background: #fff; color: #354538; font: inherit; font-size: .65rem; }
.general-schedule-list { display: grid; gap: 22px; }
.general-schedule-day { display: grid; gap: 12px; }
.general-schedule-day > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 9px; border-bottom: 1px solid #e7ece5; }
.general-schedule-day > header h3 { margin: 3px 0 0; color: #36483a; font-size: .9rem; font-weight: 650; text-transform: capitalize; }
.general-schedule-day > .schedule-period-group { gap: 8px; }
.general-schedule-day .week-event-entry { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px; border: 1px solid #edf0eb; border-radius: 6px; }
.general-schedule-day .week-event { width: 100%; text-align: left; }
.general-schedule-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.general-schedule-actions button { min-height: 29px; padding: 0 8px; border: 1px solid #e6eae4; border-radius: 4px; background: #fff; color: #536453; font: inherit; font-size: .55rem; cursor: pointer; }
.general-schedule-actions .danger-action { color: #a44d4d; }
.week-event-entry { display: grid; min-width: 0; align-content: start; gap: 3px; }
.week-event { display: grid; width: 100%; min-width: 0; gap: 4px; padding: 7px 6px; border: 0; border-left: 2px solid #718e75; border-radius: 3px; background: #f1f5f0; cursor: pointer; text-align: left; transition: box-shadow .15s ease, transform .15s ease; }
.week-event:hover { box-shadow: 0 2px 9px rgb(30 45 31 / 10%); transform: translateY(-1px); }
.week-event .event-topline { display: flex; align-items: center; justify-content: space-between; gap: 4px; min-width: 0; }
.week-event time, .week-event .event-topline i { overflow: hidden; color: #879388; font-size: 0.4375rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.week-event .event-topline i { color: #798779; }
.week-event.event-training { border-color: var(--team-primary, #718e75); background: var(--green-soft); }
.week-event.event-training strong { color: var(--green-deep); }
.week-event-main { display: flex; min-width: 0; align-items: center; gap: 5px; }
.week-event-thumb { display: block; width: 35px; flex: 0 0 35px; overflow: hidden; border-radius: 3px; }
.week-event-copy { display: grid; min-width: 0; gap: 3px; }
.week-event strong { overflow: hidden; color: #506150; font-size: 0.5rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.week-event-copy small, .week-event > small { overflow: hidden; color: #838d82; font-size: 0.4375rem; text-overflow: ellipsis; white-space: nowrap; }
.activity-diagram { display: block; width: 100%; height: auto; overflow: visible; }
.activity-field-bg { fill: #dfeadd; }
.activity-zone { fill: #a8c5a0; fill-opacity: .58; }
.activity-zone-indoor { fill: #d8cfa9; fill-opacity: .64; }
.activity-field-lines { fill: none; stroke: rgb(255 255 255 / 90%); stroke-width: 1.1; }
.activity-player { fill: #f8fbf5; stroke: #416447; stroke-width: 1; }
.activity-player-opponent { fill: #c87568; stroke: #8b5147; }
.activity-cone { fill: #efaa48; stroke: #a86b23; stroke-width: .8; }
.activity-ball { fill: #fff; stroke: #26352a; stroke-width: .55; }
.activity-ball path:first-of-type { fill: #26352a; stroke: #26352a; stroke-width: .35; }
.activity-ball path:not(:first-of-type) { fill: none; stroke: #26352a; stroke-width: .35; stroke-linecap: round; }
.activity-diagram-element.is-selected { filter: drop-shadow(0 0 1.5px #243b2d); }
.activity-arrow { fill: none; stroke: #385b3d; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.activity-arrow polygon { fill: #385b3d; }
.activity-arrow .activity-arrow-hit { stroke: transparent; stroke-width: 8; pointer-events: stroke; }
.activity-diagram-interactive .activity-diagram-element { cursor: pointer; }
.week-event-scale { color: #7a867a !important; font-size: 0.40625rem !important; }
.weekly-event-links { display: flex; flex-wrap: wrap; gap: 3px 8px; padding: 0 5px; }
.weekly-event-links a { color: #607a62; font-size: 0.4375rem; text-decoration: none; }
.weekly-event-links a:hover { text-decoration: underline; }
.event-reminder { display: inline-flex; align-items: center; gap: 3px; color: #687e69; font-size: 0.4375rem; }
.event-reminder .icon { width: 9px; height: 9px; }
.event-training { border-color: var(--team-primary, #718e75); background: var(--green-soft); }
.event-training strong { color: var(--green-deep); }
.event-match { border-color: #bc8c55; background: #faf4ec; }
.event-match strong { color: #826440; }
.event-video, .event-meeting { border-color: #8d8ab4; background: #f3f2f8; }
.event-video strong, .event-meeting strong { color: #696782; }
.event-physical, .event-recovery { border-color: #78a0a2; background: #eff6f5; }
.event-physical strong, .event-recovery strong { color: #527577; }
.event-travel { border-color: #8b8fa0; background: #f2f3f7; }
.event-travel strong { color: #5e6477; }
.event-rest { border-color: #b6b8aa; background: #f6f6f2; }
.event-rest strong { color: #727466; }
.week-event-entry--rest { gap: 0; }
.week-event--rest { min-height: 34px; justify-content: center; padding: 8px 9px; }
.week-event--rest .week-event-main { min-height: 17px; }
.week-event--video { gap: 5px; }
.video-analysis-notes { color: #778076 !important; font-size: 0.4375rem !important; line-height: 1.35; white-space: normal; }
.event-team { border-color: #89939a; background: #f2f4f5; }
.no-event { padding: 8px 3px; color: #a8afa6; font-size: 0.5rem; }
.day-add-text { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; margin-top: 6px; padding: 2px 0; border: 0; background: none; color: #89958a; cursor: pointer; font-size: 0.4375rem; }
.day-add-text .icon { width: 10px; height: 10px; }
.day-add-text:hover { color: #42644a; }
.calendar-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 15px; margin-top: 11px; color: #929990; font-size: 0.5rem; }
.calendar-legend span { display: inline-flex; align-items: center; gap: 5px; }
.calendar-legend i { width: 6px; height: 6px; border-radius: 2px; background: #718e75; }
.calendar-legend .legend-training { background: var(--team-primary, #718e75); }
.calendar-legend .legend-match { background: #bc8c55; }
.calendar-legend .legend-meeting { background: #8d8ab4; }
.calendar-legend .legend-recovery { background: #78a0a2; }
.calendar-legend .legend-explanation { margin-left: auto; color: #a1a89f; }
.reminder-mark { background: #eef3ed; color: #638067; }

/* Onboarding and profile */
.onboarding-page { min-height: 100vh; background: #fff; }
.onboarding-header { display: flex; height: 67px; align-items: center; justify-content: space-between; padding: 0 5.3%; border-bottom: 1px solid #eceee9; }
.onboarding-header .brand { font-size: 0.9375rem; }
.onboarding-saved { display: inline-flex; align-items: center; gap: 7px; color: #889087; font-size: 0.5625rem; }
.saved-dot { width: 6px; height: 6px; background: #8ba28d; }
.onboarding-exit { color: #7e877d; }
.onboarding-layout { display: grid; min-height: calc(100vh - 67px); grid-template-columns: minmax(280px, .76fr) minmax(510px, 1.24fr); }
.onboarding-aside { position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: 58px clamp(35px, 6vw, 85px); background: #24392f; color: white; }
.onboarding-aside::after { position: absolute; right: -140px; bottom: -70px; width: 420px; height: 420px; border: 1px solid rgb(224 235 220 / 14%); border-radius: 50%; box-shadow: 0 0 0 45px rgb(224 235 220 / 3%), 0 0 0 95px rgb(224 235 220 / 3%); content: ""; }
.onboarding-aside > * { position: relative; z-index: 1; }
.onboarding-aside h2 { max-width: 370px; margin: 18px 0 14px; font-size: clamp(1.8125rem, 3vw, 2.625rem); font-weight: 590; letter-spacing: -.06em; line-height: 1.16; }
.onboarding-aside p { max-width: 330px; margin: 0; color: #bfcbc0; font-size: 0.75rem; line-height: 1.8; }
.onboarding-aside-line { width: 38px; margin-top: 40px; border-top: 1px solid #78907b; }
.aside-caption { margin-top: 12px; color: #9eafa0; font-size: 0.5rem; letter-spacing: .12em; }
.onboarding-form-side { display: flex; align-items: flex-start; justify-content: center; padding: 50px 7%; }
.onboarding-form-wrap { width: min(100%, 540px); }
.onboarding-progress { margin-bottom: 32px; }
.progress-track { height: 3px; overflow: hidden; border-radius: 5px; background: #edf0eb; }
.progress-track > span { display: block; height: 100%; border-radius: inherit; background: var(--brand-action); transition: width .25s ease; }
.progress-labels { display: flex; justify-content: space-between; margin-top: 11px; }
.progress-labels > span { display: flex; align-items: center; gap: 6px; color: #9aa198; font-size: 0.5625rem; }
.progress-labels i { display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid #e4e8e2; border-radius: 50%; color: #92998f; font-size: 0.5rem; font-style: normal; }
.progress-labels .is-current { color: var(--green-deep); font-weight: 700; }
.progress-labels .is-current i { border-color: var(--brand-action); background: var(--brand-action); color: var(--brand-on-action); }
.progress-labels .is-complete i { border-color: var(--green-soft); background: var(--green-soft); color: var(--green-deep); }
.onboarding-intro { margin-bottom: 23px; }
.onboarding-step-number { color: #79907a; font-size: 0.5625rem; font-weight: 700; letter-spacing: .12em; }
.onboarding-step-number i { color: #bdc6bd; font-style: normal; }
.onboarding-intro h1 { margin: 11px 0 8px; color: #273129; font-size: clamp(1.6875rem, 3vw, 2.125rem); font-weight: 620; letter-spacing: -.055em; line-height: 1.14; }
.onboarding-intro p { margin: 0; color: #858d84; font-size: 0.6875rem; line-height: 1.7; }
.department-choice { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid #dbe5db; border-radius: 7px; background: #f7faf6; }
.department-choice-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 6px; background: #e4ede4; color: #3f6047; font-size: 0.9375rem; font-weight: 750; }
.department-choice > span:nth-child(2) { display: grid; gap: 4px; }
.department-choice strong { color: #3f4e40; font-size: 0.6875rem; }
.department-choice small { color: #889287; font-size: 0.5625rem; }
.choice-radio { display: grid; width: 17px; height: 17px; place-items: center; margin-left: auto; border: 1px solid #759078; border-radius: 50%; }
.choice-radio i { width: 8px; height: 8px; border-radius: 50%; background: #648168; }
.availability-note { margin: 11px 0 0; color: #939a91; font-size: 0.5625rem; line-height: 1.6; }
.photo-upload { display: flex; align-items: center; gap: 11px; margin: 0 0 20px; cursor: pointer; }
.photo-upload > span:nth-child(2) { display: grid; gap: 4px; }
.photo-upload strong { color: #4d584d; font-size: 0.625rem; font-weight: 650; }
.photo-upload small { color: #969d94; font-size: 0.5rem; }
.photo-upload > input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.photo-add { display: grid; width: 25px; height: 25px; place-items: center; margin-left: auto; border: 1px solid #e3e7e1; border-radius: 50%; color: #738373; }
.photo-add .icon { width: 14px; height: 14px; }
.profile-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.form-field { display: grid; min-width: 0; gap: 6px; }
.form-field label { color: #515a50; font-size: 0.625rem; font-weight: 650; }
.form-field label span, .assistant-modal form > label span { color: #a2a89f; font-size: 0.5625rem; font-weight: 450; }
.form-field input, .form-field select { min-height: 41px; padding: 9px 10px; font-size: 0.625rem; }
.form-field select { appearance: none; padding-right: 28px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%237e897d' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; }
.form-field textarea { min-height: 80px; resize: vertical; font-size: 0.625rem; line-height: 1.6; }
.field-span-2 { grid-column: 1 / -1; }
.onboarding-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 22px; padding-top: 15px; border-top: 1px solid #edf0eb; }
.onboarding-actions .button { min-width: 112px; min-height: 41px; font-size: 0.625rem; }
.onboarding-privacy { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 14px 0 0; color: #999f97; font-size: 0.5rem; }
.onboarding-privacy .icon { width: 12px; height: 12px; color: #729076; }
.onboarding-form-wrap .form-alert { margin: -15px 0 18px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.page-heading .eyebrow { margin-bottom: 9px; }
.profile-edit-label { display: inline-flex; align-items: center; gap: 5px; margin-bottom: 4px; color: #7e8b7d; font-size: 0.5625rem; }
.profile-edit-label .icon { width: 13px; height: 13px; }
.profile-card { max-width: 820px; padding: 21px 23px 25px; }
.profile-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 19px; border-bottom: 1px solid #edf0eb; }
.profile-card-heading > div { display: flex; align-items: center; gap: 13px; }
.profile-card-heading h2 { margin: 0 0 4px; color: #303830; font-size: 0.875rem; font-weight: 680; }
.profile-card-heading p { margin: 0; color: #899187; font-size: 0.5625rem; }
.profile-card-heading p span { margin: 0 3px; color: #b6bcb4; }
.profile-dept-pill { padding: 6px 9px; border: 1px solid #e4eae2; border-radius: 4px; color: #647964; font-size: 0.5625rem; }
.profile-edit-form { display: grid; gap: 15px; }
.profile-photo-upload { margin: 16px 0 0; }
.profile-section-label { margin: 6px 0 -3px; color: #8b9489; font-size: 0.5rem; font-weight: 750; letter-spacing: .13em; }
.section-label-spaced { margin-top: 10px; padding-top: 17px; border-top: 1px solid #edf0eb; }
.profile-edit-form > .button { justify-self: start; min-height: 41px; margin-top: 5px; font-size: 0.625rem; }
.team-identity-panel { display: grid; gap: 15px; padding: 16px; border: 1px solid #e7ebe5; border-radius: 8px; background: #fbfcfa; }
.team-logo-row { display: flex; align-items: center; gap: 13px; }
.team-logo-preview { display: grid; width: 66px; height: 66px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid #e4e9e2; border-radius: 9px; background: #fff; color: var(--team-primary-text, var(--team-primary)); font-size: 1.0625rem; font-weight: 750; }
.team-logo-preview img { width: 100%; height: 100%; padding: 5px; object-fit: contain; }
.team-logo-copy { display: grid; min-width: 0; gap: 5px; }
.team-logo-copy strong { color: #4d584d; font-size: 0.625rem; font-weight: 650; }
.team-logo-copy small { color: #969d94; font-size: 0.5rem; }
.team-logo-picker { width: max-content; min-height: 32px; margin-top: 3px; font-size: 0.5625rem; }
.team-logo-picker .icon { width: 13px; height: 13px; }
.team-logo-file { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.team-logo-remove { margin-left: auto; font-size: 0.5625rem; }
.team-logo-remove[hidden] { display: none; }
.team-color-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.team-color-option { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid #e8ece6; border-radius: 6px; background: #fff; color: #515a50; font-size: 0.5625rem; font-weight: 650; }
.team-color-option input[type="color"] { width: 48px; height: 34px; min-height: 34px; padding: 3px; border: 1px solid #e2e5df; border-radius: 5px; background: #fff; cursor: pointer; }
.team-brand-preview { display: flex; min-height: 37px; align-items: center; gap: 0; overflow: hidden; border: 1px solid #e5e9e3; border-radius: 5px; background: #fff; color: #586356; font-size: 0.5rem; }
.team-brand-preview > span { padding: 0 11px; }
.team-brand-preview > i { width: 33px; height: 37px; margin-left: auto; background: var(--team-primary); }
.team-brand-preview > i:last-child { width: 33px; margin-left: 0; background: var(--team-secondary); }
.team-brand-note { margin: -5px 0 0; color: #858d84; font-size: 0.5rem; line-height: 1.5; }
.team-brand-reset { justify-self: start; }
.game-model-grid { margin-top: 2px; }
.game-model-summary-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 5px; color: #687267; font-size: 0.625rem; font-weight: 650; }
.game-model-summary-tools .text-button { flex: 0 0 auto; }
.profile-form-grid .form-field select { width: 100%; }

/* Dialogs and search */
.modal-backdrop { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 20px; background: rgb(25 34 27 / 43%); backdrop-filter: blur(3px); animation: fade-in .15s ease-out; }
.assistant-modal { width: min(100%, 440px); padding: 22px 23px 20px; border: 1px solid #e8ebe5; border-radius: 9px; background: #fff; box-shadow: 0 22px 80px rgb(10 24 15 / 22%); animation: rise-in .18s ease-out; }
.modal-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.assistant-modal .assistant-icon { border-color: #e4ebe2; background: #edf3ed; color: #56745b; }
.assistant-modal h2 { margin: 8px 0 5px; color: #2a332b; font-size: 1.4375rem; font-weight: 650; letter-spacing: -.05em; }
.assistant-modal > p { margin: 0 0 20px; color: #848c82; font-size: 0.6875rem; line-height: 1.6; }
.assistant-modal form { display: grid; gap: 7px; }
.assistant-modal input { min-height: 42px; font-size: 0.625rem; }
.assistant-modal textarea { min-height: 76px; font-size: 0.625rem; line-height: 1.6; resize: vertical; }
.assistant-modal form > label:not(:first-child) { margin-top: 8px; }
.modal-context-note { display: flex; align-items: flex-start; gap: 7px; margin: 3px 0 4px; padding: 9px; border-radius: 5px; background: #f5f7f4; color: #788477; font-size: 0.5rem; line-height: 1.5; }
.modal-context-note .icon { width: 13px; height: 13px; color: #6c896f; }
.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; padding-top: 13px; border-top: 1px solid #eef0ec; }
.modal-actions .button { min-height: 39px; font-size: 0.5625rem; }
.notification-popover, .search-popover { position: absolute; z-index: 30; top: calc(100% + 11px); right: 0; width: 280px; overflow: hidden; border: 1px solid #e7eae4; border-radius: 7px; background: #fff; box-shadow: 0 12px 35px rgb(27 39 29 / 12%); }
.popover-heading { display: flex; align-items: center; justify-content: space-between; padding: 13px 14px 10px; border-bottom: 1px solid #eff1ed; }
.popover-heading strong { color: #414940; font-size: 0.625rem; }
.popover-heading span { color: #9ca49a; font-size: 0.5rem; }
.notification-item { display: flex; gap: 9px; padding: 14px; }
.notification-mark { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border-radius: 5px; background: #eef3ed; color: #69826a; }
.notification-mark .icon { width: 14px; height: 14px; }
.notification-item > span:last-child { display: grid; gap: 4px; }
.notification-item strong { color: #4c554b; font-size: 0.5625rem; font-weight: 650; }
.notification-item small { color: #90988f; font-size: 0.5rem; }
.popover-link { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-top: 1px solid #eff1ed; color: #5d795f; font-size: 0.5625rem; font-weight: 650; }
.popover-link .icon { width: 13px; height: 13px; }
.search-popover { right: auto; left: 0; width: min(320px, 80vw); padding: 7px; }
.search-results-heading { padding: 7px 8px 5px; color: #9ca49a; font-size: 0.5rem; font-weight: 750; letter-spacing: .12em; }
.search-result { display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: 4px; }
.search-result:hover { background: #f4f7f3; }
.search-result > .icon:first-child { width: 14px; height: 14px; color: #8d998d; }
.search-result > .icon:last-child { width: 13px; height: 13px; margin-left: auto; color: #acb4aa; }
.search-result > span { display: grid; gap: 3px; }
.search-result strong { color: #4c554c; font-size: 0.5625rem; font-weight: 650; }
.search-result small, .search-empty { color: #939a91; font-size: 0.5rem; }
.search-empty { padding: 5px 8px 9px; }
.toast { position: fixed; z-index: 80; right: 24px; bottom: 23px; max-width: min(380px, calc(100vw - 32px)); padding: 12px 16px; border: 1px solid #dce5dc; border-radius: 7px; background: #f8fbf7; box-shadow: 0 9px 35px rgb(20 36 24 / 13%); color: #435d47; font-size: 0.6875rem; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; }
.toast.is-visible { opacity: 1; transform: translateY(0); }
.mobile-scrim { display: none; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes rise-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

/* Responsive layouts */
@media (min-width: 1500px) {
  .dashboard-grid { gap: 18px; }
  .match-card, .today-card, .tasks-card { padding: 22px 24px; }
  .assistant-content { padding: 26px 24px 22px; }
  .assistant-content h2 { font-size: 2.0625rem; }
}
@media (max-width: 1200px) {
  .sidebar { width: 216px; }
  .app-main { margin-left: 216px; }
  .page-content { padding-right: 27px; padding-left: 27px; }
  .topbar { padding-right: 27px; padding-left: 27px; }
  .app-footer { padding-right: 27px; padding-left: 27px; }
  .match-card, .today-card, .assistant-card, .tasks-card { grid-column: span 6; }
  .assistant-content { padding-right: 16px; padding-left: 16px; }
  .assistant-topline { padding-right: 15px; padding-left: 15px; }
}
@media (max-width: 960px) {
  .auth-page { grid-template-columns: minmax(300px, .8fr) minmax(430px, 1.2fr); }
  .auth-visual { padding-right: 32px; padding-left: 32px; }
  .sidebar { width: 205px; }
  .app-main { margin-left: 205px; }
  .dashboard-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .match-card, .today-card, .assistant-card, .tasks-card { grid-column: span 3; }
  .tasks-card { grid-column: span 3; }
  .week-card { grid-column: 1 / -1; }
  .match-meta { gap: 8px; }
  .match-divider { display: none; }
  .week-grid { grid-template-columns: minmax(0, 1fr); }
  .week-day { display: grid; min-height: 0; grid-template-columns: 85px minmax(0, 1fr); gap: 10px; padding: 10px; border-right: 0; border-bottom: 1px solid #edf0eb; }
  .week-day:last-child { border-bottom: 0; }
  .day-heading { align-content: start; flex-wrap: wrap; justify-content: flex-start; gap: 5px; padding-top: 2px; }
  .day-heading > span { width: 100%; }
  .day-heading strong { margin-left: 0; }
  .day-add-button { margin-left: auto; }
  .day-events { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
  .day-add-text { display: none; }
  .calendar-legend .legend-explanation { width: 100%; margin-left: 0; }
}
@media (max-width: 720px) {
  .auth-page { display: flex; min-height: 100vh; flex-direction: column; }
  .auth-visual { display: none; }
  .auth-form-side { min-height: 100vh; padding: 27px 25px; }
  .auth-form-wrap { width: min(100%, 390px); }
  .auth-mobile-brand { display: block; margin: 0 0 55px; }
  .auth-footer { margin-top: 45px; }
  .sidebar { z-index: 42; width: 255px; padding-top: calc(25px + env(safe-area-inset-top, 0px)); padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); transform: translateX(-101%); transition: transform .22s ease; box-shadow: 14px 0 36px rgb(22 34 24 / 10%); }
  .sidebar.is-open { transform: translateX(0); }
  .sidebar-scroll { -webkit-overflow-scrolling: touch; }
  .sidebar-user { min-height: 58px; padding-top: 8px; padding-bottom: 4px; }
  .logout-button { width: 44px; height: 44px; flex: 0 0 44px; }
  .mobile-scrim { position: fixed; z-index: 41; inset: 0; display: block; background: rgb(22 31 24 / 34%); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  .mobile-scrim.is-visible { opacity: 1; pointer-events: auto; }
  .app-main { margin-left: 0; }
  .topbar { height: 58px; gap: 8px; padding: 0 17px; }
  .mobile-menu { display: inline-grid; width: 33px; height: 33px; margin-left: -5px; }
  .topbar-breadcrumb { gap: 5px; margin-right: auto; font-size: 0.5rem; }
  .topbar-breadcrumb strong { font-size: 0.5625rem; }
  .topbar-breadcrumb > .icon { width: 11px; height: 11px; }
  .topbar-actions { gap: 8px; }
  .search-box { width: 34px; height: 33px; justify-content: center; padding: 0; border-color: transparent; background: transparent; }
  .search-box input, .search-box kbd { display: none; }
  .search-box:focus-within { width: min(190px, 43vw); justify-content: flex-start; padding: 0 8px; border-color: #dfe4dc; background: #fff; }
  .search-box:focus-within input { display: block; }
  .notification-button { width: 33px; height: 33px; }
  .notification-button > i { top: 5px; right: 5px; }
  .topbar-avatar .avatar { width: 27px; height: 27px; }
  .page-content { padding: 25px 17px 33px; }
  .app-footer { padding: 0 17px 18px; font-size: 0.5rem; }
  .welcome-row { align-items: flex-start; margin-bottom: 19px; }
  .welcome-row h1 { font-size: 1.6875rem; }
  .welcome-row p { max-width: 350px; font-size: 0.625rem; }
  .welcome-pill { display: none; }
  .dashboard-grid { grid-template-columns: 1fr; gap: 12px; }
  .match-card, .assistant-card, .today-card, .tasks-card, .week-card { grid-column: 1; grid-row: auto; }
  .match-card { min-height: auto; padding: 17px; }
  .match-main { gap: 11px; margin: 17px 0 15px; }
  .match-info h2 { font-size: 0.9375rem; }
  .match-status { display: none; }
  .match-meta { gap: 9px 13px; font-size: 0.5rem; }
  .assistant-card { min-height: 0; }
  .assistant-content { padding: 20px 18px 18px; }
  .assistant-content h2 { font-size: 1.625rem; }
  .assistant-context { margin-top: 0; }
  .today-card, .tasks-card { min-height: 0; padding: 16px 17px; }
  .week-card { overflow: visible; padding: 15px 12px 13px; }
  .week-card .card-heading { flex-direction: column; gap: 12px; padding: 0 2px; }
  .week-card-subtitle { max-width: 310px; }
  .week-header-actions { width: 100%; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
  .week-navigation { flex: 1; justify-content: center; gap: 4px; }
  .week-navigation span { min-width: 125px; text-align: center; }
  .week-action-buttons { width: 100%; }
  .week-action-buttons .button { min-width: 0; flex: 1; justify-content: center; padding-right: 8px; padding-left: 8px; white-space: nowrap; }
  .week-grid { grid-template-columns: minmax(0, 1fr); }
  .week-day { display: grid; min-height: 0; grid-template-columns: 65px minmax(0, 1fr); gap: 8px; padding: 9px; border-right: 0; border-bottom: 1px solid #edf0eb; }
  .week-day:last-child { border-bottom: 0; }
  .day-heading { align-items: center; flex-wrap: wrap; align-content: start; justify-content: flex-start; gap: 4px; padding-top: 2px; }
  .day-heading > span { width: 100%; }
  .day-heading strong { margin-left: 0; }
  .day-add-button { width: 19px; height: 19px; margin-left: auto; }
  .day-events { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-top: 0; }
  .week-event { padding: 6px; }
  .week-event .event-topline i { max-width: 72px; }
  .day-add-text { display: none; }
  .calendar-legend { gap: 7px 11px; padding-left: 2px; }
  .calendar-legend .legend-explanation { width: 100%; margin-left: 0; }
  .onboarding-header { height: 58px; padding: 0 18px; }
  .onboarding-header .brand { max-width: 50%; font-size: 0.8125rem; }
  .onboarding-header .brand-copy { max-width: 124px; gap: 3px; }
  .onboarding-header .brand-release { font-size: .4375rem; line-height: 1.2; }
  .onboarding-saved { font-size: 0.5rem; }
  .onboarding-layout { min-height: calc(100vh - 58px); grid-template-columns: 1fr; }
  .onboarding-aside { display: none; }
  .onboarding-form-side { padding: 28px 22px 36px; }
  .onboarding-progress { margin-bottom: 27px; }
  .onboarding-intro h1 { font-size: 1.8125rem; }
  .profile-card { padding: 17px 15px 19px; }
  .profile-card-heading { align-items: flex-start; }
  .profile-dept-pill { font-size: 0.5rem; }
  .profile-form-grid { gap: 12px 9px; }
  .form-field label { font-size: 0.5625rem; }
  .page-heading { align-items: flex-start; }
  .page-heading h1 { font-size: 1.6875rem; }
  .page-heading p { font-size: 0.625rem; }
  .profile-edit-label { display: none; }
  .assistant-modal { padding: 19px 17px 16px; }
  .week-plan-modal { padding: 19px 16px 16px; }
  .week-plan-form-grid { gap: 10px 8px; }
  .week-plan-form-grid .training-field { min-width: 0; }
  .activity-form-preview { grid-template-columns: minmax(0, 1fr) 105px; gap: 7px; padding: 9px; }
  .weekly-details-editor { padding: 11px; }
  .week-plan-modal .modal-actions { flex-wrap: wrap; }
  .week-plan-modal .modal-actions > span { display: none; }
  .notification-popover { right: -36px; }
  .search-popover { left: auto; right: -85px; }
}
@media (max-width: 390px) {
  .topbar-breadcrumb > span { display: none; }
  .topbar-breadcrumb > .icon { display: none; }
  .topbar-actions { gap: 3px; }
  .page-content { padding-right: 13px; padding-left: 13px; }
  .app-footer { padding-right: 13px; padding-left: 13px; }
  .profile-form-grid { grid-template-columns: 1fr; }
  .team-identity-panel { padding: 12px; }
  .team-logo-row { flex-wrap: wrap; }
  .team-logo-remove { margin-left: 0; }
  .team-color-options { gap: 7px; }
  .team-color-option { padding: 7px; font-size: 0.5rem; }
  .team-color-option input[type="color"] { width: 39px; }
  .field-span-2 { grid-column: auto; }
  .progress-labels > span { gap: 4px; font-size: 0.5rem; }
  .auth-form-side { padding-right: 20px; padding-left: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Núcleo Analista: apresentação e navegação independentes do Treinador */
.analyst-shell { display: flex; min-height: 100vh; flex-direction: column; background: #f7f8f5; }
.analyst-topbar { position: relative; z-index: 1; display: grid; min-height: 78px; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 0 clamp(22px, 5vw, 76px); border-bottom: 1px solid #e7e9e4; background: rgb(255 255 255 / 94%); }
.analyst-brand { display: inline-flex; width: fit-content; align-items: center; gap: 11px; color: #24372c; }
.analyst-brand > span:last-child { display: grid; gap: 3px; }
.analyst-brand strong { font-size: .95rem; font-weight: 780; letter-spacing: .13em; line-height: 1; }
.analyst-brand small { color: #78857a; font-size: .48rem; font-weight: 760; letter-spacing: .18em; }
.analyst-brand-mark { display: flex; height: 25px; align-items: flex-end; gap: 3px; padding: 3px; border: 1.4px solid #42654e; border-radius: 6px 6px 8px 8px; transform: skew(-8deg); }
.analyst-brand-mark i { display: block; width: 4px; border-radius: 2px; background: #42654e; }
.analyst-brand-mark i:nth-child(1) { height: 9px; opacity: .58; }
.analyst-brand-mark i:nth-child(2) { height: 14px; opacity: .8; }
.analyst-brand-mark i:nth-child(3) { height: 19px; }
.analyst-product-nav { display: flex; align-self: stretch; align-items: center; gap: 25px; }
.analyst-product-nav a { display: inline-flex; height: 100%; align-items: center; border-bottom: 2px solid transparent; color: #858d84; font-size: .68rem; font-weight: 620; white-space: nowrap; }
.analyst-product-nav a:hover, .analyst-product-nav a.is-current { color: #2e4837; }
.analyst-product-nav a.is-current { border-bottom-color: #54775b; }
.analyst-account { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 16px; color: #899087; font-size: .625rem; }
.analyst-account > span { overflow: hidden; max-width: 230px; text-overflow: ellipsis; white-space: nowrap; }
.analyst-logout { display: inline-flex; align-items: center; gap: 6px; padding: 8px 0 8px 10px; border: 0; background: none; color: #687368; cursor: pointer; font-size: .625rem; }
.analyst-logout:hover { color: #294438; }
.analyst-logout .icon { width: 14px; height: 14px; }
.analyst-main { width: min(100%, 1160px); flex: 1; align-self: center; padding: clamp(44px, 7vw, 88px) clamp(20px, 5vw, 70px) 64px; }
.analyst-welcome { max-width: 730px; margin-bottom: clamp(40px, 6vw, 70px); }
.analyst-eyebrow, .analyst-overline { color: #849085; font-size: .54rem; font-weight: 760; letter-spacing: .16em; }
.analyst-eyebrow { display: flex; align-items: center; gap: 9px; }
.analyst-eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: #78917a; box-shadow: 0 0 0 4px #e7eee7; }
.analyst-welcome h1 { margin: 20px 0 13px; color: #27352b; font-size: clamp(2.3rem, 5vw, 4rem); font-weight: 590; letter-spacing: -.065em; line-height: 1.05; }
.analyst-welcome h1 em { color: #62806a; font-style: normal; }
.analyst-welcome p { max-width: 590px; margin: 0; color: #7b847b; font-size: clamp(.8rem, 1.4vw, .94rem); line-height: 1.75; }
.analyst-module-section { border-top: 1px solid #e1e5df; }
.analyst-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 23px 0 20px; }
.analyst-section-heading h2 { margin: 8px 0 0; color: #354037; font-size: clamp(1.05rem, 2vw, 1.32rem); font-weight: 620; letter-spacing: -.035em; }
.analyst-section-note { padding-bottom: 3px; color: #9aa198; font-size: .625rem; }
.analyst-module-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #e5e8e3; border-left: 1px solid #e5e8e3; }
.analyst-module { position: relative; display: grid; min-height: 164px; grid-template-columns: 32px 43px minmax(0, 1fr) 22px; align-items: start; gap: 15px; padding: 25px 23px 23px; border-right: 1px solid #e5e8e3; border-bottom: 1px solid #e5e8e3; background: rgb(255 255 255 / 56%); transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.analyst-module:hover { z-index: 1; background: #fff; box-shadow: 0 14px 32px rgb(35 52 39 / 6%); transform: translateY(-2px); }
.analyst-module-number { padding-top: 4px; color: #a0a89f; font-size: .54rem; font-weight: 700; letter-spacing: .08em; }
.analyst-module-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #e1e9e1; border-radius: 10px; background: #f3f7f2; color: #4d7055; }
.analyst-module-icon .icon { width: 19px; height: 19px; }
.analyst-module-copy { display: grid; gap: 9px; padding-top: 2px; }
.analyst-module-copy strong { color: #354238; font-size: .88rem; font-weight: 680; letter-spacing: -.015em; }
.analyst-module-copy small { max-width: 285px; color: #848d84; font-size: .65rem; line-height: 1.65; }
.analyst-module-arrow { align-self: center; color: #9ba79b; transition: transform .18s ease, color .18s ease; }
.analyst-module-arrow .icon { width: 16px; height: 16px; }
.analyst-module:hover .analyst-module-arrow { color: #43634a; transform: translateX(3px); }
.analyst-footer { display: flex; justify-content: space-between; gap: 20px; padding: 17px clamp(20px, 5vw, 76px) 20px; border-top: 1px solid #e7e9e4; color: #9ba198; font-size: .55rem; }
.analyst-footer i { padding: 0 4px; font-style: normal; }
.analyst-placeholder { display: flex; min-height: min(620px, calc(100vh - 190px)); flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.analyst-back-link { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 auto; align-self: flex-start; color: #69786b; font-size: .68rem; font-weight: 620; }
.analyst-back-link:hover { color: #2f503a; }
.analyst-back-link .icon { width: 15px; height: 15px; transform: rotate(180deg); }
.analyst-placeholder-symbol { display: grid; width: 64px; height: 64px; place-items: center; margin: auto 0 22px; border: 1px solid #dfe8df; border-radius: 17px; background: #f0f5ef; color: #4f7156; }
.analyst-placeholder-symbol .icon { width: 27px; height: 27px; }
.analyst-placeholder h1 { margin: 10px 0 8px; color: #2c3b30; font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 610; letter-spacing: -.05em; }
.analyst-placeholder p { margin: 0 auto auto; color: #828b82; font-size: .82rem; }
@media (max-width: 720px) {
  .analyst-topbar { min-height: 68px; grid-template-columns: 1fr auto; gap: 8px 14px; padding: 0 18px; }
  .analyst-brand { grid-column: 1; grid-row: 1; }
  .analyst-product-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 22px; border-top: 1px solid #f0f1ee; }
  .analyst-product-nav a { min-height: 40px; font-size: .625rem; }
  .analyst-account { grid-column: 2; grid-row: 1; gap: 9px; }
  .analyst-account > span { max-width: min(31vw, 170px); font-size: .55rem; }
  .analyst-logout { font-size: 0; }
  .analyst-logout .icon { width: 17px; height: 17px; }
  .analyst-main { padding: 43px 19px 48px; }
  .analyst-welcome { margin-bottom: 40px; }
  .analyst-section-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .analyst-module-list { grid-template-columns: 1fr; }
  .analyst-module { min-height: 128px; grid-template-columns: 25px 40px minmax(0, 1fr) 18px; gap: 11px; padding: 20px 15px; }
  .analyst-module-icon { width: 39px; height: 39px; }
  .analyst-module-copy strong { font-size: .82rem; }
  .analyst-module-copy small { font-size: .61rem; }
  .analyst-footer { flex-direction: column; gap: 7px; padding-right: 19px; padding-left: 19px; }
  .analyst-placeholder { min-height: calc(100vh - 250px); }
}
@media (max-width: 390px) {
  .analyst-topbar { padding-right: 14px; padding-left: 14px; }
  .analyst-account > span { max-width: 28vw; }
  .analyst-main { padding-right: 14px; padding-left: 14px; }
  .analyst-module { grid-template-columns: 20px 36px minmax(0, 1fr) 15px; gap: 8px; padding-right: 11px; padding-left: 11px; }
  .analyst-module-icon { width: 35px; height: 35px; }
  .analyst-module-copy small { font-size: .58rem; }
}

/* Núcleo Analista — Análise de Equipe */
.analyst-page-heading { margin: 0 0 29px; }
.analyst-page-heading > .analyst-back-link { margin-bottom: 23px; }
.analyst-page-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.analyst-page-title h1 { margin: 8px 0 7px; color: #27352b; font-size: clamp(1.8rem, 4vw, 2.7rem); font-weight: 610; letter-spacing: -.055em; line-height: 1.1; }
.analyst-page-title p { max-width: 620px; margin: 0; color: #7b847b; font-size: .78rem; line-height: 1.65; }
.analyst-heading-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.analyst-primary-button, .analyst-secondary-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 8px; padding: 0 15px; border: 1px solid transparent; border-radius: 6px; cursor: pointer; font: inherit; font-size: .66rem; font-weight: 680; white-space: nowrap; }
.analyst-primary-button { background: #294438; color: #fff; }
.analyst-primary-button:hover { background: #1f372c; }
.analyst-secondary-button { border-color: #e2e7e0; background: #fff; color: #58675a; }
.analyst-secondary-button:hover { border-color: #bdcbbd; color: #294438; }
.analyst-primary-button .icon, .analyst-secondary-button .icon { width: 15px; height: 15px; }
.analyst-report-section { border-top: 1px solid #e1e5df; }
.analyst-report-section > .analyst-section-heading { padding-top: 20px; }
.analyst-search-form { display: flex; max-width: 610px; gap: 8px; margin: 4px 0 16px; }
.analyst-search { display: flex; min-width: 0; flex: 1; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid #e5e9e3; border-radius: 6px; background: white; color: #8b958b; }
.analyst-search .icon { width: 16px; height: 16px; flex: 0 0 auto; }
.analyst-search input { width: 100%; min-height: 41px; border: 0; outline: none; color: #354238; font: inherit; font-size: .68rem; }
.analyst-filter-select select { min-height: 41px; padding: 0 10px; border: 1px solid #e3e8e1; border-radius: 5px; background: #fff; color: #59685b; font: inherit; font-size: .61rem; }
.analyst-report-list { display: grid; border-top: 1px solid #e5e8e3; }
.analyst-report-row { display: grid; grid-template-columns: 49px minmax(0, 1fr) 68px auto; align-items: center; gap: 17px; min-width: 0; padding: 15px 9px; border-bottom: 1px solid #e9ece7; }
.analyst-report-date { display: grid; width: 45px; height: 48px; align-content: center; justify-items: center; border: 1px solid #e8ece6; border-radius: 6px; background: #fbfcfa; }
.analyst-report-date strong { color: #405744; font-size: .95rem; line-height: 1.1; }
.analyst-report-date small { color: #8d968d; font-size: .49rem; }
.analyst-report-main { min-width: 0; }
.analyst-report-main > div { display: flex; align-items: center; gap: 8px; }
.analyst-report-main .analyst-overline { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analyst-report-status { padding: 3px 7px; border-radius: 20px; background: #f4f2e9; color: #877750; font-size: .48rem; white-space: nowrap; }
.analyst-report-status.is-final { background: #edf4ee; color: #527259; }
.analyst-report-main h2 { overflow: hidden; margin: 5px 0 3px; color: #344137; font-size: .82rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.analyst-report-main h2 i { padding: 0 4px; color: #9da69c; font-style: normal; font-weight: 400; }
.analyst-report-main p { overflow: hidden; margin: 0; color: #8b938a; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.analyst-report-main p i { padding: 0 4px; font-style: normal; }
.analyst-report-score { color: #354c3a; font-size: .87rem; font-variant-numeric: tabular-nums; text-align: center; }
.analyst-report-actions { display: flex; align-items: center; gap: 11px; }
.analyst-report-actions a, .analyst-report-actions button { padding: 6px 2px; border: 0; background: none; color: #627666; cursor: pointer; font: inherit; font-size: .59rem; font-weight: 650; }
.analyst-report-actions a:hover, .analyst-report-actions button:hover { color: #294438; text-decoration: underline; }
.analyst-empty { display: grid; min-height: 280px; align-content: center; justify-items: center; padding: 30px; text-align: center; }
.analyst-empty .analyst-placeholder-symbol { margin: 0 0 13px; }
.analyst-empty h2 { margin: 0 0 6px; color: #354238; font-size: 1.05rem; }
.analyst-empty p { margin: 0 0 16px; color: #838c83; font-size: .7rem; }
.analyst-editor-heading { margin-bottom: 18px; }
.analyst-editor-heading .analyst-page-title { align-items: center; }
.analyst-report-form { display: grid; gap: 15px; }
.analyst-form-section { padding: 22px; border: 1px solid #e7ebe5; border-radius: 8px; background: #fff; }
.analyst-form-section-heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 20px; }
.analyst-form-index { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 6px; background: #eff4ee; color: #55735b; font-size: .56rem; font-weight: 760; letter-spacing: .04em; }
.analyst-form-section-heading h2 { margin: 1px 0 4px; color: #354238; font-size: .91rem; font-weight: 680; }
.analyst-form-section-heading p { margin: 0; color: #8a9389; font-size: .62rem; line-height: 1.55; }
.analyst-form-section-heading > .analyst-secondary-button { margin-left: auto; white-space: nowrap; }
.analyst-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.analyst-field { display: grid; min-width: 0; gap: 7px; color: #657166; font-size: .61rem; font-weight: 640; }
.analyst-field > span i { color: #9b6558; font-style: normal; }
.analyst-field input, .analyst-field select, .analyst-field textarea, .analyst-metric-value input, .analyst-metric-value select { width: 100%; min-height: 41px; padding: 10px 11px; border: 1px solid #e3e8e1; border-radius: 5px; outline: none; background: #fff; color: #354238; font: inherit; font-size: .67rem; }
.analyst-field textarea { min-height: 88px; resize: vertical; line-height: 1.6; }
.analyst-field input:focus, .analyst-field select:focus, .analyst-field textarea:focus, .analyst-metric-value input:focus, .analyst-metric-value select:focus { border-color: #8ca58d; box-shadow: 0 0 0 3px #eff4ee; }
.analyst-field-wide { grid-column: 1 / -1; }
.analyst-metric-input-list { display: grid; border-top: 1px solid #edf0eb; }
.analyst-metric-input-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 210px); align-items: center; gap: 16px; min-height: 55px; padding: 7px 2px; border-bottom: 1px solid #edf0eb; }
.analyst-metric-select { display: grid; grid-template-columns: 17px minmax(0, auto) auto; align-items: center; justify-content: start; gap: 9px; min-width: 0; cursor: pointer; }
.analyst-metric-select input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.analyst-metric-select > span { display: grid; width: 16px; height: 16px; place-items: center; border: 1px solid #cdd6cb; border-radius: 4px; background: #fff; }
.analyst-metric-select input:checked + span { border-color: #54765b; background: #54765b; }
.analyst-metric-select input:focus-visible + span { outline: 3px solid #dae5d9; outline-offset: 2px; }
.analyst-metric-select input:checked + span::after { width: 7px; height: 4px; border-bottom: 1.5px solid #fff; border-left: 1.5px solid #fff; content: ''; transform: rotate(-45deg) translateY(-1px); }
.analyst-metric-select b { overflow: hidden; color: #49564a; font-size: .65rem; font-weight: 640; text-overflow: ellipsis; white-space: nowrap; }
.analyst-metric-select small { color: #919a90; font-size: .52rem; white-space: nowrap; }
.analyst-metric-value input, .analyst-metric-value select { min-height: 35px; padding: 7px 9px; }
.analyst-metric-value input:disabled, .analyst-metric-value select:disabled { display: none; }
.analyst-goal-list { display: grid; gap: 11px; }
.analyst-goal-row { padding: 15px; border: 1px solid #e8ece6; border-radius: 6px; background: #fbfcfa; }
.analyst-goal-row-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; color: #445548; font-size: .66rem; }
.analyst-goal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.analyst-goal-grid [hidden] { display: none !important; }
.analyst-text-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; color: #55745b; font-size: .62rem; font-weight: 670; }
.analyst-text-link .icon { width: 14px; height: 14px; }
.analyst-quick-metric { margin-top: 14px; padding: 11px 12px; border: 1px dashed #dce5da; border-radius: 6px; background: #fbfcfa; }
.analyst-quick-metric summary { display: flex; width: fit-content; align-items: center; gap: 6px; color: #55745b; cursor: pointer; font-size: .62rem; font-weight: 670; list-style: none; }
.analyst-quick-metric summary::-webkit-details-marker { display: none; }
.analyst-quick-metric summary .icon { width: 14px; height: 14px; }
.analyst-quick-metric[open] summary { margin-bottom: 13px; }
.analyst-quick-metric .analyst-form-grid { grid-template-columns: 1.2fr 1fr 1fr; gap: 11px; }
.analyst-quick-metric-actions { display: flex; justify-content: flex-end; margin-top: 11px; }
.analyst-author-line { display: flex; align-items: center; gap: 11px; padding: 13px 15px; border: 1px solid #e7ebe5; border-radius: 7px; background: #fbfcfa; }
.analyst-author-avatar { display: grid; width: 33px; height: 33px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #e7eee6; color: #4c6d53; font-size: .74rem; font-weight: 750; }
.analyst-author-line > span:nth-child(2) { display: grid; gap: 3px; }
.analyst-author-line small { color: #919a90; font-size: .47rem; font-weight: 750; letter-spacing: .08em; }
.analyst-author-line strong { color: #435045; font-size: .64rem; }
.analyst-author-note { margin-left: auto; color: #9aa198; font-size: .53rem; }
.analyst-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.analyst-form-actions > div { display: flex; gap: 8px; }
.analyst-form-actions button:disabled { opacity: .55; cursor: wait; }
.analyst-inline-error { margin: 0 0 14px; padding: 12px 14px; border: 1px solid #edd9d4; border-radius: 6px; background: #fff8f6; color: #87584f; font-size: .66rem; line-height: 1.55; }
.analyst-empty-inline { color: #899288; font-size: .63rem; }
.analyst-library-layout { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.4fr); align-items: start; gap: 20px; }
.analyst-metric-form, .analyst-metric-library { min-width: 0; padding: 20px; border: 1px solid #e7ebe5; border-radius: 8px; background: #fff; }
.analyst-metric-form > .analyst-field { margin-bottom: 14px; }
.analyst-metric-form .analyst-form-grid { grid-template-columns: 1fr; gap: 12px; }
.analyst-metric-form .analyst-form-actions { margin-top: 15px; justify-content: flex-end; }
.analyst-metric-library .analyst-section-heading { padding: 0 0 13px; }
.analyst-library-list { display: grid; border-top: 1px solid #e9ece7; }
.analyst-library-row { display: grid; grid-template-columns: 30px minmax(95px, 1fr) auto auto auto auto; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid #edf0eb; }
.analyst-library-row.is-inactive { opacity: .67; }
.analyst-library-mark { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 6px; background: #f0f4ef; color: #55745b; }
.analyst-library-mark .icon { width: 15px; height: 15px; }
.analyst-library-row > div { display: grid; min-width: 0; gap: 4px; }
.analyst-library-row > div strong { overflow: hidden; color: #475449; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.analyst-library-row > div small { color: #929a91; font-size: .5rem; }
.analyst-library-row > div small i { padding: 0 3px; font-style: normal; }
.analyst-library-state { color: #6e806f; font-size: .5rem; }
.analyst-library-action, .analyst-library-delete { padding: 5px 1px; border: 0; background: none; color: #647765; cursor: pointer; font: inherit; font-size: .51rem; font-weight: 650; white-space: nowrap; }
.analyst-library-delete { color: #98726b; }
.analyst-library-action:hover, .analyst-library-delete:hover { text-decoration: underline; }
.analyst-report-print-host { display: none; }
.analyst-report-print { position: relative; min-height: 180mm; color: #334137; font-family: Arial, sans-serif; }
.analyst-print-watermark { position: fixed; z-index: -1; top: 38%; left: 50%; display: grid; justify-items: center; gap: 8px; color: #42634a; opacity: .045; transform: translate(-50%, -50%) rotate(-24deg); }
.analyst-print-watermark .analyst-brand-mark { width: 70px; height: 55px; justify-content: center; gap: 6px; padding: 9px; border-width: 3px; border-radius: 12px; }
.analyst-print-watermark .analyst-brand-mark i { width: 8px; }
.analyst-print-watermark .analyst-brand-mark i:nth-child(1) { height: 17px; }
.analyst-print-watermark .analyst-brand-mark i:nth-child(2) { height: 27px; }
.analyst-print-watermark .analyst-brand-mark i:nth-child(3) { height: 37px; }
.analyst-print-watermark b { font-size: 28pt; letter-spacing: .14em; }
.analyst-print-header { position: relative; padding-bottom: 15px; border-bottom: 1px solid #dfe6dd; text-align: center; }
.analyst-print-brand { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 15px; text-align: left; }
.analyst-print-brand .analyst-brand-mark { height: 22px; }
.analyst-print-brand .analyst-brand-mark i:nth-child(1) { height: 8px; }
.analyst-print-brand .analyst-brand-mark i:nth-child(2) { height: 12px; }
.analyst-print-brand .analyst-brand-mark i:nth-child(3) { height: 16px; }
.analyst-print-brand > span:last-child { display: grid; gap: 3px; }
.analyst-print-brand b { color: #34523b; font-size: 8pt; letter-spacing: .11em; }
.analyst-print-brand small { color: #8a958a; font-size: 5pt; letter-spacing: .1em; }
.analyst-print-header > .analyst-overline { display: block; font-size: 6pt; }
.analyst-print-header h1 { margin: 5px 0 3px; font-size: 21pt; letter-spacing: -.04em; }
.analyst-print-matchup { margin: 0; color: #657368; font-size: 10pt; }
.analyst-print-score { margin-top: 5px; color: #304d37; font-size: 22pt; font-weight: 750; }
.analyst-print-game-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px 14px; margin: 14px 0 17px; padding: 13px; border: 1px solid #e5eae4; border-radius: 5px; background: #fbfcfa; }
.analyst-print-game-grid > div { display: grid; gap: 4px; min-width: 0; }
.analyst-print-game-grid small, .analyst-print-author small { color: #8b958b; font-size: 5.5pt; font-weight: 700; letter-spacing: .07em; }
.analyst-print-game-grid strong { overflow-wrap: anywhere; color: #48564a; font-size: 8pt; font-weight: 600; }
.analyst-print-notes { margin: 13px 0; padding: 10px 12px; border-left: 2px solid #91a593; background: #f8faf7; break-inside: avoid; }
.analyst-print-notes h2, .analyst-print-section-title h2 { margin: 0; color: #3d4d40; font-size: 9pt; }
.analyst-print-notes p { margin: 5px 0 0; color: #657066; font-size: 8pt; line-height: 1.55; }
.analyst-print-section { position: relative; margin-top: 16px; }
.analyst-print-section-title { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; break-after: avoid; }
.analyst-print-section-title span { color: #78917a; font-size: 6pt; font-weight: 750; }
.analyst-print-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.analyst-print-metric { display: grid; min-height: 44px; align-content: center; gap: 3px; padding: 7px 9px; border: 1px solid #e6ebe5; border-radius: 4px; background: rgb(255 255 255 / 83%); break-inside: avoid; }
.analyst-print-metric small { color: #879287; font-size: 5.2pt; }
.analyst-print-metric strong { color: #4e5a4f; font-size: 7pt; font-weight: 600; }
.analyst-print-metric b { color: #34543c; font-size: 10pt; }
.analyst-print-summary { margin: 0; color: #505c51; font-size: 8.2pt; line-height: 1.7; overflow-wrap: anywhere; }
.analyst-print-empty { color: #849084; font-size: 8pt; }
.analyst-print-goals { display: grid; gap: 6px; }
.analyst-print-goal { display: grid; gap: 3px; padding: 7px 9px; border-left: 2px solid #91a593; background: rgb(255 255 255 / 86%); break-inside: avoid; }
.analyst-print-goal strong { color: #415342; font-size: 7pt; }
.analyst-print-goal span, .analyst-print-goal small { color: #657066; font-size: 6.5pt; line-height: 1.4; }
.analyst-print-author { display: grid; gap: 4px; margin-top: 18px; padding-top: 10px; border-top: 1px solid #e4e9e2; break-inside: avoid; }
.analyst-print-author strong { color: #435345; font-size: 8pt; }
.analyst-print-author span { color: #828d82; font-size: 7pt; }
body.is-analyst-report-print { background: #fff; }
body.is-analyst-report-print > :not(.analyst-report-print-host) { display: none !important; }
body.is-analyst-report-print .analyst-report-print-host { display: block; width: 100%; }
@media print {
  body.is-analyst-report-print > :not(.analyst-report-print-host) { display: none !important; }
  body.is-analyst-report-print .analyst-report-print-host { display: block; }
  .analyst-report-print { min-height: auto; }
  .analyst-print-watermark { position: fixed; }
}
@media (max-width: 760px) {
  .analyst-page-title { align-items: flex-start; flex-direction: column; }
  .analyst-heading-actions { width: 100%; }
  .analyst-heading-actions > * { flex: 1; }
  .analyst-report-row { grid-template-columns: 43px minmax(0, 1fr) 45px; gap: 10px; padding-right: 2px; padding-left: 2px; }
  .analyst-report-date { width: 40px; }
  .analyst-report-score { font-size: .74rem; }
  .analyst-report-actions { grid-column: 2 / -1; justify-content: flex-end; margin-top: -7px; }
  .analyst-form-section { padding: 16px; }
  .analyst-form-section-heading > .analyst-secondary-button { margin: 0 0 0 auto; }
  .analyst-goal-grid { grid-template-columns: 1fr; }
  .analyst-library-layout { grid-template-columns: 1fr; }
  .analyst-library-row { grid-template-columns: 28px minmax(90px, 1fr) auto auto; }
  .analyst-library-state { display: none; }
  .analyst-print-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .analyst-page-title h1 { font-size: 1.8rem; }
  .analyst-search-form { align-items: stretch; }
  .analyst-search-form > .analyst-secondary-button { min-height: 40px; }
  .analyst-filter-select select { max-width: 110px; min-height: 40px; padding: 0 6px; font-size: .54rem; }
  .analyst-form-grid { grid-template-columns: 1fr; }
  .analyst-quick-metric .analyst-form-grid { grid-template-columns: 1fr; }
  .analyst-field-wide { grid-column: auto; }
  .analyst-metric-input-row { grid-template-columns: minmax(0, 1fr) 105px; gap: 8px; }
  .analyst-metric-select { grid-template-columns: 17px minmax(0, 1fr); gap: 7px; }
  .analyst-metric-select small { display: none; }
  .analyst-author-note { display: none; }
  .analyst-form-actions, .analyst-form-actions > div { width: 100%; }
  .analyst-form-actions { align-items: stretch; flex-direction: column-reverse; }
  .analyst-form-actions > div > * { flex: 1; }
  .analyst-library-row { grid-template-columns: 25px minmax(0, 1fr) auto; gap: 7px; }
  .analyst-library-row > a, .analyst-library-row > button { font-size: .47rem; }
  .analyst-library-row > button:last-child { grid-column: 3; }
}

/* Training-session builder */
.training-list-heading { margin-bottom: 29px; }
.training-list-heading h1, .training-title-row h1 { margin: 9px 0 7px; color: #26312a; font-size: clamp(1.6875rem, 3vw, 2.25rem); font-weight: 630; letter-spacing: -.05em; line-height: 1.16; }
.training-list-heading p, .training-title-row p { margin: 0; color: #828a81; font-size: 0.75rem; line-height: 1.6; }
.training-list-section { margin-top: 34px; }
.list-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 15px; }
.list-section-heading h2 { margin: 5px 0 0; font-size: 1.0625rem; font-weight: 650; letter-spacing: -.035em; }
.list-section-heading p { margin: 6px 0 0; color: #858c84; font-size: 0.6875rem; }
.session-count, .block-count { color: #858d84; font-size: 0.625rem; }
.training-empty { display: grid; min-height: 260px; align-content: center; justify-items: center; padding: 30px; border: 1px dashed #dce2d9; border-radius: 10px; background: #fbfcfa; text-align: center; }
.training-empty h2 { margin: 13px 0 6px; font-size: 1.125rem; font-weight: 650; }
.training-empty p { max-width: 410px; margin: 0 0 19px; color: #858d84; font-size: 0.6875rem; line-height: 1.7; }
.empty-field-icon { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 11px; background: #edf2ed; color: #54725b; font-size: 1.3125rem; }
.empty-field-icon .icon { width: 19px; height: 19px; }
.training-history-list { display: grid; gap: 9px; }
.training-history-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto auto; align-items: center; gap: 18px; padding: 16px 17px; border: 1px solid #e9ece6; border-radius: 8px; background: #fff; }
.history-date { display: grid; align-content: center; justify-items: center; width: 40px; height: 45px; border: 1px solid #edf0eb; border-radius: 6px; background: #fafbf9; }
.history-date strong { font-size: 0.9375rem; line-height: 1.2; }
.history-date small { color: #929990; font-size: 0.5rem; text-transform: uppercase; }
.history-main { min-width: 0; }
.history-main .eyebrow { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.history-main h2 { overflow: hidden; margin: 5px 0 4px; font-size: 0.8125rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.history-main p { margin: 0; color: #8a9188; font-size: 0.5625rem; }
.history-main p i { padding: 0 4px; font-style: normal; }
.history-status { padding: 5px 8px; border-radius: 20px; font-size: 0.5625rem; }
.status-saved { background: #edf4ee; color: #4e7557; }
.status-draft { background: #f4f3ee; color: #8b7852; }
.history-open { min-height: 37px; padding: 0 11px; font-size: 0.625rem; }
.history-open .icon { width: 13px; height: 13px; }
.saved-template-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.saved-template-card { display: flex; min-width: 0; align-items: center; gap: 11px; padding: 13px; border: 1px solid #e9ece6; border-radius: 8px; background: white; }
.saved-template-card > span:nth-child(2) { display: grid; min-width: 0; gap: 4px; }
.saved-template-card strong { overflow: hidden; font-size: 0.625rem; text-overflow: ellipsis; white-space: nowrap; }
.saved-template-card small { overflow: hidden; color: #858d84; font-size: 0.5625rem; text-overflow: ellipsis; white-space: nowrap; }
.saved-template-card .text-button { margin-left: auto; white-space: nowrap; font-size: 0.5625rem; }
.template-mark { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border-radius: 7px; background: #eff3ef; color: #597760; }
.template-mark .icon { width: 15px; height: 15px; }

.training-page-header { margin: 2px 0 20px; }
.training-back-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.quiet-link { display: inline-flex; align-items: center; gap: 6px; color: #788178; font-size: 0.625rem; }
.quiet-link:hover { color: #395c42; }
.quiet-link .icon { width: 14px; height: 14px; transform: rotate(180deg); }
.draft-status, .session-autosave { display: inline-flex; align-items: center; gap: 6px; color: #7b8b7c; font-size: 0.5625rem; }
.draft-status i, .field-saved-label i { width: 6px; height: 6px; border-radius: 50%; background: #80a186; }
.training-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.training-title-row h1 { font-size: clamp(1.5625rem, 2.8vw, 2.125rem); }
.training-page-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.training-page-actions .button, .training-bottom-actions .button { min-height: 39px; padding: 0 13px; font-size: 0.625rem; }
.training-page-actions .button .icon, .training-bottom-actions .button .icon { width: 14px; height: 14px; }
.training-session-card { padding: 21px 22px 22px; border: 1px solid #e7ebe4; border-radius: 9px; background: #fff; box-shadow: 0 5px 20px rgb(31 44 34 / 2%); }
.session-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 19px; }
.session-card-heading h2 { margin: 5px 0 0; font-size: 0.9375rem; font-weight: 670; letter-spacing: -.025em; }
.session-card-heading .session-autosave { color: #8b958b; }
.session-autosave .icon { width: 13px; height: 13px; color: #6f9474; }
.session-info-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px 12px; }
.session-title-input { grid-column: span 2; }
.session-wide { grid-column: 1 / -1; }
.training-field { display: grid; min-width: 0; align-content: start; gap: 6px; color: #5d665d; font-size: 0.5625rem; font-weight: 650; }
.training-field > span:first-child { line-height: 1.35; }
.training-field > span > i { color: #a0a69f; font-style: normal; font-weight: 450; }
.training-field input, .training-field select, .training-field textarea { width: 100%; min-width: 0; min-height: 36px; padding: 8px 10px; border: 1px solid #e5e9e3; border-radius: 5px; outline: 0; background: #fff; color: #333d34; font-size: 0.625rem; font-weight: 450; }
.training-field textarea { min-height: 58px; resize: vertical; line-height: 1.5; }
.training-field input::placeholder, .training-field textarea::placeholder { color: #adb3ab; }
.training-field input:focus, .training-field select:focus, .training-field textarea:focus { border-color: #96ac99; box-shadow: 0 0 0 3px rgb(87 128 96 / 9%); }
.training-input-wrap { position: relative; display: block; }
.training-input-wrap input { padding-right: 38px; }
.training-input-wrap > i { position: absolute; top: 50%; right: 10px; color: #92998f; font-size: 0.5625rem; font-style: normal; font-weight: 450; transform: translateY(-50%); }
.training-time-section { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 15px; margin: 15px 0 32px; }
.training-time-summary { padding: 14px 17px 12px; border: 1px solid #e3e9e1; border-radius: 8px; background: #f8faf7; }
.training-time-summary.is-over { border-color: #ecd9c6; background: #fffaf5; }
.time-summary-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.time-summary-values > div { display: grid; gap: 5px; }
.time-summary-values small { color: #899188; font-size: 0.5rem; font-weight: 650; letter-spacing: .08em; }
.time-summary-values strong { color: #344035; font-size: 1.125rem; font-weight: 690; letter-spacing: -.03em; }
.time-summary-values strong i { margin-left: 4px; color: #888f86; font-size: 0.5625rem; font-style: normal; font-weight: 500; letter-spacing: 0; }
.time-summary-values .time-difference strong { color: #52705a; font-size: 0.8125rem; letter-spacing: 0; }
.training-time-summary.is-over .time-difference strong { color: #9a6734; }
.time-meter { height: 4px; overflow: hidden; margin-top: 9px; border-radius: 3px; background: #e7ebe5; }
.time-meter span { display: block; height: 100%; border-radius: inherit; background: #76947a; transition: width .18s ease; }
.is-over .time-meter span { background: #c18b54; }
.training-time-summary > p { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; color: #9a6734; font-size: 0.5625rem; }
.training-time-summary > p[hidden] { display: none; }
.training-time-summary > p .icon { width: 12px; height: 12px; }
.adjust-session-button { min-height: 39px; padding: 0 12px; font-size: 0.625rem; white-space: nowrap; }
.adjust-session-button .icon { width: 14px; height: 14px; }
.exercise-section { margin-top: 0; }
.exercise-section > .list-section-heading { margin-bottom: 13px; }
.training-blocks-heading { align-items: flex-end; }
.training-blocks-heading-actions { display: flex; align-items: center; gap: 12px; }
.training-blocks-heading-actions .button { min-height: 36px; padding: 0 11px; font-size: 0.5625rem; }
.training-blocks-heading-actions .button .icon { width: 13px; height: 13px; }
.exercise-list { display: grid; gap: 13px; }
.training-block { overflow: hidden; border: 1px solid #e2e8e0; border-radius: 8px; background: #fbfcfa; }
.training-block-header { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 11px 13px; border-bottom: 1px solid #e8ede6; background: #f5f8f4; }
.training-block-heading { display: flex; min-width: 0; align-items: center; gap: 11px; }
.training-block-number { color: #708970; font-size: 0.625rem; font-weight: 750; letter-spacing: .08em; }
.training-block-heading > div { min-width: 0; }
.training-block-type { color: #899388; font-size: 0.4375rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.training-block-heading h3 { overflow: hidden; margin: 2px 0 0; color: #354136; font-size: 0.75rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.training-block-summary { color: #798379; font-size: 0.5rem; white-space: nowrap; }
.training-block-summary strong { color: #556454; font-weight: 680; }
.training-block-summary i { padding: 0 3px; color: #b0b7ae; font-style: normal; }
.training-block-actions { display: flex; gap: 1px; }
.training-block-actions .icon-button { width: 27px; height: 27px; font-size: 0.8125rem; }
.training-block-actions .icon-button:disabled { opacity: .35; cursor: not-allowed; }
.training-block-exercises { display: grid; gap: 9px; padding: 10px; }
.block-exercise-empty { padding: 12px 13px; color: #858f84; font-size: 0.5625rem; }
.add-block-exercise { justify-self: start; min-height: 27px; padding: 0 3px; font-size: 0.5625rem; }
.add-block-exercise .icon { width: 12px; height: 12px; }
.exercise-empty { display: flex; align-items: center; gap: 13px; padding: 18px; border: 1px dashed #dce2d9; border-radius: 8px; background: #fbfcfa; }
.exercise-empty .empty-field-icon { width: 37px; height: 37px; }
.exercise-empty strong { color: #414c42; font-size: 0.625rem; }
.exercise-empty p { margin: 4px 0 0; color: #879087; font-size: 0.5625rem; }
.exercise-card { overflow: hidden; border: 1px solid #e5e9e3; border-radius: 7px; background: #fff; box-shadow: none; }
.exercise-card[draggable="true"] { cursor: default; }
.exercise-card-header { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 12px 7px 15px; border-bottom: 1px solid #edf0eb; background: #fcfdfb; }
.exercise-order, .exercise-header-actions { display: flex; align-items: center; gap: 8px; }
.drag-grip { color: #aab1a8; cursor: grab; font-size: 1rem; touch-action: none; user-select: none; }
.exercise-card.is-dragging { opacity: .55; }
.exercise-card.is-drop-target { outline: 2px dashed #769579; outline-offset: 2px; }
.exercise-number { color: #718a73; font-size: 0.5625rem; font-weight: 750; letter-spacing: .08em; }
.exercise-header-name { max-width: 300px; overflow: hidden; font-size: 0.625rem; font-weight: 690; text-overflow: ellipsis; white-space: nowrap; }
.exercise-duration-tag { padding: 4px 7px; border-radius: 20px; background: #edf3ed; color: #55725c; font-size: 0.5rem; white-space: nowrap; }
.exercise-header-actions { gap: 2px; }
.exercise-header-actions .icon-button { width: 29px; height: 29px; }
.order-button { color: #778378; font-size: 0.875rem; }
.remove-exercise-button:hover, .danger-action:hover { color: #a44f48; }
.exercise-workbench { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.exercise-settings { min-width: 0; padding: 16px; border-right: 1px solid #edf0eb; }
.exercise-main-fields { display: grid; grid-template-columns: minmax(0, 1fr) 104px; gap: 10px; }
.exercise-main-fields > .training-field:first-child { grid-column: 1 / -1; }
.exercise-main-fields > .training-field:nth-child(2) { grid-column: 1; }
.exercise-duration-field { grid-row: 2; grid-column: 2; }
.exercise-duration-field .training-field { height: 100%; }
.exercise-duration-field .training-input-wrap { margin-top: auto; }
.exercise-details { margin-top: 15px; border-top: 1px solid #edf0eb; border-bottom: 1px solid #edf0eb; }
.exercise-details summary { display: flex; min-height: 39px; align-items: center; justify-content: space-between; gap: 8px; color: #5a655c; cursor: pointer; list-style: none; }
.exercise-details summary::-webkit-details-marker { display: none; }
.exercise-details summary > span { display: inline-flex; align-items: center; gap: 6px; font-size: 0.5625rem; font-weight: 680; }
.exercise-details summary .icon { width: 14px; height: 14px; color: #879188; }
.exercise-details summary small { color: #9aa198; font-size: 0.5rem; }
.exercise-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 8px; padding: 4px 0 13px; }
.exercise-detail-grid .field-wide { grid-column: 1 / -1; }
.exercise-detail-grid .training-field input, .exercise-detail-grid .training-field select { min-height: 33px; padding: 7px; font-size: 0.5625rem; }
.exercise-detail-grid .training-field textarea { min-height: 49px; padding: 7px; font-size: 0.5625rem; }
.recording-link-preview { min-height: 0; font-size: 0.5625rem; }
.recording-link-preview:empty { display: none; }
.recording-link-preview a { color: #52705a; font-weight: 650; text-decoration: none; }
.recording-link-preview a:hover { text-decoration: underline; }
.exercise-bottom-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 13px; }
  .exercise-bottom-actions .text-button { font-size: 0.5625rem; }
.exercise-bottom-actions .text-button .icon { width: 12px; height: 12px; }
.exercise-field-panel { min-width: 0; padding: 15px; background: #fcfdfb; }
.field-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-bottom: 11px; }
.field-panel-heading > div { display: flex; align-items: center; gap: 9px; }
.field-dimensions-display { color: #646e65; font-size: 0.5625rem; font-weight: 650; }
.field-saved-label { display: inline-flex; align-items: center; gap: 5px; color: #939b92; font-size: 0.5rem; }
.field-saved-label i { width: 5px; height: 5px; }
.field-toolbox { display: grid; gap: 8px; margin-bottom: 9px; }
.field-tool-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; }
.field-tool { display: grid; min-width: 0; min-height: 44px; align-content: center; justify-items: center; gap: 3px; padding: 4px 2px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #737d73; cursor: pointer; }
.field-tool:hover { border-color: #e2e8e0; background: #fff; }
.field-tool.is-active { border-color: #d4e1d4; background: #edf4ed; color: #426348; }
.field-tool-symbol { font-size: 0.8125rem; font-weight: 700; line-height: 1; }
.field-tool-graphic { display: block; width: 23px; height: 24px; overflow: visible; pointer-events: none; }
.field-tool-graphic polygon, .field-tool-graphic polyline { vector-effect: non-scaling-stroke; }
.field-goal-artwork { overflow: visible; pointer-events: none; }
.field-tool small { overflow: hidden; max-width: 100%; color: inherit; font-size: 0.4375rem; text-overflow: ellipsis; white-space: nowrap; }
.field-tool-actions { display: flex; align-items: center; gap: 5px; }
.field-action-button { display: inline-flex; min-height: 27px; align-items: center; gap: 4px; padding: 0 6px; border: 1px solid #e7ebe5; border-radius: 4px; background: #fff; color: #687368; cursor: pointer; font-size: 0.5rem; }
.field-action-button:hover:not(:disabled) { border-color: #cedace; color: #45664b; }
.field-action-button:disabled { opacity: .42; cursor: not-allowed; }
.field-action-button .icon { width: 12px; height: 12px; }
.field-action-button:nth-child(1) .icon { transform: rotate(180deg); }
.field-tool-actions > span { flex: 1; }
.mini-field-frame { overflow: hidden; border: 1px solid #d8e0d5; border-radius: 5px; background: #527c58; box-shadow: 0 2px 8px rgb(38 60 40 / 8%); }
.mini-field { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; touch-action: none; user-select: none; }
.field-grass { fill: #71916f; }
.field-markings { fill: none; stroke: rgb(244 248 238 / 77%); stroke-width: .1; }
.field-markings .center-spot { fill: rgb(244 248 238 / 85%); stroke: none; }
.field-dimension-label { fill: rgb(255 255 255 / 84%); font-family: inherit; font-size: 0.05rem; font-weight: 650; }
.field-watermark { fill: rgb(255 255 255 / 72%); font-family: inherit; font-size: 0.04375rem; font-weight: 700; letter-spacing: .08em; pointer-events: none; }
.field-element { cursor: grab; outline: none; }
.field-element:active { cursor: grabbing; }
.field-element:focus-visible .player-marker, .field-element.is-selected .player-marker, .field-element.is-selected .ball-marker { stroke: #fff; stroke-width: .3; }
.selection-halo { fill: none; stroke: #fff; stroke-width: .12; stroke-dasharray: .5 .3; pointer-events: none; }
.player-marker { stroke: rgb(255 255 255 / 90%); stroke-width: .1; }
.home-marker { fill: var(--marker-color, #3977c4); }
.opponent-marker { fill: #bc6659; }
.keeper-marker { fill: #e1b64c; }
.joker-marker { fill: #4f5c9b; }
.player-label { fill: #35533b; font-family: inherit; font-weight: 800; pointer-events: none; }
.opponent-label { fill: #fff; }
.dark-label { fill: #463914; }
.joker-cross { fill: none; stroke: white; stroke-width: .25; pointer-events: none; }
.cone-marker { fill: #ec9d45; stroke: #fff4df; stroke-width: .12; }
.cone-cap { fill: none; stroke: #9a6128; stroke-width: .15; }
.marker-disc { fill: #dc9139; stroke: #fff1d4; stroke-width: .12; }
.marker-disc-highlight { fill: none; stroke: #f8d99a; stroke-width: .1; }
.ball-marker { fill: #f8f8ef; stroke: #455b43; stroke-width: .14; }
.ball-seam { fill: none; stroke: #566e53; stroke-width: .1; }
.field-zone { fill: rgb(233 203 102 / 28%); stroke: #f2d26f; stroke-width: .18; stroke-dasharray: .6 .3; }
.field-marker-controls { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 10px; align-items: end; padding: 8px 10px; border: 1px solid #e2e8df; border-radius: 6px; background: #f7f9f6; }
.field-marker-controls label { display: grid; gap: 5px; color: #687368; font-size: 11px; }
.field-marker-controls select { min-width: 0; padding: 5px 7px; border: 1px solid #dce4d9; border-radius: 5px; color: #354538; background: white; font: inherit; }
.field-marker-controls input[type="range"] { width: 100%; accent-color: var(--team-primary, #294438); }
.field-marker-controls small { color: #697669; font-size: 10px; line-height: 1.4; }
.implement-controls { grid-template-columns: minmax(0, 1fr) auto; margin-top: 7px; }
.implement-rotation-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; color: #687368; font-size: 10px; }
.implement-rotation-controls span { margin-right: 4px; }
.implement-rotation-controls button { min-height: 28px; padding: 0 7px; border: 1px solid #dce4d9; border-radius: 4px; background: #fff; color: #45664b; font: inherit; cursor: pointer; }
.field-count-note { margin: -2px 0 0; color: #7a8579; font-size: .55rem; }
.stake-marker, .goal-marker, .mannequin-marker, .hoop-marker, .ladder-marker path { fill: none; stroke: #f7f7ed; stroke-width: .75; stroke-linecap: round; stroke-linejoin: round; }
.goal-marker.mini-goal { stroke: #ffe394; stroke-width: 1.05; }
.goal-net { fill: rgb(229 237 218 / 25%); stroke: #e5eddc; stroke-width: .35; }
.goal-net-lines { fill: none; stroke: rgb(229 237 218 / 70%); stroke-width: .2; }
.goal-frame { fill: none; stroke: #fff3ce; stroke-width: .7; stroke-linecap: round; stroke-linejoin: round; }
.barrier-marker { fill: none; stroke: #f2a852; stroke-width: .7; stroke-linecap: round; stroke-linejoin: round; }
.barrier-marker path + path { stroke: #fff3da; stroke-width: .28; }
.mannequin-marker { fill: #f2a852; stroke: #fff3da; stroke-width: .4; }
.hoop-marker { stroke: #ffde76; stroke-width: .8; stroke-dasharray: 1.1 .35; }
.ladder-marker path { stroke: #f5da72; stroke-width: .55; }
.field-drawing { fill: none; stroke-width: .27; stroke-linecap: round; }
.field-arrow { stroke: #fae987; }
.field-line-mark { stroke: #faf8ec; stroke-dasharray: .55 .35; }
.arrow-head { fill: #fae987; }
.field-instruction { margin: 8px 0 0; color: #90988f; font-size: 0.5rem; line-height: 1.5; }
.exercise-add-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.exercise-add-actions .button { min-height: 38px; padding: 0 12px; font-size: 0.625rem; }
.exercise-add-actions .button .icon { width: 14px; height: 14px; }
.version-history { margin-top: 20px; padding: 13px 15px; border: 1px solid #e7ebe4; border-radius: 7px; background: #fff; }
.version-history summary { display: flex; align-items: center; gap: 7px; color: #697369; cursor: pointer; font-size: 0.5625rem; font-weight: 670; list-style: none; }
.version-history summary::-webkit-details-marker { display: none; }
.version-history summary > .icon { width: 14px; height: 14px; }
.version-history summary > span { display: grid; width: 17px; height: 17px; place-items: center; margin-left: auto; border-radius: 50%; background: #f0f3ef; font-size: 0.5rem; }
.version-history ol { display: grid; gap: 8px; margin: 13px 0 0; padding: 12px 0 0; border-top: 1px solid #edf0eb; list-style: none; }
.version-history li { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.version-history li > span { display: grid; gap: 3px; }
.version-history li strong { font-size: 0.5625rem; }
.version-history li small, .version-history li b, .version-history > p { color: #929990; font-size: 0.5rem; font-weight: 450; }
.version-history > p { margin: 12px 0 0; }
.training-bottom-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 15px; border-top: 1px solid #e8ebe6; }
.training-bottom-actions > div { display: flex; gap: 7px; }

.training-modal { width: min(100%, 510px); max-height: min(88vh, 760px); overflow: auto; padding: 23px; border: 1px solid #e8ebe5; border-radius: 10px; background: #fff; box-shadow: 0 25px 90px rgb(16 31 21 / 20%); }
.training-modal .modal-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.training-modal > .eyebrow { margin-bottom: 7px; }
.training-modal h2 { margin: 0 0 8px; font-size: 1.3125rem; font-weight: 650; letter-spacing: -.04em; }
.training-modal > p { margin: 0 0 17px; color: #858d84; font-size: 0.625rem; line-height: 1.6; }
.training-modal form > .training-field { margin-bottom: 13px; }
.week-plan-modal { width: min(100%, 700px); }
.week-plan-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; }
.week-plan-form-grid .field-wide { grid-column: 1 / -1; }
.activity-form-preview { display: grid; grid-template-columns: minmax(0, 1fr) 140px; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid #e8ede5; border-radius: 6px; background: #f8faf7; }
.activity-form-preview-title { display: grid; gap: 4px; }
.activity-form-preview-title strong { color: #556655; font-size: 0.5625rem; font-weight: 650; }
.activity-form-preview-title span { color: #858f83; font-size: 0.5rem; }
.field-help { display: block; margin-top: 5px; color: #8a9388; font-size: 0.5rem; line-height: 1.45; }
.week-resource-open { width: fit-content; color: #527657; font-size: 0.5rem; text-decoration: none; }
.week-resource-open:hover { text-decoration: underline; }
.weekly-detail-toggle { display: flex; align-items: flex-start; gap: 10px; margin-top: 15px; padding: 12px 13px; border: 1px solid #e7ebe5; border-radius: 6px; background: #fbfcfa; cursor: pointer; }
.weekly-detail-toggle > input { width: 15px; height: 15px; flex: 0 0 auto; margin: 1px 0 0; accent-color: #547657; }
.weekly-detail-toggle > input:focus-visible { outline: 3px solid rgb(87 128 96 / 36%); outline-offset: 2px; }
.weekly-detail-toggle > span { display: grid; gap: 4px; }
.weekly-detail-toggle strong { color: #4d5e4d; font-size: 0.5625rem; font-weight: 650; }
.weekly-detail-toggle small { color: #8a9388; font-size: 0.5rem; line-height: 1.45; }
.weekly-details-editor { display: grid; gap: 14px; margin-top: 12px; padding: 14px; border: 1px solid #e7ebe5; border-radius: 6px; background: #f9faf8; }
.weekly-details-editor[hidden] { display: none; }
.weekly-details-editor textarea { min-height: 78px; resize: vertical; }
.weekly-drawing-section { display: grid; gap: 9px; }
.weekly-drawing-section > div:first-child { display: grid; gap: 4px; }
.weekly-drawing-section > div:first-child strong { color: #4e5d4e; font-size: 0.5625rem; font-weight: 650; }
.weekly-drawing-section > div:first-child small { color: #8a9388; font-size: 0.5rem; line-height: 1.5; }
.weekly-drawing-tools { display: flex; flex-wrap: wrap; gap: 5px; }
.weekly-drawing-tool { min-height: 29px; padding: 0 9px; border: 1px solid #e2e8df; border-radius: 4px; background: #fff; color: #707d70; cursor: pointer; font-size: 0.5rem; }
.weekly-drawing-tool:hover, .weekly-drawing-tool.is-active { border-color: #b8cab7; background: #eef4ec; color: #426448; }
.weekly-drawing-clear { margin-left: auto; }
.weekly-drawing-field { max-width: 510px; border: 1px solid #dfe7db; border-radius: 6px; background: #edf4eb; }
.activity-diagram-interactive { cursor: crosshair; touch-action: manipulation; }
.activity-diagram-interactive:focus-visible { outline: 3px solid rgb(87 128 96 / 36%); outline-offset: 2px; }
.week-plan-modal .modal-actions { align-items: center; gap: 7px; }
.week-plan-modal .modal-actions .button { min-height: 36px; padding: 0 10px; font-size: 0.5625rem; }
.week-plan-modal .modal-actions > span { flex: 1; }
.button-danger { border-color: #ecd8d5; background: #fff8f7; color: #9e5b55; }
.button-danger:hover { border-color: #dfbeba; background: #fff1ef; }
.notification-item .reminder-mark + span { min-width: 0; }
.notification-item small { line-height: 1.45; }
.duration-adjust-preview { overflow: hidden; margin: 12px 0 17px; border: 1px solid #e8ece6; border-radius: 6px; }
.adjust-preview-heading, .adjust-preview-row, .adjust-preview-total { display: grid; grid-template-columns: minmax(0, 1fr) 65px 75px; align-items: center; gap: 8px; padding: 9px 11px; }
.adjust-preview-heading { background: #f7f9f6; color: #919990; font-size: 0.5rem; text-transform: uppercase; }
.adjust-preview-heading span:not(:first-child), .adjust-preview-row > :not(:first-child), .adjust-preview-total b { text-align: right; }
.adjust-preview-row { border-top: 1px solid #f0f2ee; font-size: 0.5625rem; }
.adjust-preview-row strong { overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.adjust-preview-row strong small { display: block; margin-top: 3px; color: #929990; font-size: 0.4375rem; font-weight: 450; white-space: normal; }
.adjust-preview-row > span { color: #929990; }
.adjust-preview-row > b { color: #527258; font-weight: 650; }
.adjust-preview-total { border-top: 1px solid #e8ece6; background: #fafbf9; font-size: 0.5625rem; }
.duration-adjust-error { margin: 12px 0 17px; padding: 10px; border-radius: 5px; background: #fff6ed; color: #986333; font-size: 0.5625rem; line-height: 1.5; }
.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; }
.modal-actions .button { min-height: 38px; padding: 0 12px; font-size: 0.5625rem; }
.template-choice-list { display: grid; gap: 7px; max-height: 350px; overflow: auto; }
.template-choice { display: flex; width: 100%; align-items: center; gap: 11px; padding: 10px; border: 1px solid #e7ebe5; border-radius: 6px; background: white; text-align: left; cursor: pointer; }
.template-choice:hover { border-color: #cbd9cb; background: #fbfcfa; }
.template-choice > span:nth-child(2) { display: grid; min-width: 0; gap: 4px; }
.template-choice strong { overflow: hidden; font-size: 0.5625rem; text-overflow: ellipsis; white-space: nowrap; }
.template-choice small { color: #878f86; font-size: 0.5rem; }
.template-choice > .icon { width: 14px; height: 14px; margin-left: auto; color: #788679; }
.templates-empty { display: grid; gap: 6px; padding: 16px; border-radius: 6px; background: #f7f9f6; }
.templates-empty strong { font-size: 0.5625rem; }
.templates-empty span { color: #879087; font-size: 0.5rem; }

.training-print-area { display: none; }
.games-panel { max-width: 980px; padding: 22px 24px; }
.games-week-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 17px; border-bottom: 1px solid #edf0eb; }
.games-week-toolbar h2 { margin: 4px 0 0; color: #343e35; font-size: 1rem; font-weight: 650; }
.games-week-toolbar .week-navigation { margin-left: auto; }
.game-list-row { display: grid; min-height: 76px; grid-template-columns: 52px minmax(0, 1fr) auto minmax(120px, .45fr) 18px; align-items: center; gap: 14px; padding: 12px 3px; border-bottom: 1px solid #f0f2ee; }
.game-list-row:last-child { border-bottom: 0; }
.game-list-row:hover .game-list-main > strong { color: var(--green-deep); }
.game-list-date { display: grid; justify-items: center; gap: 2px; color: #829082; }
.game-list-date strong { color: var(--green-deep); font-size: 1.1875rem; font-weight: 650; }
.game-list-date small, .game-list-main small, .game-list-meta small { color: #929a91; font-size: 0.5625rem; }
.game-list-main, .game-list-meta { display: grid; gap: 4px; }
.game-list-main > strong { color: #354137; font-size: 0.75rem; font-weight: 670; }
.game-list-meta { color: #6f796e; font-size: 0.625rem; }
.game-list-score { padding: 7px 10px; border-radius: 5px; background: #f0f4ef; color: var(--green-deep); font-size: 0.75rem; font-weight: 750; white-space: nowrap; }
.game-list-score:empty { visibility: hidden; }
.game-list-row > .icon { color: #a3aaa1; }
.games-empty { padding: 50px 20px 44px; text-align: center; }
.games-empty strong { color: #4b584c; font-size: 0.75rem; }
.games-empty p { color: #8a9388; font-size: 0.625rem; }
.games-tabs { display: flex; gap: 5px; width: fit-content; max-width: 100%; margin: 0 0 14px; padding: 4px; overflow-x: auto; border: 1px solid #edf0eb; border-radius: 7px; background: #fafbf9; }
.games-tab { display: inline-flex; min-height: 35px; align-items: center; justify-content: center; padding: 0 12px; border-radius: 5px; color: #7c867b; font-size: .625rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.games-tab:hover, .games-tab.is-active { background: #eaf0e8; color: var(--green-deep); }
.retrospective-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 1100px; margin-bottom: 14px; }
.retrospective-stat { display: grid; min-height: 80px; align-content: center; gap: 7px; padding: 12px; border: 1px solid #edf0eb; border-radius: 7px; background: #fff; }
.retrospective-stat small { color: #838d82; font-size: .55rem; }
.retrospective-stat strong { color: #344a37; font-size: 1.1rem; }
.retrospective-panel { max-width: 1100px; }
.retrospective-row { display: grid; grid-template-columns: 100px minmax(0, 1fr) 90px; align-items: center; gap: 14px; padding: 13px 3px; border-bottom: 1px solid #f0f2ee; }
.retrospective-row:last-child { border-bottom: 0; }
.retrospective-date { color: #818b80; font-size: .6rem; }
.retrospective-match { display: grid; gap: 4px; min-width: 0; }
.retrospective-match strong { overflow: hidden; color: #3d493e; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.retrospective-match small { color: #8a9388; font-size: .55rem; }
.retrospective-result { justify-self: end; padding: 5px 8px; border-radius: 99px; background: #f0f2ee; color: #737c72; font-size: .55rem; font-weight: 700; }
.retrospective-result.result-vitória { background: #e9f3e9; color: #3a7040; }
.retrospective-result.result-derrota { background: #f8ece9; color: #9b5548; }
.goal-analysis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 1100px; }
.goal-analysis-card { min-width: 0; padding: 18px; }
.goal-total { display: grid; min-width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #edf2eb; color: var(--green-deep); font-size: .875rem; }
.goal-detail-caption, .goal-analysis-note { color: #838d82; font-size: .5625rem; line-height: 1.5; }
.goal-halves { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 17px; }
.goal-half h3 { margin: 0 0 9px; color: #586658; font-size: .625rem; }
.goal-half ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.goal-band-row { display: grid; grid-template-columns: 43px minmax(30px, 1fr) 20px 38px; align-items: center; gap: 7px; color: #6f796e; font-size: .55rem; }
.goal-band-track { height: 6px; overflow: hidden; border-radius: 5px; background: #edf0eb; }
.goal-band-track i { display: block; height: 100%; border-radius: inherit; background: var(--brand-action); }
.goal-band-row strong { color: #445145; text-align: right; }
.goal-band-row small { color: #939b92; text-align: right; }
.goal-origin-list, .goal-athlete-ranking { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.goal-origin-list li { display: grid; grid-template-columns: minmax(85px, .8fr) minmax(60px, 1fr) 24px; align-items: center; gap: 8px; color: #697468; font-size: .58rem; }
.goal-origin-list li strong { color: #445145; text-align: right; }
.goal-athlete-ranking li { display: grid; grid-template-columns: 30px minmax(0, 1fr) 24px; align-items: center; gap: 8px; color: #445145; font-size: .6rem; }
.goal-athlete-ranking li > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.goal-athlete-ranking li > span:last-child { text-align: right; font-weight: 700; }
.goal-athlete-photo { display: grid; width: 29px; height: 29px; place-items: center; overflow: hidden; border-radius: 50%; background: #e8eee6; color: #4e654f; font-size: .56rem; font-weight: 750; }
.goal-athlete-photo img { width: 100%; height: 100%; object-fit: cover; }
.goal-analysis-note { max-width: 1100px; margin: 12px 0; }
.games-report-actions { display: flex; justify-content: flex-end; margin: 0 0 12px; }
.games-report-print-area { display: block; }
.games-report-heading { display: none; }
.retrospective-report-all { display: none; }
.game-score-field { min-width: 0; margin: 0; padding: 14px; border: 1px solid #e8ede6; border-radius: 7px; }
.game-score-field legend { padding: 0 5px; color: #566356; font-size: .625rem; font-weight: 700; }
.game-score-inputs { display: grid; grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr); align-items: end; gap: 12px; max-width: 560px; }
.game-score-inputs > strong { padding-bottom: 10px; color: #758174; text-align: center; }
.game-score-field > small { display: block; margin-top: 9px; color: #899187; font-size: .55rem; }
.game-goals-section { display: grid; gap: 12px; }
.game-goals-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.game-goals-heading h2 { margin: 4px 0; color: #3e493f; font-size: .875rem; }
.game-goals-heading p { margin: 0; color: #899187; font-size: .5625rem; }
.game-goals-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.game-goal-row { display: grid; grid-template-columns: 36px 60px minmax(0, 1fr) auto auto; align-items: center; gap: 9px; padding: 9px; border: 1px solid #edf0eb; border-radius: 5px; color: #697468; font-size: .5625rem; }
.game-goal-half { color: #7d897b; font-weight: 700; }
.game-goal-row > strong { color: var(--green-deep); font-size: .625rem; }
.game-goal-row > a { color: var(--green-deep); font-weight: 650; }
.game-goals-empty { padding: 12px; border-radius: 5px; background: #f8faf7; color: #899187; font-size: .5625rem; }
.goal-consistency-list { display: grid; gap: 3px; }
.goal-consistency-note { color: #8b7854; font-size: .55rem; }
.game-delete-button { color: #a1574c; font-size: .6rem; }
.goal-half-choices { display: flex; gap: 8px; margin: 0; padding: 10px; border: 1px solid #e8ede6; border-radius: 6px; }
.goal-half-choices legend { padding: 0 4px; color: #586658; font-size: .5625rem; }
.goal-half-choices label { flex: 1; }
.goal-half-choices input { position: absolute; opacity: 0; pointer-events: none; }
.goal-half-choices span { display: grid; min-height: 36px; place-items: center; border: 1px solid #e8ede6; border-radius: 5px; color: #738072; font-size: .5625rem; cursor: pointer; }
.goal-half-choices input:checked + span { border-color: #c9d8c7; background: #edf3eb; color: var(--green-deep); font-weight: 700; }
.goal-minute-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.data-sync-warning { max-width: 980px; padding: 12px; border: 1px solid #f1dec4; border-radius: 6px; background: #fffaf3; color: #86643c; font-size: .6rem; line-height: 1.5; }
.weekly-event-score { display: block; width: fit-content; margin-top: 5px; padding: 3px 6px; border-radius: 4px; background: #edf3eb; color: var(--green-deep); font-size: .5625rem; font-weight: 750; }
.weekly-game-score { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); align-items: end; gap: 8px; margin: 0; padding: 12px; border: 1px solid #e8ede6; border-radius: 6px; }
.weekly-game-score legend { padding: 0 4px; color: #596658; font-size: .5625rem; font-weight: 650; }
.weekly-game-score > strong { padding-bottom: 10px; color: #778276; text-align: center; }
.match-source-label { color: #58705c; font-size: .55rem; font-weight: 650; letter-spacing: .01em; }
.match-notes { display: block; color: #667367; font-size: .5rem; line-height: 1.35; white-space: normal; }
.weekly-linked-match-summary { display: grid; gap: 5px; padding: 12px 14px; border: 1px solid #dce8dc; border-radius: 8px; background: #f6faf5; color: #26372a; }
.weekly-linked-match-summary span { color: #69776b; font-size: .7rem; }
.weekly-linked-match-summary a { width: fit-content; color: #315d3b; font-size: .7rem; font-weight: 650; }
.program-print-event--match .program-print-match-score { margin: 8px 0 0; color: #315d3b; font-weight: 700; }
.program-print-week-event--match { border-left: 2px solid #315d3b; }
.program-print-month-match { border-left: 1px solid #315d3b; }
.roster-page-heading { align-items: center; }
.roster-toolbar { display: flex; max-width: 1100px; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.roster-search { display: flex; width: min(100%, 380px); min-height: 40px; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid #e5e9e3; border-radius: 6px; background: #fff; color: #899187; }
.roster-search .icon { width: 15px; height: 15px; }
.roster-search input { width: 100%; min-height: 36px; border: 0; outline: 0; color: #39463b; font-size: .625rem; }
.roster-count { color: #8a9388; font-size: .5625rem; }
.roster-count strong { color: #4c594c; }
.roster-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 1100px; }
.athlete-card { display: grid; min-width: 0; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 12px; padding: 14px; border: 1px solid #edf0eb; border-radius: 7px; background: #fff; }
.athlete-photo { display: grid; width: 58px; height: 58px; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 50%; background: #edf2eb; color: #426145; font-size: .75rem; font-weight: 750; }
.athlete-photo img { width: 100%; height: 100%; object-fit: cover; }
.athlete-card-copy { min-width: 0; }
.athlete-card-copy h2 { overflow: hidden; margin: 0 0 4px; color: #39463b; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.athlete-card-copy p { margin: 0 0 7px; color: #899187; font-size: .55rem; }
.athlete-team { display: block; margin: -3px 0 6px; color: #536a53; font-size: .525rem; font-weight: 650; }
.athlete-measures { display: flex; flex-wrap: wrap; gap: 4px 9px; color: #687368; font-size: .55rem; }
.athlete-card-actions { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 12px; padding-top: 8px; border-top: 1px solid #f0f2ee; }
.athlete-card-actions .text-button, .athlete-remove-photo { font-size: .5625rem; }
.athlete-delete { color: #a1574c; }
.roster-empty { display: grid; justify-items: center; gap: 10px; grid-column: 1 / -1; padding: 50px 20px; border: 1px dashed #dfe6dc; border-radius: 7px; color: #798578; text-align: center; }
.roster-empty strong { color: #485548; font-size: .75rem; }
.roster-empty p { margin: 0; font-size: .6rem; }
.roster-search-empty { color: #899187; font-size: .6rem; }
.athlete-modal { max-width: 540px; }
.athlete-form-photo { display: grid; justify-items: start; gap: 8px; margin: 12px 0; color: #899187; font-size: .55rem; }
.athlete-form-photo .athlete-photo { width: 74px; height: 74px; }
.athlete-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.athlete-remove-photo { display: flex; align-items: center; gap: 6px; color: #8f6157; }
.game-editor-card { max-width: 980px; padding: 22px 24px; }
.game-editor-card form { display: grid; gap: 19px; }
.game-editor-card .form-field { display: grid; gap: 7px; color: #515950; font-size: 0.625rem; font-weight: 650; }
.game-editor-card .form-field input, .game-editor-card .form-field select, .game-editor-card .form-field textarea { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #e2e5df; border-radius: 6px; background: white; color: var(--ink); font-size: 0.6875rem; }
.game-editor-card .form-field textarea { min-height: 75px; resize: vertical; }
.game-references-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.game-references-list { display: grid; gap: 9px; }
.game-reference-row { display: grid; grid-template-columns: minmax(140px, .7fr) minmax(200px, 1.3fr) 34px; align-items: end; gap: 10px; padding: 10px; border: 1px solid #edf0eb; border-radius: 6px; }
.game-reference-row .training-field { display: grid; gap: 6px; color: #7f887d; font-size: 0.5625rem; }
.game-reference-row input { min-height: 35px !important; font-size: 0.625rem !important; }
.game-editor-relations { display: flex; flex-wrap: wrap; gap: 7px 15px; padding: 12px; border-radius: 6px; background: #f7f9f6; color: #7b8579; font-size: 0.5625rem; }
.game-editor-relations strong { width: 100%; color: #576256; font-size: 0.625rem; }
.game-editor-relations a { color: var(--green-deep); font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }
.game-related-sessions { display: grid; gap: 9px; margin: 0; padding: 12px; border: 1px solid #edf0eb; border-radius: 6px; }
.game-related-sessions legend { padding: 0 5px; color: #576256; font-size: 0.625rem; font-weight: 650; }
.game-related-sessions > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.game-session-choice { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 8px; border: 1px solid #eef1ec; border-radius: 5px; }
.game-session-choice input { width: 15px; min-height: 15px !important; flex: 0 0 auto; accent-color: var(--brand-action); }
.game-session-choice > span { display: grid; min-width: 0; gap: 3px; }
.game-session-choice strong { overflow: hidden; color: #4d594e; font-size: 0.5625rem; text-overflow: ellipsis; white-space: nowrap; }
.game-session-choice small, .game-sessions-empty { color: #899187; font-size: 0.5rem; }
.game-sessions-empty a { color: var(--green-deep); text-decoration: underline; }
.game-editor-actions { display: flex; align-items: center; gap: 16px; }
.game-delete-button { color: #9b6258; }
@media (max-width: 1000px) {
  .exercise-workbench { grid-template-columns: 1fr; }
  .exercise-settings { border-right: 0; border-bottom: 1px solid #edf0eb; }
  .exercise-field-panel { padding: 15px 17px 18px; }
  .mini-field { max-height: 440px; }
}
@media (max-width: 720px) {
  .field-marker-controls { grid-template-columns: 1fr; }
  .general-schedule-tools { grid-template-columns: 1fr 1fr; }
  .general-schedule-day .week-event-entry { grid-template-columns: minmax(0, 1fr); }
  .general-schedule-actions { justify-content: flex-start; }
  .implement-controls { grid-template-columns: 1fr; }
  .training-list-heading { align-items: flex-start; }
  .training-list-heading > .button { min-height: 37px; padding: 0 10px; font-size: 0.5625rem; white-space: nowrap; }
  .training-history-card { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; padding: 12px; }
  .history-date { width: 36px; height: 41px; }
  .history-status { display: none; }
  .history-open { grid-column: 2 / -1; justify-self: end; min-height: 31px; }
  .saved-template-list { grid-template-columns: 1fr; }
  .training-title-row { align-items: flex-start; flex-direction: column; gap: 13px; }
  .training-page-actions { width: 100%; }
  .training-page-actions .button { flex: 1; }
  .training-session-card { padding: 16px 14px; }
  .session-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 9px; }
  .session-title-input { grid-column: 1 / -1; }
  .training-time-section { grid-template-columns: 1fr; gap: 8px; margin: 12px 0 25px; }
  .adjust-session-button { justify-self: end; }
  .list-section-heading h2 { font-size: 0.9375rem; }
  .training-blocks-heading { align-items: flex-start; }
  .training-blocks-heading-actions { flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
  .training-block-header { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 10px; }
  .training-block-summary { grid-column: 1; grid-row: 2; padding-left: 28px; }
  .training-block-actions { grid-column: 2; grid-row: 1 / span 2; }
  .training-block-actions .icon-button { width: 25px; }
  .training-block-exercises { padding: 7px; }
  .exercise-card-header { padding-left: 9px; }
  .exercise-order, .exercise-header-actions { gap: 4px; }
  .exercise-header-name { max-width: 140px; }
  .exercise-header-actions .icon-button { width: 27px; }
  .exercise-settings { padding: 13px; }
  .exercise-main-fields { grid-template-columns: minmax(0, 1fr) 86px; }
  .exercise-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exercise-detail-grid .field-wide { grid-column: 1 / -1; }
  .field-tool-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .field-tool small { font-size: 0.375rem; }
  .exercise-field-panel { padding: 12px; }
  .training-bottom-actions { align-items: flex-start; }
  .training-bottom-actions > div { flex-direction: column; }
  .training-bottom-actions .button { min-height: 35px; }
}
@media (max-width: 390px) {
  .training-back-row { align-items: flex-start; }
  .draft-status { max-width: 100px; text-align: right; }
  .session-card-heading { align-items: flex-start; flex-direction: column; }
  .time-summary-values { gap: 7px; }
  .time-summary-values small { font-size: 0.375rem; }
  .time-summary-values strong { font-size: 0.9375rem; }
  .time-summary-values .time-difference strong { font-size: 0.625rem; }
  .training-blocks-heading-actions { gap: 5px; }
  .training-blocks-heading-actions .button { min-height: 32px; padding: 0 8px; font-size: 0.5rem; }
  .training-block-summary { padding-left: 25px; font-size: 0.4375rem; }
  .training-block-actions .icon-button { width: 22px; height: 24px; }
  .training-block-heading { gap: 7px; }
  .training-block-number { font-size: 0.5rem; }
  .training-block-heading h3 { font-size: 0.625rem; }
  .training-field { font-size: 0.5rem; }
  .exercise-order { gap: 3px; }
  .drag-grip { display: none; }
  .exercise-number { font-size: 0.5rem; }
  .exercise-header-name { max-width: 94px; font-size: 0.5625rem; }
  .exercise-header-actions .icon-button { width: 24px; height: 27px; }
  .exercise-main-fields { grid-template-columns: minmax(0, 1fr) 76px; }
  .field-tool-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .field-saved-label { display: none; }
}

@page { size: A4 portrait; margin: 12mm; }
@media print {
  html { --type-base-size: 16px; font-size: 16px !important; }
  html, body { width: 210mm; min-width: 0; min-height: 0; margin: 0; background: #fff !important; }
  body * { visibility: hidden !important; }
  .training-print-area, .training-print-area * { visibility: visible !important; }
  .training-print-area { position: absolute; top: 0; left: 0; display: block !important; width: 186mm; margin: 0; color: #222822; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; }
  .weekly-print-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12mm; margin-bottom: 7mm; padding-bottom: 4mm; border-bottom: 1px solid #dfe5dd; }
  .weekly-print-title-group { display: grid; gap: 1mm; }
  .weekly-print-club-brand { display: flex; align-items: center; gap: 2mm; color: var(--team-primary-text, #294438); }
  .weekly-print-club-brand > span:last-child { display: grid; gap: .5mm; }
  .weekly-print-club-brand strong { font-size: 8pt; }
  .weekly-print-club-brand small { color: #858d84; font-size: 5.5pt; letter-spacing: .08em; }
  .weekly-print-crest { display: grid; width: 12mm; height: 12mm; flex: 0 0 auto; place-items: center; overflow: hidden; border: .4mm solid var(--team-secondary, #789477); border-radius: 2mm; background: #fff; color: var(--team-primary-text, #294438); font-size: 8pt; font-weight: 750; }
  .weekly-print-crest img { width: 100%; height: 100%; padding: 1mm; object-fit: contain; }
  .weekly-print-crest > span { color: var(--team-primary-text, #294438); }
  .weekly-print-heading .eyebrow { color: var(--team-primary-text, #294438); font-size: 7pt; font-weight: 750; letter-spacing: .12em; }
  .weekly-print-heading h1 { margin: 2mm 0 1mm; color: var(--team-primary-text, #294438); font-size: 22pt; letter-spacing: -.04em; }
  .weekly-print-heading p { margin: 0; color: #7b857a; font-size: 9pt; text-transform: capitalize; }
  .weekly-print-heading > span { color: #7b857a; font-size: 8pt; }
  .weekly-print-coach { color: #647064; font-size: 7pt; }
  .weekly-print-footer { display: flex; justify-content: space-between; gap: 8mm; margin-top: 4mm; padding-top: 2mm; border-top: 1px solid var(--team-secondary, #789477); color: #879087; font-size: 6pt; }
  .print-page { position: relative; display: flex; width: 186mm; min-height: 273mm; flex-direction: column; padding: 0 0 15mm; page-break-after: always; break-after: page; }
  .print-page:last-child { page-break-after: auto; break-after: auto; }
  .print-brand { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--team-primary-text, #294438); font-size: 12px; letter-spacing: .11em; }
  .print-brand > span:last-child { margin-left: auto; color: #858d84; font-size: 7px; letter-spacing: .16em; }
  .print-brand-club { display: flex; min-width: 0; align-items: center; gap: 3mm; }
  .print-brand-club > span:last-child { display: grid; gap: 1mm; }
  .print-brand-club strong { overflow: hidden; color: var(--team-primary-text, #294438); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
  .print-brand-club small { color: #858d84; font-size: 6px; letter-spacing: .1em; }
  .print-brand-label { color: var(--team-secondary-text, #456a53) !important; }
  .print-team-crest { display: grid; width: 16mm; height: 16mm; flex: 0 0 auto; place-items: center; overflow: hidden; border: .5mm solid var(--team-secondary, #789477); border-radius: 2mm; background: #fff; color: var(--team-primary-text, #294438); font-size: 9px; font-weight: 750; letter-spacing: 0; }
  .print-team-crest img { width: 100%; height: 100%; padding: 1.5mm; object-fit: contain; }
  .print-team-crest > span { color: var(--team-primary-text, #294438); }
  .print-team-crest-small { width: 8mm; height: 8mm; border-width: .3mm; border-radius: 1mm; font-size: 6px; }
  .print-page-team { display: flex; align-items: center; gap: 2mm; margin-bottom: 2mm; color: var(--team-primary-text, #294438); font-size: 7px; letter-spacing: .02em; }
  .print-brand .brand-symbol { width: 17px; height: 16px; }
  .print-cover-rule { height: 1px; margin: 16px 0 25px; background: var(--team-secondary, #789477); }
  .print-cover > .eyebrow { color: var(--team-primary-text, #294438); font-size: 8px; }
  .print-cover > h1 { max-width: 155mm; margin: 9px 0 5px; color: #263b2e; font-size: 30px; font-weight: 650; letter-spacing: -.045em; line-height: 1.13; }
  .print-team-name { margin: 0; color: #7b857a; font-size: 12px; }
  .print-session-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 20px 0 24px; padding: 13px 0; border-top: 1px solid #e4e9e2; border-bottom: 1px solid #e4e9e2; }
  .print-session-facts > div { display: grid; gap: 5px; }
  .print-session-facts small, .print-goal small, .print-summary-item small, .print-timeline > small, .print-exercise-facts small, .print-detail small { color: #8a9388; font-size: 7px; font-weight: 750; letter-spacing: .12em; }
  .print-session-facts strong { font-size: 9px; font-weight: 650; }
  .print-summary-content { max-width: 155mm; }
  .print-section-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 13px; }
  .print-section-heading > span { color: var(--team-primary-text, #294438); font-size: 8px; font-weight: 750; }
  .print-section-heading h2 { margin: 0; font-size: 15px; font-weight: 650; }
  .print-goal, .print-summary-item { margin-bottom: 11px; padding: 10px 12px; border-left: 2px solid var(--team-secondary, #789477); background: #f5f7f3; }
  .print-goal p, .print-summary-item p { margin: 5px 0 0; color: #485248; font-size: 9px; line-height: 1.6; white-space: pre-wrap; }
  .print-timeline { margin-top: 19px; }
  .print-timeline > small { display: block; margin-bottom: 8px; }
  .print-timeline > div, .print-timeline > strong { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #edf0eb; font-size: 8px; }
  .print-timeline > strong { padding-top: 10px; border: 0; color: var(--team-primary-text, #294438); }
  .print-timeline > p { color: #858d84; font-size: 8px; }
  .print-footer { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 12px; padding-top: 8px; border-top: 1px solid var(--team-secondary, #789477); color: #879087; font-size: 7px; }
  .print-footer::after { margin-left: auto; color: #687469; content: "Página " counter(page); }
  .print-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
  .print-page-header .eyebrow { color: #7d8b7a; font-size: 7px; }
  .print-page-header h1 { margin: 5px 0 0; color: var(--team-primary-text, #294438); font-size: 18px; font-weight: 650; letter-spacing: -.035em; line-height: 1.22; }
  .print-page-header > strong { padding: 6px 9px; border-radius: 20px; background: #edf3ed; color: var(--team-primary-text, #294438); font-size: 9px; white-space: nowrap; }
  .print-exercise-goal { display: flex; align-items: baseline; gap: 10px; margin-bottom: 11px; padding: 8px 10px; background: #f5f7f3; }
  .print-exercise-goal small { color: #829080; font-size: 7px; font-weight: 750; letter-spacing: .12em; }
  .print-exercise-goal p { margin: 0; font-size: 8px; }
  .print-field-wrap { overflow: hidden; margin: 0 0 12px; border: 1px solid #d7dfd4; border-radius: 3px; background: #71916f; }
  .mini-field-print { width: 100%; max-height: 115mm; aspect-ratio: 3 / 2; }
  .print-exercise-facts { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 0 0 10px; padding: 10px 0; border-top: 1px solid #e8ece6; border-bottom: 1px solid #e8ece6; }
  .print-exercise-facts > div { min-width: 0; }
  .print-exercise-facts p { margin: 5px 0 0; overflow-wrap: anywhere; color: #424d43; font-size: 8px; line-height: 1.4; }
  .print-detail { margin: 0 0 9px; padding: 8px 10px; border-left: 2px solid var(--team-secondary, #789477); background: #f7f8f6; }
  .print-detail p { margin: 4px 0 0; color: #4c574d; font-size: 8px; line-height: 1.5; white-space: pre-wrap; }
  .print-detail a { color: #3f6046; overflow-wrap: anywhere; }
  .training-modal, .toast { display: none !important; }
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
}

@media print {
  body.is-games-report-print * { visibility: hidden !important; }
  body.is-games-report-print .games-report-print-area,
  body.is-games-report-print .games-report-print-area * { visibility: visible !important; }
  body.is-games-report-print .games-report-actions { display: none !important; }
  body.is-games-report-print .games-report-print-area { position: fixed !important; inset: 11mm 12mm !important; display: block !important; width: 186mm !important; min-height: 273mm; margin: 0 !important; color: #29342c; background: #fff; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; }
  body.is-games-report-print .games-report-heading { display: block; margin: 0 0 5mm; padding: 0 0 3mm; border-bottom: .4mm solid #dfe5dd; }
  body.is-games-report-print .games-report-heading h1 { margin: 1mm 0; color: #294438; font-size: 17pt; }
  body.is-games-report-print .games-report-heading p { margin: 0; color: #687368; font-size: 8pt; }
  body.is-games-report-print .retrospective-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: none; gap: 2mm; }
  body.is-games-report-print .retrospective-stat { min-height: 17mm; padding: 2mm; border-radius: 1mm; }
  body.is-games-report-print .retrospective-stat small { font-size: 6pt; }
  body.is-games-report-print .retrospective-stat strong { font-size: 11pt; }
  body.is-games-report-print .retrospective-panel { display: none !important; }
  body.is-games-report-print .retrospective-report-all { display: block; margin-top: 5mm; }
  body.is-games-report-print .retrospective-report-all h2 { margin: 0 0 2mm; font-size: 10pt; }
  body.is-games-report-print .retrospective-report-all .retrospective-row { min-height: 11mm; padding: 2mm 0; }
  body.is-games-report-print .goal-analysis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3mm; }
  body.is-games-report-print .goal-analysis-card { padding: 3mm; break-inside: avoid; page-break-inside: avoid; }
  body.is-games-report-print .goal-analysis-card h2 { font-size: 9pt; }
  body.is-games-report-print .goal-halves { gap: 3mm; }
  body.is-games-report-print .goal-half h3 { font-size: 7pt; }
  body.is-games-report-print .goal-band-row { font-size: 6pt; }
  body.is-games-report-print .goal-band-row small { font-size: 5pt; }
  body.is-games-report-print .goal-analysis-note { font-size: 6pt; }
}

/* Tactical assistant conversation */
.assistant-page-heading { align-items: flex-end; margin-bottom: 20px; }
.assistant-page-heading .button { flex: 0 0 auto; }
.assistant-page-heading .button .icon { width: 15px; height: 15px; }
.assistant-workspace { display: grid; min-height: min(690px, calc(100vh - 215px)); grid-template-columns: minmax(235px, .72fr) minmax(0, 1.7fr); overflow: hidden; border: 1px solid #e6eae4; border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.assistant-context-panel { display: flex; flex-direction: column; gap: 18px; padding: 21px 18px; border-right: 1px solid #e9ece7; background: #fbfcfa; }
.assistant-context-tabs { display: flex; gap: 6px; overflow-x: auto; margin: -7px 0 16px; padding: 2px 0 8px; scrollbar-width: thin; }
.assistant-context-tab { flex: 0 0 auto; padding: 8px 12px; border: 1px solid #e7ebe5; border-radius: 20px; background: white; color: #718071; font-size: 0.625rem; font-weight: 650; }
.assistant-context-tab:hover { border-color: var(--team-secondary); color: var(--green-deep); }
.assistant-context-tab.is-active { border-color: var(--brand-action); background: var(--brand-action); color: var(--brand-on-action); }
.assistant-context-heading { display: flex; align-items: center; gap: 10px; }
.assistant-context-heading .assistant-icon { border-color: #e1e9e0; background: #edf3ed; color: #53745a; }
.assistant-context-heading h2 { margin: 3px 0 0; color: #344237; font-size: 0.875rem; font-weight: 650; letter-spacing: -.025em; }
.assistant-context-grid { display: grid; gap: 11px; }
.assistant-context-grid > div { display: grid; gap: 4px; }
.assistant-context-grid span, .assistant-context-text > span { color: #8c958a; font-size: 0.5625rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.assistant-context-grid strong { color: #424e42; font-size: 0.6875rem; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.assistant-context-text { padding-top: 12px; border-top: 1px solid #e9ede7; }
.assistant-context-text p { margin: 6px 0 0; color: #667064; font-size: 0.625rem; line-height: 1.65; white-space: normal; overflow-wrap: anywhere; }
.assistant-context-hint { margin: -6px 0 0; color: #8a9388; font-size: 0.625rem; line-height: 1.6; }
.assistant-edit-context { justify-content: flex-start; margin-top: auto; font-size: 0.625rem; }
.assistant-chat-panel { display: flex; min-width: 0; min-height: 630px; flex-direction: column; padding: 20px 22px 14px; }
.assistant-chat-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid #edf0ec; }
.assistant-chat-header h2 { margin: 4px 0 0; color: #303b32; font-size: 1.0625rem; font-weight: 630; letter-spacing: -.035em; }
.assistant-chat-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px 12px; }
.assistant-chat-status { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; margin-top: 4px; color: #9a8060; font-size: 0.5625rem; }
.assistant-chat-status i { width: 7px; height: 7px; border-radius: 50%; background: #c4a16c; }
.assistant-chat-status.is-ready { color: #608067; }
.assistant-chat-status.is-ready i { background: #84a78a; }
.assistant-usage-tooltip { position: relative; }
.assistant-usage-tooltip > summary { display: grid; gap: 2px; padding: 6px 8px; border: 1px solid #e7ece5; border-radius: 5px; background: #fbfcfa; color: #637163; cursor: pointer; list-style: none; text-align: right; }
.assistant-usage-tooltip > summary::-webkit-details-marker { display: none; }
.assistant-usage-tooltip > summary strong { font-size: .59rem; font-weight: 700; white-space: nowrap; }
.assistant-usage-tooltip > summary span { color: #90998e; font-size: .48rem; white-space: nowrap; }
.assistant-usage-tooltip.is-elevated > summary { border-color: #eadfbe; background: #fcfaf4; color: #887242; }
.assistant-usage-tooltip.is-elevated > summary span { color: #a18a57; }
.assistant-usage-tooltip.is-near-limit > summary, .assistant-usage-tooltip.is-exhausted > summary { border-color: #ecd4ca; background: #fdf8f6; color: #a45b48; }
.assistant-usage-tooltip.is-near-limit > summary span, .assistant-usage-tooltip.is-exhausted > summary span { color: #b17665; }
.assistant-usage-tooltip > summary:focus-visible { outline: 3px solid rgb(87 128 96 / 28%); outline-offset: 2px; }
.assistant-usage-tooltip-copy { position: absolute; z-index: 3; top: calc(100% + 5px); right: 0; width: max-content; max-width: min(260px, 70vw); padding: 8px 10px; border: 1px solid #e4e9e2; border-radius: 5px; background: #fff; box-shadow: 0 7px 18px rgb(31 44 32 / 10%); color: #667166; font-size: .56rem; line-height: 1.45; }
.assistant-usage { color: #899387; font-size: .54rem; }
.assistant-usage-loading { white-space: nowrap; }
.assistant-usage-unavailable { color: #9a8060; cursor: help; }
.assistant-monthly-limit-notice { margin: 12px 0 0; padding: 9px 11px; border: 1px solid #ecd4ca; border-radius: 5px; background: #fdf8f6; color: #9e5b4b; font-size: .62rem; line-height: 1.5; }
.assistant-setup-notice { margin: 14px 0 0; padding: 12px 14px; border: 1px solid #eadfce; border-radius: 6px; background: #fffbf5; }
.assistant-setup-notice strong { color: #765f42; font-size: 0.625rem; font-weight: 700; }
.assistant-setup-notice p { margin: 5px 0 0; color: #817966; font-size: 0.5625rem; line-height: 1.65; }
.assistant-message-list { display: flex; min-height: 250px; flex: 1 1 0; flex-direction: column; gap: 12px; overflow: auto; padding: 18px 4px 13px 0; overscroll-behavior: contain; }
.assistant-empty-state { display: grid; max-width: 390px; align-content: center; justify-items: center; gap: 8px; margin: auto; padding: 24px 14px; color: #808a80; text-align: center; }
.assistant-empty-mark { display: grid; width: 36px; height: 36px; place-items: center; margin-bottom: 3px; border-radius: 10px; background: #edf3ed; color: #58745d; }
.assistant-empty-mark .icon { width: 19px; height: 19px; }
.assistant-empty-state strong { color: #475449; font-size: 0.75rem; font-weight: 650; }
.assistant-empty-state p { margin: 0; font-size: 0.625rem; line-height: 1.65; }
.assistant-message { position: relative; width: fit-content; max-width: min(88%, 660px); padding: 11px 13px 10px; border: 1px solid #e7ebe5; border-radius: 8px; background: #fafbf9; animation: fade-in .16s ease-out; }
.assistant-message-user { align-self: flex-end; border-color: #dce8dc; background: #f0f5ef; }
.assistant-message-author { display: block; margin-bottom: 5px; color: #6f806f; font-size: 0.5625rem; font-weight: 700; }
.assistant-message p { margin: 0; color: #414b42; font-size: 0.6875rem; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.assistant-message time { display: block; margin-top: 6px; color: #a0a69f; font-size: 0.5rem; text-align: right; }
.assistant-message-pending p { color: #8d968d; }
.assistant-chat-error { margin: 0 0 8px; padding: 9px 11px; border: 1px solid #f0d7d2; border-radius: 5px; background: #fff8f6; color: #915d54; font-size: 0.625rem; line-height: 1.5; }
.assistant-prompt-suggestions { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 0 12px; }
.assistant-prompt-suggestions button { max-width: 100%; padding: 7px 9px; border: 1px solid #e4e9e2; border-radius: 15px; background: white; color: #657364; cursor: pointer; font-size: 0.5625rem; line-height: 1.45; text-align: left; }
.assistant-prompt-suggestions button:hover { border-color: #b7c8b8; background: #f8faf7; }
.assistant-chat-composer { display: flex; align-items: flex-end; gap: 9px; padding-top: 11px; border-top: 1px solid #edf0ec; }
.assistant-chat-composer textarea { min-width: 0; min-height: 45px; max-height: 140px; flex: 1 1 auto; resize: vertical; padding: 12px 13px; border: 1px solid #e1e6df; border-radius: 7px; background: #fff; color: var(--ink); font-size: 0.6875rem; line-height: 1.5; }
.assistant-chat-composer textarea:focus { border-color: #91a595; outline: 3px solid rgb(87 128 96 / 10%); }
.assistant-chat-composer textarea:disabled { background: #f7f8f6; color: #939a91; cursor: not-allowed; }
.assistant-chat-composer .button { min-height: 44px; font-size: 0.625rem; }
.assistant-chat-composer .button:disabled { background: #a8b2a8; cursor: not-allowed; }
.assistant-privacy-note { display: flex; align-items: flex-start; gap: 6px; margin: 8px 0 0; color: #969e95; font-size: 0.5rem; line-height: 1.55; }
.assistant-privacy-note .icon { width: 12px; height: 12px; color: #7e9881; }
@media (max-width: 920px) {
  .assistant-workspace { grid-template-columns: minmax(200px, .7fr) minmax(0, 1.3fr); }
  .assistant-context-panel { padding: 17px 14px; }
  .assistant-chat-panel { padding-right: 16px; padding-left: 16px; }
  .assistant-chat-status { max-width: 150px; font-size: 0.5rem; }
}
@media (max-width: 720px) {
  .assistant-page-heading { flex-direction: column; align-items: flex-start; gap: 14px; }
  .assistant-page-heading .button { min-height: 39px; }
  .assistant-workspace { min-height: 0; grid-template-columns: minmax(0, 1fr); }
  .assistant-context-panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 13px; padding: 15px; border-right: 0; border-bottom: 1px solid #e9ece7; }
  .assistant-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .assistant-context-text { padding-top: 9px; }
  .assistant-edit-context { margin-top: 0; }
  .assistant-chat-panel { min-height: 570px; padding: 15px 13px 12px; }
  .assistant-chat-header { flex-direction: column; gap: 8px; }
  .assistant-chat-header h2 { font-size: 0.9375rem; }
  .assistant-chat-status { max-width: none; }
  .assistant-setup-notice { padding: 10px; }
  .assistant-message-list { min-height: 230px; padding-right: 0; }
  .assistant-message { max-width: 94%; }
  .assistant-chat-composer { gap: 6px; }
  .assistant-chat-composer .button { min-width: 42px; padding: 0 10px; font-size: 0; }
  .assistant-chat-composer .button .icon { width: 16px; height: 16px; }
}

@media (max-width: 480px) {
  .general-schedule-tools { grid-template-columns: minmax(0, 1fr); }
}

/* Dashboard assistant, arranged as a horizontal planning bar */
.assistant-card.assistant-bar { position: relative; grid-column: 1 / -1; display: grid; min-height: 154px; grid-template-columns: minmax(0, 1fr) minmax(340px, .95fr); align-items: center; gap: 22px; margin: 0 0 16px; padding: 18px 21px 37px; }
.assistant-bar-copy { display: grid; align-content: center; gap: 7px; }
.assistant-bar .assistant-topline { gap: 8px; padding: 0; }
.assistant-bar .assistant-icon { width: 26px; height: 26px; }
.assistant-bar .assistant-tag { font-size: 0.5rem; }
.assistant-bar .assistant-online { font-size: 0.5rem; }
.assistant-bar-copy > .eyebrow { margin-top: 3px; }
.assistant-bar-copy h2 { margin: 0; color: #f2f4f0; font-size: 1.3125rem; font-weight: 590; letter-spacing: -.045em; line-height: 1.2; }
.assistant-bar-copy > p { max-width: 520px; margin: 0; color: #b7c3b8; font-size: 0.625rem; line-height: 1.55; }
.assistant-bar-actions { display: grid; gap: 10px; }
.assistant-bar .assistant-input { min-height: 42px; font-size: 0.625rem; }
.assistant-bar .assistant-actions { gap: 6px; }
.assistant-bar .assistant-action { min-height: 25px; font-size: 0.5rem; }
.assistant-bar .assistant-context { position: absolute; right: 20px; bottom: 11px; left: 20px; margin: 0; padding: 0; border: 0; font-size: 0.5rem; }
@media (max-width: 920px) {
  .assistant-card.assistant-bar { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 16px; }
  .assistant-bar-copy h2 { font-size: 1.125rem; }
}
@media (max-width: 720px) {
  .assistant-card.assistant-bar { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-bottom: 12px; padding: 16px 16px 38px; }
  .assistant-bar-copy h2 { font-size: 1.25rem; }
  .assistant-bar-actions { gap: 9px; }
  .assistant-bar .assistant-actions { gap: 5px; }
  .assistant-bar .assistant-action { min-height: 28px; }
  .assistant-bar .assistant-context { right: 16px; left: 16px; font-size: 0.4375rem; }
}

@media (max-width: 720px) {
  .games-page-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .roster-page-heading { align-items: flex-start; }
  .games-panel, .game-editor-card { padding: 16px 13px; }
  .games-week-toolbar { align-items: flex-start; flex-direction: column; }
  .games-week-toolbar .week-navigation { margin: 0; }
  .game-list-row { grid-template-columns: 43px minmax(0, 1fr) auto 16px; gap: 8px; }
  .game-list-meta { grid-column: 2; grid-row: 2; }
  .game-list-score { grid-column: 3; grid-row: 1; padding: 5px 7px; font-size: .625rem; }
  .game-list-row > .icon { grid-column: 4; grid-row: 1 / 3; }
  .game-reference-row { grid-template-columns: minmax(0, 1fr) 34px; }
  .game-reference-row .training-field:first-child { grid-column: 1; }
  .game-reference-row .training-field:nth-child(2) { grid-column: 1; }
  .game-reference-row > button { grid-column: 2; grid-row: 1 / 3; }
  .games-tabs { width: 100%; }
  .retrospective-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .retrospective-row { grid-template-columns: 66px minmax(0, 1fr); gap: 8px; }
  .retrospective-result { grid-column: 2; justify-self: start; }
  .goal-analysis-grid, .goal-halves { grid-template-columns: minmax(0, 1fr); }
  .goal-analysis-card { padding: 14px; }
  .game-score-inputs { gap: 7px; }
  .game-goals-heading { align-items: flex-start; flex-direction: column; }
  .game-goal-row { grid-template-columns: 32px 52px minmax(0, 1fr) auto; gap: 6px; }
  .game-goal-row > a { grid-column: 3; }
  .game-goal-row > button { grid-column: 4; grid-row: 1 / 3; }
  .roster-toolbar { align-items: flex-start; flex-direction: column; }
  .roster-search { width: 100%; }
  .roster-grid { grid-template-columns: minmax(0, 1fr); }
  .athlete-form-grid, .goal-minute-fields { grid-template-columns: minmax(0, 1fr); }
  .game-model-summary-tools { align-items: flex-start; flex-direction: column; }
.assistant-context-tabs { margin-top: -2px; }
}

/* Programming views and product overview */
.month-calendar { overflow: hidden; border: 1px solid #edf0eb; border-radius: 7px; }
.month-calendar-weekdays, .month-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.month-calendar-weekdays { background: #f8faf7; }
.month-calendar-weekdays > span { padding: 9px 5px; color: #838d82; font-size: 0.5rem; text-align: center; }
.month-calendar-grid { border-top: 1px solid #edf0eb; }
.month-calendar-cell { position: relative; display: grid; min-width: 0; min-height: 102px; grid-template-columns: minmax(0, 1fr) 20px; gap: 3px; padding: 5px; border-right: 1px solid #edf0eb; border-bottom: 1px solid #edf0eb; }
.month-calendar-cell:nth-child(7n) { border-right: 0; }
.month-day-select { display: grid; min-width: 0; align-content: start; justify-items: start; gap: 4px; padding: 3px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #657064; text-align: left; cursor: pointer; }
.month-day-select:hover { background: #f7faf6; }
.month-day-select > strong { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; font-size: 0.5625rem; font-weight: 600; }
.month-day-select.is-today > strong { background: var(--brand-action); color: var(--brand-on-action); }
.month-day-select.is-selected { border-color: #dce7d9; background: #f8faf7; }
.month-day-select.is-selected > strong { color: #38583f; }
.month-day-events { display: grid; width: 100%; min-width: 0; gap: 2px; }
.month-day-events span, .month-day-events small { overflow: hidden; color: #859084; font-size: 0.4375rem; text-overflow: ellipsis; white-space: nowrap; }
.month-day-events small { color: #9ca49a; }
.month-day-add { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid transparent; border-radius: 50%; background: transparent; color: #7f907e; cursor: pointer; }
.month-day-add:hover { border-color: #e4eae2; background: #fff; }
.month-day-add .icon { width: 12px; height: 12px; }
.month-calendar-blank { min-height: 102px; border-right: 1px solid #edf0eb; border-bottom: 1px solid #edf0eb; background: #fbfcfa; }
.month-selected-day { margin-top: 20px; padding-top: 16px; border-top: 1px solid #edf0eb; }
.month-selected-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.month-selected-heading h3 { margin: 5px 0 0; color: #3e4c40; font-size: 0.875rem; font-weight: 650; text-transform: capitalize; }
.month-selected-heading .button { min-height: 34px; padding: 0 10px; font-size: 0.5625rem; }
.selected-day-events { display: grid; gap: 8px; }
.selected-day-events .week-event-entry { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.selected-day-events .weekly-event-links { align-content: start; padding: 6px; }
.platform-overview-heading { max-width: 850px; margin: 7px 0 33px; }
.platform-overview-heading h1 { margin: 8px 0 9px; color: #29352c; font-size: clamp(1.7rem, 3vw, 2.25rem); font-weight: 630; letter-spacing: -.05em; }
.platform-overview-heading > p { max-width: 590px; margin: 0 0 15px; color: #7e897e; font-size: 0.75rem; line-height: 1.65; }
.platform-overview-heading > .quiet-link { text-decoration: none; }
.platform-overview-heading > .quiet-link .icon { transform: none; }
.platform-overview-section { max-width: 1000px; margin: 0 0 35px; }
.platform-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.platform-section-heading h2 { margin: 5px 0 0; color: #39453a; font-size: 1.0625rem; font-weight: 640; letter-spacing: -.03em; }
.platform-current-version { color: #899287; font-size: 0.5625rem; }
.platform-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #e9ede7; }
.platform-feature { display: grid; min-width: 0; grid-template-columns: 36px minmax(0, 1fr) 16px; align-items: center; gap: 12px; padding: 14px 10px 14px 2px; border-bottom: 1px solid #e9ede7; color: inherit; text-decoration: none; }
.platform-feature:nth-child(odd) { margin-right: 19px; }
.platform-feature:nth-child(even) { margin-left: 19px; }
.platform-feature:hover strong { color: #426449; }
.platform-feature-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; background: #f0f4ef; color: #617b63; }
.platform-feature-icon .icon { width: 16px; height: 16px; }
.platform-feature > span:nth-child(2) { display: grid; min-width: 0; gap: 4px; }
.platform-feature strong { color: #4c584d; font-size: 0.625rem; font-weight: 650; }
.platform-feature small { color: #899187; font-size: 0.5625rem; line-height: 1.5; }
.platform-feature > .icon { width: 14px; height: 14px; color: #9aa397; }
.platform-start-section { padding: 16px 18px 18px; border: 1px solid #e8ede7; border-radius: 8px; background: #fff; }
.platform-start-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.platform-start-step { display: grid; min-width: 0; min-height: 62px; grid-template-columns: 27px minmax(0, 1fr); align-content: center; align-items: center; gap: 9px; padding: 9px; border-radius: 6px; background: #f8faf7; color: inherit; text-decoration: none; }
.platform-start-step:hover { background: #f0f5ef; }
.platform-start-step > span, .platform-guide-number { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: #eaf1e9; color: #527255; font-size: .55rem; font-weight: 700; }
.platform-start-step strong { color: #536054; font-size: .57rem; line-height: 1.4; }
.platform-guide-hint { color: #929b91; font-size: .55rem; }
.platform-guide-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 10px; }
.platform-guide { min-width: 0; overflow: hidden; border: 1px solid #e8ede7; border-radius: 7px; background: #fff; }
.platform-guide[open] { border-color: #d5e2d3; box-shadow: 0 5px 15px rgb(43 67 45 / 4%); }
.platform-guide > summary { display: grid; min-height: 70px; grid-template-columns: 28px minmax(0, 1fr) 16px; align-items: center; gap: 10px; padding: 11px 12px; cursor: pointer; list-style: none; }
.platform-guide > summary::-webkit-details-marker { display: none; }
.platform-guide-summary { display: grid; min-width: 0; gap: 4px; }
.platform-guide-summary strong { color: #4c584d; font-size: .63rem; font-weight: 650; }
.platform-guide-summary small { color: #899187; font-size: .54rem; line-height: 1.45; }
.platform-guide-chevron { display: grid; place-items: center; color: #89968a; }
.platform-guide-chevron .icon { width: 13px; height: 13px; transform: rotate(90deg); transition: transform .16s ease; }
.platform-guide[open] .platform-guide-chevron .icon { transform: rotate(-90deg); }
.platform-guide-content { padding: 0 15px 15px 50px; }
.platform-guide-content ol { display: grid; gap: 7px; margin: 0 0 12px; padding-left: 17px; color: #687469; font-size: .57rem; line-height: 1.55; }
.platform-guide-content li { padding-left: 2px; }
.platform-guide-note { margin: 0 0 12px; padding: 8px 10px; border-left: 2px solid #93b194; border-radius: 0 4px 4px 0; background: #f5f8f4; color: #5e725f; font-size: .55rem; line-height: 1.5; }
.platform-guide-cta { width: fit-content; min-height: 34px; padding: 0 10px; font-size: .56rem; text-decoration: none; }
.platform-guide-cta .icon { width: 13px; height: 13px; }
.platform-video-placeholder, .platform-video-link { display: flex; min-width: 0; align-items: center; gap: 9px; margin: 0 0 11px; padding: 9px 10px; border: 1px solid #e8ede7; border-radius: 6px; background: #fafbf9; color: #738073; font-size: .55rem; text-decoration: none; }
.platform-video-placeholder > span:first-child { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 50%; background: #eef3ed; color: #69836a; font-size: .5rem; }
.platform-video-placeholder > span:nth-child(2), .platform-video-link > span { display: grid; min-width: 0; gap: 3px; }
.platform-video-placeholder > small, .platform-video-link small { color: #939b91; font-size: .5rem; }
.platform-video-link img { width: 42px; height: 32px; flex: 0 0 42px; border-radius: 4px; object-fit: cover; }
.platform-video-link > .icon { width: 13px; height: 13px; margin-left: auto; }
.platform-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 0 0 6px; overflow: hidden; border-radius: 6px; background: #1e2b20; }
.platform-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.platform-video-duration { display: block; margin: 0 0 8px; color: #939b91; font-size: .5rem; }
.platform-tips-section { padding: 15px 18px; border-radius: 7px; background: #f7f9f6; }
.platform-tips-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; margin: 0; padding: 0; list-style: none; color: #687469; font-size: .57rem; line-height: 1.5; }
.platform-tips-list li { position: relative; padding-left: 15px; }
.platform-tips-list li::before { position: absolute; top: .5em; left: 1px; width: 5px; height: 5px; border-radius: 50%; background: #7c9a7c; content: ''; }
.platform-update-list { display: grid; max-width: 800px; }
.platform-update { padding: 16px 0 18px; border-top: 1px solid #e9ede7; }
.platform-update-heading { display: flex; align-items: center; gap: 9px; color: #899287; font-size: 0.5625rem; }
.platform-update-version { padding: 4px 7px; border-radius: 4px; background: #f0f4ef; color: #5c765e; font-weight: 650; }
.platform-update h3 { margin: 9px 0 7px; color: #465247; font-size: 0.75rem; font-weight: 650; }
.platform-update ul { display: grid; gap: 5px; margin: 0; padding-left: 17px; color: #818a80; font-size: 0.5625rem; line-height: 1.5; }

.auth-unavailable-note { margin: 14px 0 0; padding: 10px 12px; border: 1px solid #eadfce; border-radius: 6px; background: #fffbf5; color: #806d50; font-size: 0.625rem; line-height: 1.5; }
.auth-form .button:disabled { background: #a8b2a8; cursor: not-allowed; }
.auth-submit-spinner { display: none; width: 13px; height: 13px; flex: 0 0 auto; border: 1.5px solid rgb(255 255 255 / 38%); border-top-color: currentColor; border-radius: 50%; }
.auth-submit-button.is-loading .auth-submit-spinner { display: inline-block; animation: auth-submit-spin .8s linear infinite; }
.auth-submit-button.is-loading > .icon { display: none; }
.auth-page { transition: opacity .2s ease; }
.auth-page.is-auth-success { opacity: 0; pointer-events: none; }
.auth-welcome-overlay { position: fixed; z-index: 10000; inset: 0; display: grid; align-content: center; justify-items: center; gap: 9px; overflow: hidden; padding: 24px; background: #00382b; color: #fff; opacity: 0; animation: auth-welcome-fade-in .2s ease-out forwards; }
.auth-welcome-symbol { display: block; width: clamp(112px, 20vw, 164px); height: auto; aspect-ratio: 1; border-radius: 22%; object-fit: cover; animation: auth-symbol-arrive .68s cubic-bezier(.2,.7,.2,1) both; }
.auth-welcome-message { margin: 0; color: #f5f8f4; font-size: clamp(1.05rem, 3vw, 1.38rem); font-weight: 570; letter-spacing: -.025em; opacity: 0; animation: auth-welcome-text .32s ease-out .2s forwards; }
.auth-welcome-overlay.is-exiting { opacity: 0; transition: opacity .18s ease; }
@keyframes auth-submit-spin { to { transform: rotate(360deg); } }
@keyframes auth-welcome-fade-in { to { opacity: 1; } }
@keyframes auth-symbol-arrive { from { opacity: .45; transform: translateY(5px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes auth-welcome-text { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .auth-page { transition-duration: .12s; }
  .auth-submit-button.is-loading .auth-submit-spinner { border-color: currentColor; animation: none; }
  .auth-welcome-overlay { animation-duration: .12s; }
  .auth-welcome-symbol { animation: auth-welcome-text .12s ease-out both; }
  .auth-welcome-message { animation-delay: 0s; animation-duration: .12s; }
  .auth-welcome-overlay.is-exiting { transition-duration: .12s; }
}
.department-access-page { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: #f8faf7; }
.department-access-panel { width: min(100%, 480px); padding: 30px; border: 1px solid #e6eae4; border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.department-access-brand { margin-bottom: 28px; }
.department-access-panel h1 { margin: 8px 0; color: var(--ink); font-size: clamp(1.45rem, 5vw, 2rem); letter-spacing: -.04em; line-height: 1.2; }
.department-access-panel > p { margin: 0; color: #778176; font-size: .75rem; line-height: 1.65; }
.department-access-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
@media (max-width: 540px) { .department-access-panel { padding: 22px 18px; } .department-access-actions { flex-direction: column; } }

.admin-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.admin-page-heading h1 { margin: 8px 0; color: #29352c; font-size: clamp(1.7rem, 3vw, 2.25rem); font-weight: 630; letter-spacing: -.05em; }
.admin-page-heading p { margin: 0; color: #7e897e; font-size: .75rem; }
.admin-create-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-list-panel, .admin-detail-panel { max-width: 1120px; margin-top: 22px; padding: 20px; border: 1px solid #e8ece6; border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.admin-filters { display: grid; grid-template-columns: minmax(190px, 1.7fr) repeat(3, minmax(115px, .8fr)) auto; align-items: end; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid #edf0eb; }
.admin-filters label, .admin-form > label, .admin-form-grid label, .admin-inline-form label { display: grid; gap: 6px; color: #687468; font-size: .625rem; font-weight: 600; }
.admin-filters input, .admin-filters select, .admin-form input, .admin-inline-form input { min-width: 0; height: 37px; padding: 0 10px; border: 1px solid #e4e9e2; border-radius: 5px; background: #fff; color: #39443a; font: inherit; font-size: .6875rem; }
.admin-filters .button, .admin-inline-form .button, .admin-department-form > .button { min-height: 37px; padding: 0 13px; }
.admin-account-table { overflow-x: auto; }
.admin-account-header, .admin-account-row { display: grid; min-width: 760px; grid-template-columns: minmax(170px, 1.5fr) minmax(100px, .75fr) minmax(86px, .6fr) minmax(78px, .5fr) minmax(130px, 1fr) 15px; align-items: center; gap: 12px; }
.admin-account-header { padding: 14px 5px 9px; color: #8b9589; font-size: .5625rem; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.admin-account-row { min-height: 58px; padding: 9px 5px; border-top: 1px solid #f0f2ee; color: inherit; text-decoration: none; font-size: .625rem; }
.admin-account-row:hover { background: #fbfcfa; }
.admin-account-row > span:first-child { display: grid; min-width: 0; gap: 4px; }
.admin-account-row strong { overflow: hidden; color: #3b483d; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.admin-account-row small, .admin-account-cell { overflow: hidden; color: #818b80; text-overflow: ellipsis; white-space: nowrap; }
.admin-account-chevron { color: #9aa397; font-size: 1.1rem; }
.admin-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 8px; border-radius: 99px; background: #f1f3f0; color: #778176; font-size: .5625rem; font-weight: 650; white-space: nowrap; }
.admin-badge.active { background: #edf5ee; color: #4f7955; }
.admin-badge.inactive, .admin-badge.expired { background: #f8efec; color: #9b6657; }
.admin-badge.pending { background: #f8f3e7; color: #8a7445; }
.admin-badge-role { background: #f1eef8; color: #6c5e8b; }
.admin-empty { padding: 22px 5px; color: #899287; font-size: .6875rem; }
.admin-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid #edf0eb; }
.admin-panel-heading h2 { margin: 6px 0 0; color: #3e4c40; font-size: 1.125rem; font-weight: 640; }
.admin-account-badges { display: flex; flex-wrap: wrap; gap: 7px; margin: 15px 0; }
.admin-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 14px 0 18px; border-bottom: 1px solid #edf0eb; }
.admin-facts > div { min-width: 0; }
.admin-facts dt { color: #8b9589; font-size: .5625rem; }
.admin-facts dd { overflow-wrap: anywhere; margin: 5px 0 0; color: #3f4b40; font-size: .6875rem; font-weight: 550; }
.admin-detail-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding: 17px 0; }
.admin-inline-form { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.admin-inline-form input { min-width: 160px; }
.admin-department-form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding: 16px 0; border-top: 1px solid #edf0eb; }
.admin-department-picker { display: flex; flex-wrap: wrap; gap: 8px 15px; min-width: 100%; margin: 0; padding: 12px; border: 1px solid #e8ece6; border-radius: 6px; }
.admin-department-picker legend { padding: 0 5px; color: #687468; font-size: .625rem; font-weight: 650; }
.admin-department-choice { display: inline-flex; align-items: center; gap: 7px; }
.admin-department-choice select { height: 29px; padding: 0 6px; border: 1px solid #e4e9e2; border-radius: 4px; background: #fff; color: #687468; font: inherit; font-size: .5625rem; }
.admin-check { display: inline-flex; align-items: center; gap: 7px; color: #586558; font-size: .6875rem; }
.admin-check input { accent-color: #607e62; }
.admin-danger-zone { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; padding: 14px 0 0; border-top: 1px solid #f0e7e4; }
.admin-future-section { margin-top: 5px; padding: 13px 0; border-top: 1px solid #edf0eb; }
.admin-future-section p { margin: 6px 0 0; color: #899187; font-size: .5625rem; line-height: 1.5; }
.admin-danger-zone > div { display: grid; gap: 4px; }
.admin-danger-zone strong { color: #805c53; font-size: .6875rem; }
.admin-danger-zone small, .admin-form-hint { color: #899187; font-size: .5625rem; line-height: 1.55; }
.button-danger { min-height: 36px; padding: 0 12px; border: 1px solid #eedbd5; border-radius: 5px; background: #fff8f6; color: #995c4d; cursor: pointer; font: inherit; font-size: .625rem; font-weight: 650; }
.button-danger:hover { background: #faeeea; }
.admin-form { display: grid; max-width: 650px; gap: 13px; padding-top: 18px; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-form-actions { display: flex; justify-content: flex-end; }
.admin-form .form-alert, .admin-detail-panel > .form-alert { margin: 0; }
.admin-section-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 17px 0 5px; border-bottom: 1px solid #e8ece6; }
.admin-section-tabs a { display: inline-flex; min-height: 42px; align-items: center; padding: 0 12px; border-bottom: 2px solid transparent; color: #7d887c; font-size: .65rem; font-weight: 620; text-decoration: none; }
.admin-section-tabs a.is-active { border-color: #527255; color: #3f6347; }
.monitoring-updated { margin: 14px 0 20px; color: #899287; font-size: .6rem; line-height: 1.55; }
.monitoring-section { max-width: 1120px; margin: 0 0 26px; padding: 18px; border: 1px solid #e8ece6; border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.monitoring-section > header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 13px; }
.monitoring-section h2 { margin: 5px 0 0; color: #39453a; font-size: 1rem; font-weight: 640; }
.monitoring-subheading { margin: 17px 0 9px; color: #526052; font-size: .68rem; }
.monitoring-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 9px; }
.monitoring-stat-grid-five { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
.monitoring-stat { display: grid; min-width: 0; min-height: 83px; align-content: center; gap: 7px; padding: 12px; border: 1px solid #edf0eb; border-radius: 6px; background: #fafbf9; }
.monitoring-stat > span { color: #818b80; font-size: .55rem; line-height: 1.4; }
.monitoring-stat strong { color: #354338; font-size: 1.1rem; font-weight: 680; overflow-wrap: anywhere; }
.monitoring-stat small { color: #959d93; font-size: .5rem; line-height: 1.4; }
.monitoring-source-note, .monitoring-unavailable { margin: 12px 0; color: #7c877b; font-size: .58rem; line-height: 1.6; }
.monitoring-unavailable { padding: 11px 12px; border-radius: 5px; background: #fbf7ed; color: #826d43; }
.monitoring-table-wrap { width: 100%; overflow-x: auto; border: 1px solid #edf0eb; border-radius: 6px; }
.monitoring-table { width: 100%; min-width: 650px; border-collapse: collapse; color: #5f6b60; font-size: .58rem; }
.monitoring-table th, .monitoring-table td { padding: 10px 11px; border-bottom: 1px solid #edf0eb; text-align: left; vertical-align: top; }
.monitoring-table th { background: #f8faf7; color: #7c877b; font-size: .52rem; font-weight: 680; white-space: nowrap; }
.monitoring-table tbody tr:last-child td { border-bottom: 0; }
.monitoring-table td:first-child strong, .monitoring-table td:first-child small { display: block; }
.monitoring-table td:first-child small { margin-top: 3px; color: #9aa198; font-size: .48rem; }
@media (max-width: 760px) {
  .admin-page-heading { align-items: flex-start; flex-direction: column; }
  .admin-list-panel, .admin-detail-panel { padding: 14px 12px; }
  .admin-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-filters .admin-search-label { grid-column: 1 / -1; }
  .admin-filters .button { grid-column: 1 / -1; }
  .admin-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .admin-create-actions { width: 100%; }
  .admin-create-actions .button { flex: 1; justify-content: center; }
  .admin-filters, .admin-form-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-facts { grid-template-columns: minmax(0, 1fr); }
  .admin-danger-zone { align-items: flex-start; flex-direction: column; }
  .admin-inline-form { align-items: stretch; flex-direction: column; }
}

@media (max-width: 720px) {
  .modal-backdrop { align-items: start; overflow-y: auto; padding: calc(10px + env(safe-area-inset-top, 0px)) 10px calc(10px + env(safe-area-inset-bottom, 0px)); }
  .assistant-modal, .training-modal, .week-plan-modal { max-height: calc(100vh - 20px); max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px); overflow-y: auto; overscroll-behavior: contain; }
  .training-block-actions .icon-button, .exercise-header-actions .icon-button { min-width: 44px; min-height: 44px; }
  .field-action-button, .implement-rotation-controls button { min-height: 44px; }
  .field-marker-controls select { min-height: 44px; }
  .training-bottom-actions .button { min-height: 44px; }
  .training-page-actions .button { min-height: 44px; }
  .admin-create-actions .button { min-height: 44px; }
  .training-field select, .profile-form-grid select { min-height: 44px; }
  .sidebar .nav-link, .sidebar-help > a { min-height: 44px; }
  .mobile-menu, .notification-button { width: 44px; height: 44px; }
  .profile-edit-form > .button, .games-page-heading .button, .roster-page-heading .button,
  .games-week-toolbar .button, .game-editor-actions .button, .convocation-actions .button,
  .convocation-view-switch button, .assistant-page-heading .button,
  .week-plan-modal .modal-actions .button, .assistant-modal .modal-actions .button { min-height: 44px; }
  .game-goal-row > button, .week-navigation .icon-button { min-width: 44px; min-height: 44px; }
  .sidebar { height: 100vh; height: 100dvh; }
}

@media (max-width: 390px) {
  .exercise-card-header { flex-wrap: wrap; }
  .exercise-header-actions { margin-left: auto; }
  .training-block-actions { align-self: center; }
  .admin-section-tabs { width: 100%; }
  .admin-section-tabs a { min-height: 44px; flex: 1; justify-content: center; }
  .monitoring-section { padding: 13px 11px; }
  .monitoring-stat-grid, .monitoring-stat-grid-five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .monitoring-stat { padding: 10px; }
  .monitoring-stat strong { font-size: 1rem; }
}

.app-shell, .app-main, .page-content { min-width: 0; }

@media (max-width: 720px) {
  .platform-guide-summary strong { font-size: .75rem; }
  .platform-guide-summary small { font-size: .65rem; }
  .platform-guide-content ol { font-size: .68rem; }
  .platform-guide-note, .platform-video-placeholder, .platform-video-link { font-size: .64rem; }
  .platform-video-placeholder > small, .platform-video-link small, .platform-video-duration { font-size: .58rem; }
  .platform-guide-cta { min-height: 44px; font-size: .65rem; }
  .platform-start-step { min-height: 56px; }
  .platform-start-step strong { font-size: .65rem; }
  .program-view-switch { width: 100%; }
  .program-view-tab { flex: 1; padding: 0 7px; }
  .week-header-actions { align-items: flex-start; flex-direction: column; }
  .week-navigation { width: 100%; justify-content: space-between; }
  .week-action-buttons { width: 100%; }
  .week-action-buttons .button { flex: 1; }
  .month-calendar-cell { min-height: 66px; grid-template-columns: minmax(0, 1fr) 15px; gap: 1px; padding: 2px; }
  .month-day-select { gap: 1px; padding: 1px; }
  .month-day-select > strong { width: 20px; height: 20px; font-size: 0.5rem; }
  .month-day-events span { display: none; }
  .month-day-events small { font-size: 0.375rem; }
  .month-day-add { width: 15px; height: 19px; }
  .month-day-add .icon { width: 10px; height: 10px; }
  .month-calendar-blank { min-height: 66px; }
  .month-selected-heading { align-items: flex-start; flex-direction: column; }
  .selected-day-events .week-event-entry { grid-template-columns: minmax(0, 1fr); }
  .platform-feature-list { grid-template-columns: minmax(0, 1fr); }
  .platform-feature:nth-child(n) { margin: 0; }
  .platform-section-heading { align-items: flex-start; flex-direction: column; }
  .platform-start-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .platform-guide-list { grid-template-columns: minmax(0, 1fr); }
  .platform-tips-list { grid-template-columns: minmax(0, 1fr); }
  .platform-guide-hint { margin-top: -7px; }
}

@media (max-width: 390px) {
  .platform-start-steps { grid-template-columns: minmax(0, 1fr); }
  .platform-start-step { min-height: 48px; }
  .platform-guide > summary { gap: 8px; padding: 10px; }
  .platform-guide-content { padding-right: 11px; padding-left: 43px; }
  .platform-start-section, .platform-tips-section { padding-right: 12px; padding-left: 12px; }
}

.programming-print-area { display: none; }
.programming-print-area--daily,
.programming-print-area--weekly,
.programming-print-area--monthly {
  box-sizing: border-box;
  width: var(--program-layout-width, 210mm);
  height: var(--program-layout-height, 297mm);
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 3mm;
  padding: 7.5mm;
  color: #29342c;
  background: #fff;
  font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
}
.programming-print-area .weekly-print-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8mm;
  margin: 0;
  padding: 0 0 3mm;
  border-bottom: .4mm solid #dfe5dd;
  break-after: avoid;
}
.programming-print-area .weekly-print-title-group { display: grid; gap: .8mm; min-width: 0; }
.programming-print-area .weekly-print-club-brand { display: flex; align-items: center; gap: 2mm; min-width: 0; color: var(--team-primary-text, #294438); }
.programming-print-area .weekly-print-club-brand > span:last-child { display: grid; gap: .5mm; min-width: 0; }
.programming-print-area .weekly-print-club-brand strong { max-width: 90mm; overflow-wrap: anywhere; font-size: 8pt; }
.programming-print-area .weekly-print-club-brand small { color: #858d84; font-size: 5.5pt; letter-spacing: .08em; }
.programming-print-area .weekly-print-crest { display: grid; width: 11mm; height: 11mm; flex: 0 0 auto; place-items: center; overflow: hidden; border: .4mm solid var(--team-secondary, #789477); border-radius: 2mm; background: #fff; color: var(--team-primary-text, #294438); font-size: 8pt; font-weight: 750; }
.programming-print-area .weekly-print-crest img { width: 100%; height: 100%; padding: 1mm; object-fit: contain; }
.programming-print-area .weekly-print-heading h1 { margin: 1mm 0 .4mm; color: var(--team-primary-text, #294438); font-size: 18pt; letter-spacing: -.04em; line-height: 1.1; }
.programming-print-area .weekly-print-heading p { margin: 0; color: #657064; font-size: 8pt; text-transform: capitalize; }
.programming-print-area .weekly-print-heading > span { flex: 0 0 auto; color: #7b857a; font-size: 6pt; letter-spacing: .08em; text-align: right; }
.programming-print-area .weekly-print-coach { color: #647064; font-size: 7pt; }
.programming-print-area .weekly-print-footer { display: flex; justify-content: space-between; gap: 8mm; margin: 0; padding-top: 2mm; border-top: .3mm solid var(--team-secondary, #789477); color: #687368; font-size: 6.5pt; }
.program-print-period-heading { display: flex; justify-content: space-between; gap: 4mm; margin-bottom: 2mm; color: #586959; font-size: 7pt; }
.program-print-period-heading > span { font-weight: 750; letter-spacing: .12em; }
.program-print-period-heading > strong { color: #344a37; font-size: 8pt; text-transform: capitalize; }
.program-print-daily-content { min-height: 0; }
.program-print-daily-events { display: grid; gap: 2mm; }
.program-print-event { min-width: 0; padding: 2.1mm 2.6mm; border: .3mm solid #e1e7df; border-left: 1.1mm solid var(--team-primary, #294438); border-radius: 1.4mm; background: #fbfcfa; break-inside: avoid; page-break-inside: avoid; overflow-wrap: anywhere; }
.program-print-event--rest > strong { color: #727466; font-size: 9pt; }
.program-print-event-top { display: flex; align-items: baseline; gap: 3mm; color: #536453; font-size: 7pt; }
.program-print-event-top time { color: var(--team-primary-text, #294438); font-size: 9pt; font-weight: 750; }
.program-print-kind { margin-left: auto; color: var(--team-primary-text, #294438); font-weight: 700; }
.program-print-event h3 { margin: .8mm 0 .4mm; color: #354538; font-size: 9pt; line-height: 1.2; }
.program-print-description { display: grid; grid-template-columns: 17mm 1fr; gap: 1mm; margin: 0; color: #657064; font-size: 7pt; line-height: 1.3; white-space: pre-wrap; }
.program-print-description strong { color: #465547; }
.program-print-facts { display: flex; flex-wrap: wrap; gap: 1mm 6mm; margin-top: 1mm; color: #687368; font-size: 6.5pt; }
.program-print-facts span { display: inline-flex; gap: 1mm; }
.program-print-facts b,
.program-print-reminder b { color: #465547; }
.program-print-reminder,
.program-print-reference { display: flex; gap: 1.5mm; margin: 1mm 0 0; color: #647064; font-size: 6pt; }
.program-print-empty { margin: 2mm 0; color: #879087; font-size: 7pt; }
.programming-print-area--weekly .program-print-week-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1.4mm; min-height: 0; }
.program-print-week-day { min-width: 0; padding: 1.7mm 1.3mm; border: .3mm solid #e3e8e1; border-radius: 1.2mm; background: #fcfdfb; break-inside: avoid; page-break-inside: avoid; }
.program-print-week-day > header { display: flex; align-items: center; justify-content: space-between; gap: 1mm; padding-bottom: 1.2mm; border-bottom: .4mm solid var(--team-secondary, #789477); color: #5b6b5b; font-size: 6.5pt; }
.program-print-week-day > header strong { display: grid; width: 6mm; height: 6mm; place-items: center; border-radius: 50%; background: var(--team-primary, #294438); color: #fff; font-size: 7pt; }
.program-print-week-events { display: grid; align-content: start; gap: 1.4mm; padding-top: 1.4mm; }
.program-print-week-event { min-width: 0; padding-bottom: 1.3mm; border-bottom: .2mm solid #e9ede7; overflow-wrap: anywhere; break-inside: avoid; page-break-inside: avoid; }
.program-print-week-event:last-child { border-bottom: 0; }
.program-print-week-event > div { display: flex; justify-content: space-between; gap: 1mm; color: #687368; font-size: 5.8pt; }
.program-print-week-event time { color: var(--team-primary-text, #294438); font-size: 6.8pt; font-weight: 750; }
.program-print-week-event > small { display: block; margin-top: .4mm; color: #7b857a; font-size: 5.4pt; }
.program-print-week-event > strong { display: block; margin-top: .5mm; color: #344a37; font-size: 6.4pt; line-height: 1.15; }
.program-print-week-event--rest > strong { margin-top: 0; color: #727466; }
.program-print-week-event > p { margin: .4mm 0 0; color: #687368; font-size: 5.6pt; line-height: 1.15; overflow-wrap: anywhere; }
.programming-print-area--monthly { gap: 2mm; }
.programming-print-area--monthly .weekly-print-heading { padding-bottom: 2mm; }
.programming-print-area--monthly .weekly-print-heading h1 { font-size: 15pt; }
.programming-print-area--monthly .weekly-print-crest { width: 8mm; height: 8mm; }
.programming-print-area--monthly .weekly-print-footer { padding-top: 1mm; font-size: 5.5pt; }
.program-print-month-calendar { display: grid; grid-template-rows: auto minmax(0, 1fr); min-height: 0; }
.program-print-month-weekdays,
.program-print-month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.program-print-month-weekdays { gap: 1mm; padding-bottom: 1mm; }
.program-print-month-weekdays span { color: #596b59; font-size: 6pt; font-weight: 750; letter-spacing: .06em; text-align: center; }
.program-print-month-grid { grid-template-rows: repeat(var(--program-month-weeks, 6), minmax(0, 1fr)); gap: 1mm; min-height: 0; }
.program-print-month-cell { min-width: 0; min-height: 0; padding: 1mm; border: .25mm solid #e2e8e0; border-radius: 1mm; overflow-wrap: anywhere; break-inside: avoid; page-break-inside: avoid; }
.program-print-month-cell.is-outside { border-color: transparent; }
.program-print-month-date { display: grid; width: 5mm; height: 5mm; place-items: center; margin-bottom: .7mm; border-radius: 50%; background: #edf1eb; color: #344a37; font-size: 6.2pt; }
.program-print-month-cell ul { display: grid; gap: .7mm; margin: 0; padding: 0; list-style: none; }
.program-print-month-cell li { display: grid; grid-template-columns: auto 1fr; gap: 0 1mm; color: #687368; font-size: 5pt; line-height: 1.12; }
.program-print-month-cell li time { color: var(--team-primary-text, #294438); font-weight: 750; }
.program-print-month-cell li > span { color: #778277; overflow-wrap: anywhere; }
.program-print-month-cell li > strong,
.program-print-month-cell li > small { grid-column: 1 / -1; overflow-wrap: anywhere; }
.program-print-month-cell li > strong { color: #344a37; font-size: 5.3pt; font-weight: 650; }
.program-print-month-cell li > small { color: #778277; font-size: 4.7pt; }
@media print {
  body.is-programming-print #app { display: none !important; }
  .programming-print-area,
  .programming-print-area * { visibility: visible !important; }
  .programming-print-area { position: absolute !important; top: 0 !important; left: 0 !important; display: grid !important; margin: 0 !important; }
  .program-print-week-grid,
  .program-print-month-calendar,
  .program-print-month-grid { break-inside: avoid; page-break-inside: avoid; }
  .program-print-event,
  .program-print-week-day,
  .program-print-month-cell { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

/* Elenco, convocação compartilhada e documentos da convocação */
.roster-position-filter { display: grid; gap: 5px; color: #7d887c; font-size: .55rem; }
.roster-position-filter select { min-width: 150px; min-height: 38px; padding: 0 10px; border: 1px solid #e5e9e3; border-radius: 5px; background: #fff; color: #39463b; font: inherit; font-size: .625rem; }
.athlete-position { display: block; margin: 0 0 5px; color: var(--team-primary-text, #294438); font-size: .6rem; font-weight: 700; }
.game-row-wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 7px; border-bottom: 1px solid #edf0eb; }
.game-row-wrap .game-list-row { border: 0; }
.game-convocation-link { padding: 7px 10px; border: 1px solid #e5eae3; border-radius: 5px; color: var(--team-primary-text, #294438); font-size: .55rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.game-convocation-link:hover { background: #f5f8f4; }
.game-heading-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.convocation-page { display: grid; max-width: 1100px; gap: 16px; padding: 20px; }
.convocation-game-heading, .convocation-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.convocation-game-heading { padding-bottom: 14px; border-bottom: 1px solid #edf0eb; }
.convocation-game-heading h2 { margin: 5px 0; color: #39463b; font-size: 1.05rem; }
.convocation-game-heading p { margin: 0; color: #818b80; font-size: .58rem; }
.convocation-total { display: grid; min-width: 55px; height: 55px; align-content: center; justify-items: center; border-radius: 50%; background: #edf3eb; color: var(--team-primary-text, #294438); font-size: .95rem; }
.convocation-total small { font-size: .45rem; font-weight: 550; }
.convocation-toolbar > div:first-child { display: grid; gap: 7px; }
.convocation-view-switch { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid #e7ebe5; border-radius: 6px; background: #f8faf7; }
.convocation-view-switch button { min-height: 32px; padding: 0 12px; border: 0; border-radius: 4px; background: transparent; color: #768175; font: inherit; font-size: .58rem; cursor: pointer; }
.convocation-view-switch button.is-active { background: var(--team-primary, #294438); color: #fff; }
.convocation-actions { display: flex; gap: 8px; }
.convocation-content.is-pitch-view { display: grid; grid-template-columns: minmax(0, 1fr) minmax(205px, .36fr); align-items: start; gap: 15px; }
.convocation-content.is-list-view > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .42fr); align-items: start; gap: 15px; }
.convocation-list-group { display: grid; gap: 6px; margin-bottom: 13px; }
.convocation-list-group h3 { margin: 0; padding-bottom: 5px; border-bottom: 1px solid #e8ede6; color: var(--team-primary-text, #294438); font-size: .58rem; letter-spacing: .09em; }
.convocation-list-row { display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 5px 7px; border-bottom: 1px solid #f0f2ee; }
.convocation-list-row > span:last-child, .convocation-add-athlete > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.convocation-list-row strong, .convocation-add-athlete strong { overflow: hidden; color: #465246; font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
.convocation-list-row small, .convocation-add-athlete small { color: #818b80; font-size: .52rem; }
.convocation-athlete-photo { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid #e4e9e2; border-radius: 50%; background: #edf2eb; color: #426145; font-size: .5rem; font-weight: 700; }
.convocation-athlete-photo img { width: 100%; height: 100%; object-fit: cover; }
.convocation-available { display: grid; max-height: 540px; align-content: start; gap: 6px; overflow: auto; padding: 10px; border: 1px solid #edf0eb; border-radius: 6px; background: #fbfcfa; }
.convocation-available > strong { color: #4d5a4d; font-size: .61rem; }
.convocation-available > span, .convocation-available > small { color: #899287; font-size: .52rem; }
.convocation-available > div { display: grid; gap: 4px; }
.convocation-add-athlete { display: flex; width: 100%; align-items: center; gap: 7px; padding: 6px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #748072; text-align: left; cursor: pointer; }
.convocation-add-athlete:hover { border-color: #e6ebe4; background: #fff; }
.convocation-add-athlete .icon { width: 14px; height: 14px; margin-left: auto; }
.convocation-pitch-wrap { min-width: 0; }
.convocation-pitch { position: relative; width: 100%; aspect-ratio: 1.45; overflow: hidden; border: 1px solid #cad8c7; border-radius: 7px; background: repeating-linear-gradient(0deg, #779875 0, #779875 10%, #71916f 10%, #71916f 20%); color: #fff; isolation: isolate; }
.convocation-pitch::before { position: absolute; inset: 3%; border: 1px solid rgb(255 255 255 / 65%); content: ''; }
.convocation-pitch-line { position: absolute; z-index: -1; background: rgb(255 255 255 / 60%); }
.convocation-pitch-midline { top: 50%; right: 3%; left: 3%; height: 1px; }
.convocation-pitch-circle { position: absolute; top: 50%; left: 50%; width: 16%; aspect-ratio: 1; transform: translate(-50%, -50%); border: 1px solid rgb(255 255 255 / 60%); border-radius: 50%; }
.convocation-pitch-box { position: absolute; left: 34%; width: 32%; height: 13%; border: 1px solid rgb(255 255 255 / 60%); }
.convocation-pitch-box-top { top: 3%; border-top: 0; }
.convocation-pitch-box-bottom { bottom: 3%; border-bottom: 0; }
.convocation-pitch-label { position: absolute; left: 50%; z-index: -1; color: rgb(255 255 255 / 58%); font-size: clamp(6px, .48vw, 8px); font-weight: 750; letter-spacing: .12em; transform: translateX(-50%); }
.label-goalkeepers { top: 6%; }.label-defenders { top: 29%; }.label-midfielders { top: 55%; }.label-attackers { top: 80%; }
.convocation-pitch-person, .convocation-print-pitch-athlete { position: absolute; top: var(--athlete-y); left: var(--athlete-x); z-index: 1; display: grid; justify-items: center; transform: translate(-50%, -50%); }
.convocation-pitch-athlete { display: grid; justify-items: center; gap: 2px; padding: 2px; border: 0; border-radius: 5px; background: transparent; color: #fff; font: inherit; font-size: clamp(8px, .65vw, 10px); font-weight: 650; text-shadow: 0 1px 2px #29382c; cursor: grab; touch-action: manipulation; }
.convocation-pitch-athlete .convocation-athlete-photo { width: clamp(24px, 3.3vw, 40px); height: clamp(24px, 3.3vw, 40px); border: 2px solid #fff; box-shadow: 0 1px 4px rgb(0 0 0 / 22%); }
.convocation-pitch-athlete.is-selected .convocation-athlete-photo { outline: 3px solid #e6d779; }
.convocation-pitch-remove { position: absolute; top: -4px; right: -7px; z-index: 2; width: 17px; height: 17px; border: 1px solid #fff; border-radius: 50%; background: #8a4d43; color: #fff; font-size: 12px; line-height: 1; cursor: pointer; }
.convocation-pitch-help, .convocation-note { margin: 7px 0 0; color: #899287; font-size: .52rem; line-height: 1.5; }
.convocation-print-area { display: none; }
.convocation-pdf-options { display: flex; gap: 8px; margin-top: 18px; }
.convocation-print-document { display: grid; min-height: 255mm; grid-template-rows: auto auto minmax(0, 1fr) auto; gap: 6mm; color: #344237; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; }
.convocation-print-header { display: flex; align-items: center; justify-content: space-between; gap: 10mm; padding-bottom: 4mm; border-bottom: 1px solid #dfe6dc; }
.convocation-print-header > .eyebrow { color: var(--team-primary-text, #294438); font-size: 8pt; font-weight: 750; letter-spacing: .13em; }
.convocation-print-brand { display: flex; align-items: center; gap: 3mm; }
.convocation-print-brand > span { display: grid; width: 14mm; height: 14mm; place-items: center; overflow: hidden; border: .4mm solid var(--team-secondary, #789477); border-radius: 2mm; color: var(--team-primary-text, #294438); font-size: 10pt; font-weight: 750; }
.convocation-print-brand img { width: 100%; height: 100%; object-fit: contain; }
.convocation-print-brand > div { display: grid; gap: 1mm; }.convocation-print-brand strong { color: var(--team-primary-text, #294438); font-size: 11pt; }.convocation-print-brand small { color: #778276; font-size: 7pt; }
.convocation-print-match { display: grid; gap: 2mm; }.convocation-print-match strong { font-size: 13pt; }.convocation-print-match span { color: #778276; font-size: 8pt; }
.convocation-print-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 5mm 8mm; }
.convocation-print-list section { break-inside: avoid; }.convocation-print-list h2 { margin: 0 0 2mm; padding-bottom: 1.5mm; border-bottom: .4mm solid var(--team-secondary, #789477); color: var(--team-primary-text, #294438); font-size: 8pt; letter-spacing: .08em; }
.convocation-print-list section > div { display: grid; gap: 1mm; }.convocation-print-list article { display: flex; align-items: center; gap: 2mm; min-height: 12mm; }.convocation-print-list .convocation-athlete-photo { width: 10mm; height: 10mm; }.convocation-print-list article > span:last-child { display: grid; gap: .7mm; }.convocation-print-list article strong { font-size: 8pt; }.convocation-print-list article small { color: #758074; font-size: 7pt; }
.convocation-print-field { position: relative; width: 100%; height: 132mm; overflow: hidden; border: .5mm solid #fff; border-radius: 2mm; background: repeating-linear-gradient(0deg, #779875 0, #779875 10%, #71916f 10%, #71916f 20%); }
.convocation-print-pitch-athlete { max-width: 32mm; }
.convocation-print-pitch-athlete > span:last-child { overflow-wrap: anywhere; }
.convocation-print-field .convocation-athlete-photo { width: 11mm; height: 11mm; }
.convocation-print-document.convocation-print-pitch { min-height: 0; }
.convocation-print-field::before { position: absolute; inset: 3%; border: .4mm solid rgb(255 255 255 / 70%); content: ''; }.convocation-print-field .convocation-pitch-midline { z-index: 0; }.convocation-print-field .convocation-pitch-circle, .convocation-print-field .convocation-pitch-box { z-index: 0; }
.convocation-print-pitch-athlete { z-index: 2; color: #fff; font-size: 7pt; font-weight: 700; text-align: center; text-shadow: 0 1px 2px #29382c; }.convocation-print-pitch-athlete .convocation-athlete-photo { width: 14mm; height: 14mm; border: .8mm solid #fff; }
.convocation-print-footer { display: flex; justify-content: space-between; gap: 8mm; padding-top: 2mm; border-top: .4mm solid var(--team-secondary, #789477); color: #687368; font-size: 7pt; }
@media (max-width: 720px) {
  .game-row-wrap { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .game-convocation-link { justify-self: end; margin: 0 7px 8px; }
  .game-heading-actions, .convocation-toolbar, .convocation-game-heading { align-items: flex-start; flex-direction: column; }
  .convocation-actions { width: 100%; }.convocation-actions .button { flex: 1; justify-content: center; }
  .convocation-content.is-pitch-view, .convocation-content.is-list-view > div { grid-template-columns: minmax(0, 1fr); }
  .convocation-available { max-height: 290px; }
  .convocation-pitch { aspect-ratio: 1.12; }
  .convocation-pdf-options { flex-direction: column; }
}
@media print {
  .convocation-print-area, .convocation-print-area * { visibility: visible !important; }
  .convocation-print-area { position: absolute !important; top: 0 !important; left: 0 !important; display: block !important; width: 100% !important; margin: 0 !important; }
  .convocation-print-document { min-height: 0; break-inside: avoid; page-break-inside: avoid; }
  .convocation-print-list, .convocation-print-field { break-inside: avoid; page-break-inside: avoid; }
}

/* Functional visual cues for Coach home, training, games and tutorials */
.team-badge { display: inline-grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; overflow: hidden; border: 1px solid #e5eae3; border-radius: 50%; background: #f3f6f2; color: #526a55; font-size: .55rem; font-weight: 750; }
.team-badge img { width: 100%; height: 100%; object-fit: contain; }
.dashboard-matchup { display: flex; min-width: 0; align-items: center; gap: 8px; margin-bottom: 6px; }
.dashboard-team-badge { width: 30px; height: 30px; flex-basis: 30px; }
.dashboard-matchup-names { display: flex; min-width: 0; align-items: center; gap: 6px; }
.dashboard-matchup-names strong { max-width: 140px; overflow: hidden; color: #39463b; font-size: .7rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-matchup-names i { color: #879287; font-size: .575rem; font-style: normal; font-weight: 700; white-space: nowrap; }
.match-info p { margin-top: 0; }
.today-card-diagram { display: block; width: 88px; height: 59px; flex: 0 0 88px; overflow: hidden; border: 1px solid #d8e0d5; border-radius: 5px; background: #527c58; }
.today-card-diagram .mini-field, .exercise-card-preview .mini-field, .training-history-preview .mini-field { display: block; width: 100%; height: 100%; aspect-ratio: auto; }
.training-history-card.has-diagram { grid-template-columns: 42px 86px minmax(0, 1fr) auto auto; }
.training-history-preview { display: block; width: 86px; height: 57px; overflow: hidden; border: 1px solid #d8e0d5; border-radius: 5px; background: #527c58; }
.exercise-card-header.has-diagram { min-height: 61px; }
.exercise-card-preview { display: block; width: 67px; height: 45px; flex: 0 0 67px; overflow: hidden; border: 1px solid #d8e0d5; border-radius: 4px; background: #527c58; }
.week-event-kind { display: inline-flex; min-width: 0; align-items: center; gap: 4px; }
.week-event-kind .icon { width: 11px; height: 11px; flex: 0 0 11px; color: #718771; }
.week-event-kind i { overflow: hidden; color: #798779; font-size: inherit; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.game-list-row { grid-template-columns: 52px minmax(0, 1fr) minmax(120px, .45fr) 18px; }
.game-list-row:hover .game-matchup-side strong { color: var(--green-deep); }
.game-list-main { min-width: 0; gap: 7px; }
.game-matchup { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr); align-items: center; gap: 7px; }
.game-matchup-side { display: flex; min-width: 0; align-items: center; gap: 7px; }
.game-matchup-side strong { min-width: 0; overflow: hidden; color: #354137; font-size: .69rem; font-weight: 670; text-overflow: ellipsis; white-space: nowrap; }
.game-team-badge { width: 27px; height: 27px; flex-basis: 27px; font-size: .5rem; }
.game-matchup-result { color: var(--green-deep); font-size: .72rem; font-weight: 750; text-align: center; white-space: nowrap; }
.game-list-meta { min-width: 0; }
.athlete-card { grid-template-columns: 72px minmax(0, 1fr); }
.athlete-photo { width: 72px; height: 72px; font-size: .9rem; }
.platform-guide-visual { margin: 0 0 12px; }
.platform-guide-visual img, .platform-guide-visual-placeholder { display: grid; width: 100%; min-height: 120px; aspect-ratio: 16 / 7; place-items: center; overflow: hidden; border: 1px solid #e6ebe4; border-radius: 6px; background: linear-gradient(135deg, #f6f8f5, #edf3ec); object-fit: cover; }
.platform-guide-visual-placeholder { align-content: center; gap: 7px; color: #58735b; text-align: center; }
.platform-guide-visual-placeholder > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: #e4ece3; }
.platform-guide-visual-placeholder > span .icon { width: 18px; height: 18px; }
.platform-guide-visual-placeholder > strong { color: #536654; font-size: .61rem; font-weight: 680; }
.platform-guide-visual-placeholder > small { color: #90998f; font-size: .5rem; }
.platform-guide-visual figcaption { margin-top: 5px; color: #8d968c; font-size: .5rem; }

@media (max-width: 720px) {
  .dashboard-matchup { gap: 5px; }
  .dashboard-team-badge { width: 26px; height: 26px; flex-basis: 26px; }
  .dashboard-matchup-names { gap: 4px; }
  .dashboard-matchup-names strong { max-width: 92px; font-size: .62rem; }
  .today-card-diagram { width: 76px; height: 51px; flex-basis: 76px; }
  .training-history-card.has-diagram { grid-template-columns: 38px 70px minmax(0, 1fr) auto; }
  .training-history-preview { width: 70px; height: 47px; }
  .history-open { grid-column: 3 / -1; }
  .game-list-row { grid-template-columns: 43px minmax(0, 1fr) 16px; gap: 8px; }
  .game-list-meta { grid-column: 2; grid-row: 2; }
  .game-list-row > .icon { grid-column: 3; grid-row: 1 / 3; }
  .game-matchup { grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr); gap: 3px; }
  .game-matchup-side { gap: 4px; }
  .game-matchup-side strong { font-size: .59rem; }
  .game-team-badge { width: 23px; height: 23px; flex-basis: 23px; font-size: .43rem; }
  .game-matchup-result { font-size: .62rem; }
  .athlete-card { grid-template-columns: 68px minmax(0, 1fr); }
  .athlete-photo { width: 68px; height: 68px; }
  .platform-guide-content { padding-left: 15px; }
  .platform-guide-visual img, .platform-guide-visual-placeholder { min-height: 112px; }
}
@media (max-width: 390px) {
  .training-history-card.has-diagram { grid-template-columns: 36px 60px minmax(0, 1fr); }
  .training-history-preview { width: 60px; height: 40px; }
  .history-open { grid-column: 3; }
  .game-matchup { grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr); }
  .game-matchup-side strong { font-size: .54rem; }
  .game-team-badge { width: 20px; height: 20px; flex-basis: 20px; }
}
@media (max-width: 720px) {
  .game-row-wrap { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .game-convocation-link { justify-self: end; margin: 0 7px 8px; }
  .game-heading-actions, .convocation-toolbar, .convocation-game-heading { align-items: flex-start; flex-direction: column; }
  .convocation-actions { width: 100%; }.convocation-actions .button { flex: 1; justify-content: center; }
  .convocation-content.is-pitch-view, .convocation-content.is-list-view > div { grid-template-columns: minmax(0, 1fr); }
  .convocation-available { max-height: 290px; }
  .convocation-pitch { aspect-ratio: 1.12; }
  .convocation-pdf-options { flex-direction: column; }
}
@media print {
  .convocation-print-area, .convocation-print-area * { visibility: visible !important; }
  .convocation-print-area { position: absolute !important; top: 0 !important; left: 0 !important; display: block !important; width: 100% !important; margin: 0 !important; }
  .convocation-print-document { min-height: 0; break-inside: avoid; page-break-inside: avoid; }
  .convocation-print-list, .convocation-print-field { break-inside: avoid; page-break-inside: avoid; }
}

/* Coach tasks: personal Pendências management */
.tasks-card { min-width: 0; }
.tasks-card-sync { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 6px; color: #849083; font-size: .54rem; line-height: 1.45; }
.tasks-card-sync.is-error { color: #945f53; }
.tasks-card-sync button, .task-sync-banner button { min-height: 36px; padding: 0 9px; border: 1px solid #ead8d2; border-radius: 5px; background: #fff; color: inherit; cursor: pointer; font: inherit; font-weight: 650; }
.tasks-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 9px; }
.tasks-card-footer .text-button { min-height: 40px; margin: 0; }
.quiet-link { display: inline-flex; min-height: 40px; align-items: center; gap: 5px; color: #718272; font-size: .57rem; font-weight: 650; text-decoration: none; }
.quiet-link .icon { width: 12px; height: 12px; }
.task-row { position: relative; min-width: 0; cursor: default; }
.task-row .task-check { width: 32px; height: 32px; border: 1px solid #d9ded7; background: #fff; color: #fff; cursor: pointer; }
.task-row .task-check[aria-pressed="true"] { border-color: #6f8f73; background: #6f8f73; }
.task-row .task-check:hover { border-color: #85a188; }
.task-row .task-copy { flex: 1 1 auto; }
.task-row .task-copy strong { font-size: .61rem; }
.task-row .task-copy small { max-width: 330px; font-size: .52rem; }
.task-row-meta { display: grid; max-width: 185px; justify-items: end; gap: 3px; margin-left: auto; color: #939b91; text-align: right; }
.task-state-label { color: #808b7f; font-size: .48rem; font-weight: 680; text-transform: uppercase; letter-spacing: .045em; }
.task-row .task-due { max-width: 100%; margin: 0; overflow-wrap: anywhere; font-size: .52rem; }
.task-due.due-overdue { color: #a05f52; }
.task-reminder-label { color: #899487; font-size: .46rem; line-height: 1.35; }
.task-row.is-done .task-state-label, .task-row--cancelled .task-state-label { color: #9aa198; }
.task-row--cancelled .task-copy strong { color: #91998f; }
.task-actions { position: relative; flex: 0 0 auto; }
.task-actions summary { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 5px; color: #788477; cursor: pointer; list-style: none; }
.task-actions summary::-webkit-details-marker { display: none; }
.task-actions summary:hover, .task-actions[open] summary { background: #f3f6f2; }
.task-actions summary .icon { width: 16px; height: 16px; }
.task-actions > div { position: absolute; z-index: 5; top: calc(100% + 3px); right: 0; display: grid; min-width: 145px; padding: 5px; border: 1px solid #e5eae3; border-radius: 6px; background: #fff; box-shadow: 0 8px 25px rgb(29 42 30 / 12%); }
.task-actions > div button { min-height: 40px; padding: 0 10px; border: 0; border-radius: 4px; background: #fff; color: #536052; cursor: pointer; font: inherit; font-size: .59rem; text-align: left; }
.task-actions > div button:hover { background: #f6f8f5; }
.task-actions > div .danger-action { color: #9a584c; }
.task-manager-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 0 17px; }
.task-manager-heading h1 { margin: 6px 0; color: #303a31; font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 660; letter-spacing: -.045em; }
.task-manager-heading p { max-width: 540px; margin: 0; color: #828c81; font-size: .68rem; line-height: 1.55; }
.task-manager-heading .button { min-height: 44px; flex: 0 0 auto; }
.task-sync-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 20px; padding: 11px 13px; border: 1px solid #e4eae2; border-radius: 6px; background: #fafbf9; color: #697568; font-size: .59rem; line-height: 1.5; }
.task-sync-banner.is-synced { border-color: #deeadc; background: #f7faf6; color: #607761; }
.task-sync-banner.is-error { border-color: #efddd8; background: #fff9f7; color: #915b50; }
.task-manager-sections { display: grid; max-width: 1040px; gap: 20px; }
.task-manager-section { min-width: 0; padding: 16px 18px 6px; border: 1px solid #e8ece6; border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.task-manager-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 0 11px; border-bottom: 1px solid #edf0eb; }
.task-manager-section-heading h2 { margin: 0; color: #435044; font-size: .82rem; font-weight: 680; }
.task-manager-section-heading p { margin: 4px 0 0; color: #8b9489; font-size: .54rem; line-height: 1.45; }
.task-manager-section-heading > span { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #f1f4f0; color: #758273; font-size: .54rem; font-weight: 680; }
.task-manager-list .task-row { min-height: 65px; }
.task-manager-empty { display: grid; min-height: 200px; justify-items: center; align-content: center; gap: 9px; padding: 25px; border: 1px dashed #dfe6dd; border-radius: 8px; background: #fbfcfa; text-align: center; }
.task-manager-empty strong { color: #526052; font-size: .76rem; }
.task-manager-empty p { margin: 0 0 5px; color: #879186; font-size: .6rem; }
.task-modal { max-width: 510px; }
.task-modal form { min-width: 0; }
.task-modal form > label { margin-top: 9px; color: #515950; font-size: .65rem; font-weight: 650; }
.task-modal form > input, .task-modal form > textarea, .task-modal select { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #e2e5df; border-radius: 6px; background: #fff; color: var(--ink); font: inherit; font-size: .65rem; }
.task-modal form > textarea { min-height: 82px; line-height: 1.5; resize: vertical; }
.task-form-date-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 10px; margin-top: 8px; }
.task-form-date-grid label { color: #515950; font-size: .62rem; font-weight: 650; }
.task-form-date-grid label span, .task-modal form > label span { color: #9aa198; font-size: .53rem; font-weight: 450; }
.task-form-date-grid input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid #e2e5df; border-radius: 6px; background: #fff; color: var(--ink); font: inherit; font-size: .63rem; }
.task-reminder-fieldset { display: grid; gap: 7px; min-width: 0; margin: 10px 0 0; padding: 12px; border: 1px solid #e7ebe5; border-radius: 6px; }
.task-reminder-fieldset legend { padding: 0 5px; color: #4e604f; font-size: .62rem; font-weight: 680; }
.task-reminder-fieldset > label, .task-reminder-details label { color: #5b665a; font-size: .57rem; font-weight: 620; }
.task-reminder-details { display: grid; gap: 7px; }
.task-reminder-fieldset > small { color: #8b9489; font-size: .51rem; line-height: 1.45; }
.task-legacy-due { margin: 2px 0 0; color: #8b744d; font-size: .54rem; line-height: 1.45; }
.task-form-error { margin: 0 0 4px; padding: 10px 12px; border: 1px solid #efdcd7; border-radius: 5px; background: #fff8f6; color: #92594d; font-size: .57rem; line-height: 1.45; }
.task-form-error[hidden], .task-reminder-details[hidden] { display: none; }
.task-modal .modal-actions { flex-wrap: wrap; }
.task-modal .modal-actions .button { min-height: 42px; }
@media (max-width: 720px) {
  .task-manager-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .task-manager-heading .button { width: 100%; justify-content: center; }
  .task-sync-banner { align-items: flex-start; flex-direction: column; }
  .task-sync-banner button { min-height: 44px; }
  .task-manager-section { padding: 12px 10px 4px; }
  .task-manager-list .task-row { min-height: 0; flex-wrap: wrap; gap: 7px; padding: 9px 0; }
  .task-row .task-check { width: 44px; height: 44px; }
  .task-row .task-copy { flex: 1 1 calc(100% - 105px); }
  .task-row .task-copy strong { white-space: normal; overflow-wrap: anywhere; }
  .task-row .task-copy small { max-width: 100%; white-space: normal; }
  .task-row-meta { flex: 1 1 calc(100% - 105px); justify-items: start; margin-left: 51px; text-align: left; }
  .task-actions summary { width: 44px; height: 44px; }
  .task-actions > div button { min-height: 44px; }
  .task-modal-backdrop { align-items: start; overflow-y: auto; padding: calc(10px + env(safe-area-inset-top, 0px)) 10px calc(10px + env(safe-area-inset-bottom, 0px)); }
  .task-modal { width: 100%; max-height: calc(100vh - 20px); max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px); overflow-y: auto; overscroll-behavior: contain; }
  .task-modal .modal-actions { align-items: stretch; flex-direction: column-reverse; }
  .task-modal .modal-actions .button { width: 100%; min-height: 46px; justify-content: center; }
  .tasks-card-footer { flex-wrap: wrap; }
}
@media (max-width: 390px) {
  .task-row-meta { margin-left: 0; }
  .tasks-card-sync { align-items: flex-start; flex-direction: column; }
}
