*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #0B223F;--blue-dark: #071828;--gold: #FFC72C;--red: #c0392b;--green: #1a7a4a;--gray-50: #f8f9fa;--gray-100: #f1f3f5;--gray-200: #e9ecef;--gray-400: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--radius: 8px;--radius-lg: 12px;--nav-height: 54px;--content-max: 1140px;--shadow: 0 1px 4px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.12);--shadow-lg: 0 8px 24px rgba(0,0,0,.14);--ease: .15s ease;--ease-md: .25s ease}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--gray-50);color:var(--gray-800);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}code{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;background:var(--gray-100);padding:2px 5px;border-radius:4px;font-size:.9em}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--gray-600)}.navbar{background:var(--blue);color:#fff;display:flex;align-items:center;gap:1rem;padding:.6rem 1.5rem;box-shadow:0 2px 6px #0003;position:sticky;top:0;z-index:200;min-height:var(--nav-height)}.navbar-brand{flex-shrink:0}.navbar-brand a{color:#fff;font-weight:700;font-size:1.1rem;letter-spacing:.3px;display:flex;align-items:center}.navbar-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:.4rem .3rem;margin-left:auto;border-radius:var(--radius);min-width:44px;min-height:44px;align-items:center}.navbar-hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform var(--ease),opacity var(--ease);transform-origin:center}.navbar-hamburger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar-hamburger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-hamburger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-links{display:flex;gap:.75rem;flex:1;align-items:center;flex-wrap:wrap}.navbar-links a{color:#ffffffd9;font-size:.88rem;padding:.3rem .1rem;white-space:nowrap;transition:color var(--ease)}.navbar-links a:hover{color:#fff;text-decoration:none}.navbar-user{display:flex;align-items:center;gap:.6rem;margin-left:auto;font-size:.82rem;flex-shrink:0}.navbar-name{color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.btn-logout{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.3rem .8rem;border-radius:var(--radius);cursor:pointer;font-size:.82rem;white-space:nowrap;min-height:34px;transition:background var(--ease)}.btn-logout:hover{background:#ffffff47}.navbar-mobile-user{display:none}@media(max-width:767px){.navbar{flex-wrap:wrap;padding:.5rem 1rem;gap:0}.navbar-hamburger{display:flex}.navbar-links{display:none;flex-direction:column;align-items:flex-start;width:100%;gap:0;padding:.5rem 0 .75rem;border-top:1px solid rgba(255,255,255,.12);margin-top:.4rem;flex:none}.navbar-links--open{display:flex}.navbar-links a{width:100%;padding:.65rem .25rem;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.06)}.navbar-links a:last-of-type{border-bottom:none}.navbar-mobile-user{display:flex;align-items:center;gap:.65rem;margin-top:.65rem;width:100%;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.12)}.navbar-user{display:none}}.navbar-name{color:#ffffffe6}.btn-logout{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.25rem .7rem;border-radius:var(--radius);cursor:pointer;font-size:.8rem}.btn-logout:hover{background:#ffffff40}.main-content{max-width:var(--content-max);margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(.85rem,3vw,1.5rem)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;gap:.75rem;flex-wrap:wrap}.page-header h1{margin:0}h1{font-size:clamp(1.2rem,2.5vw,1.6rem);color:var(--blue);margin-bottom:.75rem;line-height:1.25}h2{font-size:clamp(.95rem,2vw,1.1rem);color:var(--gray-800);margin-bottom:.75rem}.page-subtitle{color:var(--gray-600);margin-bottom:1.25rem;font-size:.9rem}.back-link{color:var(--blue);font-size:.88rem}.muted{color:var(--gray-600)}.link{color:var(--blue);font-size:.9rem}.auth-page{min-height:100vh;display:flex;background:#fff}.auth-panel-left{width:42%;min-height:100vh;background:#001233;background-image:radial-gradient(ellipse at 20% 0%,rgba(0,61,165,.5) 0%,transparent 55%),radial-gradient(ellipse at 80% 100%,rgba(0,47,128,.35) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:center;padding:3rem 2.5rem;color:#fff;position:relative;overflow:hidden}.auth-panel-left:after{content:"";position:absolute;top:-30%;right:-20%;width:60%;height:60%;border-radius:50%;background:#ffc72c08;pointer-events:none}.auth-left-content{position:relative;z-index:1}.auth-logo-badge{display:block;height:72px;width:auto;margin-bottom:1.75rem}.auth-left-title{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:.75rem;letter-spacing:-.3px;line-height:1.25}.auth-left-subtitle{color:#fff9;font-size:.95rem;line-height:1.6}.auth-left-divider{width:50px;height:3px;background:var(--gold);border-radius:2px;margin:2rem 0;opacity:.7}.auth-features{display:flex;flex-direction:column;gap:.85rem}.auth-feature{display:flex;align-items:center;gap:.75rem;font-size:.88rem;color:#ffffffb3}.auth-feature-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0}.auth-left-footer{position:absolute;bottom:2rem;left:2.5rem;font-size:.75rem;color:#ffffff40;letter-spacing:.4px}.auth-panel-right{flex:1;display:flex;align-items:center;justify-content:center;padding:2.5rem;background:var(--gray-50);overflow-y:auto}.auth-right-content{width:100%;max-width:480px;animation:authSlideIn .45s ease-out}@keyframes authSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.auth-loading{text-align:center;color:var(--gray-600);padding:3rem 0;font-size:.95rem}.auth-welcome{font-size:1.6rem;font-weight:700;color:var(--gray-800);margin-bottom:.3rem}.auth-instruction{font-size:.9rem;color:var(--gray-600);margin-bottom:1.75rem}.auth-role-cards{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.5rem}.auth-role-card{display:flex;align-items:center;gap:.85rem;padding:1rem 1.15rem;border:1.5px solid var(--gray-200);border-radius:12px;background:#fff;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.auth-role-card:hover{border-color:#aac4e8;background:#fafbff}.auth-role-card--active{border-color:var(--blue);background:#003da508;box-shadow:0 0 0 3px #003da514}.auth-role-card-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--gray-400);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.auth-role-card--active .auth-role-card-radio{border-color:var(--blue)}.auth-role-card-radio-dot{width:10px;height:10px;border-radius:50%;background:var(--blue)}.auth-role-card-text{display:flex;flex-direction:column;gap:.15rem}.auth-role-card-text strong{font-size:.92rem;color:var(--gray-800)}.auth-role-card-text span{font-size:.78rem;color:var(--gray-600)}.auth-selector{margin-bottom:1.25rem;animation:authFadeUp .3s ease-out}@keyframes authFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-selector label{display:block;font-size:.82rem;font-weight:600;color:var(--gray-800);margin-bottom:.4rem}.auth-selector select{width:100%;padding:.65rem .85rem;border:1.5px solid var(--gray-200);border-radius:10px;font-size:.92rem;background:#fff;color:var(--gray-800);cursor:pointer;transition:all .15s ease}.auth-selector select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #003da51a}.auth-identity-confirm{background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border:1px solid #c7d7f9;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.25rem;animation:authFadeUp .3s ease-out}.auth-identity-label{font-size:.72rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem}.auth-identity-name{font-size:1.1rem;font-weight:700;color:var(--blue);margin-bottom:.15rem}.auth-identity-detail{font-size:.82rem;color:var(--gray-600)}.auth-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;padding:.65rem .9rem;font-size:.85rem;color:#991b1b;margin-bottom:1rem}.auth-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.8rem 1.5rem;background:var(--blue);color:#fff;font-size:.95rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;letter-spacing:.2px}.auth-submit:hover:not(:disabled){background:var(--blue-dark);box-shadow:0 6px 20px #003da540;transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit--disabled,.auth-submit:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.auth-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:authSpin .6s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}@media(max-width:900px){.auth-page{flex-direction:column}.auth-panel-left{width:100%;min-height:auto;padding:1.5rem clamp(1rem,5vw,2rem);flex-direction:row;align-items:center;gap:1.25rem}.auth-left-content{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.auth-left-divider,.auth-features,.auth-left-footer{display:none}.auth-left-title{font-size:clamp(1.1rem,3vw,1.35rem);margin-bottom:.25rem}.auth-left-subtitle{font-size:.82rem}.auth-logo-badge{height:clamp(40px,8vw,56px);width:auto;margin-bottom:0;flex-shrink:0}.auth-panel-right{padding:clamp(1.25rem,4vw,2rem) clamp(1rem,5vw,2rem);align-items:flex-start}.auth-right-content{max-width:100%}}@media(max-width:480px){.auth-panel-left{padding:1rem}.auth-left-subtitle{display:none}}.form-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}.fieldset{border:none;padding:0;margin:0 0 1.25rem}.fieldset legend{font-weight:600;font-size:.9rem;color:var(--blue);padding:0;margin-bottom:.75rem;width:100%;border-bottom:2px solid var(--gray-200);padding-bottom:.4rem}.field{margin-bottom:.85rem}.field label{display:block;font-size:.83rem;font-weight:500;color:var(--gray-800);margin-bottom:.3rem}.field input,.field select,.field textarea{width:100%;padding:.55rem .75rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);font-size:max(.9rem,16px);background:#fff;color:var(--gray-800);transition:border-color var(--ease),box-shadow var(--ease);-webkit-appearance:none;-moz-appearance:none;appearance:none}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236c757d' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #0b223f1f}.field-error{display:block;color:var(--red);font-size:.78rem;margin-top:.2rem}.field-disabled input{background:var(--gray-100);color:var(--gray-600);cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.25rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;border:none;text-decoration:none;min-height:44px;min-width:44px;transition:background var(--ease),box-shadow var(--ease),transform var(--ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--blue-dark);color:#fff;text-decoration:none;box-shadow:0 4px 12px #0b223f40}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-secondary{background:#fff;color:var(--blue);border:1.5px solid var(--blue)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);text-decoration:none}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover:not(:disabled){background:#a93226}.btn-full{width:100%}.btn-add-athlete{margin-top:.75rem;width:100%;border:2px dashed var(--blue);background:#0b223f0a;color:var(--blue)}.btn-add-athlete:hover{background:#0b223f14}.btn-remove{background:none;border:none;color:var(--red);cursor:pointer;font-size:.8rem;padding:.2rem .4rem;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.btn-remove:hover{text-decoration:underline}.premium-display{background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border:1px solid #c7d7f9;border-radius:var(--radius);padding:1.25rem;margin-top:.75rem}.premium-plan strong{display:block;margin-bottom:.5rem;color:var(--blue)}.premium-features{list-style:none;padding:0;margin:0 0 .75rem}.premium-features li{font-size:.85rem;color:var(--gray-600);padding:.1rem 0}.premium-features li:before{content:"✓ ";color:var(--green)}.premium-cost{display:flex;justify-content:space-between;align-items:center;margin:.75rem 0 .5rem}.premium-label{font-weight:500}.premium-amount{font-size:1.4rem;font-weight:700;color:var(--blue)}.premium-note{font-size:.8rem;color:var(--gray-600);font-style:italic}.athlete-row{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.athlete-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.athlete-index{font-size:.85rem;font-weight:600;color:var(--blue)}.athlete-row-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:900px){.athlete-row-fields{grid-template-columns:1fr 1fr}}@media(max-width:480px){.athlete-row-fields{grid-template-columns:1fr}}.disclaimers{display:flex;flex-direction:column;gap:.75rem}.disclaimer{display:flex;gap:.75rem;padding:.85rem 1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s}.disclaimer input[type=checkbox]{margin-top:.2rem;flex-shrink:0;accent-color:var(--blue)}.disclaimer--checked{border-color:var(--blue);background:#003da508}.disclaimer-body strong{display:block;font-size:.9rem;margin-bottom:.3rem}.disclaimer-body p{font-size:.83rem;color:var(--gray-600);line-height:1.5}.radio-group{display:flex;gap:.75rem;flex-wrap:wrap}.radio-option{display:flex;align-items:center;gap:.55rem;padding:.7rem 1.1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;font-weight:600;font-size:.9rem;transition:border-color .15s,background .15s}.radio-option input[type=radio]{accent-color:var(--blue)}.radio-option--checked{border-color:var(--blue);background:#003da50a}.field-hint{display:block;margin-top:.25rem;font-size:.78rem;color:var(--gray-600)}.badge{display:inline-block;padding:.2rem .65rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.badge--pending-coach{background:#e2e3e5;color:#41464b}.badge--pending-approval{background:#fff3cd;color:#856404}.badge--executed{background:#d1e7dd;color:#0a3622}.badge--voided{background:#f8d7da;color:#58151c}.badge--expired{background:var(--gray-200);color:var(--gray-600)}.badge--coach{background:#e9ecef;color:#495057}.badge--sport-admin{background:#cff4fc;color:#055160}.badge--cfo{background:#d1e7dd;color:#0a3622}.badge--sport_admin{background:#cff4fc;color:#055160}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,#fff 30%,#fff0) left,linear-gradient(to left,#fff 30%,#fff0) right,linear-gradient(to right,#00000014,#0000) left,linear-gradient(to left,#00000014,#0000) right;background-attachment:local,local,scroll,scroll;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-repeat:no-repeat;border-radius:var(--radius)}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;contain:layout}.data-table th{background:var(--gray-50);padding:.65rem 1rem;text-align:left;font-size:.78rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--gray-200);white-space:nowrap}.data-table td{padding:.7rem 1rem;font-size:.9rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--gray-50)}.data-table th:first-child,.data-table td:first-child{position:sticky;left:0;z-index:1;background:inherit}.data-table tbody tr:hover td:first-child{background:var(--gray-50)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:640px){.detail-grid{grid-template-columns:1fr}}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:.4rem .75rem}.detail-list dt{font-size:.82rem;font-weight:600;color:var(--gray-600);align-self:start;padding-top:.1rem}.detail-list dd{font-size:.92rem}.action-zone{background:#f0f4ff;border:1.5px solid #c7d7f9;border-radius:var(--radius);padding:1.25rem;margin-top:1rem}.action-zone--danger{background:#fff5f5;border-color:#fca5a5}.action-note{font-size:.85rem;color:var(--gray-600);margin-bottom:.75rem}.void-form label{font-size:.85rem;font-weight:500;display:block;margin-bottom:.35rem}.void-form textarea{width:100%;padding:.55rem .75rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);font-size:.9rem;margin-bottom:.75rem;resize:vertical}.void-actions{display:flex;gap:.75rem}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}@media(max-width:900px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:380px){.summary-cards{grid-template-columns:1fr 1fr;gap:.5rem}}.summary-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:.85rem 1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.75rem;color:var(--gray-600);font-weight:500;text-transform:uppercase;letter-spacing:.4px}.summary-value{font-size:1.35rem;font-weight:700;color:var(--blue)}.summary-value.executed{color:var(--green)}.cfo-dashboard-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}.cfo-section-title{font-size:1rem;font-weight:600;color:var(--blue);margin-bottom:1rem}.cfo-pipeline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.cfo-pipeline-arrow{color:var(--gray-400);font-size:1.2rem;flex-shrink:0}.cfo-pipeline-card{flex:1;min-width:130px;border-radius:var(--radius);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.2rem;border:1.5px solid transparent}.cfo-pipeline-card--pending-coach{background:#f5f5f5;border-color:#dee2e6}.cfo-pipeline-card--pending-approval{background:#fffbeb;border-color:#fde68a}.cfo-pipeline-card--executed{background:#f0fdf4;border-color:#bbf7d0}.cfo-pipeline-count{font-size:1.6rem;font-weight:700;color:var(--gray-800);line-height:1}.cfo-pipeline-card--executed .cfo-pipeline-count{color:var(--green)}.cfo-pipeline-card--pending-approval .cfo-pipeline-count{color:#d97706}.cfo-pipeline-label{font-size:.82rem;font-weight:600;color:var(--gray-800)}.cfo-pipeline-sub{font-size:.72rem;color:var(--gray-600)}.cfo-count-badge{display:inline-block;padding:.15rem .55rem;border-radius:12px;font-size:.78rem;font-weight:600}.cfo-count-badge--coach{background:#e2e3e5;color:#41464b}.cfo-count-badge--approval{background:#fff3cd;color:#856404}.cfo-count-badge--executed{background:#d1e7dd;color:#0a3622}.cfo-count-badge--voided{background:#f8d7da;color:#58151c}.cfo-count-badge--expired{background:var(--gray-200);color:var(--gray-600)}.cfo-count-zero{color:var(--gray-400);font-size:.85rem}.cfo-filtered-summary{display:flex;gap:1.5rem;flex-wrap:wrap;background:#f0f4ff;border:1px solid #c7d7f9;border-radius:var(--radius);padding:.6rem 1rem;margin-bottom:.75rem;font-size:.85rem;color:var(--gray-700)}@media(max-width:700px){.cfo-pipeline{flex-direction:column;align-items:stretch}.cfo-pipeline-arrow{transform:rotate(90deg);text-align:center}}.filters{margin-bottom:1.25rem}.filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:900px){.filter-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.filter-row{grid-template-columns:1fr;gap:.5rem}}.empty-state{text-align:center;padding:2rem 1.5rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-600)}.empty-state p{margin-bottom:.75rem}.error{color:var(--red);font-size:.9rem;margin:.5rem 0}.badge--denied,.badge--danger{background:#f8d7da;color:#58151c}.badge--audit{background:#e7e9fb;color:#2d2f7a;text-transform:none;letter-spacing:0}.success{margin:.5rem 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-card{max-width:520px;width:100%;margin:0;max-height:90vh;overflow-y:auto}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.checkbox-chip{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:border-color .15s,background .15s;min-height:44px}.checkbox-chip:hover{border-color:#aac4e8}.checkbox-chip--checked{border-color:var(--blue);background:#003da50a}.checkbox-chip input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px;flex-shrink:0}.tab-bar{display:flex;gap:.25rem;border-bottom:2px solid var(--gray-200);margin-bottom:1.25rem;flex-wrap:wrap}.tab{background:none;border:none;border-bottom:3px solid transparent;padding:.65rem 1.1rem;font-size:.9rem;font-weight:600;color:var(--gray-600);cursor:pointer;margin-bottom:-2px}.tab:hover{color:var(--blue)}.tab--active{color:var(--blue);border-bottom-color:var(--gold)}.budget-bar{position:relative;height:14px;background:var(--gray-100);border-radius:7px;overflow:hidden}.budget-bar-fill{height:100%;background:var(--blue);border-radius:7px;transition:width .3s}.budget-bar-fill--over{background:var(--red)}.budget-bar-cap{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--gray-800)}.expand-toggle{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--blue);padding:.25rem .4rem;min-width:32px;min-height:32px}.coach-detail-row>td{background:var(--gray-50);padding:0}.coach-panel{padding:1rem 1.25rem}.coach-list{width:100%;border-collapse:collapse}.coach-list td{padding:.5rem .6rem;font-size:.88rem;border-bottom:1px solid var(--gray-200);vertical-align:middle}.coach-list tr:last-child td{border-bottom:none}@media(pointer:coarse){.btn,.btn-logout,.field input,.field select,.navbar-links a,.tab,.expand-toggle,.checkbox-chip{min-height:44px}.btn-remove,.link{min-height:44px;display:inline-flex;align-items:center}.data-table th input[type=checkbox],.data-table td input[type=checkbox]{width:20px;height:20px;cursor:pointer}}@media(min-width:641px)and (max-width:900px){.cfo-pipeline{flex-wrap:wrap}}@media(max-width:640px){.main-content{padding:.85rem .75rem}.page-header{margin-bottom:.85rem}.form-card{padding:.85rem .9rem;margin-bottom:.85rem}.data-table th,.data-table td{padding:.55rem .65rem;font-size:.82rem}.action-zone{padding:.9rem}.checkbox-grid{grid-template-columns:1fr 1fr}.coach-panel{padding:.75rem .6rem}.tab{padding:.5rem .7rem;font-size:.82rem}.void-actions{flex-direction:column}.void-actions .btn{width:100%}.modal-card{margin:auto 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:85vh}.modal-overlay{align-items:flex-end}}@media(max-width:400px){.checkbox-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.page-header .btn{width:100%}}@media(min-width:1400px){:root{--content-max: 1320px}.summary-cards{grid-template-columns:repeat(4,1fr);gap:1rem}.filter-row{gap:1rem}.data-table th{padding:.75rem 1.1rem}.data-table td{padding:.8rem 1.1rem}}@media(max-width:640px){.cfo-pipeline{flex-direction:column;align-items:stretch}.cfo-pipeline-arrow{transform:rotate(90deg);text-align:center}}@media print{.navbar,.btn,.filters,.tab-bar,.action-zone,.modal-overlay{display:none!important}.main-content{max-width:100%;padding:0}.data-table{font-size:.8rem;border:1px solid #ccc}.data-table th,.data-table td{padding:.3rem .5rem}body{background:#fff;color:#000}a{color:#000;text-decoration:none}}
