/* Fremio V2 – additive visual layer for legacy Bootstrap 4 */
:root{--fm-ink:#153042;--fm-muted:#697f8a;--fm-teal:#087f75;--fm-teal-dark:#065f58;--fm-bg:#f5f8f7;--fm-border:#e4eeeb;--fm-shadow:0 14px 45px rgba(17,58,65,.065)}
html{scroll-behavior:smooth}body.fremio-v2{background:var(--fm-bg);color:var(--fm-ink);font-family:'Exo 2',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}body.fremio-v2 h1,body.fremio-v2 h2,body.fremio-v2 h3,body.fremio-v2 h4{font-family:inherit;letter-spacing:-.035em}body.fremio-v2 button,body.fremio-v2 a,body.fremio-v2 input{transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s}body.fremio-v2 :focus-visible{outline:3px solid #73d8c7;outline-offset:3px}body.fremio-v2 .btn{border-radius:12px!important;font-weight:700;box-shadow:none}body.fremio-v2 .btn:hover{transform:translateY(-1px)}body.fremio-v2 .btn-success,body.fremio-v2 .btn-primary{background:#087f75;border-color:#087f75;color:#fff}body.fremio-v2 .btn-success:hover,body.fremio-v2 .btn-primary:hover{background:#066a62;border-color:#066a62}body.fremio-v2 .form-control,body.fremio-v2 .custom-select{border:1px solid #dce7e3;border-radius:12px!important;min-height:50px;background:#fff;box-shadow:none}body.fremio-v2 .form-control:focus,body.fremio-v2 .custom-select:focus{border-color:var(--fm-teal);box-shadow:0 0 0 4px rgba(8,127,117,.12)}
body.fremio-v2 #mainNav{background:rgba(255,255,255,.95)!important;border-bottom:1px solid #e6efec;box-shadow:0 3px 20px rgba(10,43,51,.04);backdrop-filter:blur(16px);padding:15px 0;min-height:76px}body.fremio-v2 #mainNav .nav-link{font-size:.83rem;color:#47646e!important;font-weight:800;letter-spacing:.01em;text-transform:none!important;padding:.65rem .85rem!important;border-radius:11px}body.fremio-v2 #mainNav .nav-link:hover,body.fremio-v2 #mainNav .nav-item.active>.nav-link{color:var(--fm-teal)!important;background:#e7f5f1}body.fremio-v2 #mainNav .navbar-toggler{background:var(--fm-teal)!important;border:0;border-radius:11px;padding:10px 14px}body.fremio-v2 #mainNav .dropdown-menu{border:1px solid var(--fm-border);box-shadow:var(--fm-shadow);border-radius:14px;overflow:hidden}body.fremio-v2 #mainNav .dropdown-item{padding:11px 18px}body.fremio-v2 #mainNav .dropdown-item:hover{background:#e9f6f2;color:var(--fm-teal)}.fremio-brand{display:inline-flex;align-items:center;gap:11px;color:#143945!important;font-size:1.65rem;font-weight:900;letter-spacing:-.07em;text-decoration:none!important;margin-right:25px}.fremio-brand-mark{width:38px;height:38px;background:linear-gradient(140deg,#0ba990,#056d73);color:#fff;display:grid;place-items:center;border-radius:12px;transform:rotate(-8deg);font-size:1.05rem;box-shadow:0 7px 17px #0ba99038}.fremio-brand-dot{color:#09a589}
.fremio-app-header{padding:132px 0 40px;position:relative;overflow:hidden;background:radial-gradient(circle at 85% 15%,#dff6eb 0,transparent 34%),linear-gradient(165deg,#f6faf9 8%,#ebf5f0 100%)}.fremio-app-header:after{content:'';position:absolute;width:280px;height:280px;border:1px solid #c8e8dd;border-radius:50%;right:-105px;top:-100px;pointer-events:none}.fremio-app-header h1{font-size:clamp(2rem,4vw,3.05rem);font-weight:850;margin:12px 0 10px;line-height:1.13}.fremio-app-header p{font-size:1rem;color:#658088;margin:0}.fremio-eyebrow,.fremio-section-kicker{color:#087f75;font-size:.72rem;font-weight:900;letter-spacing:.15em;display:flex;align-items:center;gap:9px}.fremio-live-dot{width:8px;height:8px;background:#1aaf82;border-radius:50%;box-shadow:0 0 0 5px #1aaf821e;display:inline-block}.fremio-quicklinks{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.fremio-quicklinks a{background:#fff;color:#245366;border:1px solid #e1ebe6;border-radius:100px;padding:10px 17px;font-size:.88rem;font-weight:750;box-shadow:0 4px 13px #2b66540b;text-decoration:none}.fremio-quicklinks a:hover{border-color:#0b9580;color:#087f75;transform:translateY(-2px)}.fremio-quicklinks i{margin-right:7px;color:#0c9a82}.fremio-wave{display:inline-block;transform-origin:70% 75%;animation:fm-wave 2.5s 1}@keyframes fm-wave{10%,30%{transform:rotate(12deg)}20%,40%{transform:rotate(-8deg)}50%,100%{transform:rotate(0)}}body.fremio-app section>.container{padding-bottom:50px}body.fremio-app .container-admin>.container,body.fremio-app .container-admin>.row{max-width:100%}body.fremio-app .container-admin{background:#fff;border:1px solid var(--fm-border);border-radius:24px;padding:24px 16px 30px;box-shadow:var(--fm-shadow);min-height:360px}body.fremio-app .container-admin h2{font-size:1.8rem;font-weight:850}body.fremio-app .container-admin h4{font-weight:800}.fremio-muted{color:var(--fm-muted);margin:4px 0 0}.fremio-attendance .custom-select{font-weight:700;font-size:1.03rem;padding-left:16px}.fremio-attendance-tools{margin:20px 0 2px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:15px;border:1px solid #e2eeea;background:#f9fcfb;border-radius:18px}.fremio-attendance-tools[hidden]{display:none}.fremio-statline{display:flex;align-items:center;gap:10px;min-width:126px}.fremio-statline strong{display:block;font-size:1.5rem;line-height:1.1;font-weight:900}.fremio-statline small{display:block;font-size:.69rem;color:#68808b;font-weight:600}.fremio-status-icon{background:#e8f1f5;color:#326277;display:grid;place-items:center;width:39px;height:39px;border-radius:12px}.fremio-status-icon.success{background:#dff6eb;color:#078260}.fremio-filter-group{position:relative;flex:1;min-width:190px}.fremio-filter-group>i{position:absolute;top:50%;transform:translateY(-50%);left:15px;color:#82979d}.fremio-filter-group input{border-radius:12px;padding:11px 34px 11px 40px;border:1px solid #dceae5;width:100%;outline:none;background:white;color:#173e49}.fremio-filter-group input:focus{border-color:#0d9c81;box-shadow:0 0 0 3px #0d9c811c}.fremio-filter-group button{border:0;background:transparent;position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:22px;color:#81959a}.fremio-filter-buttons{display:flex;background:#eaf3f1;border-radius:12px;padding:4px;gap:2px}.fremio-filter-buttons button{border:0;background:transparent;padding:9px 12px;border-radius:9px;font-weight:750;font-size:.77rem;color:#58767a}.fremio-filter-buttons button.is-active{background:#fff;color:#087f75;box-shadow:0 2px 8px #25534c12}.fremio-attendance-notice{display:flex;align-items:center;gap:16px;padding:24px;background:linear-gradient(125deg,#e8f7f1,#f8fcfa);border:1px dashed #b9dcd0;border-radius:16px;color:#35606a;margin:18px 0}.fremio-attendance-notice>i{color:#098d7d;font-size:1.45rem}.fremio-attendance-notice strong,.fremio-attendance-notice span{display:block}.fremio-attendance-notice span{color:#718b90;font-size:.87rem;margin-top:4px}.fremio-attendance-table{width:100%;border-collapse:separate;border-spacing:0 5px!important}.fremio-attendance-table thead tr{background:#eaf3f0}.fremio-attendance-table thead td,.fremio-attendance-table thead th{background:#eaf3f0!important;color:#476971;border:0!important;padding:15px 12px!important}.fremio-attendance-table tbody tr.MemberIds{background:#fff;box-shadow:0 1px 0 #e9efec;border:0!important}.fremio-attendance-table tbody tr.MemberIds:hover{background:#f7fcfa}.fremio-attendance-table tbody tr.MemberIds td{border-color:#eef2f0!important;vertical-align:middle!important}.fremio-attendance-table .dropdown-toggle{color:#234d59;font-weight:750;white-space:normal;text-align:left}.fremio-attendance-table .dropdown-toggle:hover{background:#e5f5ef}.fremio-attendance-table .checkbox .cr{border-radius:8px!important}.fremio-attendance-table input:checked~.cr{background:#0a9b7f!important;border-color:#0a9b7f!important}.fremio-attendance-table tr.fm-is-hidden{display:none!important}.fremio-attendance-table tr.fm-saving{opacity:.55}.fremio-attendance-table tr.fm-updated{animation:fm-flash .8s}@keyframes fm-flash{from{background:#dff8eb}to{background:#fff}}body.fremio-app .table:not(.fremio-attendance-table){background:#fff}body.fremio-app .table thead.thead-light{background:#eaf3f0}body.fremio-app .table thead.thead-light th{background:#eaf3f0;color:#48656b;border:0;padding:13px}body.fremio-app .card,body.fremio-app .modal-content{border-radius:18px;border:1px solid var(--fm-border);box-shadow:var(--fm-shadow)}body.fremio-app .modal-content{overflow:hidden}body.fremio-app .dropdown-menu{border:1px solid var(--fm-border);border-radius:12px;box-shadow:var(--fm-shadow)}body.fremio-app .dropdown-item:hover{background:#eaf8f3;color:#087f75}
/* public area */body.fremio-public #mainNav .navbar-brand img{max-width:200px!important;width:200px!important;max-height:49px;object-fit:contain}body.fremio-public .fremio-hero{padding:150px 18px 95px!important;min-height:650px;height:auto!important;background:radial-gradient(circle at 80% 25%,#1db4a06b,transparent 34%),linear-gradient(135deg,#063c48,#075f61 55%,#0b8e79)!important;position:relative;overflow:hidden}body.fremio-public .fremio-hero:after{content:'';position:absolute;border:1px solid #ffffff30;border-radius:50%;width:510px;height:510px;right:-155px;bottom:-280px;pointer-events:none}body.fremio-public .fremio-hero .masthead-avatar{max-width:125px!important;margin-bottom:26px!important;filter:drop-shadow(0 14px 25px #022f3250)}body.fremio-public .fremio-hero .masthead-heading{font-size:clamp(2.4rem,5vw,4.4rem);font-weight:900;line-height:1.15;text-transform:none!important;max-width:920px;margin:14px auto 20px!important;letter-spacing:-.055em}body.fremio-public .fremio-hero .masthead-heading span{color:#a9f5d8}body.fremio-public .fremio-hero .masthead-subheading{font-size:clamp(1rem,2vw,1.2rem);max-width:650px;line-height:1.8!important;margin:0 auto!important;color:#e2f6f1}body.fremio-public .fremio-hero .divider-custom{opacity:.5;margin-top:30px}body.fremio-public .fremio-hero-tag{justify-content:center;color:#b1f2d7}body.fremio-public #loginform{max-width:690px;margin:-45px auto 65px;position:relative;background:#fff;border:1px solid #e2eae8;border-radius:24px;box-shadow:0 20px 75px #003d3620;padding:38px 22px!important;scroll-margin-top:90px}body.fremio-public #loginform .page-section-heading{font-size:2rem;letter-spacing:-.04em}body.fremio-public #loginform .divider-custom{display:none}.fremio-login-intro{text-align:center;color:#7b9296;font-size:.94rem;margin:10px 0 28px}body.fremio-public #loginform .col-10{max-width:470px;flex:0 0 100%}body.fremio-public #loginform input.form-control{min-height:56px;background:#f9fbfa;border:1px solid #dce7e3;padding-left:15px!important}body.fremio-public #loginform .btn{min-height:48px;padding:10px 18px}body.fremio-public #loginform #Login{min-width:160px}body.fremio-public .page-section{scroll-margin-top:100px}
@media(max-width:991px){body.fremio-v2 #mainNav .navbar-collapse{padding-top:16px}body.fremio-v2 #mainNav .navbar-nav{gap:4px}body.fremio-app .container-admin{padding:15px 2px 24px}body.fremio-app .fremio-app-header{padding-top:112px}.fremio-attendance-tools{gap:10px}.fremio-filter-group{order:3;flex-basis:100%}.fremio-filter-buttons{order:4;width:100%;justify-content:space-between}.fremio-filter-buttons button{flex:1}body.fremio-app .container-admin .container{padding-left:15px;padding-right:15px}}@media(max-width:600px){.fremio-app-header{padding-bottom:27px}.fremio-app-header h1{font-size:2.05rem}.fremio-quicklinks a{font-size:.78rem;padding:9px 12px}.fremio-attendance-tools{padding:11px}.fremio-statline{flex:1;min-width:120px}.fremio-attendance-table{font-size:.85rem}.fremio-attendance-table tbody .dropdown-toggle{font-size:.84rem;padding:8px 4px}.fremio-attendance-table td{padding:8px 5px!important}body.fremio-public .fremio-hero{padding-top:127px!important;min-height:600px}body.fremio-public .fremio-hero .masthead-avatar{max-width:95px!important}body.fremio-public #loginform{margin:-30px 12px 45px;padding:29px 6px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
