:root{color:#173034;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f8fbf4;z-index:5;background:linear-gradient(#133b40 0%,#102f34 100%);flex-direction:column;height:100vh;padding:30px 18px 22px;display:flex;position:sticky;top:0;box-shadow:12px 0 40px #0f2e3314}.brand{align-items:center;gap:12px;padding:0 8px 30px;display:flex}.brand-mark{color:#173b3f;background:#e3f28b;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:#afc5c1;margin-top:2px}nav{gap:7px;display:grid}nav button{color:#c9d8d5;text-align:left;background:0 0;border:0;border-radius:11px;padding:13px 15px;font-weight:650;transition:background .16s,color .16s,transform .16s;position:relative}nav button:hover{color:#fff;background:#ffffff12;transform:translate(2px)}nav button.active{color:#fff;background:#28565b;box-shadow:inset 3px 0 #c8df65}.local-badge{color:#b9ceca;align-items:center;gap:8px;margin-top:auto;padding:10px 12px;font-size:14px;display:flex}.local-badge span{background:#bcd94c;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #bcd94c21}main{min-width:0;padding:34px clamp(24px,4vw,58px) 58px;overflow:hidden}.topbar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.eyebrow{color:#6f7f7c;text-transform:uppercase;letter-spacing:.12em;margin:0 0 6px;font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:inherit}h1{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(28px,4vw,42px)}h2{margin-bottom:8px;font-size:21px}h3{margin-bottom:4px}.initials{color:#fff;background:#de6b48;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.account-button{border:0;padding:0;box-shadow:0 5px 15px #9f42282e}.account-button:hover{background:#c95d3d;transform:translateY(-1px)}.page-stack{gap:22px;display:grid}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.stat-card,.panel{background:#fff;border:1px solid #e5e9e8;border-radius:18px;box-shadow:0 10px 35px #1835390d}.stat-card{padding:25px}.stat-card strong{color:#173b3f;margin-bottom:18px;font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1;display:block}.stat-card h2{margin-bottom:4px;font-size:16px}.stat-card p,.muted{color:#71807e;margin:0}.panel{padding:clamp(22px,2.5vw,32px)}.connection-panel{border-left:5px solid #bcd94c;justify-content:space-between;align-items:center;gap:28px;display:flex}.connection-panel>div{max-width:680px}.slug{margin:14px 0 0;font-weight:600}.connection-message{color:#336d62;margin:12px 0 0;font-weight:600}.primary{color:#fff;white-space:nowrap;background:#173b3f;border:0;border-radius:10px;padding:12px 17px;font-weight:700}.primary:hover:not(:disabled){background:#24575c}.primary:disabled{cursor:not-allowed;opacity:.45}.next-step{align-items:flex-start;gap:22px;display:flex}.step-number{color:#de6b48;font-size:30px;font-weight:800;line-height:1}.next-step p{color:#566a67;max-width:760px;margin:0;line-height:1.65}.section-heading{border-bottom:1px solid #eceee8;justify-content:space-between;align-items:center;padding-bottom:22px;display:flex}.section-heading h2{margin-bottom:0}.count-pill{color:#50611d;background:#eef2df;border-radius:999px;padding:6px 11px;font-weight:700}.empty-state{text-align:center;color:#71807e;padding:54px 20px 36px}.empty-state h3{color:#294448;margin:13px 0 7px}.empty-state p{max-width:520px;margin:auto;line-height:1.5}.empty-icon{color:#64751f;background:#eef2df;border-radius:50%;place-items:center;width:44px;height:44px;margin:auto;font-size:26px;display:grid}.groups-page{gap:22px;display:grid}.groups-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);align-items:start;gap:22px;display:grid}.group-card-button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #eceee8;justify-content:space-between;align-items:center;gap:18px;padding:20px 10px;display:flex}.group-card-button:last-child{border-bottom:0}.group-card-button:hover,.group-card-button.selected{background:#f1f6e8;border-radius:10px;width:calc(100% + 20px);margin:0 -10px;padding-inline:20px}.group-list p{color:#71807e;margin:0}.dynamic-rule-summary{color:#58712a;margin:5px 0 0;font-size:12px;font-weight:700;display:block}.group-list span{color:#71807e;white-space:nowrap}.form-panel form{gap:18px;margin-top:24px;display:grid}.criterion-values{border:1px solid #dce3dc;border-radius:10px;min-width:0;margin:0;padding:13px}.criterion-values legend{color:#344e51;padding:0 6px;font-weight:700}.criterion-values>div{gap:7px;max-height:260px;display:grid;overflow-y:auto}.criterion-values label{cursor:pointer;background:#f5f7f2;border-radius:8px;grid-template-columns:auto 1fr;align-items:flex-start;gap:9px;padding:8px;display:flex}.criterion-values label:has(input:checked){background:#e9f1d2}.criterion-values input{accent-color:#28575a;width:16px;height:16px;margin:2px 0 0}.criterion-values span{gap:2px;font-size:13px;display:grid}.criterion-values small{color:#71807e;font-weight:400}.group-rule-hint{color:#71807e;margin:-4px 0 0;font-size:13px;line-height:1.45}label{color:#344e51;gap:7px;font-weight:700;display:grid}input,textarea,select{color:#173034;resize:vertical;background:#fafbf8;border:1px solid #d9ded7;border-radius:10px;outline:none;width:100%;padding:11px 12px;font-weight:400}input:focus,textarea:focus,select:focus{border-color:#4d7777;box-shadow:0 0 0 3px #4d77771f}.alert{border-radius:10px;margin-bottom:20px;padding:13px 16px}.alert.error{color:#8a3923;background:#fff0eb;border:1px solid #f4c9ba}.alert.success{color:#32613b;background:#edf6e8;border:1px solid #c9dfc2}.loading{color:#71807e;text-align:center;padding:50px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #eceee8;padding:15px 10px}th{color:#71807e;font-size:13px}.member-campaign{color:#526663;max-width:280px;font-size:14px;display:inline-block}.member-contact{color:#71807e;margin-top:4px;font-weight:400;display:block}.row-action{text-align:right;width:1%}.compact-button{padding:8px 11px;font-size:13px}.group-badges{flex-wrap:wrap;gap:5px;display:flex}.group-badges>span{color:#4d611d;background:#e9f1d2;border-radius:7px;padding:4px 7px;font-size:12px;font-weight:700;display:inline-block}.editor-row td{background:#f7f9f3;padding:0 10px 16px}.member-group-editor{border-left:4px solid #bcd94c;gap:15px;padding:18px;display:grid}.member-group-editor p{color:#71807e;margin:4px 0 0;font-size:14px}.group-checkboxes{flex-wrap:wrap;gap:8px;display:flex}.group-checkboxes label{cursor:pointer;background:#fff;border:1px solid #dce3dc;border-radius:9px;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:9px 11px;display:flex}.group-checkboxes label:has(input:checked){background:#e9f1d2;border-color:#567b71}.group-checkboxes input{accent-color:#28575a;width:16px;height:16px;margin:0}.editor-actions{justify-content:flex-end;align-items:center;gap:18px;display:flex}.group-detail{gap:20px;display:grid}.group-detail .section-heading{align-items:flex-end}.group-detail .section-heading p:last-child{margin-bottom:0}.group-detail-actions{align-items:center;gap:12px;display:flex}.danger-button{color:#9a3d29;background:#fff4f0;border:1px solid #dba99c;border-radius:9px;padding:9px 12px;font-weight:700}.danger-button:hover:not(:disabled){background:#ffe8e0}.danger-button:disabled{cursor:not-allowed;opacity:.5}.group-detail select{min-width:200px}.category-badge{color:#fff;text-align:center;background:#173b3f;border-radius:999px;min-width:42px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-block}.category-badge.error{color:#fff;background:#b84632}.member-name-button{color:#173034;text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #b7cac7;text-decoration:underline #b7cac7}.member-name-button:hover{color:#326d70}.member-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.member-fields label{font-size:13px}.categories-page{gap:22px;display:grid}.category-settings{justify-content:space-between;align-items:end;gap:28px;display:flex}.category-settings>div{max-width:680px}.category-settings form{align-items:end;gap:12px;display:flex}.rollover-fields{grid-template-columns:80px 150px;gap:8px;display:grid}.category-table input{min-width:115px}.category-table td:nth-child(4){white-space:nowrap}.category-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.category-create form{grid-template-columns:minmax(180px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) auto;align-items:end;gap:13px;margin-top:20px;display:grid}.custom-fields-section{border-top:1px solid #e1e6de;gap:13px;padding-top:15px;display:grid}.custom-fields-section>div:first-child p{color:#71807e;margin:4px 0 0;font-size:14px}.custom-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.custom-fields-grid label{align-content:start;min-width:0;font-size:13px}.field-label-row{justify-content:space-between;align-items:flex-start;gap:10px;min-height:25px;display:flex}.field-label-row>span:first-child{overflow-wrap:anywhere;min-width:0}.local-override-actions{flex:none;align-items:center;gap:7px;display:flex}.local-override-actions small{color:#7b5a12;white-space:nowrap;background:#fff1d7;border-radius:999px;padding:3px 6px;font-size:10px}.revert-button{color:#8a452f;text-underline-offset:2px;background:0 0;border:0;padding:2px 0;font-size:11px;font-weight:700;text-decoration:underline}.revert-button:disabled{opacity:.45;cursor:not-allowed}.training-schedules{background:#f5f7f2;border-radius:12px;gap:15px;padding:18px;display:grid}.subsection-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.subsection-heading h3,.subsection-heading p{margin-bottom:0}.subsection-heading p{color:#71807e;margin-top:4px;font-size:14px}.schedule-list{gap:9px;display:grid}.schedule-row{grid-template-columns:minmax(150px,1fr) 130px 130px auto;align-items:end;gap:10px;display:grid}.schedule-row label{font-size:13px}.schedule-row .danger-link{padding:11px 5px}.attendance-page,.attendance-result,.messages-page{gap:22px;display:grid}.smtp-status{border-left:5px solid #d6a18e;justify-content:space-between;align-items:center;gap:24px;display:flex}.smtp-status.configured{border-left-color:#8db43b}.message-composer{gap:22px;display:grid}.message-composer form{gap:18px;display:grid}.message-targets{border:1px solid #dce3dc;border-radius:11px;margin:0;padding:15px}.message-targets legend{color:#344e51;padding:0 7px;font-weight:800}.target-mode{flex-wrap:wrap;gap:9px;display:flex}.target-mode label{cursor:pointer;background:#f5f7f2;border-radius:9px;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:10px 12px;display:flex}.target-mode label:has(input:checked){background:#e9f1d2}.target-mode input{accent-color:#28575a;width:16px;height:16px;margin:0}.recipient-preview{color:#435b20;background:#eef4df;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;padding:13px 15px;display:flex}.recipient-preview span{color:#64744a;font-size:13px}.message-history{gap:20px;display:grid}.email-status{color:#596764;white-space:nowrap;background:#eceeea;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700;display:inline-block}.email-status.sent{color:#43651f;background:#e8f3dc}.email-status.partial{color:#7b601a;background:#fff4d6}.email-status.failed{color:#943d29;background:#fff0eb}.attendance-controls{gap:20px;display:grid}.attendance-form{grid-template-columns:minmax(190px,1.4fr) minmax(220px,1.5fr) minmax(140px,.8fr) minmax(140px,.8fr) auto;align-items:end;gap:13px;display:grid}.attendance-form label{font-size:13px}.holiday-calendar{gap:18px;display:grid}.holiday-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.holiday-list article{background:#f5f7f2;border-radius:10px;gap:5px;padding:13px;display:grid}.holiday-list span{color:#71807e;font-size:13px}.print-toolbar{background:#e9f1d2;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;display:flex}.print-toolbar p{color:#526663;margin:5px 0 0;font-size:13px}.print-toolbar>div:last-child{gap:10px;display:flex}.attendance-message{font-weight:700}.attendance-sheet{break-after:page;overflow:hidden}.attendance-sheet header{justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:17px;display:flex}.attendance-sheet header h2,.attendance-sheet header p{margin-bottom:0}.sheet-period{color:#526663;font-weight:700}.attendance-sheet table{table-layout:fixed}.attendance-sheet th,.attendance-sheet td{text-align:center;border:1px solid #cfd6d0}.attendance-sheet th{padding:8px 4px}.attendance-sheet th span,.attendance-sheet th strong,.attendance-sheet th small{display:block}.attendance-sheet th span{text-transform:capitalize}.attendance-sheet th small{color:#71807e;margin-top:3px}.attendance-sheet .name-column,.attendance-sheet tbody td:first-child{text-align:left;width:210px}.sheet-category{float:right;color:#4d611d;background:#e9f1d2;border-radius:5px;padding:2px 5px;font-weight:800}.attendance-cell{height:43px;padding:0}.attendance-cell button{width:100%;height:100%;color:inherit;background:0 0;border:0;font-size:19px;font-weight:900}.attendance-cell.present{color:#32613b;background:#edf6e8}.attendance-cell.absent{color:#9a3d29;background:#fff0eb}.attendance-cell.excused{color:#806415;background:#fff7d9}.attendance-sheet footer{color:#71807e;text-align:right;padding-top:10px;font-size:11px}.heading-actions{align-items:center;gap:12px;display:flex}.directory-panel,.groups-overview{min-height:calc(100vh - 142px)}.list-search{background:#f8faf9;border:1px solid #dbe2e0;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;max-width:620px;margin:20px 0 14px;padding:0 13px;transition:border-color .16s,box-shadow .16s;display:grid}.list-search:focus-within{background:#fff;border-color:#4d7777;box-shadow:0 0 0 3px #4d77771a}.list-search>span{color:#6e807d;font-size:23px;line-height:1;transform:rotate(-15deg)}.list-search input{box-shadow:none;background:0 0;border:0;padding:12px 0}.list-search input:focus{box-shadow:none;border:0}.list-search button{color:#49605d;background:#e8eeec;border:0;border-radius:50%;width:27px;height:27px;padding:0;font-size:18px;line-height:1}.data-table-wrap{border:1px solid #e7ebea;border-radius:13px;max-height:none;overflow:visible}.data-table{table-layout:fixed;min-width:0}.data-table thead{z-index:2;background:#fff;position:sticky;top:0;box-shadow:0 1px #e7ebea}.data-table th{background:#fff;padding-top:12px;padding-bottom:8px}.data-table td{overflow-wrap:anywhere;padding-top:13px;padding-bottom:13px}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:#f7faf7}.clickable-row{cursor:pointer}.column-filter{background:#f5f7f6;border-radius:8px;min-width:0;padding:7px 9px;font-size:12px}.filter-row th{padding-top:0;padding-bottom:10px}.filter-row th:last-child{width:36px}.choice-filter{color:#38514f;width:100%;min-width:0;font-size:12px;font-weight:600;position:relative}.choice-filter summary{cursor:pointer;background:#f5f7f6;border:1px solid #d9ded7;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:7px 9px;list-style:none;display:flex}.choice-filter summary::-webkit-details-marker{display:none}.choice-filter[open] summary{background:#fff;border-color:#4d7777;box-shadow:0 0 0 3px #4d77771a}.choice-filter-menu{z-index:15;background:#fff;border:1px solid #dce3e0;border-radius:11px;width:max(230px,100%);padding:11px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 36px #1230332e}.choice-filter-heading{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:12px;padding:2px 3px 9px;display:flex}.choice-filter-heading button{color:#8b4938;background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.choice-filter-options{gap:3px;max-height:230px;margin-top:7px;display:grid;overflow-y:auto}.choice-filter-options label{color:#344e51;cursor:pointer;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:8px;padding:7px;font-size:12px;font-weight:500;display:flex}.choice-filter-options label:hover{background:#f2f6f3}.choice-filter-options label:has(input:checked){color:#425b1a;background:#eaf2dc}.choice-filter-options input{accent-color:#28575a;width:15px;height:15px;margin:1px 0 0}.choice-filter-options span{overflow-wrap:anywhere;min-width:0}.pagination{color:#697976;justify-content:flex-end;align-items:center;gap:20px;padding-top:15px;font-size:13px;display:flex}.pagination>label{color:#697976;grid-template-columns:auto 72px;align-items:center;gap:8px;font-size:13px;display:flex}.pagination select{background:#fff;padding:7px 9px}.pagination-nav{align-items:center;gap:11px;display:flex}.pagination-nav strong{color:#38514f;text-align:center;min-width:84px;font-size:12px}.row-chevron{color:#3d615f;background:#eef3f1;border-radius:50%;place-items:center;width:28px;height:28px;font-size:22px;font-weight:400;line-height:1;display:inline-grid}.directory-panel .data-table th:first-child{width:15%}.directory-panel .data-table th:nth-child(2){width:13%}.directory-panel .data-table th:nth-child(3){width:27%}.directory-panel .data-table th:nth-child(4){width:25%}.directory-panel .data-table th:nth-child(5){width:16%}.directory-panel .data-table th:nth-child(6){width:4%}.group-members-view .data-table th:first-child{width:18%}.group-members-view .data-table th:nth-child(2){width:10%}.group-members-view .data-table th:nth-child(3){width:18%}.group-members-view .data-table th:nth-child(4){width:16%}.group-members-view .data-table th:nth-child(5){width:28%}.group-members-view .data-table th:nth-child(6){width:10%}.group-card-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px;padding-top:22px;display:grid}.group-tile{min-height:210px;color:inherit;text-align:left;background:#fbfcfb;border:1px solid #e1e7e5;border-radius:16px;flex-direction:column;justify-content:space-between;gap:20px;padding:20px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.group-tile:hover{background:#fff;border-color:#b8cdca;transform:translateY(-3px);box-shadow:0 14px 30px #1d42441a}.group-tile-top{justify-content:space-between;align-items:center;display:flex}.group-avatar{color:#435b18;letter-spacing:.04em;background:#dfeebe;border-radius:12px;flex:none;place-items:center;width:43px;height:43px;font-size:13px;font-weight:850;display:inline-grid}.group-avatar.large{border-radius:15px;width:52px;height:52px;font-size:15px}.group-tile h3{margin-bottom:7px;font-size:18px}.group-tile p{color:#6d7d7a;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.group-tile-footer{color:#71807e;border-top:1px solid #e9edeb;align-items:baseline;gap:5px;padding-top:14px;font-size:13px;display:flex}.group-tile-footer strong{color:#173b3f;font-size:24px}.group-tile-footer small{color:#71807e;margin-left:auto}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#081c1f8c;outline:none;place-items:center;padding:24px;animation:.16s ease-out modal-fade;display:grid;position:fixed;inset:0}.modal-window{background:#fff;border:1px solid #ffffff59;border-radius:20px;flex-direction:column;width:min(680px,100%);max-height:min(900px,100vh - 48px);animation:.2s ease-out modal-rise;display:flex;overflow:hidden;box-shadow:0 30px 90px #0316194d}.modal-large{width:min(920px,100%)}.modal-wide{width:min(1240px,100%)}.modal-header{border-bottom:1px solid #e8ecea;justify-content:space-between;align-items:center;gap:20px;padding:21px 24px;display:flex}.modal-header h2{letter-spacing:-.025em;margin:0;font-size:24px}.modal-header .eyebrow{margin-bottom:4px}.modal-close{color:#38514f;background:#edf2f0;border:0;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;padding:0;font-size:26px;line-height:1;display:grid}.modal-close:hover{background:#dfe8e5}.modal-body{min-height:0;padding:24px;overflow:auto}.modal-form{gap:17px;display:grid}.modal-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-top:1px solid #e7ecea;justify-content:flex-end;gap:10px;margin:4px -24px -24px;padding:16px 24px;display:flex;position:sticky;bottom:-24px}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}}.modal-body .member-group-editor{border:0;padding:0}.modal-body .member-group-editor>div:first-child{background:#f1f5ed;border-radius:11px;padding:13px 15px}.member-editor-intro{justify-content:space-between;align-items:center;gap:18px;display:flex}.member-editor-intro p{margin-bottom:0}.email-member-button{flex:none}.modal-body .member-group-editor>.editor-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#fffffff5;border-top:1px solid #e4e9e7;margin:2px -24px -24px;padding:15px 24px;position:sticky;bottom:-24px}.group-modal-summary{justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px;display:flex}.group-modal-summary>div{align-items:center;gap:13px;display:flex}.group-modal-summary p{color:#71807e;margin:4px 0 0}.rule-chip{color:#536b21;background:#edf4dc;border-radius:9px;max-width:52%;padding:8px 11px;font-size:12px;font-weight:750}.tabs{border-bottom:1px solid #e4e9e7;gap:5px;margin:0 -24px 20px;padding:0 24px;display:flex}.tabs button{color:#71807e;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 13px;font-weight:750}.tabs button.active{color:#173b3f;border-bottom-color:#28575a}.tabs button span{background:#edf1ef;border-radius:999px;margin-left:5px;padding:2px 6px;font-size:11px;display:inline-block}.group-members-view{min-height:300px}.group-members-view .list-search{margin-top:0}.modal-table-wrap{border:1px solid #e7ebea;border-radius:12px;max-height:none;overflow:visible}.group-settings-view{gap:18px;display:grid}.danger-zone{background:#fff8f5;border:1px solid #efd5ce;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:17px 18px;display:flex}.danger-zone p{color:#8b6b63;margin:4px 0 0;font-size:13px}.direct-recipient{color:#435b20;background:#eaf2dc;border-radius:9px;margin:13px 0 0;padding:8px 11px;font-size:13px;display:inline-block}.app-loading-screen{color:#526663;background:#f5f7f9;place-content:center;justify-items:center;gap:14px;min-height:100vh;display:grid}.app-loading-screen p{margin:0}.login-screen{background:radial-gradient(circle at 75% 15%,#e8f1d8 0,#0000 30%),linear-gradient(145deg,#eef3f2,#f8f9f6);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fffffff0;border:1px solid #dfe6e3;border-radius:22px;gap:25px;width:min(440px,100%);padding:34px;display:grid;box-shadow:0 28px 80px #13363a24}.login-brand{border-bottom:1px solid #e8ecea;align-items:center;gap:12px;padding-bottom:20px;display:flex}.login-brand strong,.login-brand small{display:block}.login-brand small{color:#71807e;margin-top:2px}.login-card h1{font-size:36px}.login-card form{gap:17px;display:grid}.login-card form .primary{margin-top:5px;padding:14px}.login-card .alert{margin-bottom:0}.login-security{color:#87938f;text-align:center;margin:0;font-size:12px}.account-panel{gap:22px;display:grid}.account-identity{background:#f3f6f2;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px;display:grid}.account-identity p{color:#71807e;margin:3px 0 0;font-size:13px}.account-panel .alert{margin:0}.account-panel form{border-top:1px solid #e7ebe9;gap:15px;padding-top:4px;display:grid}.account-panel form h3{margin:12px 0 -8px}.user-management{border-top:1px solid #e7ebe9;gap:16px;padding-top:20px;display:grid}.user-management h3,.user-management p{margin-bottom:0}.managed-user-list{gap:8px;display:grid}.managed-user-list article{background:#fafbf9;border:1px solid #e1e7e4;border-radius:11px;justify-content:space-between;align-items:center;gap:18px;padding:13px 15px;display:flex}.managed-user-list article>div{gap:3px;min-width:0;display:grid}.managed-user-list article span,.managed-user-list article small{color:#71807e;overflow-wrap:anywhere}.managed-user-list article.disabled{opacity:.58;background:#f1f2f0}.user-management>form{background:#f8faf7;border:1px solid #e1e7e4;border-radius:12px;padding:18px}.setup-stack{gap:22px;display:grid}.setup-progress{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.progress-step{color:#7c8986;background:#e7e9e2;border-radius:11px;align-items:center;gap:9px;padding:12px 14px;display:flex}.progress-step span{background:#d4d8d0;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:13px;display:grid}.progress-step.done{color:#4d611d;background:#e9f1d2}.progress-step.done span{color:#26350c;background:#bcd94c}.setup-section{gap:22px;transition:opacity .2s;display:grid}.setup-section-header,.setup-actions,.field-toolbar,.connection-line,.import-section{justify-content:space-between;align-items:center;gap:20px;display:flex}.step-heading{align-items:center;gap:13px;display:flex}.step-heading>span{color:#fff;background:#173b3f;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.step-heading h2,.step-heading p{margin-bottom:0}.connection-line{justify-content:flex-start}.connection-line p{color:#71807e;margin:3px 0 0}.status-dot{background:#c3cbc8;border-radius:50%;width:11px;height:11px}.status-dot.ok{background:#78a62c;box-shadow:0 0 0 5px #78a62c21}.secondary{color:#29484b;background:#fff;border:1px solid #cdd6d1;border-radius:10px;padding:10px 14px;font-weight:700}.secondary:hover:not(:disabled){background:#f4f6ef}.secondary:disabled{opacity:.45;cursor:not-allowed}.setup-hint{max-width:760px;line-height:1.55}.campaign-list{gap:10px;display:grid}.choice-card{cursor:pointer;background:#fafbf8;border:1px solid #dfe4dc;border-radius:12px;grid-template-columns:auto 1fr;align-items:flex-start;gap:13px;padding:17px;display:flex}.choice-card:has(input:checked){background:#f1f6e8;border-color:#567b71;box-shadow:inset 3px 0 #bcd94c}.choice-card input,.field-row input{accent-color:#28575a;width:17px;height:17px;margin:3px 0 0}.choice-copy{color:#72817e;gap:5px;min-width:0;font-weight:400;display:grid}.choice-title-row{color:#244347;justify-content:space-between;gap:12px;display:flex}.state-pill{color:#6e7a78;text-transform:uppercase;white-space:nowrap;background:#eceeea;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.state-pill.current{color:#536a15;background:#dfedb4}.link-button{color:#386a6c;text-underline-offset:3px;background:0 0;border:0;padding:5px 0;font-weight:700;-webkit-text-decoration:underline #b7cac7;text-decoration:underline #b7cac7}.setup-actions{color:#71807e;border-top:1px solid #eceee8;padding-top:20px}.core-fields{flex-wrap:wrap;gap:8px;display:flex}.core-fields span{color:#4d611d;background:#e9f1d2;border-radius:8px;padding:8px 11px;font-size:14px;font-weight:700}.field-toolbar{padding-top:4px}.field-toolbar>div{gap:18px;display:flex}.field-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;display:grid}.field-row{cursor:pointer;background:#f7f8f4;border-radius:10px;align-items:flex-start;gap:11px;min-width:0;padding:13px;display:flex}.field-row>span{gap:4px;min-width:0;display:grid}.field-row strong{overflow-wrap:anywhere;font-size:14px}.field-row small{color:#788582;font-weight:400}.disabled-section{opacity:.55}.empty-inline{color:#71807e;background:#f5f6f2;border-radius:10px;margin:0;padding:16px}.last-sync{color:#456460;margin:12px 0 0;font-weight:600}.import-button{min-width:210px}.grouping-example{color:#465f5c;background:#f4f7e9;border-left:4px solid #bcd94c;border-radius:9px;padding:14px 16px;line-height:1.5}.grouping-source-list{flex-wrap:wrap;gap:10px;display:flex}.source-chip{cursor:pointer;background:#fafbf8;border:1px solid #dfe4dc;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:11px 13px;display:flex}.source-chip:has(input:checked){background:#f1f6e8;border-color:#567b71}.source-chip input,.value-option input{accent-color:#28575a;width:17px;height:17px;margin:0}.source-chip span,.value-option span{gap:2px;display:grid}.source-chip small,.value-option small{color:#788582;font-weight:400}.rule-builder{gap:18px;padding-top:8px;display:grid}.rule-builder-header,.rule-card-header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.rule-builder-header h3,.rule-builder-header p{margin-bottom:0}.group-draft-list{gap:16px;display:grid}.rule-card{background:#fafbf8;border:1px solid #dce3dc;border-radius:14px;padding:20px}.rule-card-header label{width:min(520px,100%)}.danger-link{color:#a04431;background:0 0;border:0;padding:7px 0;font-weight:700}.rule-count{color:#637572;margin:11px 0 16px;font-size:14px;font-weight:600}.rule-sources{gap:14px;display:grid}.rule-source{background:#fff;border:1px solid #e1e5de;border-radius:10px;min-width:0;margin:0;padding:14px}.rule-source legend{color:#29484b;padding:0 7px;font-weight:800}.value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.value-option{cursor:pointer;background:#f5f7f2;border-radius:8px;grid-template-columns:auto 1fr;align-items:flex-start;gap:9px;min-width:0;padding:10px;display:flex}.value-option:has(input:checked){background:#e9f1d2}.value-option span{overflow-wrap:anywhere;min-width:0;font-size:14px}@media (width<=820px){.app-shell{display:block}.sidebar{width:100%;height:auto;padding:16px;position:static}.brand{padding-bottom:15px}nav{display:flex;overflow-x:auto}nav button{white-space:nowrap}.local-badge{display:none}main{padding:28px 18px 50px}.stat-grid,.groups-layout{grid-template-columns:1fr}.setup-progress{grid-template-columns:repeat(2,1fr)}.field-list,.value-grid{grid-template-columns:1fr}.setup-section-header,.setup-actions,.field-toolbar,.import-section,.rule-builder-header,.rule-card-header{flex-direction:column;align-items:stretch}.setup-section-header button,.setup-actions button,.import-button{width:100%}.connection-panel{flex-direction:column;align-items:flex-start}.group-detail .section-heading{align-items:flex-start}.group-detail-actions{justify-content:space-between;width:100%}.schedule-row,.attendance-form,.holiday-list,.member-fields,.custom-fields-grid{grid-template-columns:1fr}.subsection-heading,.print-toolbar,.smtp-status,.recipient-preview,.category-settings,.category-settings form{flex-direction:column;align-items:stretch}.category-create form{grid-template-columns:1fr}.print-toolbar>div:last-child{flex-direction:column}.directory-panel,.groups-overview{min-height:auto}.group-card-grid{grid-template-columns:1fr}.heading-actions{flex-direction:column;align-items:flex-end}.modal-overlay{align-items:end;padding:0}.modal-window,.modal-large,.modal-wide{border-radius:20px 20px 0 0;width:100%;max-height:calc(100vh - 18px)}.modal-header,.modal-body{padding-left:18px;padding-right:18px}.group-modal-summary,.danger-zone{flex-direction:column;align-items:flex-start}.rule-chip{max-width:100%}.tabs{margin-left:-18px;margin-right:-18px;padding:0 18px;overflow-x:auto}.tabs button{white-space:nowrap}.modal-actions,.modal-body .member-group-editor>.editor-actions{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.member-editor-intro{flex-direction:column;align-items:stretch}.email-member-button{width:100%}.login-card{padding:26px 21px}.account-identity{grid-template-columns:auto 1fr}.account-identity .secondary{grid-column:1/-1}.managed-user-list article{flex-direction:column;align-items:flex-start}.pagination{flex-direction:column;align-items:stretch;gap:10px}.pagination-nav{justify-content:space-between}}@media (width<=480px){.initials{display:none}.stat-card{padding:20px}.connection-panel .primary{width:100%}}@media print{@page{size:A4 landscape;margin:10mm}:root,body{background:#fff}.sidebar,.topbar,.no-print{display:none!important}.app-shell{display:block}main{padding:0;overflow:visible}.attendance-page,.attendance-result{display:block}.attendance-sheet{box-shadow:none;page-break-after:always;border:0;border-radius:0;margin:0;padding:0}.attendance-sheet:last-child{page-break-after:auto}.attendance-sheet th,.attendance-sheet td{padding:5px 3px;font-size:10px}.attendance-sheet .name-column,.attendance-sheet tbody td:first-child{width:180px}.attendance-cell{height:34px}.attendance-cell button{font-size:15px}}
