.availability-greeting{color:#28323c;width:min(880px,100% - 2rem);margin:2.25rem auto 0;font-size:1rem;font-weight:700}.availability-greeting+.availability-page{margin-top:1rem}.availability-page{width:min(880px,100% - 2rem);margin:2.25rem auto 4rem}.availability-intro{justify-content:space-between;align-items:center;margin-bottom:1.1rem;display:flex}.availability-intro h1{letter-spacing:-.04em;margin:0;font-size:1.6rem}.availability-intro p{margin:.15rem 0 0;font-size:.82rem}.all-weekend{color:#2375bb;box-shadow:none;background:#e4f3ff;border:0;border-radius:20px}.weekend-row{margin:0 0 1.15rem}.weekend-label{color:#718196;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .45rem;font-size:.72rem;font-weight:800}.day-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.day-sheet{text-align:center;background:#fff;border:1px solid #e2eaf1;border-radius:15px 15px 20px 20px;min-height:215px;padding:.8rem .55rem .65rem;position:relative;box-shadow:0 3px #dce7f0,0 8px 18px #2c55700c}.day-sheet:before{content:"";background:#cbd7e2;border-radius:4px;width:28px;height:4px;position:absolute;top:.55rem;left:calc(50% - 14px)}.day-month{color:#718196;margin-top:.55rem;font-size:.72rem;font-weight:650;display:block}.day-name{letter-spacing:.06em;margin-top:.3rem;font-size:.76rem;display:block}.day-number{letter-spacing:-.08em;font-size:1.9rem;line-height:1.9rem;display:block}.presence-toggle{width:52px;height:52px;min-height:52px;box-shadow:none;background:0 0;border:0;border-radius:50%;margin:.3rem auto;padding:0}.presence-toggle:hover{box-shadow:none;background:0 0;border:0}.presence{border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.35rem;transition:transform .16s,background .16s;display:grid}.presence-toggle:active .presence{transform:scale(.88)}.presence.idle{color:#8491a0;border:2px dashed #b7c2cf;font-weight:600}.presence.selected{background:#dff0ff;animation:.3s cubic-bezier(.2,1.4,.4,1) presence-pop}@keyframes presence-pop{0%{opacity:0;transform:scale(.25)}to{opacity:1;transform:scale(1)}}.attendee{color:#627287;justify-content:center;align-items:center;gap:.35rem;font-size:.73rem;display:flex}.attendance-ring{background:conic-gradient(#75aee0 0deg 180deg,#e8eef3 180deg);border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.attendance-ring i{color:#445d76;background:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.62rem;font-style:normal;display:grid}.attendance-ring.ready,.attendance-ring.ready i{color:#fff;background:#50ad77}.day-role-badges{flex-wrap:wrap;justify-content:center;gap:.2rem;margin-top:.25rem;display:flex}.day-role-badges span{color:#526477;border:1px solid #dbe2e9;border-radius:8px;padding:.12rem .3rem;font-size:.57rem;font-weight:700}.friend-stack{color:#65778b;width:100%;min-height:1.35rem;box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;gap:.25rem;margin-top:.2rem;padding:0;font-size:.61rem;display:flex}.friend-stack>span{display:flex}.friend-stack i{color:#29608e;background:#cbe8fb;border:1.5px solid #fff;border-radius:50%;place-items:center;width:17px;height:17px;margin-right:-5px;font-size:.53rem;font-style:normal;display:grid;overflow:hidden}.friend-stack img{object-fit:cover;width:100%;height:100%}.critical{color:#6e4806;background:#f7b849;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.78rem;font-weight:900;display:grid;position:absolute;bottom:.45rem;right:.5rem}.cancelled-day{color:#a15b4f;background:#fff8f5e8;border-radius:10px;place-items:center;font-size:1.55rem;font-weight:700;display:grid;position:absolute;inset:4.5rem .5rem .55rem}.cancelled-day small{font-size:.68rem;display:block}.day-manage{color:#9b6c38;min-height:1.2rem;box-shadow:none;background:0 0;border:0;padding:0;font-size:.55rem;position:absolute;bottom:.35rem;left:50%;transform:translate(-50%)}.groups{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.2rem}.groups h2{font-size:1rem}.groups form{gap:.5rem;margin:.7rem 0;display:flex}.groups form input{flex:1}.group-line{color:#4d5f72;border-bottom:1px solid #edf1f4;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.82rem;display:flex}.group-line button{min-height:1.7rem;font-size:.7rem}@media (width<=540px){.availability-greeting{width:min(100% - 1rem,880px);margin-top:1.25rem;font-size:.95rem}.availability-page{width:min(100% - 1rem,880px);margin:1.25rem auto 3rem}.availability-greeting+.availability-page{margin-top:.75rem}.day-grid{gap:.35rem}.day-sheet{min-height:205px;padding-inline:.2rem}.day-number{font-size:1.65rem}.friend-stack{font-size:.53rem}.all-weekend{padding:.45rem .55rem;font-size:.7rem}.day-role-badges span{font-size:.5rem}}.weekend-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.45rem;display:flex}.weekend-heading .weekend-label{margin:0}.weekend-heading .all-weekend{display:none}.future-weekends{justify-content:center;margin:1.2rem 0 1.8rem;display:flex}.future-weekends button{color:#3778ad;box-shadow:none;background:#edf5fc;border:0;border-radius:18px;font-size:.76rem}.weekend-row.next-weekend .day-sheet{border-color:#efc66a;box-shadow:0 3px #f5d68e,0 10px 21px #78541416}.weekend-row:not(.next-weekend){opacity:.86}.day-sheet .day-manage{color:#db851d;opacity:1;background:#fff4e6;border-radius:50%;width:25px;height:25px;min-height:25px;font-size:15px;transition:opacity .15s,transform .15s;inset:.45rem .45rem auto auto;transform:none}.day-sheet .day-manage:hover{color:#b96100;background:#ffe6c4;transform:scale(1.08)}@media (hover:hover) and (pointer:fine){.day-sheet .day-manage{opacity:0}.day-sheet:hover .day-manage,.day-sheet:focus-within .day-manage{opacity:1}}.cancellation-dialog{border-radius:12px;width:min(410px,100%);position:relative}.dialog-close{color:#788695;width:1.7rem;height:1.7rem;min-height:1.7rem;box-shadow:none;background:0 0;border:0;padding:0;font-size:1.2rem;position:absolute;top:.65rem;right:.65rem}.cancellation-heading{grid-template-columns:34px 1fr;align-items:center;gap:.7rem;display:grid}.cancellation-title{gap:0;display:grid}.cancellation-icon{color:#d77d14;background:#fff0db;border-radius:50%;place-items:center;width:34px;height:34px;font-size:23px;display:grid}.cancellation-dialog h2{margin:0;line-height:1.2}.cancellation-date{color:#6b7280;font-size:.82rem;line-height:1.2;display:block}.notify-option{grid-template-columns:auto 1fr;align-items:center;gap:.55rem;font-weight:500;display:flex}.notify-option input{accent-color:#db851d;width:1rem;height:1rem}.cancellation-dialog .danger-action{background:#d77d14;border-color:#d77d14}.cancellation-dialog .danger-action:hover{background:#b9660a;border-color:#b9660a}@media (width<=700px){.service-topbar{padding-inline:.65rem}.service-topbar .brand{font-size:.74rem}.service-topbar .account-trigger{padding-inline:.3rem}.service-topbar .account-trigger>span:not(.avatar):not(.chevron){display:none}}.day-number{letter-spacing:.04em}.day-role-badges{justify-content:flex-start;max-width:calc(100% - 2.1rem);margin:0;position:absolute;bottom:.46rem;left:.5rem}.day-role-badges span{border-color:var(--role-color,#d7dce1);background:color-mix(in srgb,var(--role-color,#f7f8fa) 12%,white);height:1.05rem;color:var(--role-color,#596570);border-radius:6px;align-items:center;padding:0 .26rem;font-size:.56rem;font-weight:600;line-height:1;display:inline-flex}.day-sheet.attending,.weekend-row.next-weekend .day-sheet.attending{background:#ddf4e3c7;border-color:#75bc88;box-shadow:0 3px #9bd4aa,0 8px 18px #2c557018}.day-sheet.attending .presence.selected{background:#fff}.flying-plane{z-index:4;pointer-events:none;color:#43576a;white-space:nowrap;align-items:center;gap:.2rem;font-size:.72rem;font-weight:700;animation:1.3s ease-in both plane-fly;display:inline-flex;position:absolute;top:45%}.flying-plane.from-left{left:-3.5rem}.flying-plane.from-right{animation-name:plane-fly-reverse;right:-3.5rem}@keyframes plane-fly{0%{opacity:0;transform:translate(0)translateY(8px)rotate(-8deg)}15%{opacity:1}to{opacity:0;transform:translate(12rem)translateY(-20px)rotate(-8deg)}}@keyframes plane-fly-reverse{0%{opacity:0;transform:translate(0)translateY(8px)scaleX(-1)}15%{opacity:1}to{opacity:0;transform:translate(-12rem)translateY(-20px)scaleX(-1)}}.flight-crew{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.availability-page{z-index:1;position:relative}.ambient-flight{color:#6f8092;opacity:0;align-items:center;gap:.25rem;font-size:.68rem;font-weight:700;animation:20s linear both ambient-bottom-left;display:flex;position:absolute;bottom:-2rem;left:-7rem}.ambient-flight i{font-size:1.05rem;font-style:normal;display:inline-block;transform:rotate(0)}.ambient-flight.left{animation-name:ambient-bottom-right;bottom:-2rem;left:auto;right:-7rem}.ambient-flight.left i{transform:scaleX(-1)rotate(0)}@keyframes ambient-bottom-left{0%{opacity:0;transform:translate(0)}8%,98%{opacity:.55}to{opacity:0;transform:translate(calc(100vw + 14rem),calc(-100vh - 4rem))}}@keyframes ambient-bottom-right{0%{opacity:0;transform:translate(0)}8%,98%{opacity:.55}to{opacity:0;transform:translate(calc(-100vw - 14rem),calc(-100vh - 4rem))}}.day-sheet{background:#ffffffd1}@media (width<=700px){.availability-page{width:calc(100% - 2rem)}}.groups form{gap:.35rem}.groups form input{height:1.8rem;padding:0 .48rem;font-size:.78rem}.groups form button{min-height:1.8rem;padding:.3rem .55rem;font-size:.72rem}.group-requests{margin-top:1rem}.group-requests h2{font-size:.9rem}.group-line>div{gap:.3rem;display:flex}.group-line>div button{min-height:1.55rem;padding:.25rem .45rem;font-size:.67rem}.groups-heading{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.groups-heading h2{margin:0}.groups-heading button{min-height:1.7rem;padding:.25rem .5rem;font-size:.7rem}.group-card{background:#fff;border:1px solid #dfe7ef;border-radius:9px;justify-content:space-between;align-items:center;gap:.75rem;margin:.45rem 0;padding:.65rem .7rem;display:flex}.group-card strong,.group-card small{display:block}.group-card small{color:#758397;margin-top:.15rem;font-size:.72rem}.group-card button{min-height:1.65rem;padding:.25rem .5rem;font-size:.7rem}.group-actions{align-items:center;gap:.3rem;display:flex}.group-delete{width:1.65rem;color:#ca4545!important;min-height:1.65rem!important;box-shadow:none!important;background:#fff1f1!important;border:0!important;padding:0!important;font-size:.78rem!important}.group-delete:hover{color:#a82f2f!important;background:#ffe0e0!important}.group-notify{color:#65758a;grid-template-columns:auto 1fr;align-items:center;gap:.3rem;font-size:.66rem;font-weight:500;display:flex}.group-notify input{accent-color:#2490ef;width:.85rem;height:.85rem}.group-card details.group-actions{display:block;position:relative}.group-actions summary{cursor:pointer;color:#67788a;letter-spacing:.04em;border-radius:5px;place-items:center;width:1.35rem;height:1.35rem;font-size:.72rem;list-style:none;display:grid}.group-actions summary::-webkit-details-marker{display:none}.group-actions summary:hover{background:#eef4f8}.group-action-menu{z-index:8;background:#fff;border:1px solid #dce4eb;border-radius:8px;gap:.15rem;min-width:12.5rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .2rem);right:0;box-shadow:0 8px 18px #1f29371c}.group-action-menu button{box-shadow:none;background:0 0;border:0;justify-content:flex-start;color:#415264!important;min-height:1.75rem!important;font-size:.72rem!important}.group-action-menu button:hover{box-shadow:none;color:#415264!important;background:#f3f6f8!important}.group-action-menu .danger-action,.group-action-menu .danger-action:hover{color:#c84343!important}.group-action-menu .group-notify{padding:.35rem}.group-dialog{border-radius:12px;width:min(360px,100% - 2rem);padding:1.5rem}.groups form.group-dialog{grid-template-columns:1fr;gap:1rem;margin:0;display:grid}.group-dialog h2{margin:0;font-size:1.1rem}.group-dialog label{gap:.4rem;display:grid}.group-dialog input{width:100%;height:2.1rem;font-size:.88rem}.group-dialog .modal-actions{justify-content:flex-end;gap:.5rem;margin:0;display:flex}.group-dialog .modal-actions button{min-height:2rem;padding:.5rem .75rem;font-size:.84rem}.group-delete-dialog{border-radius:12px;width:min(360px,100%)}.group-delete-heading{grid-template-columns:34px 1fr;align-items:center;gap:.7rem;display:grid}.group-delete-dialog h2,.group-delete-dialog p{margin:0}.member-request-sent-dialog{border-radius:12px;width:min(360px,100%)}.member-request-sent-dialog h2{margin:0}.member-request-sent-dialog p{margin:.35rem 0 1rem}.member-request-sent-dialog .modal-actions{margin-top:0}.member-dialog{border-radius:12px;width:min(360px,100% - 2rem)}.groups form.member-dialog{grid-template-columns:1fr;gap:1rem;margin:0;display:grid}.member-dialog-heading{gap:.25rem;display:grid}.member-dialog-heading h2{margin:0;font-size:1.1rem}.member-dialog-heading p{color:#758397;margin:0;font-size:.88rem}.member-dialog label{gap:.4rem;margin:0;display:grid}.member-dialog input{width:100%;height:2.1rem;font-size:.88rem}.member-dialog .modal-actions{justify-content:flex-end;gap:.5rem;margin:0;display:flex}.member-dialog .modal-actions button{min-height:2rem;padding:.5rem .75rem;font-size:.84rem}.group-requests{margin:.1rem 0 .55rem}.group-requests .group-line{border-bottom:0;padding:.25rem 0}.availability-page{padding-bottom:100px}.invite-count-column,.invite-count-cell{text-align:center;width:5.5rem;min-width:5.5rem}.invite-count-cell{color:#536270;font-variant-numeric:tabular-nums}@media (width<=700px){.admin-page .table-wrap{overflow:visible}.admin-page .table-wrap table,.admin-page .table-wrap tbody,.admin-page .table-wrap tr,.admin-page .table-wrap td{width:100%;display:block}.admin-page .table-wrap thead{display:none}.admin-page .table-wrap tr{background:#fff;border:1px solid #e4e7eb;border-radius:8px;margin:0 0 .75rem;padding:.25rem 0;box-shadow:0 1px 2px #1f29370d}.admin-page .table-wrap td{text-align:left;border:0;min-width:0;padding:.55rem .75rem}.admin-page .table-wrap td:first-child{padding-top:.75rem}.admin-page .table-wrap td:first-child strong{font-size:.9rem}.admin-page .table-wrap .invite-count-cell{color:#536270;justify-content:space-between;align-items:center;width:auto;font-size:.8rem;display:flex}.admin-page .table-wrap .invite-count-cell:before{color:#78838e;content:"Invited";letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:700}.admin-page .table-wrap .permission-cell{padding-block:.35rem}.admin-page .table-wrap .permission-cell:before{display:none}.admin-page .table-wrap .permission-cell input{vertical-align:middle;width:1rem;height:1rem;margin:0 .5rem 0 0;display:inline-block}.admin-page .table-wrap .permission-cell:after{color:#46515d;content:attr(data-permission);vertical-align:middle;font-size:.8rem;font-weight:600}.admin-page .table-wrap .actions-cell{text-align:right;padding-top:.35rem}.admin-page .table-wrap .role-list{gap:.4rem}.admin-page .table-wrap .add-role-trigger,.admin-page .table-wrap .role-remove{opacity:1}.admin-page .table-wrap .add-role-trigger{display:inline-flex}.admin-page .table-wrap .role-remove{width:.7rem;margin-left:.15rem}.admin-page .table-wrap .empty-cell{text-align:center;padding:2rem}.admin-page .table-wrap tr:has(.empty-cell){box-shadow:none;border:0}.admin-page .table-wrap tr:hover td{background:0 0}html[lang=de] .admin-page .table-wrap .invite-count-cell:before{content:"Eingeladen"}}:root{color:#1f272e;font-synthesis:none;--ink:#1f272e;--muted:#6b7280;--line:#e4e7eb;--surface:#fff;--soft:#f7f8fa;--blue:#2490ef;--blue-hover:#1478d4;--blue-soft:#eaf5ff;--focus:#9ed1ff;--danger:#d83a3a;background:#f7f8fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--soft);min-width:320px;min-height:100vh;margin:0}a{color:#1877c9;font-weight:500;text-decoration:none}a:hover{text-decoration:underline}button,.button{border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;min-height:2rem;font:inherit;border-radius:6px;justify-content:center;align-items:center;padding:.5rem .75rem;font-size:.84rem;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex;box-shadow:0 1px 2px #1f29370d}button:hover,.button:hover{background:var(--blue-hover);border-color:var(--blue-hover);color:#fff;text-decoration:none}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}.secondary-button{color:#3d4752;box-shadow:none;background:#fff;border-color:#d4d8dd}.secondary-button:hover{color:#252d36;box-shadow:none;background:#f7f8fa;border-color:#bec5cc}.card{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:min(400px,100% - 2rem);margin:10vh auto;padding:1.75rem;box-shadow:0 1px 3px #1f293714}.card:before{display:none}.card h1{color:var(--ink);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.5rem}.card>p:first-of-type{margin-top:0}h1,h2{color:var(--ink)}p{color:var(--muted);font-size:.9rem;line-height:1.55}.small{font-size:.82rem}.error{color:var(--danger);margin:.75rem 0;font-size:.84rem;font-weight:500}.success{color:#198754;margin:.75rem 0;font-size:.84rem;font-weight:500}form{gap:1rem;margin:1.5rem 0;display:grid}label{color:#46515d;gap:.4rem;font-size:.82rem;font-weight:600;display:grid}input{width:100%;height:2.25rem;color:var(--ink);font:inherit;background:#fff;border:1px solid #d5d9de;border-radius:6px;padding:0 .7rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#9aa2ab}input:hover{border-color:#b7c0c9}input:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #2490ef1f}.dashboard{width:min(1120px,100% - 3rem);margin:3rem auto}.dashboard header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:0 0 1.25rem;display:flex}.dashboard h1{letter-spacing:-.025em;margin:.25rem 0 0;font-size:1.625rem}.eyebrow{color:#79838e;letter-spacing:.08em;font-size:.68rem;font-weight:700}.header-actions{align-items:center;gap:.5rem;display:flex}.dashboard article{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:1.25rem;padding:1.5rem}.dashboard article h2{margin:0 0 .5rem;font-size:1.1rem}.dashboard article p{max-width:42rem;margin:0}.loading{color:var(--muted);text-align:center;margin-top:20vh}.admin-page{width:min(1180px,100% - 3rem);margin:2.5rem auto 4rem}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.25rem;display:flex}.admin-header h1{letter-spacing:-.02em;margin:.4rem 0 .2rem;font-size:1.5rem}.admin-header p{margin:0}.back-link{color:#68737e;font-size:.82rem}.search-bar{grid-template-columns:1fr auto;gap:.5rem;max-width:440px;margin:1.25rem 0;display:flex}.search-bar button{white-space:nowrap}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.84rem}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf0f2;padding:.75rem 1rem}th{color:#68737e;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#fafbfc;height:2.5rem;font-size:.68rem;font-weight:700}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfe}td strong{color:#26323d;font-size:.85rem;font-weight:600;display:block}td small{color:#88919a;margin-top:.15rem;font-size:.77rem;display:block}.role-list{flex-wrap:wrap;gap:.35rem;display:flex}.role-badge{color:#596570;height:1.4rem;font-size:. सातrem;font-size:. सातrem;background:#f7f8fa;border:1px solid #d7dce1;border-radius:4px;align-items:center;padding:0 .4rem;font-weight:600;display:inline-flex}.role-admin{color:#7651a9;background:#f4efff;border-color:#dfd2ff}.role-member{color:#39739d;background:#f1f8fe;border-color:#d6e8f8}.permission-column,.permission-cell{text-align:center;width:6.25rem;min-width:6.25rem}.permission-column{padding-inline:.5rem}.permission-cell input{width:1rem;height:1rem;accent-color:var(--blue);cursor:pointer;margin:auto;display:block}.actions-column,.actions-cell{text-align:center;width:3.5rem;min-width:3.5rem}.actions-column{padding:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.empty-cell{text-align:center;color:#85909b;padding:2rem}.pagination{color:#6d7781;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;font-size:.82rem;display:flex}.pagination div{gap:.4rem;display:flex}.pagination button{min-height:1.9rem;padding:.4rem .65rem}.action-menu{display:inline-block;position:relative}.icon-button{color:#66737f;width:1.9rem;height:1.9rem;min-height:1.9rem;box-shadow:none;letter-spacing:1px;background:0 0;border-color:#0000;padding:0;font-size:1rem}.icon-button:hover{color:#2c475e;box-shadow:none;background:#eef3f7}.menu-popover{z-index:5;background:#fff;border:1px solid #dce1e5;border-radius:7px;width:10.25rem;padding:.25rem;display:grid;position:absolute;top:calc(100% + .25rem);right:0;box-shadow:0 8px 18px #1f29371c}.menu-popover button{color:#394652;min-height:1.9rem;box-shadow:none;background:0 0;border:0;border-radius:4px;justify-content:flex-start;padding:.45rem .55rem;font-size:.8rem;font-weight:500}.menu-popover button:hover{box-shadow:none;background:#f4f6f8;transform:none}.menu-popover .danger-action{color:#c53131}.menu-popover .danger-action:hover{background:#fff2f2}.modal-backdrop{z-index:20;background:#222b3547;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(400px,100%);margin:0;padding:1.5rem;box-shadow:0 16px 32px #1f293724}.modal h2{margin:0 0 .5rem;font-size:1.1rem}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}@media (width<=700px){.card{margin:4vh auto;padding:1.5rem}.dashboard,.admin-page{width:min(100% - 2rem,1180px);margin:1.5rem auto}.dashboard header,.admin-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column;width:100%}.header-actions>*,.admin-header>button{width:100%}.search-bar{grid-template-columns:1fr}.permission-column,.permission-cell{width:5.25rem;min-width:5.25rem}}.availability-greeting{padding-left:0}.availability-greeting .availability-question{color:#718196;font-weight:500}.location-badge{color:#2375bb;vertical-align:middle;background:#e4f3ff;border:1px solid #b9dcf6;border-radius:7px;align-items:center;margin-right:.2rem;padding:.25rem .45rem;font-size:.75em;font-weight:700;line-height:1;display:inline-flex}@media (width<=540px){.availability-greeting{padding-left:.5rem}}.attendance-total{color:#526b80;background:#f8fbfd;border:1px solid #dbe4eb;border-radius:50%;justify-content:center;align-items:center;gap:.12rem;min-width:1.65rem;height:1.65rem;padding:0 .2rem;font-size:.58rem;font-weight:700;line-height:1;display:flex;position:absolute;top:.45rem;left:.45rem}.attendance-total.ready{color:#21834a;background:#edfff3;border-color:#69e69a;box-shadow:0 0 5px #55e98b,0 0 10px #55e98b80}.attendance-icon{transform:translateY(-2px)}.friend-attendance{position:relative}.day-sheet .friend-stack{width:100%;min-height:1.35rem;margin-top:.2rem;display:flex}.friend-stack>span{margin-right:.25rem}.friend-tooltip{z-index:9;text-align:left;background:#fff;border:1px solid #dce4eb;border-radius:8px;gap:.25rem;min-width:10rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .35rem);left:50%;transform:translate(-50%);box-shadow:0 8px 18px #1f29371c}.friend-tooltip>div{color:#46515d;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;display:flex}.friend-tooltip i{color:#29608e;background:#cbe8fb;border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;font-size:.58rem;font-style:normal;display:grid;overflow:hidden}.friend-tooltip img{object-fit:cover;width:100%;height:100%}.friends-coming{color:#65778b;align-items:center;font-size:.61rem;display:inline-flex}.role-badge{border-radius:8px;font-size:.72rem}button,.button,input{border-radius:8px}button,.button{font-weight:500}input,textarea,select{font-weight:400}.icon-button{color:#9aa3ad;letter-spacing:0;font-size:.6rem}.icon-button:hover{color:#68737e}.table-wrap{overflow:visible}:root{--soft:#fff;background:#fff}body{background:#fff}.table-wrap{background:0 0;border:0;border-radius:0}table{border-top:0}th{color:#78838e;background:#fff;border-bottom:1px solid #e4e7eb;font-size:.69rem}td{border-bottom-color:#e9ecef}tbody tr:hover td{background:#f7f8fa}.admin-page{width:min(1120px,100% - 3rem);margin-top:2rem}.admin-header{border-bottom:0}.search-bar input{height:2rem;padding-inline:.55rem}.admin-header p{display:none}.card{margin:3rem auto}.dashboard{margin:1.5rem auto}.admin-page{margin:1.25rem auto 3rem}.service-topbar{z-index:20;background:linear-gradient(105deg,#2188e5 0%,#2490ef 52%,#58acef 100%);border:0;justify-content:space-between;align-items:center;min-height:3.5rem;padding:0 max(1.5rem,50% - 560px);display:flex;position:sticky;top:0;box-shadow:0 3px 12px #1877c926}.brand{color:#fff;letter-spacing:.06em;align-items:center;gap:.45rem;font-size:.76rem;font-weight:700;display:inline-flex}.brand:hover{color:#fff;text-decoration:none}.brand-mark{object-fit:contain;border-radius:6px;width:1.8rem;height:1.8rem}.account-menu{position:relative}.account-trigger{color:#fff;min-height:2.25rem;box-shadow:none;background:0 0;border:0;gap:.45rem;padding:.3rem .45rem;font-size:.83rem}.account-trigger:hover{color:#fff;box-shadow:none;background:#ffffff1f}.avatar{color:#1877c9;background:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-size:.65rem;font-weight:650;display:grid}.chevron{color:#dff0ff;margin-left:.05rem;font-size:.85rem}.account-popover{z-index:10;background:#fff;border:1px solid #dfe4e8;border-radius:8px;width:12rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 24px #1f29371c}.account-popover a,.account-popover button{color:#394551;min-height:2rem;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;padding:.45rem .6rem;font-size:.82rem;font-weight:500;display:flex}.account-popover a:hover,.account-popover button:hover{box-shadow:none;color:#202830;background:#f4f6f8;text-decoration:none}.account-popover button{cursor:pointer;justify-content:flex-start;width:100%}.account-popover .active-menu-item{color:#1877c9;background:#eaf5ff}.account-popover .active-menu-item:hover{color:#146aad;background:#dcefff}.account-popover button:last-child{color:#c53a3a;background:0 0}.account-popover button:last-child:hover{color:#ab2e2e;background:#fff3f3}.role-list{align-items:center;min-height:1.4rem}.role-badge{border-color:var(--role-color,#d7dce1);background:color-mix(in srgb,var(--role-color,#f7f8fa) 12%,white);color:var(--role-color,#596570);gap:0;padding-right:.4rem}.role-badge.pending-removal{opacity:.42}.role-badge.pending-removal>span{text-decoration:line-through}.dashboard article form{max-width:500px}.dashboard article form>button{width:fit-content}@media (width<=700px){.dashboard article form{max-width:none}.dashboard article form>button{width:100%}}.avatar-upload{grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:end;gap:.7rem;display:grid;margin:1rem 0 1.25rem!important}.profile-avatar,.avatar img{color:#31709d;background:#e7f2fb;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;font-size:1rem;font-weight:600;display:grid;overflow:hidden}.profile-avatar img,.avatar img{object-fit:cover;width:100%;height:100%}.avatar-upload input[type=file]{height:auto;padding:.35rem}.avatar-upload button{margin-bottom:0}@media (width<=700px){.avatar-upload{grid-template-columns:3.5rem 1fr}.avatar-upload button{grid-column:1/-1}}.profile-page .avatar-upload{margin:0 0 1.25rem!important}.profile-page article>form{margin:0}.notification-settings{border-top:1px solid #e4e7eb;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.75rem;padding-top:1.25rem;display:flex}.notification-settings h2{color:#28323c;margin:0;font-size:.9rem}.notification-settings p{margin:.2rem 0 0;font-size:.78rem}.notification-settings .error{color:#c53131;width:100%}@media (width<=700px){.notification-settings{flex-direction:column;align-items:stretch}.notification-settings button{width:100%}}.notification-types h2{color:#28323c;margin:0;font-size:.9rem}.notification-types>div{gap:.35rem;margin-top:.65rem;display:grid}.notification-types label{color:#536270;border:1px solid #e6e9ec;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .65rem;font-size:.78rem;font-weight:500;display:flex}.notification-types label span{gap:.12rem;display:grid}.notification-types label small{color:#89939d;font-size:.68rem;font-weight:400}.notification-types input{accent-color:#2490ef;width:1rem;height:1rem;margin:0}.required-notification{background:#fafbfc}.required-notification input{opacity:.65}.notification-scheduler{border-top:1px solid #e4e7eb;margin-top:2.75rem;padding-top:1.25rem}.notification-scheduler h2{color:#28323c;margin:0;font-size:.9rem}.notification-scheduler>div>p{margin:.2rem 0 0;font-size:.78rem}.notification-scheduler form{gap:.75rem;margin:1rem 0}.notification-scheduler select,.notification-scheduler textarea{color:#1f272e;width:100%;font:inherit;background:#fff;border:1px solid #d5d9de;border-radius:8px;padding:.55rem .65rem;font-size:.84rem}.notification-scheduler select{height:2.25rem}.notification-scheduler textarea{resize:vertical}.notification-scheduler label>small{color:#89939d;margin-top:.3rem;font-size:.68rem;font-weight:400;line-height:1.35;display:block}.notification-mode,.notification-repeat{align-items:center;gap:.5rem;display:flex}.notification-mode{border:1px solid #e1e5e8;border-radius:7px;justify-content:space-between;padding:.5rem .6rem}.notification-mode span:first-child{flex:1}.notification-mode input,.notification-repeat input{width:1rem;height:1rem;margin:0}.scheduled-notifications{margin-top:1.25rem}.scheduled-notifications>section+section{border-top:1px solid #eceef0;margin-top:1rem;padding-top:1rem}.scheduled-notifications h3{color:#46515d;margin:0 0 .6rem;font-size:.82rem}.dashboard .scheduled-notifications article{box-shadow:none;border:1px solid #e6e9ec;border-radius:7px;justify-content:space-between;align-items:center;gap:.75rem;margin:.35rem 0;padding:.65rem;display:flex}.scheduled-notifications article strong,.scheduled-notifications article small{display:block}.scheduled-notifications article strong{color:#33404c;font-size:.76rem}.scheduled-notifications article small{color:#89939d;margin-top:.2rem;font-size:.68rem}.scheduled-notifications article button{flex:none;min-height:1.75rem;font-size:.7rem}@media (width<=700px){.dashboard .scheduled-notifications article{flex-direction:column;align-items:stretch}.scheduled-notifications article button{width:100%}}.install-prompt{background:#f7fbff;border:1px solid #d9e8f5;border-radius:8px;grid-template-columns:2rem minmax(0,1fr);gap:.25rem .7rem;margin-top:1.25rem;padding:1rem;display:grid}.install-prompt-icon{color:#1877c9;background:#eaf5ff;border-radius:7px;place-items:center;width:2rem;height:2rem;font-size:1.1rem;display:grid}.install-prompt h2{color:#28323c;margin:0;font-size:.9rem}.install-prompt p{margin:.15rem 0 0;font-size:.78rem}.install-dismiss{color:#74808b;grid-column:2;align-items:center;gap:.35rem;margin-top:.25rem;font-size:.72rem;font-weight:400;display:flex}.install-dismiss input{width:.85rem;height:.85rem;margin:0}.notification-onboarding{background:#f7fbff;border:1px solid #d9e8f5;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding:1rem;display:flex}.notification-onboarding h2{color:#28323c;margin:0;font-size:.9rem}.notification-onboarding p{margin:.15rem 0 0;font-size:.78rem}.notification-onboarding>div:last-child{flex:none;gap:.5rem;display:flex}@media (width<=700px){.notification-onboarding{flex-direction:column;align-items:stretch}.notification-onboarding>div:last-child{width:100%}.notification-onboarding button{flex:1}}.invite-page{width:min(640px,100% - 3rem);margin:1.25rem auto 3rem}.invite-page .page-header{border-bottom:0;padding-bottom:0}.content-page-header .back-link{display:inline-block}.content-page-header h1{color:#28323c;letter-spacing:-.02em;margin:.4rem 0 .2rem;font-size:1.5rem}.page-header p{margin:.35rem 0 0}.profile-page{width:min(500px,100% - 3rem);margin:1.25rem auto 3rem}.profile-page .content-page-header{border-bottom:0;padding:0;display:block}.invite-card,.invite-list{background:#fff;border:1px solid #e4e7eb;border-radius:8px;margin-top:1.25rem;padding:1rem}.invite-card form{align-items:end;gap:.5rem;margin:0;display:flex}.invite-card form label{flex:1}.invite-card form button{margin-bottom:0}.invite-share{gap:.5rem;margin-top:.75rem;display:flex}.invite-share input{flex:1;height:2rem}.invite-share a{white-space:nowrap}.invite-list h2{margin:0 0 .75rem;font-size:1rem}.invite-status{color:#66727d;background:#f3f5f7;border-radius:7px;padding:.2rem .4rem;font-size:.7rem;display:inline-flex}.invite-status.accepted{color:#317258;background:#e9f8f1}.invite-status.revoked,.invite-status.expired{color:#a34c4c;background:#f8eeee}.invite-actions{justify-content:flex-end;gap:.35rem;display:flex}.invite-actions button{min-height:1.8rem;padding:.3rem .45rem;font-size:.72rem}.invite-actions .danger-action{color:#c53131;box-shadow:none;background:0 0;border-color:#0000}.invite-actions .danger-action:hover{color:#ae2727;box-shadow:none;background:#fff2f2}@media (width<=700px){.invite-page,.profile-page{width:calc(100% - 2rem)}.invite-card form,.invite-share{flex-direction:column;align-items:stretch}.invite-card form button,.invite-share a{width:100%}}.invite-list{display:none}.whatsapp-invite-bar{width:min(760px,100% - 3rem);margin:1.25rem auto 0}.whatsapp-button{color:#fff;background:#25d366;border-color:#25d366;width:100%}.whatsapp-button:hover{color:#fff;background:#1fb85a;border-color:#1fb85a}@media (width<=700px){.whatsapp-invite-bar{width:calc(100% - 2rem)}}.whatsapp-icon{flex:none;width:1.2rem;height:1.2rem;margin-right:.2rem}.invite-options-intro{margin:0 0 .85rem}.invite-options{gap:.85rem;display:grid}.invite-options form{gap:.45rem;margin:0;display:grid}.invite-options form label{height:auto}.invite-options form button{width:100%}.invite-options .whatsapp-invite-bar{width:auto;margin:0}.invite-options .whatsapp-button{width:100%}.invite-divider{color:#8b959f;align-items:center;gap:.65rem;font-size:.75rem;display:flex}.invite-divider:before,.invite-divider:after{content:"";background:#e4e7eb;flex:1;height:1px}.role-teacher{color:#596b7e;background:#f3f6f9;border-color:#d8e0ea}.role-coach{color:#317258;background:#eef9f4;border-color:#bfe1d3}.role-remove{color:currentColor;width:0;min-width:0;height:1rem;min-height:1rem;box-shadow:none;opacity:0;background:0 0;border:0;border-radius:50%;padding:0;font-size:.9rem;line-height:1;transition:width .15s,margin-left .15s,opacity .15s;overflow:hidden}.role-badge:hover .role-remove,.role-remove:focus-visible{opacity:.75;width:.7rem;margin-left:.15rem}.role-remove:hover{color:currentColor;box-shadow:none;opacity:1;background:0 0}.role-picker{position:relative}.add-role-trigger{color:#a0a8b0;height:1.4rem;min-height:1.4rem;box-shadow:none;opacity:0;background:#f5f6f7;border:1px solid #d9dde2;border-radius:8px;padding:0 .4rem;font-size:.72rem;font-weight:500;transition:opacity .15s}tbody tr:hover .add-role-trigger,.add-role-trigger:focus-visible{opacity:1}.add-role-trigger:hover{color:#66717b;box-shadow:none;background:#eef1f4;border-color:#cbd2d9}.role-picker-popover{z-index:8;background:#fff;border:1px solid #dfe4e8;border-radius:8px;width:12rem;padding:.35rem;position:absolute;top:calc(100% + .3rem);left:0;box-shadow:0 10px 24px #1f29371c}.role-picker-popover input{height:1.9rem;padding-inline:.45rem;font-size:.75rem}.role-option-list{gap:.1rem;margin-top:.25rem;display:grid}.role-option-list button{color:#3d4752;min-height:1.75rem;box-shadow:none;background:0 0;border:0;border-radius:5px;justify-content:flex-start;padding:.3rem .45rem;font-size:.75rem}.role-option-list button:hover{color:#283744;box-shadow:none;background:#f1f5f8}.no-role-options{color:#8b959f;padding:.45rem;font-size:.72rem;display:block}.admin-tabs{border-bottom:1px solid #e4e7eb;gap:.15rem;margin:1rem 0 1.25rem;display:flex}.users-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.users-toolbar .search-bar{margin:0}.users-toolbar>button{flex:none}@media (width<=700px){.users-toolbar{z-index:10;background:#fff;flex-direction:column;align-items:stretch;padding:.75rem 0;position:sticky;top:3.5rem}.users-toolbar>button{width:100%}}.users-toolbar .search-bar{max-width:600px}.user-role-options{border:1px solid var(--line);border-radius:6px;gap:.5rem;margin:0;padding:.75rem;display:grid}.user-role-options legend{color:#46515d;padding:0 .25rem;font-size:.82rem;font-weight:600}.user-role-options label{align-items:center;gap:.5rem;display:flex}.user-role-options input{width:1rem;height:1rem;accent-color:var(--blue)}.admin-tabs{margin:.5rem 0 1.25rem}.admin-tabs button{color:#74808b;min-height:2.1rem;box-shadow:none;background:0 0;border:0;border-radius:0;padding:.45rem .7rem;font-size:.8rem}.admin-tabs button:hover{color:#394551;box-shadow:none;background:#f4f6f8}.admin-tabs button.active{color:#1877c9;border-bottom:2px solid #2490ef}.roles-layout{grid-template-columns:minmax(13rem,.45fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.roles-layout:has(.roles-list:only-child){grid-template-columns:1fr}.roles-list,.role-editor{background:#fff;border:1px solid #e4e7eb;border-radius:8px}.roles-list{overflow:hidden}.roles-list-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.roles-list h2,.role-editor h2{color:#28323c;margin:0;font-size:1rem}.roles-list-header button{min-height:1.8rem;padding:.3rem .5rem;font-size:.75rem}.role-list-item{color:#3d4752;width:100%;box-shadow:none;text-align:left;background:#fff;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:.55rem;padding:.65rem .5rem;display:flex}.role-list-item:hover{color:#3d4752;box-shadow:none;background:#f5f7f9}.role-list-item.selected,.role-list-item.selected:hover{color:#1877c9;background:#eaf5ff}.role-list-item strong,.role-list-item small{display:block}.role-list-item strong{font-size:.8rem;font-weight:600}.role-list-item small{color:#8b959f;margin-top:.15rem;font-size:.7rem}.role-list-item.selected small,.role-list-item.selected:hover small{color:#5e87a6}.role-color-dot{border:1px solid #d6dce2;border-radius:50%;flex:none;width:.75rem;height:.75rem}.role-editor{gap:.9rem;margin:0;padding:1rem;display:grid}.role-editor label{gap:.35rem}.color-field{grid-template-columns:2.15rem minmax(0,1fr);gap:.45rem;display:grid}.color-field input[type=color]{padding:.18rem}.role-editor fieldset{border:0;gap:.35rem;margin:0;padding:0;display:grid}.role-editor legend{color:#46515d;margin-bottom:.45rem;font-size:.82rem;font-weight:600}.permission-option{border:1px solid #e6e9ec;border-radius:6px;grid-template-columns:none;align-items:flex-start;gap:.5rem;padding:.5rem;display:flex}.permission-option input{width:1rem;height:1rem;margin:.08rem 0 0}.permission-option strong,.permission-option small{display:block}.permission-option strong{color:#3d4752;font-size:.75rem}.permission-option small{color:#89939d;margin-top:.1rem;font-size:.7rem;font-weight:400}.role-editor-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.role-editor-actions>span{flex:1}.role-editor-actions .danger-action{color:#c53131;box-shadow:none;background:0 0;border-color:#0000}.role-editor-actions .danger-action:hover{color:#ae2727;box-shadow:none;background:#fff2f2}@media (width<=700px){.roles-layout{grid-template-columns:1fr}.roles-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.roles-list-header{grid-column:1/-1}.role-list-item{min-width:0}}
