.staff-module{width:100%;min-height:82px;padding:14px 16px;text-align:left;color:#14213d;font:inherit;cursor:pointer;border-color:#dce6f3;background:linear-gradient(135deg,#fff 0%,#fbfdff 100%);box-shadow:0 5px 18px rgba(22,52,92,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.staff-module:hover{border-color:#b9ccec;box-shadow:0 8px 24px rgba(22,52,92,.09);transform:translateY(-1px)}
.staff-module:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
.staff-module:active{transform:scale(.99)}
.staff-module .child-info h2{margin-bottom:5px;font-size:16px;letter-spacing:-.1px}
.staff-module .child-info p{color:#74839b}
.staff-module .chevron{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#3565b5;background:#eef4fd;font-size:25px;line-height:1}
.module-icon{display:grid;flex:0 0 48px;width:48px;height:48px;place-items:center;border:1px solid #d8e6fa;border-radius:13px;color:#245bb2;background:linear-gradient(145deg,#f4f8ff,#e7f0fd);box-shadow:inset 0 1px 0 #fff}
.module-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.back-button{width:42px;min-height:42px;background:transparent;font-size:36px;line-height:1;padding:0}
.module-items{padding:8px 16px 28px;display:grid;gap:11px}
.module-item{padding:16px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;box-shadow:0 2px 8px #182b4b0b}
.module-item h2{margin:0 0 6px;font-size:16px}
.module-item p{margin:0;color:#64748b;font-size:13px;line-height:1.5;white-space:pre-line}
.module-item .module-meta{margin-top:7px;color:#245ac9;font-weight:650}
.module-error{margin:0 20px 24px}
.module-loading{display:flex;justify-content:center;align-items:center;gap:10px;padding:45px 20px;color:#64748b}

/* Rich mobile dashboard */
.staff-mode{background:#f2f6fc}
.staff-mode #homeView{min-height:100vh;padding-bottom:84px;background:linear-gradient(180deg,#edf4fc 0,#f7faff 62%,#fff 100%)}
.staff-mode .topbar{position:relative;z-index:2;padding-top:calc(12px + env(safe-area-inset-top));background:linear-gradient(120deg,#0b2857 0%,#124e91 58%,#087f94 125%)}
.staff-mode .topbar:after{content:"";position:absolute;right:54px;top:-44px;width:150px;height:150px;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.staff-mode #homeView>.page-head{position:relative;overflow:hidden;padding:25px 21px 51px;color:#fff;background:linear-gradient(120deg,#0b2857 0%,#124e91 58%,#087f94 125%);border-radius:0 0 28px 28px}
.staff-mode #homeView>.page-head:before,.staff-mode #homeView>.page-head:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.staff-mode #homeView>.page-head:before{right:-42px;bottom:-78px;width:190px;height:190px;background:rgba(26,211,193,.14)}
.staff-mode #homeView>.page-head:after{right:73px;bottom:-38px;width:88px;height:88px;border:18px solid rgba(255,255,255,.06)}
.staff-mode #homeView>.page-head h1{position:relative;z-index:1;font-size:28px;letter-spacing:-.5px}
.staff-mode #homeView>.page-head p{position:relative;z-index:1;color:#dcecff;font-size:14px}
.staff-summary{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);margin:-27px 16px 9px;padding:14px 8px;border:1px solid rgba(207,220,238,.9);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(21,53,93,.12);backdrop-filter:blur(12px)}
.staff-summary[hidden]{display:none}
.staff-summary article{min-width:0;padding:2px 9px;text-align:center;border-right:1px solid #e5edf7}
.staff-summary article:last-child{border-right:0}
.staff-summary strong,.staff-summary span{display:block;overflow:hidden;text-overflow:ellipsis}
.staff-summary strong{height:22px;color:#123b70;font-size:16px;white-space:nowrap}
.staff-summary article:last-child strong{color:#08a589;font-size:19px}
.staff-summary span{margin-top:4px;color:#7b899d;font-size:10px;white-space:nowrap}
.staff-mode .children{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 16px 24px}
.staff-mode .staff-module{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:11px;min-height:146px;padding:16px;overflow:hidden;align-items:start;border:0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(21,53,93,.08)}
.staff-mode .staff-module:before{content:"";position:absolute;right:-27px;top:-31px;width:84px;height:84px;border-radius:50%;background:var(--module-soft,#e8f1ff)}
.staff-mode .staff-module .module-icon{grid-column:1;grid-row:1;width:45px;height:45px;flex-basis:45px;border:0;color:var(--module-color,#2563b8);background:var(--module-soft,#e8f1ff);box-shadow:none}
.staff-mode .staff-module .child-info{grid-column:1/-1;grid-row:2;min-width:0}
.staff-mode .staff-module .child-info h2{font-size:15px;line-height:1.25}
.staff-mode .staff-module .child-info p{font-size:11px}
.staff-mode .staff-module .chevron{position:relative;z-index:1;grid-column:2;grid-row:1;width:27px;height:27px;border-radius:9px;color:var(--module-color,#2563b8);background:var(--module-soft,#e8f1ff)}
.staff-module[data-permission="announcements_manage"]{--module-color:#e34a72;--module-soft:#fff0f4}
.staff-module[data-permission="attendance_manage"]{--module-color:#08a589;--module-soft:#e6faf6}
.staff-module[data-permission="schedule_manage"]{--module-color:#7259d9;--module-soft:#f0edff}
.staff-module[data-permission="members_view"],.staff-module[data-permission="members_manage"]{--module-color:#2874d1;--module-soft:#eaf3ff}
.staff-module[data-permission="finance_view"],.staff-module[data-permission="payments_manage"],.staff-module[data-permission="finance_manage"]{--module-color:#dc8b16;--module-soft:#fff5df}
.staff-module[data-permission="users_manage"]{--module-color:#0790a8;--module-soft:#e7f8fb}
.staff-module[data-permission="settings_manage"]{--module-color:#63718a;--module-soft:#eef2f7}
.staff-module[data-permission="membership_card"]{--module-color:#0c8c79;--module-soft:#e6faf6}
.staff-module.pwa-management-module{--module-color:#5b57c7;--module-soft:#efedff}
.pwa-invite-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 14px}.pwa-invite-toolbar button,.pwa-invite-select-all{min-height:40px;padding:8px 12px;border:1px solid #cbd9ee;border-radius:10px;color:#245ac9;background:#fff;font:inherit;font-size:12px;font-weight:800}.pwa-invite-toolbar button.selected{color:#fff;background:#3767e8;border-color:#3767e8}.pwa-invite-count{padding:10px 12px;border-radius:10px;color:#516d93;background:#edf3fc;font-size:12px}.pwa-invite-select-all{display:flex;align-items:center;gap:3px;cursor:pointer}.pwa-invite-select-all input{width:18px;height:18px}.pwa-invite-toolbar .pwa-invite-send{margin-left:auto;color:#fff;background:#16806b;border-color:#16806b}.pwa-invite-list{display:grid;gap:9px}.pwa-invite-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:14px;border:1px solid #d9e4f3;border-radius:13px;background:#fff}.pwa-invite-list input{width:18px;height:18px}.pwa-invite-list strong,.pwa-invite-list small{display:block}.pwa-invite-list small{margin-top:4px;color:#71809c;font-size:11px}.pwa-invite-list mark{padding:6px 8px;border-radius:99px;font-size:10px;font-weight:800;white-space:nowrap}.pwa-invite-list mark.sent{color:#12673d;background:#e5f8ed}.pwa-invite-list mark.pending{color:#9a4d11;background:#fff0df}.pwa-invite-list button{min-height:36px;padding:7px 10px;border-radius:9px;background:#3767e8;font-size:11px;white-space:nowrap}@media(max-width:480px){.pwa-invite-toolbar .pwa-invite-send{width:100%;margin-left:0}.pwa-invite-list article{grid-template-columns:auto minmax(0,1fr)}.pwa-invite-list mark,.pwa-invite-list button{grid-column:2;justify-self:start}}
.staff-bottom-nav{position:fixed;z-index:10;left:50%;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);width:min(calc(100% - 24px),568px);padding:8px 5px;border:1px solid rgba(214,225,239,.95);border-radius:19px;background:rgba(255,255,255,.96);box-shadow:0 14px 35px rgba(13,38,74,.18);transform:translateX(-50%);backdrop-filter:blur(14px)}
.staff-bottom-nav[hidden],.staff-bottom-nav button[hidden]{display:none}
.staff-bottom-nav button{display:grid;justify-items:center;gap:3px;min-height:45px;padding:4px 2px;color:#8390a4;background:transparent;font-size:10px;font-weight:700}
.staff-bottom-nav button.active{color:#126c9c}
.staff-bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:601px){.staff-bottom-nav{bottom:28px}.staff-mode .children{padding-left:20px;padding-right:20px}}

/* Members directory */
.module-search{position:relative;display:block;margin:2px 16px 10px}
.module-search[hidden]{display:none}
.module-search svg{position:absolute;z-index:1;left:15px;top:50%;width:21px;height:21px;fill:none;stroke:#6d7d93;stroke-width:1.8;stroke-linecap:round;transform:translateY(-50%)}
.module-search input{height:52px;padding-left:47px;border:1px solid #d6e2f0;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(21,53,93,.06)}
.member-team-filter{display:flex;align-items:center;gap:10px;margin:0 16px 12px;color:#48617f;font-size:13px;font-weight:800}.member-team-filter[hidden]{display:none}.member-team-filter select{flex:1;min-width:0;height:46px;padding:0 12px;border:1px solid #d6e2f0;border-radius:12px;background:#fff;color:#172847;font:inherit;font-weight:650;box-shadow:0 4px 14px rgba(21,53,93,.05)}
.member-result{display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center;padding:17px 18px}
.member-result>h2,.member-result>p{grid-column:1}
.member-result .module-meta{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;color:#08745f;background:#e7f8f3;font-size:11px}
.member-result-actions{grid-column:2;grid-row:1/4;display:grid;gap:7px}
.member-result-actions button{min-height:38px;padding:7px 13px;border-radius:10px;font-size:12px;white-space:nowrap}
.member-view-button{background:#245dc1}
.member-edit-button{color:#245dc1;background:#eaf1ff}
.guardian-result .member-result-actions{grid-column:1/-1;grid-row:auto;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.guardian-result .member-result-actions button{flex:0 0 22px;min-height:34px;padding:2px;font-size:25px;line-height:1}
.guardian-result{grid-template-columns:minmax(0,1fr);justify-self:center;width:calc(100vw - 32px);max-width:568px;min-width:0;overflow:hidden}.guardian-result>h2,.guardian-result>p{min-width:0;overflow-wrap:anywhere}.guardian-result .module-meta{display:block;width:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}.guardian-result .member-result-actions .member-view-button{flex-basis:38px;font-size:11px;font-weight:800;letter-spacing:-.5px}
.guardian-result .member-result-actions .guardian-message-button{flex-basis:22px;font-size:25px;font-weight:700;letter-spacing:0}
.pwa-dialog{width:min(540px,calc(100% - 24px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(10,31,63,.28)}
.pwa-dialog::backdrop{background:rgba(8,24,48,.62);backdrop-filter:blur(3px)}
.pwa-dialog form{display:block;padding:0}
.pwa-dialog header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;color:#fff;background:linear-gradient(120deg,#0b2857,#116b91)}
.pwa-dialog header span{font-size:11px;opacity:.75}.pwa-dialog h2{margin:3px 0 0;font-size:21px}
.pwa-dialog .dialog-close{width:40px;min-height:40px;padding:0;border-radius:12px;background:rgba(255,255,255,.13);font-size:26px}
.member-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 20px 4px}
.member-form-grid label{display:grid;gap:6px;margin:0;font-size:12px}
.member-form-grid .wide{grid-column:1/-1}
.member-form-grid input,.member-form-grid select,.member-form-grid textarea{width:100%;min-height:45px;padding:10px 11px;border:1px solid #d6e1ef;border-radius:10px;color:#172847;background:#fff;font:14px inherit}
.member-form-grid textarea{min-height:72px;resize:vertical}
.member-form-grid :disabled,.member-form-grid [readonly]{color:#43536b;background:#f3f6fa;opacity:1}
.pwa-dialog .error{margin:10px 20px 0}.pwa-dialog>form>#pwaMemberSave{width:calc(100% - 40px);margin:10px 20px 20px}
@media(max-width:420px){.member-result{grid-template-columns:1fr}.member-result-actions{grid-column:1;grid-row:auto;display:flex;margin-top:12px}.member-result-actions button{flex:1}.member-form-grid{grid-template-columns:1fr}.member-form-grid .wide{grid-column:auto}}

/* Attendance workflow */
.attendance-tools{margin:2px 0 8px;padding:14px 16px;border:1px solid #dbe8f2;border-radius:16px;background:linear-gradient(135deg,#edfbf8,#f8fffe)}
.attendance-tools label{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;color:#176b63;font-size:13px;font-weight:750}
.attendance-tools input{width:154px;min-height:42px;padding:8px;border:1px solid #c9e5df;border-radius:10px;color:#174b48;background:#fff;font:14px inherit}
.attendance-session{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #dbe7ed;border-radius:17px;background:#fff;box-shadow:0 5px 17px rgba(16,63,76,.06);cursor:pointer}
.attendance-session:active{transform:scale(.99)}
.attendance-session-mark{display:grid;flex:0 0 43px;width:43px;height:43px;place-items:center;border-radius:13px;color:#078f78;background:#e4f8f2;font-size:21px;font-weight:800}
.attendance-session div:nth-child(2){min-width:0;flex:1}.attendance-session h2{margin:0 0 4px;font-size:16px}.attendance-session p,.attendance-session small{display:block;margin:0;color:#5f7289;font-size:13px;line-height:1.45}.attendance-session small{margin-top:3px;font-size:11px}.attendance-session>span{font-size:27px;color:#84aaaf}
.attendance-roster{display:grid;gap:9px;margin-top:5px}.attendance-member{padding:14px;border:1px solid #dfe9ee;border-radius:15px;background:#fff}.attendance-member strong{display:block;margin-bottom:11px;font-size:15px}
.attendance-statuses{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.attendance-statuses button{min-height:38px;padding:6px 3px;border-radius:9px;color:#607287;background:#f2f5f7;font-size:11px}.attendance-statuses button[data-status="present"].selected{color:#06785f;background:#dcf8ef}.attendance-statuses button[data-status="absent"].selected{color:#bc2844;background:#ffeaee}.attendance-statuses button[data-status="excused"].selected{color:#94641b;background:#fff3d9}
.attendance-save{width:100%;margin:16px 0 5px;background:linear-gradient(120deg,#078d78,#07ad8d);box-shadow:0 8px 20px rgba(6,145,120,.22)}

/* Weekly schedule */
.schedule-tools{display:grid;gap:11px;margin:2px 0 8px;padding:13px;border:1px solid #e0ddf6;border-radius:16px;background:#f8f7ff}.schedule-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.schedule-days button{min-height:36px;padding:4px 1px;border-radius:9px;color:#68708f;background:#eeeefa;font-size:10px}.schedule-days button.selected{color:#fff;background:#7057d4;box-shadow:0 4px 10px rgba(112,87,212,.24)}.schedule-tools select{width:100%;min-height:43px;padding:9px 11px;border:1px solid #d6d2f1;border-radius:10px;color:#31345e;background:#fff;font:14px inherit}
.schedule-session{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:16px;border:1px solid #e1e3f0;border-radius:16px;background:#fff;box-shadow:0 5px 17px rgba(52,40,103,.06)}.schedule-session h2{margin:0 0 5px;font-size:16px}.schedule-session strong{display:block;color:#6550c9;font-size:15px}.schedule-session p{margin:5px 0 0;color:#69778c;font-size:12px}.schedule-session button{min-height:38px;padding:7px 11px;border-radius:10px;background:#eeeaff;color:#6149c7;font-size:11px;white-space:nowrap}
.schedule-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px}.schedule-form-fields label{display:grid;gap:6px;margin:0;font-size:12px}.schedule-form-fields .wide{grid-column:1/-1}.schedule-form-fields input,.schedule-form-fields select{width:100%;min-height:46px;padding:10px;border:1px solid #d8d5ef;border-radius:10px;color:#252450;background:#fff;font:14px inherit}.schedule-dialog>form>#pwaScheduleSave{width:calc(100% - 40px);margin:10px 20px 20px;background:linear-gradient(120deg,#6b52cf,#8a69eb)}
@media(max-width:420px){.schedule-form-fields{grid-template-columns:1fr}.schedule-form-fields .wide{grid-column:auto}}

/* Announcements */
.new-announcement{width:100%;min-height:48px;margin-bottom:3px;color:#fff;background:linear-gradient(120deg,#d23f69,#ed5c83);box-shadow:0 8px 20px rgba(211,63,105,.2)}
.announcement-item{padding:17px;border:1px solid #f0dce3;border-radius:16px;background:#fff;box-shadow:0 5px 17px rgba(110,36,61,.055)}.announcement-item h2{margin:0 0 8px;font-size:16px}.announcement-item p{margin:0;white-space:pre-line;color:#56677c;font-size:13px;line-height:1.55}.announcement-item small{display:block;margin-top:11px;color:#c13e63;font-size:11px;font-weight:700}
.announcement-delivery-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px}.announcement-delivery-stats span{min-width:0;padding:9px 6px;border-radius:10px;text-align:center;background:#eef3fb}.announcement-delivery-stats b{display:block;color:#172847;font-size:15px}.announcement-delivery-stats small{display:block;margin:3px 0 0;color:#60718c;font-size:9px;line-height:1.2}.announcement-delivery-stats .failed{background:#fee2e2}.announcement-delivery-stats .failed b,.announcement-delivery-stats .failed small{color:#991b1b}@media(max-width:380px){.announcement-delivery-stats{grid-template-columns:1fr}}
.announcement-form-fields{display:grid;gap:14px;padding:20px}.announcement-form-fields label{display:grid;gap:6px;margin:0;font-size:12px}.announcement-form-fields input[type="text"],.announcement-form-fields input:not([type]),.announcement-form-fields input[name="title"],.announcement-form-fields textarea{width:100%;min-height:45px;padding:10px;border:1px solid #efd6df;border-radius:10px;color:#45243a;background:#fff;font:14px inherit}.announcement-form-fields textarea{min-height:130px;resize:vertical}.announcement-form-fields .announcement-all{display:flex;align-items:center;gap:9px;padding:12px;border-radius:11px;color:#a12f50;background:#fff1f5;font-size:13px;font-weight:750}.announcement-all input{width:18px;height:18px;accent-color:#d54870}
#announcementTeams{margin:0;padding:12px;border:1px solid #f0dce4;border-radius:12px}#announcementTeams legend{padding:0 5px;color:#9a3c58;font-size:12px;font-weight:700}#announcementTeams>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}#announcementTeams label{display:flex;align-items:center;gap:7px;padding:8px;border-radius:8px;color:#5a4a55;background:#fff7fa;font-size:12px}#announcementTeams input{width:16px;height:16px;accent-color:#d54870}#announcementTeams input:disabled{opacity:.45}
.announcement-dialog>form>#pwaAnnouncementSave{width:calc(100% - 40px);margin:10px 20px 20px;background:linear-gradient(120deg,#d23f69,#ed5c83)}
@media(max-width:420px){#announcementTeams>div{grid-template-columns:1fr}}

/* Finance */
.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 16px}.finance-summary article{padding:13px 8px;border:1px solid #f0dfbd;border-radius:14px;background:linear-gradient(145deg,#fffdf7,#fff7e7);text-align:center}.finance-summary span,.finance-summary strong{display:block}.finance-summary span{color:#917149;font-size:10px;font-weight:700}.finance-summary strong{margin-top:6px;color:#8a5510;font-size:14px;white-space:nowrap}.finance-summary article:last-child{border-color:#f0c98e;background:linear-gradient(145deg,#fff9ed,#fff0d3)}.finance-summary article:last-child strong{color:#bd5d08}.finance-heading{margin:2px 2px 10px}.finance-heading h2{margin:0;color:#25344d;font-size:16px}.finance-heading p{margin:4px 0 0;color:#718099;font-size:12px}.finance-member{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 16px;border:1px solid #eee3cf;border-radius:16px;background:#fff;box-shadow:0 5px 17px rgba(100,68,18,.05)}.finance-member h2{margin:0 0 5px;font-size:15px}.finance-member p,.finance-member small{display:block;margin:0;color:#718098;font-size:12px}.finance-member small{margin-top:5px;color:#9a7b54;font-size:10px}.finance-member-actions{display:grid;justify-items:end;gap:8px}.finance-member-actions strong{padding:5px 8px;border-radius:999px;font-size:11px;white-space:nowrap}.finance-member-actions .due{color:#b34a10;background:#fff0e7}.finance-member-actions .settled{color:#087a61;background:#e5f8f1}.finance-member-actions button{min-height:37px;padding:7px 12px;border-radius:10px;background:linear-gradient(120deg,#b96909,#e09420);font-size:11px;white-space:nowrap}.payment-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px}.payment-form-fields label{display:grid;gap:6px;margin:0;font-size:12px}.payment-form-fields .wide{grid-column:1/-1}.payment-form-fields input,.payment-form-fields select,.payment-form-fields textarea{width:100%;min-height:46px;padding:10px;border:1px solid #eedec2;border-radius:10px;color:#4e3514;background:#fff;font:14px inherit}.payment-form-fields [readonly]{color:#6d5b45;background:#faf6ee}.payment-form-fields textarea{min-height:75px;resize:vertical}.payment-dialog>form>#pwaPaymentSave{width:calc(100% - 40px);margin:10px 20px 20px;background:linear-gradient(120deg,#b96909,#e09420)}
@media(max-width:420px){.finance-summary strong{font-size:12px}.finance-member{grid-template-columns:1fr}.finance-member-actions{display:flex;align-items:center;justify-content:space-between}.payment-form-fields{grid-template-columns:1fr}.payment-form-fields .wide{grid-column:auto}}

/* Parent child card */
.child-profile{display:flex;align-items:center;gap:13px;margin:2px 0 15px;padding:16px;border:1px solid #d9e7f5;border-radius:17px;background:linear-gradient(135deg,#f8fbff,#eef6ff)}.child-profile-mark{display:grid;flex:0 0 46px;width:46px;height:46px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#245dc1,#5483d7);font-size:21px;font-weight:850}.child-profile h2{margin:0;font-size:17px}.child-profile p{margin:5px 0 0;color:#697b95;font-size:12px}.child-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.child-module-button{position:relative;display:grid;min-height:112px;padding:15px;text-align:left;border:1px solid #dce7f4;border-radius:16px;color:#1e3354;background:#fff;box-shadow:0 5px 17px rgba(24,57,104,.055)}.child-module-button strong,.child-module-button span{display:block}.child-module-button strong{font-size:15px}.child-module-button span{max-width:130px;margin-top:7px;color:#71829a;font-size:11px;line-height:1.4}.child-module-button b{position:absolute;right:13px;bottom:10px;color:#3770c9;font-size:21px}.child-section-back{min-height:36px;margin:0 0 13px;padding:6px 0;color:#3769b6;background:transparent;font-size:12px}.child-section-heading h2{margin:0 0 10px;font-size:18px}.child-data-card{padding:15px;border:1px solid #dde6f1;border-radius:15px;background:#fff;box-shadow:0 4px 15px rgba(23,49,89,.05)}.child-data-card strong,.child-data-card span,.child-data-card small{display:block}.child-data-card strong{font-size:15px}.child-data-card span{margin-top:5px;color:#5e7190;font-size:13px}.child-data-card small{margin-top:5px;color:#8090a4;font-size:11px}.child-data-card.attendance small{font-weight:800}.child-data-card.attendance.present small{color:#078565}.child-data-card.attendance.absent small{color:#c33b52}.child-data-card.attendance.excused small{color:#a46c11}.child-data-card.announcement p{margin:7px 0 0;color:#596a80;font-size:13px;line-height:1.5;white-space:pre-line}.child-finance{display:grid;gap:1px;overflow:hidden;border:1px solid #f0dbba;border-radius:16px;background:#fff}.child-finance div{display:flex;justify-content:space-between;gap:14px;padding:15px;border-bottom:1px solid #f5ead8}.child-finance div:last-child{border:0;background:#fff8eb}.child-finance span{color:#806946;font-size:13px}.child-finance strong{color:#8a5510;font-size:15px}
@media(max-width:380px){.child-module-grid{grid-template-columns:1fr}.child-module-button{min-height:86px}}
.child-module-grid .guardian-module-card{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:11px;min-height:146px;padding:16px;overflow:hidden;align-items:start;border:0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(21,53,93,.08)}.child-module-grid .guardian-module-card:before{content:"";position:absolute;right:-27px;top:-31px;width:84px;height:84px;border-radius:50%;background:var(--module-soft,#e8f1ff)}.child-module-grid .guardian-module-card .module-icon{grid-column:1;grid-row:1;width:45px;height:45px;flex-basis:45px;border:0;color:var(--module-color,#2563b8);background:var(--module-soft,#e8f1ff);box-shadow:none}.child-module-grid .guardian-module-card .child-info{grid-column:1/-1;grid-row:2;min-width:0}.child-module-grid .guardian-module-card .child-info h2{margin:0 0 5px;font-size:15px;line-height:1.25}.child-module-grid .guardian-module-card .child-info p{margin:0;color:#74839b;font-size:11px}.child-module-grid .guardian-module-card .chevron{position:relative;z-index:1;grid-column:2;grid-row:1;width:27px;height:27px;border-radius:9px;color:var(--module-color,#2563b8);background:var(--module-soft,#e8f1ff)}
.children>.guardian-store-card{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) 34px;gap:14px;align-items:center;min-height:108px;padding:17px 18px;overflow:hidden;border:0;border-radius:18px;text-align:left;background:linear-gradient(135deg,#fff 0%,#fffaf1 100%);box-shadow:0 9px 25px rgba(91,57,14,.1)}.children>.guardian-store-card:before{content:"";position:absolute;right:-34px;top:-43px;width:118px;height:118px;border-radius:50%;background:#fff0d5}.children>.guardian-store-card .module-icon{position:relative;z-index:1;width:50px;height:50px;border:0;border-radius:15px;color:#c96d00;background:#ffedcd;box-shadow:none}.children>.guardian-store-card .module-icon svg{width:26px;height:26px}.children>.guardian-store-card .child-info{position:relative;z-index:1}.children>.guardian-store-card .child-info h2{display:block;margin:0 0 6px;color:#172847;font-size:16px;font-weight:850}.children>.guardian-store-card .child-info p{margin:0;color:#6f7f95;font-size:12px;line-height:1.4}.children>.guardian-store-card .chevron{position:relative;z-index:1;display:grid;place-items:center;width:31px;height:31px;border-radius:10px;color:#c96d00;background:#ffedcd;font-size:24px}
.pwa-store-categories{display:flex;gap:8px;overflow-x:auto;margin:-2px 0 16px;padding:2px 1px 8px;scrollbar-width:none}.pwa-store-categories::-webkit-scrollbar{display:none}.pwa-store-categories button{flex:0 0 auto;padding:9px 13px;border:1px solid #d4e0f1;border-radius:999px;color:#355377;background:#fff;font:inherit;font-size:13px;font-weight:750;white-space:nowrap;box-shadow:0 2px 5px rgba(31,62,105,.06)}.pwa-store-categories button.active{border-color:#3767e8;color:#fff;background:#3767e8;box-shadow:0 4px 10px rgba(55,103,232,.24)}

.announcement-images{display:grid;gap:10px;margin-top:13px}.announcement-images figure{margin:0;overflow:hidden;border:1px solid #dce5f1;border-radius:12px;background:#f6f8fc}.announcement-images img{display:block;width:100%;max-height:420px;object-fit:contain;background:#eef2f8}.announcement-images figcaption{padding:7px 10px;color:#6b7c92;font-size:11px;overflow-wrap:anywhere}

.pwa-tournament-section{margin:14px 0;padding:16px;border:1px solid #dbe5f3;border-radius:14px;background:#fff}.pwa-tournament-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pwa-tournament-heading h2{margin:0;font-size:17px}.pwa-tournament-event>strong{display:block;font-size:18px;color:#182641}.pwa-tournament-event>p{color:#657894}.pwa-tournament-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #edf1f7}.pwa-tournament-row>div:first-child{display:grid;gap:4px;min-width:0}.pwa-tournament-row small{color:#657894}.pwa-tournament-actions{display:flex;gap:7px;flex-shrink:0}.pwa-tournament-actions button,.pwa-tournament-form-actions button{border:1px solid #d3def0;border-radius:9px;background:#f7f9ff;color:#244fba;padding:8px 11px;font-weight:700}.pwa-tournament-actions .delete-message{color:#b42318}.pwa-tournament-dialog{width:min(520px,calc(100% - 28px));max-height:90dvh;border:0;border-radius:16px;padding:22px;box-shadow:0 20px 70px #16294a40}.pwa-tournament-dialog::backdrop{background:#12213c88}.pwa-tournament-form{display:grid;gap:12px}.pwa-tournament-form h2{margin:0 0 4px}.pwa-tournament-form label{display:grid;gap:6px;color:#526783;font-size:14px;font-weight:700}.pwa-tournament-form input,.pwa-tournament-form select{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #ced9e9;border-radius:9px;background:#fff;color:#182641;font:inherit}.pwa-tournament-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.pwa-tournament-form-actions .member-view-button{background:#3767e8;color:white;border-color:#3767e8}.pwa-tournament-error{margin:0;color:#b42318;font-size:14px}@media(max-width:540px){.pwa-tournament-section{padding:13px}.pwa-tournament-row{align-items:flex-start;flex-direction:column}.pwa-tournament-actions{width:100%}.pwa-tournament-actions button{flex:1}.pwa-tournament-heading{align-items:flex-start}.pwa-tournament-dialog{padding:18px}}
