.gym-stats-grid--expanded{grid-template-columns:repeat(6,minmax(150px,1fr))}.gym-stat-red{border-color:#f1c8c8}.gym-stat-red .gym-stat-icon{background:#fff0f0;color:#b64040}.gym-overview-two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.today-session-list{display:flex;flex-direction:column;gap:8px}.today-session-item{width:100%;border:1px solid #dde7f2;background:#fff;border-radius:13px;padding:10px 12px;display:grid;grid-template-columns:90px 1fr auto;align-items:center;text-align:left;gap:12px}.today-session-item:hover{border-color:#a9cce8;background:#f8fbfe}.today-session-item span:nth-child(2){display:flex;flex-direction:column}.today-session-item small{color:#718398}.today-session-time{font-weight:800;color:#2f7fbf}.attendance-pill{font-size:.68rem;font-weight:800;border-radius:999px;padding:5px 8px;background:#edf3f8;color:#425b73}.attendance-completed,.attendance-checked_in{background:#e4f5ef;color:#207864}.attendance-no_show,.attendance-cancelled_client,.attendance-cancelled_trainer{background:#fff0ed;color:#a94835}.group-occupancy-card{display:flex;align-items:center;justify-content:center;gap:24px;min-height:150px}.occupancy-ring{--value:0;width:116px;height:116px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#fff 58%,transparent 60%),conic-gradient(#2a9d8f calc(var(--value)*1%),#e5edf4 0)}.occupancy-ring strong{font-size:1.5rem}.occupancy-ring span,.occupancy-meta span{font-size:.72rem;color:#75879a}.occupancy-meta{display:flex;flex-direction:column;gap:4px}.occupancy-meta strong{font-size:1.1rem}
.attendance-actions{padding:0 16px 16px}.attendance-actions-title{display:flex;justify-content:space-between;border-top:1px solid #e2eaf2;padding-top:12px;margin-bottom:10px}.attendance-actions-title span{font-weight:800}.attendance-button-grid{display:flex;flex-wrap:wrap;gap:6px}.attendance-button-grid button{border:1px solid #d5e0eb;background:#fff;border-radius:9px;padding:7px 9px;font-size:.72rem;font-weight:800}.attendance-button-grid button.active{background:#244e70;color:#fff;border-color:#244e70}.checkin-link{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin-top:10px;font-size:.7rem}.checkin-link code{overflow:hidden;text-overflow:ellipsis}.checkin-link button{border:0;background:#edf4fa;border-radius:8px;padding:6px 8px}
.operations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.operations-list{display:flex;flex-direction:column;gap:8px}.operations-item{border:1px solid #dfe8f1;border-radius:13px;padding:11px;display:flex;justify-content:space-between;gap:10px}.operations-item>div{display:flex;flex-direction:column;gap:2px}.operations-item span,.operations-item small{font-size:.72rem;color:#718398}.operations-item button,.mini-action-btn{border:0;background:#edf4fa;color:#315f83;border-radius:9px;width:32px;height:32px}.operations-item.is-inactive{opacity:.55}.operations-empty{padding:20px;text-align:center;color:#7890a5;font-size:.8rem}.feature-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.feature-section-head h3{margin:0;font-size:1.2rem}.feature-section-head p{margin:4px 0 0;color:#718398;font-size:.78rem}
.measurement-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.measurement-summary>div{background:#f2f7fb;border-radius:10px;padding:8px;display:flex;flex-direction:column}.measurement-summary strong{font-size:.86rem}.measurement-summary span{font-size:.62rem;color:#73869a}.measurement-history{display:flex;flex-direction:column;gap:6px}.measurement-history article{border-bottom:1px solid #e7edf3;padding:8px 0;display:flex;justify-content:space-between}.measurement-history article>div{display:flex;flex-direction:column}.measurement-history span{font-size:.68rem;color:#74869a}.measurement-history button{border:0;background:none;color:#a34d45}.measurement-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.measurement-form-grid label,.program-meta-grid label,.health-grid label{display:flex;flex-direction:column;gap:5px;font-size:.72rem;font-weight:800;color:#53697f}.measurement-form-grid input,.measurement-form-grid textarea,.program-meta-grid input,.program-meta-grid textarea,.health-grid input,.health-grid textarea,.parq-grid select{border:1px solid #ccd9e5;border-radius:9px;padding:9px;font:inherit}.measurement-wide{grid-column:1/-1}.feature-modal-header{background:#1c405e;color:#fff}
.training-management{padding:4px}.assigned-programs-grid,.program-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.assigned-program-card,.program-library-card{border:1px solid #dce7f1;border-radius:15px;padding:14px;display:flex;justify-content:space-between;gap:12px}.assigned-program-card.is-active{border-color:#70b8a7;background:#f3fbf8}.assigned-program-card>div:first-child,.program-library-card>div:first-child{display:flex;flex-direction:column;gap:4px}.assigned-program-card h4{margin:0}.assigned-program-card span{font-size:.66rem;font-weight:900;text-transform:uppercase;color:#2a8b76}.assigned-program-card p,.program-library-card small{margin:0;font-size:.74rem;color:#6e8195}.assigned-program-card>div:last-child,.program-library-card>div:last-child{display:flex;gap:6px;align-items:flex-start}.assigned-program-card button,.program-library-card button{border:0;background:#2f7fbf;color:#fff;border-radius:8px;padding:7px 9px;font-size:.7rem;font-weight:800}.program-library-block{margin-top:20px}.program-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.program-meta-grid label:last-child{grid-column:1/-1}.program-builder-toolbar{display:flex;gap:8px;margin:16px 0}.program-days-builder{display:flex;flex-direction:column;gap:14px}.program-day-card{border:1px solid #dce6ef;border-radius:14px;padding:12px;background:#f9fbfd}.program-day-card header{display:flex;justify-content:space-between;margin-bottom:10px}.program-day-card header input{border:0;background:transparent;font-weight:900;font-size:1rem}.program-day-card button{border:0;border-radius:7px;padding:6px 8px}.program-exercise-head,.program-exercise-row{display:grid;grid-template-columns:minmax(180px,2fr) 60px 70px 70px 60px 60px 70px 70px 32px;gap:6px;align-items:center}.program-exercise-head{font-size:.63rem;font-weight:900;color:#6c8095;padding:0 4px 5px}.program-exercise-row{margin-bottom:6px}.program-exercise-row select,.program-exercise-row input{min-width:0;border:1px solid #ccd9e5;border-radius:7px;padding:7px;font-size:.7rem}.exercise-choice{display:grid;gap:5px;min-width:0}.exercise-choice select,.exercise-choice input{width:100%}.exercise-custom-name.is-hidden{display:none}
.health-profile-form{padding:4px}.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.health-warning{display:flex;gap:10px;align-items:center;background:#f0f7fd;border:1px solid #d4e7f5;border-radius:12px;padding:11px;margin-bottom:14px}.health-warning.has-warning{background:#fff4ed;border-color:#f0c9b7;color:#98492d}.parq-card{margin-top:16px;border:1px solid #dde7ef;border-radius:14px;padding:14px}.parq-card h4{font-size:1rem}.parq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.parq-grid label{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:8px;font-size:.74rem}.consent-grid{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.consent-grid label{font-size:.78rem;font-weight:800}
.security-actions,.credential-actions{display:flex;gap:8px;flex-wrap:wrap}.credential-reset-btn--danger{color:#9b443e!important}.settings-helper{font-size:.75rem;color:#718398}.two-factor-setup{margin-top:12px;padding:12px;border:1px solid #dce7f1;border-radius:12px}.two-factor-setup code{display:block;overflow-wrap:anywhere;background:#eff5fa;padding:8px;border-radius:8px}.two-factor-enable{display:flex;gap:8px;margin-top:10px}.two-factor-enable input{border:1px solid #ccd9e5;border-radius:8px;padding:8px}.two-factor-enable button{border:0;background:#2f7fbf;color:#fff;border-radius:8px;padding:8px 12px}.audit-log-list{display:flex;flex-direction:column;max-height:360px;overflow:auto;margin-top:10px}.audit-log-list article{display:flex;justify-content:space-between;border-bottom:1px solid #e4ebf2;padding:8px}.audit-log-list article>div{display:flex;flex-direction:column}.audit-log-list span,.audit-log-list time{font-size:.68rem;color:#75889a}.login-secondary-link{display:block;text-align:center;margin-top:12px}.login-alert--success{background:#eaf8f2!important;color:#24735f!important}.login-btn-link{display:block;text-align:center;text-decoration:none}.mobile-bottom-nav{display:none}
@media(max-width:1200px){.gym-stats-grid--expanded{grid-template-columns:repeat(3,1fr)}.operations-grid{grid-template-columns:1fr 1fr}.program-exercise-head{display:none}.program-exercise-row{grid-template-columns:repeat(4,1fr)}.program-exercise-row select{grid-column:1/-1}.program-exercise-row button{grid-column:auto}}
@media(max-width:900px){body{padding-bottom:72px}.topnav-links{display:none!important}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid #dce5ee;display:grid;grid-template-columns:repeat(5,1fr);z-index:5000;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#60778e;font-size:.62rem}.mobile-bottom-nav i{font-size:1.05rem}.gym-stats-grid--expanded{grid-template-columns:repeat(2,1fr)}.gym-overview-two-col,.operations-grid,.assigned-programs-grid,.program-library-grid,.health-grid,.parq-grid{grid-template-columns:1fr}.measurement-form-grid,.program-meta-grid{grid-template-columns:1fr}.today-session-item{grid-template-columns:72px 1fr}.today-session-item .attendance-pill{grid-column:2}.cd-body{grid-template-columns:1fr!important}.cd-sidebar{position:static!important}.cd-tabs{overflow-x:auto;flex-wrap:nowrap!important}.time-grid{min-width:0!important}.calendar-scroll{overflow-x:hidden!important}.week-strip{min-width:0!important}.calendar-panel--main{min-width:0}.program-exercise-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gym-stats-grid--expanded{grid-template-columns:1fr 1fr}.gym-stat-card{padding:10px}.topnav-logo .logo-text,.topnav-title,.topnav-admin-meta{display:none}.group-occupancy-card{flex-direction:column}.measurement-summary{grid-template-columns:repeat(2,1fr)}.program-exercise-row{grid-template-columns:1fr}.program-exercise-row select{grid-column:auto}.feature-section-head{flex-direction:column}.modal-dialog{margin:.5rem}.today-session-item{grid-template-columns:1fr}.today-session-time{font-size:.7rem}}

.login-security-note{margin:18px 0 0;color:#63778a;font-size:.78rem;text-align:center}.login-security-note i{margin-right:5px;color:#2a8b76}

.workout-feedback-inline{display:grid;grid-template-columns:repeat(3,110px) repeat(2,minmax(180px,1fr));gap:8px;padding:12px;border-top:1px solid #dce6ef;background:#f8fbfd}.workout-feedback-inline label,.training-feedback-grid label,.measurement-goals-grid label{display:flex;flex-direction:column;gap:4px;font-size:.65rem;font-weight:800;color:#60758a}.workout-feedback-inline input,.training-feedback-grid input,.training-feedback-grid textarea,.measurement-goals-grid input{border:1px solid #ccd9e5;border-radius:8px;padding:8px;font-size:.76rem;background:#fff}.training-feedback-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.training-feedback-wide{grid-column:1/-1}.training-analysis{margin-top:18px}.analysis-block{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:#f1f6fa;margin-top:8px}.analysis-block span{font-size:.75rem}.analysis-pr{background:#fff8df}.measurement-goals-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.measurement-goal-wide{grid-column:1/-1}.measurement-goal-remaining{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:9px;border-radius:10px;background:#f1f7fb;font-size:.7rem;color:#5d7185}.exercise-choice{display:grid;gap:5px;min-width:0}.exercise-custom-name.is-hidden{display:none}
@media(max-width:900px){.workout-feedback-inline{grid-template-columns:repeat(3,1fr)}.workout-feedback-note{grid-column:1/-1}.training-feedback-grid{grid-template-columns:1fr}.training-feedback-wide{grid-column:auto}}
@media(max-width:560px){.workout-feedback-inline{grid-template-columns:1fr 1fr}.workout-feedback-note{grid-column:1/-1}.measurement-goals-grid{grid-template-columns:1fr}.measurement-goal-wide{grid-column:auto}}

.skip-link{position:fixed;left:12px;top:-60px;z-index:10000;background:#16344f;color:#fff;padding:10px 14px;border-radius:8px;text-decoration:none;font-weight:800}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid rgba(47,127,191,.45);outline-offset:2px}

/* Per-client important email preferences (admin only) */
.client-email-help {
  margin: .45rem 0 .75rem;
  color: #667085;
  font-size: .86rem;
  line-height: 1.5;
}
.client-email-status {
  margin-bottom: .75rem;
  padding: .55rem .7rem;
  border-radius: .55rem;
  background: #eef8f4;
  color: #176b55;
  font-size: .8rem;
  font-weight: 600;
}
.client-email-status.is-error {
  background: #fff1f0;
  color: #9b2c25;
}
.client-email-preference-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .55rem .85rem;
}
.client-email-preference-grid label {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin: 0;
  padding: .55rem .65rem;
  border: 1px solid #dce3ec;
  border-radius: .6rem;
  background: #f8fafc;
  color: #27364a;
  font-size: .84rem;
  cursor: pointer;
}
.client-email-preference-grid input {
  margin-top: .15rem;
  accent-color: #2f7fbf;
}
.client-email-custom {
  display: grid;
  gap: .65rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}
.client-email-custom-title {
  font-weight: 700;
  color: #27364a;
}


/* Nutrition plan */
.nutrition-plan-card{background:#fff;border:1px solid var(--border,#dfe6ee);border-radius:18px;padding:20px}
.nutrition-target-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.nutrition-target-grid label,.nutrition-plan-notes,.nutrition-days-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--text,#203247)}
.nutrition-target-grid input,.nutrition-plan-notes textarea,.nutrition-days-grid textarea{width:100%;border:1px solid var(--border,#dfe6ee);border-radius:10px;padding:10px 12px;background:#fff;color:inherit;font:inherit;font-weight:400}
.nutrition-plan-notes{margin-bottom:16px}
.nutrition-days-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nutrition-plan-card input:disabled,.nutrition-plan-card textarea:disabled{background:#f5f7fa;color:#46586b;opacity:1;cursor:default}
@media(max-width:800px){.nutrition-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-days-grid{grid-template-columns:1fr}.nutrition-plan-card{padding:14px}}

/* Real group-session participants */
.group-participants-panel{margin-top:14px;padding-top:2px}.group-participant-list{display:flex;flex-direction:column;gap:7px}.group-participant-row{display:grid;grid-template-columns:minmax(120px,1fr) 130px 34px;gap:7px;align-items:center;padding:8px;border:1px solid #dfe8f1;border-radius:10px;background:#f8fbfd}.group-participant-row strong{overflow:hidden;text-overflow:ellipsis}.group-participant-row select,.group-participant-add select{min-width:0;border:1px solid #ccd9e5;border-radius:8px;padding:7px;background:#fff;font-size:.75rem}.group-participant-row button{border:0;border-radius:8px;background:#fff0ed;color:#a94835;width:34px;height:34px}.group-participant-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.group-participant-add button{border:0;border-radius:9px;padding:8px 11px;background:#2f7fbf;color:#fff;font-size:.75rem;font-weight:800}.group-participant-add button:disabled{opacity:.5}.group-participants-panel .attendance-actions-title{margin-top:0}
@media(max-width:560px){.group-participant-row{grid-template-columns:1fr 110px 34px}.group-participant-add{grid-template-columns:1fr}}

/* Assigned protocol cards and three-dot actions */
.assigned-program-actions,.program-library-actions{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}
.assigned-program-actions .program-primary-action{padding-inline:12px}
.protocol-empty-state{display:flex;align-items:center;gap:10px;padding:16px;border:1px dashed #c7d6e3;border-radius:14px;background:#f8fbfd}
.protocol-empty-state>i{font-size:1.35rem;color:#2f7fbf}.protocol-empty-state>div{display:flex;flex-direction:column;gap:3px}.protocol-empty-state strong{font-size:.8rem}.protocol-empty-state span{font-size:.72rem;color:#718397}
.program-card-menu{position:relative}.program-card-menu-btn{min-width:34px;display:flex;align-items:center;justify-content:center}
.program-card-menu-list{position:absolute;right:0;top:calc(100% + 6px);display:none;min-width:190px;padding:5px;background:#fff;border:1px solid #dce7f1;border-radius:10px;box-shadow:0 10px 28px rgba(28,51,73,.15);z-index:30}
.program-card-menu-list.open{display:flex;flex-direction:column}.program-card-menu-list button{width:100%;display:flex;align-items:center;gap:7px;background:transparent;color:#31485f;text-align:left;padding:8px 9px}.program-card-menu-list button:hover{background:#f0f5f9}.program-card-menu-list button.danger{color:#a43d45}.program-card-menu-list button.danger:hover{background:#fff0f1}
.program-library-card button.is-assigned{background:#e7f4ef;color:#287761;cursor:default}
.program-library-card button:disabled{opacity:1}
.program-exercise-head,.program-exercise-row{grid-template-columns:54px minmax(180px,2fr) 60px 70px 70px 60px 60px 70px 70px 32px}
.program-code-input{text-align:center;font-weight:800;color:#2f7fbf}
@media(max-width:1200px){.program-exercise-row{grid-template-columns:70px repeat(4,1fr)}.program-exercise-row .exercise-choice{grid-column:2/-1}.program-exercise-row button{grid-column:auto}}
@media(max-width:900px){.assigned-program-actions,.program-library-actions{justify-content:flex-start}.program-card-menu-list{left:0;right:auto}.program-exercise-row{grid-template-columns:70px 1fr}.program-exercise-row .exercise-choice{grid-column:2}.program-exercise-row input:not(.program-code-input),.program-exercise-row button{grid-column:auto}}

/* Protocol assignment flow and active workout state */
.assigned-program-state{display:flex!important;align-items:center;gap:5px;margin-top:4px;color:#247965!important;font-size:.68rem!important;font-weight:800;text-transform:none!important}
.assigned-program-actions button:disabled,.program-card-menu-list button:disabled{opacity:.55;cursor:not-allowed}
.program-card-menu-list button:disabled:hover{background:transparent}
.protocol-library-lock{grid-column:1/-1;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid #d6e3ee;border-radius:12px;background:#f5f9fc;color:#526b82;font-size:.73rem;line-height:1.45}
.protocol-library-lock i{margin-top:1px;color:#2f7fbf}
.program-library-card button.is-locked{background:#edf1f5;color:#6b7d8e;cursor:not-allowed}

/* Permanentka klienta */
.permanentka-page{padding:18px;display:flex;flex-direction:column;gap:14px;max-width:1180px;margin:0 auto}.permanentka-hero{background:linear-gradient(135deg,#1e3a5f,#244e70);border-radius:16px;padding:20px 22px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 10px 28px rgba(30,58,95,.16)}.permanentka-hero-main{display:flex;align-items:center;gap:15px}.permanentka-icon{width:50px;height:50px;border-radius:14px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:1.45rem;flex:0 0 auto}.permanentka-kicker{font-size:.62rem;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.55)}.permanentka-hero h3{font-family:'Syne',sans-serif;font-size:1.15rem;margin:2px 0 4px}.permanentka-hero p{margin:0;color:rgba(255,255,255,.68);font-size:.75rem}.permanentka-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;background:rgba(143,227,181,.14);border:1px solid rgba(143,227,181,.3);color:#a7edc5;font-size:.7rem;font-weight:800;white-space:nowrap}.permanentka-status.is-empty{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.72)}.permanentka-status.is-warning{background:rgba(244,162,97,.15);border-color:rgba(244,162,97,.35);color:#ffd1aa}.permanentka-status.is-danger{background:rgba(231,111,81,.16);border-color:rgba(231,111,81,.35);color:#ffc2b2}.permanentka-stats-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px}.permanentka-stat-card,.permanentka-manage-card,.permanentka-history-card{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.permanentka-stat-card{padding:17px 18px;min-height:132px}.permanentka-stat-label{font-size:.68rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.permanentka-balance-line{display:flex;align-items:baseline;gap:7px}.permanentka-balance-line strong{font-family:'Syne',sans-serif;font-size:2rem;line-height:1;color:var(--text)}.permanentka-balance-line span{font-size:.8rem;color:var(--muted);font-weight:700}.permanentka-progress{height:5px;background:#e8eef5;border-radius:999px;margin:14px 0 8px;overflow:hidden}.permanentka-progress span{display:block;height:100%;width:0;background:var(--blue);border-radius:inherit;transition:width .25s ease}.permanentka-stat-card small{display:block;color:var(--muted);font-size:.67rem;line-height:1.45}.permanentka-price-value,.permanentka-value{font-family:'Syne',sans-serif;font-size:1.45rem;font-weight:800;color:var(--text);margin:7px 0 10px}.permanentka-price-editor{display:flex;align-items:center;gap:7px;margin:4px 0 9px}.permanentka-price-input-wrap{display:flex;align-items:center;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#f9fbfd;max-width:180px}.permanentka-price-input-wrap input{width:130px;border:0;background:transparent;outline:0;padding:9px 10px;font-size:1rem;font-weight:800;color:var(--text)}.permanentka-price-input-wrap span{padding:0 10px;color:var(--muted);font-weight:800}.permanentka-mini-btn,.permanentka-refresh-btn{width:36px;height:36px;border:0;border-radius:10px;background:#edf4fa;color:#315f83;display:inline-flex;align-items:center;justify-content:center}.permanentka-mini-btn:hover,.permanentka-refresh-btn:hover{background:#dfeefa}.permanentka-manage-card,.permanentka-history-card{padding:17px 18px}.permanentka-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:13px}.permanentka-section-head h4{margin:0;font-size:.9rem;font-weight:800;color:var(--text);display:flex;align-items:center;gap:7px}.permanentka-section-head h4 i{color:var(--blue)}.permanentka-section-head p{margin:3px 0 0;color:var(--muted);font-size:.7rem}.permanentka-adjust-row{display:grid;grid-template-columns:150px minmax(220px,1fr) auto;gap:10px;align-items:end}.permanentka-adjust-row label{display:flex;flex-direction:column;gap:5px}.permanentka-adjust-row label>span{font-size:.65rem;font-weight:800;color:var(--muted)}.permanentka-adjust-row input{width:100%;border:1px solid var(--border);background:#f9fbfd;border-radius:10px;padding:9px 11px;font-size:.78rem;outline:0}.permanentka-adjust-row input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,127,191,.1)}.permanentka-adjust-actions{display:flex;gap:7px}.permanentka-btn{border:0;border-radius:10px;padding:10px 13px;font-size:.72rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.permanentka-btn-credit{background:#2a9d8f;color:#fff}.permanentka-btn-credit:hover{filter:brightness(.96)}.permanentka-btn-debit{background:#fff0ed;color:#a94835;border:1px solid #f3d2ca}.permanentka-btn-debit:hover{background:#ffe8e2}.permanentka-history-list{display:flex;flex-direction:column}.permanentka-history-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 0;border-top:1px solid #edf1f5}.permanentka-history-item:first-child{border-top:0}.permanentka-history-delta{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:900}.permanentka-history-delta.is-plus{background:#e7f6f1;color:#207864}.permanentka-history-delta.is-minus{background:#fff0ed;color:#a94835}.permanentka-history-main{min-width:0}.permanentka-history-main strong{display:block;font-size:.76rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permanentka-history-main span{display:block;font-size:.66rem;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permanentka-history-meta{text-align:right}.permanentka-history-meta strong{display:block;font-size:.72rem;color:var(--text)}.permanentka-history-meta span{display:block;font-size:.62rem;color:var(--muted);margin-top:2px}.permanentka-empty{min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:.74rem}.permanentka-empty i{font-size:1.35rem;color:#9fb3c7}.permanentka-balance-card.is-low .permanentka-balance-line strong{color:#b26a2b}.permanentka-balance-card.is-negative .permanentka-balance-line strong{color:#a94835}
@media (max-width:900px){.permanentka-stats-grid{grid-template-columns:1fr}.permanentka-adjust-row{grid-template-columns:1fr 1fr}.permanentka-adjust-actions{grid-column:1/-1}.permanentka-btn{flex:1}}@media (max-width:620px){.permanentka-page{padding:12px}.permanentka-hero{align-items:flex-start;flex-direction:column;padding:17px}.permanentka-hero-main{align-items:flex-start}.permanentka-adjust-row{grid-template-columns:1fr}.permanentka-adjust-actions{grid-column:auto}.permanentka-history-item{grid-template-columns:42px minmax(0,1fr)}.permanentka-history-meta{grid-column:2;text-align:left;margin-top:-5px}.permanentka-note-field{grid-column:auto}}

/* ============================================================
   Trainer compensation + admin finance sheet
   ============================================================ */
.topnav-link-finance{min-width:138px;padding-inline:14px;background:rgba(42,157,143,.1);border-bottom-color:rgba(143,227,181,.28)}
.topnav-link-finance i{color:#9fe2ca}
.topnav-link-finance:hover,.topnav-link-finance.active{background:rgba(42,157,143,.2)!important}
.permanentka-stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.permanentka-internal-card{border-color:#d7e8e2;background:linear-gradient(180deg,#fff,#f7fcfa)}
.permanentka-internal-card .permanentka-stat-label i,.permanentka-earnings-card .permanentka-stat-label i{margin-right:4px;color:#2a806f}
.permanentka-earnings-card{border-color:#d8e7f4;background:linear-gradient(180deg,#fff,#f7fbff)}
.permanentka-earnings-card .permanentka-value{color:#1f6f61}

.finance-sheet-page{max-width:1440px;margin:0 auto}
.finance-sheet-header{align-items:flex-end;gap:20px}
.finance-sheet-kicker{display:inline-flex;align-items:center;gap:6px;margin-bottom:5px;padding:5px 8px;border-radius:999px;background:#eaf7f2;color:#287765;font-size:.62rem;font-weight:900;letter-spacing:.08em}
.finance-period-controls{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}
.finance-period-controls label{display:flex;flex-direction:column;gap:5px}
.finance-period-controls label span{font-size:.62rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.finance-period-controls input{height:39px;border:1px solid var(--border);border-radius:10px;padding:0 10px;background:#fff;color:var(--text);font-size:.76rem;outline:0}
.finance-period-controls input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,127,191,.1)}
.finance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.finance-summary-card{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:16px;display:flex;align-items:center;gap:12px;min-height:92px}
.finance-summary-icon{width:42px;height:42px;border-radius:12px;background:#edf5fb;color:#2f6e9d;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex:0 0 auto}
.finance-summary-card>div:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.finance-summary-card span{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--muted)}
.finance-summary-card strong{font-family:'Syne',sans-serif;font-size:1.35rem;color:var(--text)}
.finance-summary-card--money{border-color:#d7e9e2;background:linear-gradient(135deg,#fff,#f6fcf9)}
.finance-summary-card--money .finance-summary-icon{background:#e6f6ef;color:#247663}
.finance-summary-card--money strong{color:#1f6f61}
.finance-summary-card--revenue{border-color:#d8e7f4;background:linear-gradient(135deg,#fff,#f5faff)}
.finance-summary-card--revenue .finance-summary-icon{background:#e8f2fb;color:#2e6f9e}
.finance-summary-card--revenue strong{color:#245f8a}
.finance-summary-card--net{border-color:#d5e5da;background:linear-gradient(135deg,#fff,#f4fbf6)}
.finance-summary-card--net .finance-summary-icon{background:#e5f4e9;color:#2d7750}
.finance-summary-card--net strong{color:#236843}
.finance-table-card{background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow);overflow:hidden}
.finance-table-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 18px;border-bottom:1px solid #edf1f5}
.finance-table-head h3{margin:0;font-size:.94rem;font-weight:900;color:var(--text)}
.finance-table-head p{margin:3px 0 0;font-size:.68rem;color:var(--muted)}
.finance-private-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f2f5f8;color:#607488;font-size:.62rem;font-weight:800;white-space:nowrap}
.finance-table-wrap{overflow:auto}
.finance-table{width:100%;border-collapse:collapse;min-width:1120px}
.finance-table th{padding:10px 14px;background:#f7f9fb;color:#708294;text-align:left;font-size:.61rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e8eef4;white-space:nowrap}
.finance-table td{padding:12px 14px;border-bottom:1px solid #edf1f5;font-size:.74rem;color:var(--text);vertical-align:middle}
.finance-table tbody tr:last-child td{border-bottom:0}
.finance-table tbody tr:hover{background:#fbfdff}
.finance-trainer-cell{display:flex;align-items:center;gap:9px;min-width:220px}
.finance-trainer-avatar{width:36px;height:36px;border-radius:11px;background:#e9f2f9;color:#315f83;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.68rem;flex:0 0 auto}
.finance-trainer-cell strong{display:block;font-size:.76rem}
.finance-trainer-cell small,.finance-cell-note{display:block;margin-top:2px;font-size:.61rem;color:var(--muted)}
.finance-money-cell{font-family:'Syne',sans-serif;font-weight:900!important;color:#1f6f61!important;font-size:.82rem!important;white-space:nowrap}
.finance-reception-cell{display:flex;flex-direction:column;gap:4px;min-width:130px}
.finance-reception-input{width:105px;height:34px;border:1px solid var(--border);border-radius:9px;padding:0 9px;background:#fff;color:var(--text);font-size:.72rem;font-weight:800;outline:0}
.finance-reception-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,127,191,.1)}
.finance-reception-input:disabled{opacity:.6;cursor:wait}
.finance-reception-cell small{font-size:.59rem;color:var(--muted);white-space:nowrap}
.finance-empty-row{text-align:center!important;color:var(--muted)!important;padding:32px!important}
.finance-error-row{color:#a94835!important}
.finance-footnote{display:flex;align-items:flex-start;gap:7px;padding:12px 16px;background:#f8fafc;border-top:1px solid #edf1f5;color:#667b90;font-size:.64rem;line-height:1.45}
.finance-footnote i{color:#3c7eaa;margin-top:1px}
.finance-export-card{margin-top:14px;padding:18px;background:linear-gradient(135deg,#f9fcfb,#f4faf7);border:1px solid #d7e9e2;border-radius:15px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:18px}
.finance-export-main{display:flex;align-items:flex-start;gap:13px;min-width:0}
.finance-export-icon{width:48px;height:48px;border-radius:14px;background:#e3f4ec;color:#247663;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex:0 0 auto}
.finance-export-main h3{margin:2px 0 4px;font-size:.94rem;font-weight:900;color:var(--text)}
.finance-export-main p{margin:0;max-width:780px;font-size:.7rem;line-height:1.5;color:#667b90}
.finance-export-main small{display:block;margin-top:7px;font-size:.62rem;font-weight:700;color:#557269}
.finance-export-kicker{display:inline-flex;align-items:center;gap:5px;font-size:.58rem;font-weight:900;letter-spacing:.06em;color:#287765;text-transform:uppercase}
.finance-export-btn{border:0;border-radius:12px;background:#247663;color:#fff;min-width:220px;padding:11px 15px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;font-weight:900;box-shadow:0 7px 18px rgba(36,118,99,.18);transition:.16s ease;cursor:pointer}
.finance-export-btn>i{grid-row:1/3;font-size:1.05rem}
.finance-export-btn>span{font-size:.72rem;line-height:1.2}
.finance-export-btn>small{font-size:.58rem;font-weight:700;opacity:.78;margin-top:2px}
.finance-export-btn:hover{transform:translateY(-1px);background:#1f6d5b}
.finance-export-btn:disabled{opacity:.62;cursor:wait;transform:none}

@media(max-width:1000px){.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-sheet-header{align-items:flex-start;flex-direction:column}.finance-period-controls{width:100%}.finance-period-controls label{flex:1;min-width:150px}}
@media(max-width:760px){.finance-export-card{align-items:stretch;flex-direction:column}.finance-export-btn{width:100%;min-width:0;justify-content:center}}
@media(max-width:620px){.finance-summary-grid{grid-template-columns:1fr 1fr}.finance-summary-card{padding:12px;min-height:82px}.finance-summary-icon{width:36px;height:36px}.finance-summary-card strong{font-size:1.05rem}.finance-period-controls{display:grid;grid-template-columns:1fr 1fr}.finance-period-controls button{grid-column:1/-1}.finance-table-head{align-items:flex-start;flex-direction:column}.finance-private-badge{white-space:normal}.topnav-link-finance{min-width:0}.finance-export-card{padding:14px}.finance-export-main{gap:10px}.finance-export-icon{width:40px;height:40px;border-radius:11px;font-size:1rem}}
