/* Fremio V3 — unified application design system; overrides V2 on ALL screens */
:root{--v3-ink:#162c3c;--v3-muted:#697d8b;--v3-teal:#0a827d;--v3-teal-deep:#08645f;--v3-soft:#eef8f6;--v3-line:#e0e9eb;--v3-shadow:0 14px 42px rgba(18,57,70,.07);--v3-radius:20px}
html{scroll-padding-top:100px}body.fremio-v2{font-family:'Exo 2',system-ui,-apple-system,sans-serif;color:var(--v3-ink);background:#f5f8fa;letter-spacing:0}body.fremio-app{background:linear-gradient(180deg,#f0f8f7 0,#f7f9fa 425px,#f6f8fa 100%)}
body.fremio-v2 #mainNav{height:auto;min-height:76px;background:#fff!important;box-shadow:0 1px 0 #dfe8ea,0 5px 30px #103f5310!important;border:0!important}body.fremio-v2 #mainNav .container{max-width:1300px}body.fremio-v2 #mainNav .fremio-brand{color:#123b45!important;font-size:1.65rem;font-weight:900;letter-spacing:-.05em}body.fremio-v2 #mainNav .fremio-brand-mark{background:linear-gradient(135deg,#11ba9a,#097c7d);box-shadow:0 7px 16px #0b998d40}body.fremio-v2 #mainNav .nav-link{font-size:.77rem!important;font-weight:800!important;text-transform:none!important;letter-spacing:.01em;color:#506979!important;padding:11px 14px!important;border-radius:12px!important;transition:background .17s,color .17s,transform .17s}body.fremio-v2 #mainNav .nav-link:hover,body.fremio-v2 #mainNav .nav-link.is-v3-active{background:#e7f6f2!important;color:#067b70!important}body.fremio-v2 #mainNav .nav-item{margin-left:2px!important;margin-right:2px!important}body.fremio-v2 #mainNav .navbar-toggler{background:var(--v3-teal)!important;border-radius:12px;color:#fff!important;font-size:.8rem}body.fremio-v2 #mainNav .dropdown-menu{border:1px solid var(--v3-line);border-radius:15px;padding:8px;box-shadow:var(--v3-shadow);text-transform:none}body.fremio-v2 #mainNav .dropdown-item{border-radius:9px;padding:9px 12px;font-size:.89rem}
body.fremio-app .fremio-app-header{background:transparent!important;padding:115px 0 26px!important;color:var(--v3-ink)!important;min-height:0!important}body.fremio-app .fremio-shell-header{max-width:1250px;background:radial-gradient(circle at 93% 20%,rgba(84,219,189,.25) 0,transparent 29%),linear-gradient(115deg,#fff,#edf9f6);border:1px solid #e3efed;border-radius:26px;padding:28px 37px 25px;box-shadow:0 20px 50px #1349570b}body.fremio-app .fremio-header-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}body.fremio-app .fremio-eyebrow{color:#168479!important;letter-spacing:.13em;font-size:.69rem;font-weight:900}body.fremio-app .fremio-header-date{color:#81969d;font-size:.85rem;font-weight:600}body.fremio-app .fremio-header-date i{margin-right:5px}body.fremio-app .fremio-header-content{display:flex;align-items:center;justify-content:space-between;gap:20px}body.fremio-app .fremio-header-content h1{font-size:clamp(2rem,3.3vw,3rem)!important;line-height:1.17;letter-spacing:-.055em;font-weight:900;color:#153947;margin:17px 0 9px}body.fremio-app .fremio-header-content p{color:#647e87;font-size:1rem;margin:0 0 18px!important}body.fremio-app .fremio-header-emblem{width:73px;height:73px;min-width:73px;border-radius:22px;background:linear-gradient(145deg,#d8f8ec,#b5f1e6);color:#087f78;display:grid;place-items:center;font-size:1.7rem;box-shadow:inset 0 1px #fff,0 12px 24px #0a89721a}body.fremio-app .fremio-quicklinks{margin:5px 0 0!important;display:flex;gap:8px;flex-wrap:wrap}body.fremio-app .fremio-quicklinks a{background:#fff!important;color:#426e71!important;border:1px solid #dfece9;border-radius:999px;font-size:.77rem;padding:10px 16px!important;font-weight:800;text-decoration:none!important;box-shadow:0 3px 8px #0c77640b;transition:all .2s}body.fremio-app .fremio-quicklinks a:hover,body.fremio-app .fremio-quicklinks a.is-current{background:#087e77!important;color:#fff!important;border-color:#087e77;transform:translateY(-1px)}body.fremio-app .fremio-quicklinks a i{margin-right:7px}
body.fremio-app section>.container{max-width:1290px}body.fremio-app .container-admin{padding:0 0 70px!important}body.fremio-app .fremio-content-surface{background:transparent;box-shadow:none;border:0}body.fremio-app .container-admin>.container{max-width:1250px!important;padding:0 12px}body.fremio-app .container-admin h2,body.fremio-app .container-admin h1.h2{color:#193745;font-size:clamp(1.4rem,2.4vw,1.88rem);font-weight:900;letter-spacing:-.04em;margin-bottom:9px}body.fremio-app .container-admin h2 i{color:#119889}body.fremio-app .fremio-muted,body.fremio-app .form-text{color:var(--v3-muted)!important}body.fremio-app .fremio-section-kicker{color:var(--v3-teal);font-weight:900;font-size:.68rem;letter-spacing:.14em;margin-bottom:7px}
/* Shared components used by users, teams, members, clubs, charts, attendance and mail */
body.fremio-app .table:not(.dataTable){width:100%}body.fremio-app table.table{background:#fff;border:1px solid var(--v3-line);border-collapse:separate;border-spacing:0;border-radius:17px;overflow:hidden;box-shadow:var(--v3-shadow);margin-bottom:22px}body.fremio-app table.table thead th{background:#eff6f5!important;color:#5d7680!important;border-top:0!important;border-bottom:1px solid #e2ecea!important;font-weight:800;font-size:.75rem;letter-spacing:.025em;text-transform:none;padding:17px 13px!important;white-space:nowrap}body.fremio-app table.table tbody td{border-top:1px solid #f0f3f5;padding:14px 12px!important;vertical-align:middle;font-size:.88rem;color:#2c4655}body.fremio-app table.table tbody tr{transition:background-color .15s}body.fremio-app table.table tbody tr:hover{background:#f4fbf9}body.fremio-app table.table tbody tr:first-child td{border-top:0}body.fremio-app .table-responsive{border-radius:17px;box-shadow:var(--v3-shadow)}
body.fremio-app .btn{border-radius:12px!important;font-size:.86rem;font-weight:800;letter-spacing:0;text-transform:none;min-height:42px;padding:10px 17px;transition:transform .15s,box-shadow .15s,background .15s}body.fremio-app .btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #104d501a}body.fremio-app .btn-primary,body.fremio-app .btn-success{background:linear-gradient(125deg,#0c9989,#087b75)!important;border-color:transparent!important;color:#fff!important}body.fremio-app .btn-danger{background:#d14c55;border-color:#d14c55}body.fremio-app .btn-secondary{background:#e9f0f0;border-color:#d9e5e5;color:#3d5961}body.fremio-app .btn-outline-primary{color:#087c74;border-color:#0b9586}body.fremio-app .btn-outline-primary:hover{background:#0b9586;color:white}body.fremio-app .badge{font-size:.74em;letter-spacing:0;border-radius:9px;padding:6px 9px}body.fremio-app .badge-success{background:#dff9eb;color:#0c8065}body.fremio-app .badge-danger{background:#fde9e8;color:#ba4242}
body.fremio-app .form-control,body.fremio-app .custom-select,body.fremio-app .custom-file-label,body.fremio-app select.form-control{min-height:46px;border:1px solid #d9e6e7;background:#fff;border-radius:12px!important;box-shadow:none!important;color:#274758;padding:10px 13px;font-size:.91rem}body.fremio-app .form-control:focus,body.fremio-app .custom-select:focus{border-color:#16a894;box-shadow:0 0 0 3px #11a78e20!important}body.fremio-app label{color:#47616f;font-weight:750;font-size:.87rem}body.fremio-app .input-group-text{border:1px solid #d9e6e7;background:#f0f7f5;border-radius:12px}body.fremio-app .card,body.fremio-app .jumbotron,body.fremio-app .modal-content,body.fremio-app .timeline-item{border:1px solid var(--v3-line)!important;border-radius:19px!important;background:#fff;box-shadow:var(--v3-shadow)!important}body.fremio-app .card-header,body.fremio-app .modal-header{background:#f1f8f6!important;border-bottom:1px solid var(--v3-line);border-radius:19px 19px 0 0!important;padding:19px 24px}body.fremio-app .modal-body{padding:24px}body.fremio-app .modal-footer{border-top:1px solid var(--v3-line);padding:16px 24px}body.fremio-app .modal-title{font-size:1.25rem;font-weight:850;letter-spacing:-.02em}body.fremio-app .modal .close{color:#53777b;opacity:1}body.fremio-app .alert{border-radius:14px;border-width:1px;padding:15px 19px}body.fremio-app .pagination .page-link{border-color:#e0ebea;color:#087d73;padding:10px 14px}body.fremio-app .pagination .active .page-link{background:#0b9384;border-color:#0b9384;color:white}
/* Search toolbar, inserted only for non-attendance HTML tables */
.fremio-v3-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:7px 0 14px;background:white;border:1px solid #e1e9ec;border-radius:15px;padding:10px 14px;box-shadow:0 5px 24px #154a5910}.fremio-v3-toolbar .fm-v3-search{min-width:210px;flex:1;max-width:370px;border:1px solid #d8e6e7;border-radius:10px;padding:10px 13px 10px 35px;outline:none;background:#f9fcfc;color:#1b4751;font:inherit;font-size:.86rem}.fremio-v3-toolbar .fm-v3-search:focus{border-color:#17a898;box-shadow:0 0 0 3px #1aaf9e1c}.fremio-v3-search-wrap{position:relative;flex:1}.fremio-v3-search-wrap i{position:absolute;top:13px;left:13px;color:#81a3a5;font-size:.82rem}.fremio-v3-count{color:#82979e;font-size:.78rem;font-weight:750}.fremio-v3-empty{padding:20px;text-align:center;background:#fff;border:1px dashed #ccdddf;border-radius:12px;color:#718c94;margin-top:-8px;margin-bottom:15px}
/* App pages : section framing, form controls, charts and tabs */
body.fremio-app .container-admin .nav-tabs{border-color:#dbe9e8;margin-bottom:18px;gap:6px}body.fremio-app .container-admin .nav-tabs .nav-link{font-weight:800;color:#577079;border-radius:12px 12px 0 0;padding:12px 16px}body.fremio-app .container-admin .nav-tabs .nav-link.active{color:#078776;border-color:#dce9e8 #dce9e8 #fff;background:#fff}body.fremio-app .container-admin canvas{max-width:100%}body.fremio-app .container-admin .timeline .timeline-item{padding:13px;margin-bottom:12px}body.fremio-app .container-admin .timeline-header{border-radius:12px;padding:11px;font-size:1rem}body.fremio-app .container-admin .timeline-body{font-size:.88rem;line-height:1.6;color:#536c75}body.fremio-app .container-admin .fremio-attendance #SelectTeamId{min-height:56px;font-weight:800;background-color:#fff;border-color:#beded8}body.fremio-app .fremio-attendance-tools{border-radius:18px;box-shadow:var(--v3-shadow);border:1px solid var(--v3-line)}body.fremio-app .fremio-statline{background:#f3f9f8;border-radius:14px}body.fremio-app .fremio-attendance-notice{border:1px dashed #b9d9d0;border-radius:18px;background:#f3faf8}body.fremio-app table.fremio-attendance-table tbody tr:hover{background:#eafaF6}
/* Login / public also inherits shared typography and modal polish */
body.fremio-public{background:#f6faf9}body.fremio-public .fremio-hero{background:radial-gradient(circle at 80% 23%,#15a99266,transparent 35%),linear-gradient(140deg,#073c49,#087c79)!important}body.fremio-public #loginform{border-radius:25px;box-shadow:0 25px 70px #0747501c}body.fremio-public #loginform input.form-control{border-radius:12px!important;font-size:1rem}body.fremio-public #loginform .btn-primary{background:#0a8c7d;border-color:#0a8c7d;border-radius:12px}body.fremio-public #mainNav .navbar-brand img{max-width:185px!important}
/* Accessible motion and keyboard focus */
body.fremio-v2 :focus-visible{outline:3px solid #2dbca5!important;outline-offset:2px}body.fremio-v2 .dropdown-item:focus{background:#e5f7f2;color:#0a786d}
@media(max-width:991px){body.fremio-v2 #mainNav{min-height:67px}body.fremio-app .fremio-app-header{padding-top:95px!important}body.fremio-app .fremio-shell-header{margin:0 12px;padding:23px 20px}body.fremio-app .fremio-header-emblem{width:55px;height:55px;min-width:55px;border-radius:15px;font-size:1.35rem}body.fremio-app section>.container{padding:0 12px}body.fremio-v2 #mainNav .navbar-collapse{border-top:1px solid #e6eeee;margin-top:8px;padding-bottom:13px}body.fremio-v2 #mainNav .nav-link{margin:2px 0!important}}
@media(max-width:600px){body.fremio-app .fremio-shell-header{padding:19px 17px;border-radius:19px}body.fremio-app .fremio-header-content h1{font-size:1.92rem!important}body.fremio-app .fremio-header-content p{font-size:.88rem}body.fremio-app .fremio-header-date{font-size:.7rem}body.fremio-app .fremio-header-emblem{display:none}body.fremio-app .fremio-quicklinks{gap:6px}body.fremio-app .fremio-quicklinks a{padding:9px 11px!important;font-size:.72rem}body.fremio-app .container-admin>.container{padding:0 5px}body.fremio-app table.table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}body.fremio-app table.table thead th,body.fremio-app table.table tbody td{white-space:nowrap;padding:11px 9px!important}body.fremio-app .modal-dialog{margin:9px}body.fremio-app .modal-body{padding:18px}body.fremio-app .btn{min-height:43px}body.fremio-app .fremio-v3-toolbar{padding:9px}}
@media(prefers-reduced-motion:reduce){body.fremio-v2 *,body.fremio-v2 *:before,body.fremio-v2 *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Account recovery and password screens */body.fremio-account{min-height:100vh;background:radial-gradient(circle at 12% 15%,#e2f6ee,transparent 32%),#f5f9fa}body.fremio-account .fremio-account-card{max-width:740px;background:#fff;padding:30px 38px 38px;border:1px solid #e0eae9;border-radius:24px;box-shadow:0 18px 60px #154b4d12}body.fremio-account .fremio-account-card h2{font-size:2rem;font-weight:900;color:#173a46;letter-spacing:-.045em}body.fremio-account .fremio-account-card .form-control{border:1px solid #d6e6e6;border-radius:12px;min-height:49px}body.fremio-account .fremio-account-card .btn{border-radius:11px!important;padding:11px 19px;font-weight:800}body.fremio-account .fremio-account-card .btn-success{background:#09897d;border-color:#09897d}body.fremio-account #mainNav{background:#fff!important}@media(max-width:600px){body.fremio-account .fremio-account-card{margin:90px 12px 20px!important;padding:20px}}
