/* FREMIO V5 · Complete application design system. Inspired by provided HTML prototype. */
:root{--f5-ink:#12253d;--f5-muted:#65758b;--f5-teal:#0d8c81;--f5-dark:#096c65;--f5-line:#e2e9ed;--f5-wash:#f5f8f8;--f5-mint:#e8f7ef;--f5-navy:#112b43;--f5-shadow:0 18px 55px rgba(14,42,56,.07)}
html{scroll-behavior:smooth}body.fremio-app,body.fremio-public{font-family:'DM Sans',sans-serif!important;font-size:15px;color:var(--f5-ink);background:var(--f5-wash)!important;margin:0!important;padding:0!important}body.fremio-app * ,body.fremio-public *{box-sizing:border-box}body.fremio-app h1,body.fremio-app h2,body.fremio-app h3,body.fremio-public h1,body.fremio-public h2,body.fremio-public h3{font-family:Manrope,sans-serif!important;text-transform:none!important;letter-spacing:-.04em;font-weight:800}body.fremio-app a:hover,body.fremio-public a:hover{text-decoration:none}
/* Real app shell */
.f5-layout{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:100vh}.f5-sidebar{background:#fff;border-right:1px solid var(--f5-line);padding:30px 17px 20px;min-height:100vh;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto;z-index:1040}.f5-logo{display:inline-flex;align-items:center;gap:10px;font:800 25px Manrope,sans-serif!important;letter-spacing:-1.5px;color:var(--f5-ink)!important;text-decoration:none!important}.f5-sidebar>.f5-logo{padding-left:13px}.f5-logo-mark{background:var(--f5-teal);width:36px;height:36px;border-radius:12px;color:white;display:inline-flex;align-items:center;justify-content:center;font-size:17px;flex:none}.f5-logo-dot{color:var(--f5-teal)}.f5-workspace{display:flex;gap:10px;align-items:center;padding:13px;margin-top:37px;background:#f5f9f8;border:1px solid #e7efed;border-radius:14px;min-width:0}.f5-workspace-icon{width:36px;height:36px;flex:none;border-radius:11px;background:#e2f2ed;color:var(--f5-teal);display:grid;place-items:center}.f5-workspace-content{min-width:0;display:block}.f5-workspace-content small{display:block;color:#8397a1;font-size:9px;font-weight:800;letter-spacing:.08em}.f5-workspace-content strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;margin-top:3px}.f5-nav-label{font-size:10px;letter-spacing:.12em;color:#9eabb5;font-weight:800;margin:32px 14px 11px}.f5-links{display:grid;gap:5px}.f5-links a{display:flex;gap:13px;align-items:center;padding:13px 14px;border-radius:11px;color:#647789!important;font-size:13px;font-weight:700;transition:.18s;min-width:0}.f5-links a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f5-links a i{font-size:15px;width:20px;text-align:center;color:#8698a6}.f5-links a.active,.f5-links a:hover{background:#e7f5f0;color:var(--f5-teal)!important}.f5-links a.active i,.f5-links a:hover i{color:var(--f5-teal)}.f5-sidebar-bottom{margin-top:auto;padding-top:25px}.f5-help{background:linear-gradient(140deg,#e8f7f1,#f5faf8);border:1px solid #e0f1ea;padding:17px;border-radius:15px;display:grid;gap:7px}.f5-help-icon{color:var(--f5-teal);font-size:19px}.f5-help strong{font-size:12px}.f5-help small{font-size:11px;line-height:1.6;color:var(--f5-muted)}.f5-logout{margin-top:12px;padding:13px;display:flex;gap:12px;align-items:center;color:#65758b!important;font-weight:700;font-size:13px}.f5-main{min-width:0}.f5-topbar{height:79px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,60px);background:#fff;border-bottom:1px solid var(--f5-line)}.f5-topbar-left,.f5-topbar-right{display:flex;align-items:center;gap:20px}.f5-crumb{font-size:13px;color:#95a3ae}.f5-crumb i{font-size:9px;margin:0 9px}.f5-crumb strong{color:var(--f5-ink);font-weight:700}.f5-today{color:#7f8e9c;font-size:12px}.f5-avatar{width:36px;height:36px;background:#e4f5ef;color:var(--f5-teal);border-radius:50%;display:grid;place-items:center}.f5-menu-button{display:none;border:0;background:#edf6f3;color:var(--f5-teal);width:38px;height:38px;border-radius:10px}.f5-content{padding:36px clamp(22px,4vw,60px) 70px;max-width:1660px;margin:auto}.f5-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:15px}.f5-overline{display:inline-flex;align-items:center;gap:8px;color:var(--f5-teal);font-weight:800;font-size:10px;letter-spacing:.13em}.f5-pulse{width:7px;height:7px;background:#22b88d;border-radius:50%;box-shadow:0 0 0 4px #e2f5ed}.f5-title-row h1{font-size:clamp(26px,3vw,37px)!important;margin:14px 0 6px!important;color:var(--f5-ink)!important;line-height:1.2!important}.f5-title-row p{color:var(--f5-muted);margin:0;font-size:14px}.f5-title-icon{background:#e7f5f0;color:var(--f5-teal);width:58px;height:58px;border-radius:17px;display:grid;place-items:center;font-size:21px}.f5-page{min-width:0}.f5-panel{background:#fff;border:1px solid var(--f5-line);border-radius:20px;box-shadow:var(--f5-shadow);padding:clamp(17px,2.5vw,32px);min-height:250px}.f5-page .container,.f5-page .container-admin{max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important;margin:0!important}.f5-page h2{font-size:24px!important;color:var(--f5-ink)!important;margin-bottom:9px}.f5-page h3{font-size:19px!important;color:var(--f5-ink)}.f5-page .fremio-section-kicker{color:var(--f5-teal)!important;font-size:11px;font-weight:800;letter-spacing:.13em}.f5-page .fremio-muted,.f5-page p{color:var(--f5-muted)}.f5-page .table-responsive{border-radius:13px;overflow-x:auto;border:1px solid var(--f5-line)}.f5-page table.table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;margin:0 0 16px}.f5-page .table th,.f5-page .table thead td{background:#f4f8f8;color:#677f8e;font-size:11px;letter-spacing:.04em;font-weight:800;padding:14px!important;border-top:0!important;border-bottom:1px solid var(--f5-line)!important}.f5-page .table td{padding:13px 14px!important;border-top:0!important;border-bottom:1px solid #edf1f3!important;vertical-align:middle;font-size:13px;color:#3f5365}.f5-page .table tr:hover td{background:#f9fcfb}.f5-page .table tr:last-child td{border-bottom:0!important}.f5-page .btn,.f5-page button:not(.close):not(.navbar-toggler){font-size:13px;font-weight:700;border-radius:11px!important;box-shadow:none;transition:transform .15s,background .15s}.f5-page .btn:hover{transform:translateY(-1px)}.f5-page .btn-success,.f5-page .btn-primary,.f5-page .btn-info{background:var(--f5-teal)!important;border-color:var(--f5-teal)!important;color:#fff!important}.f5-page .btn-success:hover,.f5-page .btn-primary:hover{background:var(--f5-dark)!important}.f5-page .btn-light,.f5-page .btn-secondary{background:#f0f6f4!important;color:var(--f5-ink)!important;border:1px solid #e2ece9!important}.f5-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.f5-page select,.f5-page textarea,.modal input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.modal select,.modal textarea{border:1px solid #dae5e5!important;border-radius:11px!important;min-height:43px;padding:10px 13px;font-size:13px;background:#fff;color:var(--f5-ink)}.f5-page input:focus,.f5-page select:focus,.modal input:focus{border-color:var(--f5-teal)!important;box-shadow:0 0 0 3px #0d8c811a!important;outline:none}.f5-page input[type=checkbox]{accent-color:var(--f5-teal)}.f5-page .card,.f5-page .fremio-statline,.f5-page .fremio-attendance-notice{border:1px solid var(--f5-line)!important;border-radius:15px!important;background:#fff;box-shadow:none!important}.f5-page .fremio-attendance-tools{background:#f7fbf9!important;border:1px solid #e4efeb!important;border-radius:15px!important;padding:16px!important}.f5-page .fremio-attendance{padding:0!important}.f5-page #SelectTeamId{width:100%;min-height:52px;font-weight:700;background:#fafffd}.f5-page .fremio-attendance-notice{padding:22px!important;background:#f9fcfb!important}.f5-page .fremio-filter-buttons button.is-active{background:var(--f5-teal)!important;color:#fff!important}.f5-page #TeamCheckDay{margin-top:12px}.modal-content{border-radius:20px!important;border:1px solid var(--f5-line)!important;box-shadow:0 24px 80px #12253d25}.modal-header,.modal-footer{border-color:var(--f5-line)}.modal .btn-success,.modal .btn-primary{background:var(--f5-teal)!important;border-color:var(--f5-teal)!important}.modal .modal-title{font:800 23px Manrope,sans-serif!important;color:var(--f5-ink)}
/* Public website – structure mirrors the user-supplied demo */
body.fremio-public{background:#fff!important}.f5-public-container{max-width:1160px;width:calc(100% - 48px);margin:auto}.f5-public-hero{background:linear-gradient(128deg,#f5fbf9 0%,#eaf5f1 60%,#e8f1f4 100%);overflow:hidden}.f5-public-header{height:82px;display:flex;align-items:center;justify-content:space-between}.f5-public-header nav{display:flex;gap:34px;align-items:center;font-size:14px;color:#4a5b6d}.f5-public-header nav>a:not(.f5-public-login-btn):hover{color:var(--f5-teal)}.f5-public-login-btn,.f5-primary{display:inline-flex;gap:12px;align-items:center;justify-content:center;background:var(--f5-teal);border:0;color:white!important;border-radius:13px;padding:14px 20px;font-size:14px;font-weight:800;transition:.2s}.f5-primary:hover,.f5-public-login-btn:hover{color:#fff;background:var(--f5-dark);transform:translateY(-2px)}.f5-public-grid{min-height:570px;display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;padding:55px 0 84px}.f5-badge{display:inline-block;border-radius:30px;background:#dcefeb;color:#137b73;padding:8px 13px;font-size:11px;letter-spacing:.07em;font-weight:800}.f5-public-copy h1{font-size:clamp(42px,5vw,65px)!important;line-height:1.12!important;letter-spacing:-.068em!important;color:var(--f5-ink);margin:24px 0!important}.f5-public-copy h1 em{font-style:normal;color:var(--f5-teal)}.f5-public-copy>p{font-size:17px;line-height:1.75;color:#53687a;max-width:490px}.f5-public-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.f5-secondary{display:inline-flex;align-items:center;border-radius:13px;background:#fff;border:1px solid #d9e3e6;padding:14px 20px;font-size:14px;font-weight:800;color:var(--f5-ink)}.f5-checks{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#5b6f7e;font-size:12px}.f5-checks i{color:var(--f5-teal);margin-right:6px}.f5-preview-wrap{position:relative}.f5-preview{background:#fff;border:1px solid #e0ece8;border-radius:21px;box-shadow:0 25px 85px #10314125;padding:18px;transform:rotate(-2deg)}.f5-preview-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid #edf1f3;font-size:15px}.f5-preview-head strong{display:flex;align-items:center;gap:7px}.f5-preview-head .f5-logo-mark{height:26px;width:26px;border-radius:8px;font-size:12px}.f5-demo-pill{background:#e5f6ec;color:#21805c;font-weight:800;font-size:11px;padding:7px 10px;border-radius:30px}.f5-preview-body{display:grid;grid-template-columns:105px 1fr;gap:18px;padding-top:19px}.f5-preview-side{background:#f6faf9;border-radius:12px;padding:13px 9px;font-size:10px;color:#69808d;display:flex;flex-direction:column;gap:4px}.f5-preview-side span{padding:9px 6px}.f5-preview-side span:first-child{background:#e3f3ef;color:var(--f5-teal);border-radius:7px;font-weight:800}.f5-preview-inner h3{font-size:17px!important;margin:0!important;letter-spacing:-.03em}.f5-preview-inner p{font-size:11px;color:#94a3af;margin:3px 0 12px}.f5-preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.f5-preview-stats>div{border:1px solid #e9efef;border-radius:10px;padding:12px 8px}.f5-preview-stats b{display:block;font:800 23px Manrope,sans-serif}.f5-preview-stats small{display:block;font-size:9px;color:#8a99a3}.f5-preview-inner>strong{font-size:11px}.f5-demo-person{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef2f2;padding:9px 2px;font-size:11px}.f5-demo-person span{display:flex;gap:7px;align-items:center}.f5-demo-person i{width:26px;height:26px;border-radius:50%;background:#e9e4fa;color:#7764a9;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:10px}.f5-demo-person b{display:grid;place-items:center;background:#c7ecde;color:var(--f5-teal);width:22px;height:22px;border-radius:6px}.f5-floating{position:absolute;right:-28px;bottom:32px;background:white;box-shadow:var(--f5-shadow);padding:14px 17px;border-radius:11px;transform:rotate(3deg);font-size:12px;font-weight:800}.f5-floating b{color:var(--f5-teal)}.f5-feature-section{text-align:center;padding:93px 0}.f5-feature-section h2,.f5-how-section h2,.f5-login-section h2{font-size:clamp(30px,3.4vw,43px)!important;line-height:1.2;letter-spacing:-.05em!important;margin:16px 0}.f5-feature-section>p{color:var(--f5-muted)}.f5-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:43px;text-align:left}.f5-features article{padding:29px;border:1px solid #e5eded;border-radius:19px;transition:.2s}.f5-features article:hover{transform:translateY(-4px);box-shadow:var(--f5-shadow)}.f5-features article>i{display:grid;place-items:center;width:50px;height:50px;background:#e4f5f1;color:var(--f5-teal);font-size:19px;border-radius:14px}.f5-features h3{font-size:18px!important;margin:23px 0 10px!important}.f5-features p{font-size:14px;color:var(--f5-muted);line-height:1.7;margin:0}.f5-how-section{background:#f6f9f9;padding:88px 0}.f5-how-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.f5-how-step{display:flex;gap:18px;margin-top:25px}.f5-how-step>b{min-width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e4f4ef;color:var(--f5-teal)}.f5-how-step strong,.f5-how-step small{display:block}.f5-how-step strong{font-weight:800}.f5-how-step small{color:var(--f5-muted);font-size:13px;line-height:1.6;margin-top:7px}.f5-how-card{border:22px solid #e9f4f0;background:#fff;border-radius:30px;padding:25px;box-shadow:0 20px 60px #133a3009}.f5-how-card h3{font-size:18px!important;margin:0 0 5px!important;display:flex;justify-content:space-between;gap:6px}.f5-how-card h3 span{font:700 11px 'DM Sans',sans-serif;border-radius:40px;background:#e5f6ec;color:#21805c;padding:7px}.f5-how-card p{color:#93a3ad;font-size:12px}.f5-how-card>div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--f5-line);font-size:13px}.f5-how-card>div b{color:var(--f5-teal)}.f5-how-card>div b.off{color:#9aadb2}.f5-how-card footer{border-radius:12px;background:#e9f5f0;color:var(--f5-teal);padding:13px;margin-top:19px;font-size:12px;font-weight:800}.f5-login-section{background:var(--f5-navy);padding:95px 0}.f5-login-card{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:23px;background:#fff;box-shadow:0 26px 65px #06172827}.f5-login-intro{padding:clamp(30px,4vw,60px);background:linear-gradient(130deg,#e8f6ef,#e1f0ef)}.f5-login-intro>p{color:#5a7480;line-height:1.8}.f5-login-illustration{display:grid;place-items:center;min-height:175px;gap:12px;border:1px solid #cae5dd;border-radius:18px;margin-top:35px;color:var(--f5-teal);font-size:12px;font-weight:800}.f5-login-illustration i{font-size:51px}.f5-login-form{padding:clamp(30px,4vw,60px)}.f5-login-form h3{font-size:25px!important;margin:0}.f5-login-form>p{font-size:13px;color:var(--f5-muted);margin:9px 0 28px}.f5-login-form label{display:block;font-size:13px;font-weight:800;margin:17px 0 8px}.f5-login-form input{display:block;width:100%;height:49px;border:1px solid #d9e4e4;border-radius:11px;padding:12px 14px;outline:0;font:inherit}.f5-login-form input:focus{border-color:var(--f5-teal);box-shadow:0 0 0 3px #0d8c811b}.f5-login-form small{color:#d85656;font-size:11px}.f5-login-form .f5-primary{width:100%;margin-top:25px}.f5-forgot{display:block;text-align:center;margin-top:19px;color:var(--f5-teal);font-size:13px;font-weight:700}.f5-public-footer{padding:35px 0;background:#fff}.f5-public-footer>.f5-public-container{display:flex;align-items:center;justify-content:space-between;gap:20px}.f5-public-footer .f5-logo{font-size:19px!important}.f5-public-footer .f5-logo-mark{height:28px;width:28px;border-radius:9px;font-size:12px}.f5-public-footer small{color:#92a2ac}
@media(max-width:1000px){.f5-layout{grid-template-columns:220px minmax(0,1fr)}.f5-sidebar{padding:22px 12px}.f5-workspace{margin-top:24px}.f5-content{padding:25px 23px}.f5-public-grid,.f5-how-grid{gap:28px}.f5-floating{right:-5px}}
@media(max-width:760px){.f5-layout{display:block}.f5-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-105%);width:270px;box-shadow:10px 0 35px #12253d18;transition:transform .2s ease}.f5-layout.menu-open .f5-sidebar{transform:translateX(0)}.f5-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#10243b78;z-index:1030}.f5-menu-button{display:grid;place-items:center}.f5-topbar{padding:0 20px;height:68px}.f5-today{display:none}.f5-content{padding:24px 17px}.f5-title-icon{width:44px;height:44px}.f5-panel{padding:17px;border-radius:17px}.f5-public-grid,.f5-how-grid,.f5-login-card{grid-template-columns:1fr}.f5-public-grid{padding:40px 0 70px}.f5-preview-wrap{max-width:550px;width:100%;margin:auto}.f5-features{grid-template-columns:1fr}.f5-public-header nav>a:not(.f5-public-login-btn){display:none}.f5-feature-section,.f5-how-section,.f5-login-section{padding:62px 0}.f5-login-illustration{min-height:95px;display:flex;padding:20px}.f5-login-illustration i{font-size:30px}}
@media(max-width:440px){.f5-public-container{width:calc(100% - 34px)}.f5-public-header{height:70px}.f5-public-copy h1{font-size:41px!important}.f5-preview{transform:none;padding:12px}.f5-preview-body{grid-template-columns:77px minmax(0,1fr);gap:8px}.f5-preview-side{font-size:9px;padding:6px}.f5-preview-side span{padding:7px 3px}.f5-preview-stats{gap:4px}.f5-preview-stats>div{padding:9px 5px}.f5-preview-stats b{font-size:18px}.f5-preview-stats small{font-size:8px}.f5-floating{display:none}.f5-public-footer>.f5-public-container{flex-direction:column}.f5-title-row h1{font-size:27px!important}.f5-crumb{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Preserved interactive attendance filters and management search */
.fm-is-hidden{display:none!important}.fm-updated{animation:f5-flash .85s ease}@keyframes f5-flash{0%{background:#e6f7ef}100%{background:transparent}}.fremio-v3-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0}.fremio-v3-search-wrap{position:relative;flex:1;max-width:340px}.fremio-v3-search-wrap .fas{position:absolute;top:50%;transform:translateY(-50%);left:13px;color:#80959f;pointer-events:none}.fremio-v3-search-wrap input{padding-left:38px!important;width:100%;height:44px}.fremio-v3-count{color:#83949e;font-size:12px}.fremio-v3-empty:not([hidden]){padding:23px;background:#f6faf9;border:1px dashed #c9e1da;border-radius:12px;text-align:center;color:var(--f5-muted);margin-bottom:20px}
