/* Fremio V14. Component-focused styles; the working V9 AJAX endpoints remain intact. */
.fremio-v10,.fremio-v10-public{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.fv14-layout{display:grid;gap:18px;max-width:1180px;margin:auto}
.fv14-card{background:#fff;border:1px solid #e2edeb;border-radius:21px;padding:clamp(18px,3vw,30px);box-shadow:0 12px 40px rgba(17,43,67,.035);margin-bottom:18px;min-width:0}
.fv14-card-header{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.fv14-card h2{margin:0 0 5px;font-size:clamp(20px,2.8vw,26px);font-weight:800;letter-spacing:-.65px;color:#12253d}
.fv14-card h3{font-size:19px;letter-spacing:-.45px;font-weight:750;color:#12253d;margin:0 0 15px}
.fv14-card p{color:#667f8d;line-height:1.6}
.fv14-card-header p{font-size:14px;margin:0}
.fv14-icon{display:grid;place-items:center;min-width:50px;height:50px;border-radius:15px;color:#0d8c81;background:#e7f7f1;font-size:21px}
.fv14-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:end;margin:20px 0}
.fv14-grid>label,.fv14-birthday-filter label{display:grid;gap:8px;font-size:13px;font-weight:700;color:#244459;margin:0}
.fv14-grid .form-control{min-height:46px;background:#fff;border:1px solid #d9e8e6;border-radius:12px;max-width:100%;color:#1a354a}
.fv14-grid .form-control:focus{border-color:#0d8c81;box-shadow:0 0 0 4px #0d8c811c}
.fv14-grid button,.fv14-actions button,.fv14-actions a{min-height:44px;border-radius:11px;font-weight:700}
.fv14-actions{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin:15px 0}
.fv14-muted{font-size:13px;color:#7b919c!important;margin-top:16px}
.fv14-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin-top:15px}
.fv14-table-wrap .table{min-width:510px;white-space:normal}
.fv14-table-wrap th{font-size:12px;letter-spacing:.02em;color:#65758b;border-top:0;border-bottom:1px solid #e1eaea}
.fv14-table-wrap td{font-size:13px;color:#1d384d;vertical-align:middle}
.fv14-progress{height:7px;background:#edf3f2;border-radius:99px;overflow:hidden;min-width:75px;margin-top:7px}
.fv14-progress>span{display:block;height:100%;border-radius:99px;background:#0d8c81}
.fv14-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:19px 0}
.fv14-tiles>div{padding:15px;border:1px solid #e3efec;border-radius:14px;background:#f8fcfa}
.fv14-tiles span{display:block;color:#728792;font-size:12px;margin-bottom:8px}
.fv14-tiles strong{display:block;font-size:14px;color:#15384b;overflow-wrap:anywhere}
.fv14-import-next{display:flex;align-items:center;gap:13px;background:#f1faf6;padding:14px;border:1px solid #d5eee7;border-radius:14px;margin-bottom:16px;text-align:left}
.fv14-import-next input{width:20px;height:20px;flex:none;accent-color:#0d8c81}
.fv14-import-next span{display:grid;gap:4px}.fv14-import-next strong{font-size:13px;color:#193b4c}.fv14-import-next small{font-size:12px;color:#68888a}
.fv14-member-link{display:inline-flex;margin-left:8px;color:#0d8c81;font-size:11px;font-weight:700;text-decoration:none}
.fv14-birthday-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:0 0 19px}
.fv14-birthday-filter select{min-width:190px;border-radius:11px;min-height:44px}
.fv14-attendance-label{white-space:nowrap}
#fv14-history-msg,#fv14-import-message,#fv14-profile-message{padding:10px 0;font-size:13px;color:#0c7c71}
.fv14-hero-tip{display:flex;align-items:center;gap:12px;border:1px solid #cfece3;background:#f1faf6;border-radius:14px;padding:15px;margin-top:16px}
.fv14-hero-tip strong{color:#15394a}.fv14-hero-tip span{font-size:13px;color:#61817e}
@media(max-width:700px){.fv14-grid{grid-template-columns:1fr}.fv14-card{padding:17px;border-radius:16px}.fv14-tiles{grid-template-columns:1fr}.fv14-card-header{align-items:flex-start}.fv14-icon{min-width:43px;height:43px}.fv14-actions>button,.fv14-actions>a{width:100%}.fv14-birthday-filter{align-items:stretch}.fv14-birthday-filter>label,.fv14-birthday-filter>button{width:100%}.fv14-birthday-filter select{width:100%}.fv14-member-link{margin-left:0;display:flex;padding-top:5px}.fv14-table-wrap{margin:0 -3px}}
@media(prefers-reduced-motion:reduce){.fv14-progress>span{transition:none}}
