@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{color:#19233a;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f9;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58;transform:none!important}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #8b2d4a3d}.brand-mark{color:#fff;background:#8b2d4a;border-radius:8px;flex:none;place-items:center;width:46px;height:50px;font:700 35px/1 Playfair Display,Georgia,serif;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.login-page{background:#fff;grid-template-columns:minmax(390px,44%) 1fr;min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:radial-gradient(circle at 85% 85%,#a4416052,#0000 34%),linear-gradient(145deg,#171d30,#29314a 70%,#3b2940);flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px 8%;display:flex;position:relative;overflow:hidden}.login-brand,.mobile-brand,.sidebar-brand{align-items:center;gap:13px;display:flex}.login-brand strong{font:700 24px/1.1 Playfair Display,Georgia,serif;display:block}.login-brand small{color:#adb6cb;letter-spacing:1.7px;margin-top:5px;font-size:10px;display:block}.login-message{z-index:1;max-width:520px;margin:auto 0;padding:80px 0;position:relative}.login-message>p,.login-heading>p,.page-heading>p,.welcome-panel p{color:#c77a92;letter-spacing:2px;margin:0 0 13px;font-size:11px;font-weight:700}.login-message h1{letter-spacing:-.8px;max-width:500px;margin:0 0 20px;font:700 clamp(38px,4.5vw,62px)/1.08 Playfair Display,Georgia,serif}.login-message>span{color:#cbd2df;max-width:460px;font-size:16px;line-height:1.75;display:block}.login-decoration{color:#ffffff09;border:1px solid #ffffff12;border-radius:50%;place-items:center;width:330px;height:330px;font:700 230px/1 Playfair Display,Georgia,serif;display:grid;position:absolute;bottom:-120px;right:-75px;transform:rotate(-8deg)}.login-form-panel{background:#fbfcfd;place-items:center;min-height:100vh;padding:42px;display:grid}.login-card{width:min(430px,100%)}.mobile-brand{display:none}.login-heading{margin-bottom:36px}.login-heading h2{color:#182239;margin:0 0 10px;font:700 32px/1.2 Playfair Display,Georgia,serif}.login-heading>span{color:#6e788c;font-size:14px}.login-card label{color:#354057;gap:8px;margin-bottom:19px;font-size:13px;font-weight:700;display:grid}.login-card input{color:#19233a;background:#fff;border:1px solid #d9dee7;border-radius:8px;width:100%;height:48px;padding:0 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.login-card input:hover{border-color:#bdc5d2}.login-card input:focus{border-color:#9b4964;outline:none;box-shadow:0 0 0 3px #8b2d4a17}.login-error{color:#a33434;background:#fff0f0;border-radius:7px;margin:-5px 0 15px;padding:10px 12px;font-size:12px}.primary-button{color:#fff;background:#8b2d4a;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;height:49px;margin-top:9px;font-weight:700;transition:background .15s,transform .15s;display:flex;box-shadow:0 8px 20px #8b2d4a2b}.primary-button:hover{background:#77213e;transform:translateY(-1px)}.primary-button svg{width:18px}.demo-credentials{color:#7b8496;text-align:center;margin:18px 0 0;font-size:12px}.demo-credentials strong{color:#4a566c}.app-shell{background:#f4f6f9;min-height:100vh;display:flex}.sidebar{z-index:20;color:#fff;background:#20263a;flex-direction:column;width:260px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:5px 0 30px #1419280f}.sidebar-brand{border-bottom:1px solid #363d53;min-height:88px;padding:18px 20px}.sidebar-brand .brand-mark{width:43px;height:47px;font-size:32px}.sidebar-brand strong{font:700 21px/1.1 Playfair Display,Georgia,serif;display:block}.sidebar-brand small{color:#9da7bc;letter-spacing:1.45px;white-space:nowrap;margin-top:4px;font-size:9px;display:block}.close-menu{color:#cbd1dd;background:0 0;border:0;margin-left:auto;display:none}.close-menu svg{width:22px}.sidebar nav{flex:1;padding:22px 14px;overflow-y:auto}.sidebar nav>p{color:#818ba2;letter-spacing:1.7px;margin:0 10px 10px;font-size:10px;font-weight:700}.sidebar nav>button{color:#c5ccda;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;height:45px;margin-bottom:5px;padding:0 13px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar nav>button:hover{color:#fff;background:#2d344a}.sidebar nav>button.active{color:#20263a;background:#fff;font-weight:700;box-shadow:0 6px 20px #070a162e}.sidebar nav svg{width:19px}.sidebar-footer{border-top:1px solid #363d53;padding:15px 14px 18px}.sidebar-footer>div{color:#d7dce7;align-items:center;gap:10px;margin-bottom:9px;padding:10px 12px;display:flex}.sidebar-footer>div>svg{color:#ce8199;width:19px}.sidebar-footer span strong,.sidebar-footer span small{display:block}.sidebar-footer span strong{font-size:11px}.sidebar-footer span small{color:#8f99ae;margin-top:2px;font-size:9px}.sidebar-footer>button{color:#aab3c5;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;width:100%;height:39px;padding:0 12px;font-size:12px;display:flex}.sidebar-footer>button:hover{color:#fff;background:#2d344a}.sidebar-footer>button svg{width:17px}.main-column{flex:1;min-width:0;margin-left:260px}.topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #e2e6ed;align-items:center;gap:12px;height:66px;padding:0 34px;display:flex;position:sticky;top:0}.open-menu{color:#334057;background:#fff;border:1px solid #e0e4eb;border-radius:7px;place-items:center;width:38px;height:38px;display:none}.open-menu svg{width:20px}.topbar>div{min-width:0}.topbar>div strong,.topbar>div small{display:block}.topbar>div strong{font-size:14px}.topbar>div small{color:#7a8497;font-size:10px}.admin-pill{color:#7c2944;background:#f2e8ed;border-radius:6px;margin-left:auto;padding:6px 10px;font-size:11px;font-weight:700}.content{width:100%;max-width:1380px;margin:0 auto;padding:42px 44px 64px}.page-heading{margin-bottom:29px}.page-heading.with-action{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.page-heading>p{margin-bottom:8px}.page-heading h1{color:#182239;margin:0;font:700 34px/1.15 Playfair Display,Georgia,serif}.page-heading>span{color:#6f7a8e;margin-top:9px;font-size:14px;display:block}.summary-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.summary-grid article{background:#fff;border:1px solid #e0e4eb;border-radius:10px;align-items:center;gap:17px;min-height:118px;padding:23px;display:flex;box-shadow:0 2px 8px #1e283c06}.summary-icon{border-radius:10px;flex:none;place-items:center;width:49px;height:49px;display:grid}.summary-icon svg{width:23px}.summary-icon.members{color:#8b2d4a;background:#f4e8ed}.summary-icon.teachers{color:#315e8a;background:#e9eff7}.summary-icon.dances{color:#337458;background:#ecf4ef}.summary-grid small,.summary-grid strong{display:block}.summary-grid small{color:#6f7a8e;margin-bottom:4px;font-size:12px}.summary-grid strong{color:#1c273d;font-size:28px}.welcome-panel{background:#fff;border:1px solid #e0e4eb;border-radius:10px;align-items:center;gap:23px;min-height:245px;padding:38px;display:flex;box-shadow:0 2px 8px #1e283c06}.welcome-icon{color:#8b2d4a;background:#f4e8ed;border-radius:14px;flex:none;place-items:center;width:67px;height:67px;display:grid}.welcome-icon svg{width:29px}.welcome-panel p{margin-bottom:9px}.welcome-panel h2{color:#202b41;margin:0 0 10px;font-size:21px}.welcome-panel span{color:#6d788b;max-width:650px;font-size:14px;line-height:1.7;display:block}.empty-panel{text-align:center;background:#fff;border:1px solid #e0e4eb;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:40px 24px;display:flex;box-shadow:0 2px 8px #1e283c06}.empty-icon{color:#8b2d4a;background:#f4e8ed;border-radius:14px;place-items:center;width:62px;height:62px;margin-bottom:18px;display:grid}.empty-icon svg{width:28px}.empty-panel h2{color:#263148;margin:0 0 9px;font-size:19px}.empty-panel p{color:#707b8f;max-width:520px;margin:0;font-size:14px;line-height:1.65}.menu-overlay{display:none}.primary-action-button,.secondary-button,.danger-solid-button,.small-secondary-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.primary-action-button{color:#fff;background:#8b2d4a;border:1px solid #8b2d4a;box-shadow:0 6px 15px #8b2d4a21}.primary-action-button:hover{background:#77213e;border-color:#77213e}.primary-action-button svg,.small-secondary-button svg{width:17px}.secondary-button,.small-secondary-button{color:#435067;background:#fff;border:1px solid #d9dee7}.secondary-button:hover,.small-secondary-button:hover{background:#f8f9fb;border-color:#bfc6d2}.danger-solid-button{color:#fff;background:#b93838;border:1px solid #b93838}.danger-solid-button:hover{background:#9f2e2e}.small-secondary-button{min-height:36px;padding:0 12px;font-size:12px}.icon-button{color:#68748a;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;width:36px;height:36px;padding:0;display:grid}.icon-button:hover{color:#28354b;background:#f7f8fa;border-color:#dfe3ea}.icon-button.danger{color:#a73b3b}.icon-button.danger:hover{color:#b52b2b;background:#fff0f0;border-color:#f0d4d4}.icon-button svg{width:17px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-loading{color:#6c778b;background:#f4f6f9;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:100vh;display:flex}.app-loading .brand-mark{margin-bottom:12px}.app-loading>svg{color:#8b2d4a;width:23px}.app-loading p{margin:0;font-size:13px}.data-panel{background:#fff;border:1px solid #e0e4eb;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #1e283c06}.data-toolbar{border-bottom:1px solid #e7eaf0;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:16px 22px;display:flex}.data-toolbar h2{color:#263148;margin:0;font-size:16px}.data-toolbar h2 span{color:#6a7589;background:#eff1f5;border-radius:6px;place-items:center;min-width:23px;height:23px;margin-left:7px;padding:0 7px;font-size:11px;display:inline-grid}.search-field{align-items:center;width:min(300px,100%);display:flex;position:relative}.search-field svg{color:#7b8699;width:17px;position:absolute;left:12px}.search-field input{color:#29354b;border:1px solid #dce1e8;border-radius:7px;width:100%;height:40px;padding:0 12px 0 38px;font-size:13px}.search-field input:focus{border-color:#aa6078;outline:none;box-shadow:0 0 0 3px #8b2d4a14}.member-filters{flex:1;justify-content:flex-end;gap:9px;min-width:0;display:flex}.member-filters .search-field{width:min(255px,100%)}.select-filter{align-items:center;width:min(245px,100%);display:flex;position:relative}.select-filter svg{z-index:1;color:#7b8699;pointer-events:none;width:17px;position:absolute;left:12px}.select-filter select{color:#29354b;width:100%;height:40px;font:inherit;background:#fff;border:1px solid #dce1e8;border-radius:7px;padding:0 34px 0 38px;font-size:12px}.select-filter select:focus{border-color:#aa6078;outline:none;box-shadow:0 0 0 3px #8b2d4a14}.table-scroll{width:100%;overflow-x:auto}.data-panel table{border-collapse:collapse;color:#38445a;width:100%;font-size:13px}.data-panel th{color:#657187;text-align:left;white-space:nowrap;background:#f8f9fb;height:45px;padding:0 18px;font-size:11px;font-weight:700}.data-panel td{vertical-align:middle;border-top:1px solid #edf0f4;min-height:68px;padding:15px 18px}.data-panel tbody tr:hover{background:#fcfcfd}.data-panel .actions-column{text-align:right;width:105px}.entity-name{align-items:center;gap:11px;min-width:170px;display:flex}.entity-name strong{color:#202c42;font-size:13px}.table-icon,.avatar{color:#8b2d4a;background:#f3e7ec;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.table-icon svg{width:18px}.avatar{color:#315e8a;text-transform:uppercase;background:#e9eff7;border-radius:50%;font-size:11px;font-weight:800}.avatar.member-avatar{color:#8b2d4a;background:#f3e7ec}.schedule-cells{gap:6px;min-width:190px;display:grid}.schedule-cells span{color:#5f6b80;white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.schedule-cells svg{color:#8e99ab;width:13px}.schedule-cells b{color:#334058;font-weight:700}.count-pill{color:#4f5d74;background:#eff2f6;border-radius:7px;place-items:center;min-width:27px;height:27px;padding:0 8px;font-size:11px;font-weight:700;display:inline-grid}.table-actions{justify-content:flex-end;gap:2px;display:flex}.phone-link{color:#45546d;white-space:nowrap;text-decoration:none}.phone-link:hover{color:#8b2d4a;text-decoration:underline}.tag-list{flex-wrap:wrap;gap:5px;min-width:180px;display:flex}.tag-list span{color:#526078;background:#eff2f6;border-radius:5px;padding:4px 7px;font-size:10px}.data-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:40px 20px;display:flex}.data-empty>span{color:#8b2d4a;background:#f3e7ec;border-radius:14px;place-items:center;width:58px;height:58px;margin-bottom:16px;display:grid}.data-empty>span svg{width:27px}.data-empty h3{color:#2a354b;margin:0 0 8px;font-size:17px}.data-empty p{color:#758095;margin:0;font-size:13px}.schedule-panel{background:#fff;border:1px solid #e0e4eb;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #1e283c06}.schedule-panel-header{border-bottom:1px solid #e7eaf0;align-items:center;gap:13px;min-height:78px;padding:16px 20px;display:flex}.schedule-panel-icon{color:#8b2d4a;background:#f3e7ec;border-radius:9px;flex:none;place-items:center;width:42px;height:42px;display:grid}.schedule-panel-icon svg{width:20px}.schedule-panel-header h2{color:#263148;margin:0 0 4px;font-size:16px}.schedule-panel-header p{color:#778297;margin:0;font-size:11px}.weekly-schedule-scroll{width:100%;padding:16px;overflow-x:auto}.weekly-schedule-grid{grid-template-columns:repeat(7,minmax(170px,1fr));gap:10px;min-width:1260px;display:grid}.weekday-column{background:#f7f8fa;border:1px solid #e2e6ed;border-radius:9px;min-height:430px;overflow:hidden}.weekday-column>header{background:#fff;border-bottom:1px solid #e2e6ed;justify-content:space-between;align-items:center;gap:8px;min-height:62px;padding:11px 12px;display:flex}.weekday-column>header div{min-width:0}.weekday-column>header span,.weekday-column>header strong{display:block}.weekday-column>header span{color:#9b4964;letter-spacing:1px;text-transform:uppercase;margin-bottom:2px;font-size:9px;font-weight:800}.weekday-column>header strong{color:#28344b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.weekday-column>header small{color:#687489;background:#eff1f5;border-radius:6px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:10px;font-weight:800;display:grid}.weekday-lessons{align-content:start;gap:9px;padding:9px;display:grid}.lesson-card{background:#fff;border:1px solid #e0d7dc;border-left:3px solid #9b4964;border-radius:8px;padding:12px;box-shadow:0 2px 7px #21293b0a}.lesson-time{color:#8b2d4a;align-items:center;gap:5px;margin-bottom:8px;font-size:10px;font-weight:800;display:flex}.lesson-time svg{width:13px}.lesson-card h3{color:#263148;margin:0 0 10px;font-size:12px;line-height:1.35}.lesson-card p{color:#68748a;align-items:flex-start;gap:5px;margin:6px 0 0;font-size:9px;line-height:1.45;display:flex}.lesson-card p svg{color:#929cad;width:12px;min-width:12px;margin-top:1px}.lesson-card .unassigned-teacher{color:#969fad;font-style:italic}.weekday-empty{color:#a0a8b6;text-align:center;margin:11px 4px;font-size:10px}.schedule-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:350px;padding:40px 22px;display:flex}.schedule-empty>span{color:#8b2d4a;background:#f3e7ec;border-radius:14px;place-items:center;width:58px;height:58px;margin-bottom:16px;display:grid}.schedule-empty>span svg{width:27px}.schedule-empty h3{color:#2a354b;margin:0 0 8px;font-size:17px}.schedule-empty p{color:#758095;max-width:520px;margin:0;font-size:13px;line-height:1.6}.modal-layer{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f14218f;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{background:#fff;border:1px solid #fff9;border-radius:12px;width:min(540px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 25px 80px #0b101e40}.modal-card.wide{width:min(920px,100%)}.modal-card>header{border-bottom:1px solid #e6e9ef;justify-content:space-between;align-items:flex-start;gap:18px;min-height:82px;padding:21px 23px;display:flex}.modal-card>header h2{color:#202b41;margin:0;font:700 21px/1.25 Playfair Display,Georgia,serif}.modal-card>header p{color:#717d91;margin:5px 0 0;font-size:12px}.entity-form{gap:18px;padding:23px;display:grid}.entity-form.two-columns{grid-template-columns:1fr 1fr}.entity-form>label{color:#39465c;gap:7px;font-size:12px;font-weight:700;display:grid}.entity-form input,.entity-form select{color:#263249;background:#fff;border:1px solid #d9dee7;border-radius:7px;width:100%;height:43px;padding:0 12px;font-size:14px}.entity-form input:focus,.entity-form select:focus{border-color:#a95771;outline:none;box-shadow:0 0 0 3px #8b2d4a14}.entity-form .full-field{grid-column:1/-1}.schedule-heading{justify-content:space-between;align-items:center;gap:15px;margin-top:2px;display:flex}.schedule-heading strong,.schedule-heading span{display:block}.schedule-heading strong{color:#354158;font-size:13px}.schedule-heading span{color:#778297;margin-top:3px;font-size:11px}.schedule-list{gap:9px;display:grid}.schedule-row{background:#fafbfc;border:1px solid #e2e6ec;border-radius:9px;grid-template-columns:1.2fr .85fr .85fr 1.8fr 38px;align-items:end;gap:9px;padding:13px;display:grid}.schedule-row label{color:#5e6a7f;gap:6px;font-size:10px;font-weight:700;display:grid}.schedule-row input,.schedule-row select{height:39px;font-size:12px}.schedule-row .icon-button{margin-bottom:1px}.form-error{color:#a33636;background:#fff0f0;border-radius:7px;align-items:center;gap:7px;margin:0;padding:10px 12px;font-size:11px;display:flex}.form-error svg{flex:none;width:16px}.modal-actions{border-top:1px solid #e8ebf0;justify-content:flex-end;gap:9px;padding:18px 23px 22px;display:flex}.entity-form>.modal-actions{margin:2px -23px -23px}.checkbox-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.entity-form fieldset{border:0;margin:0;padding:0}.entity-form legend{color:#39465c;margin-bottom:8px;font-size:12px;font-weight:700}.checkbox-grid label{color:#4b586f;cursor:pointer;border:1px solid #dde2e9;border-radius:7px;align-items:center;gap:9px;min-height:43px;padding:8px 10px;font-size:12px;display:flex}.checkbox-grid label.checked{color:#76253f;background:#faf1f4;border-color:#c78298}.checkbox-grid input{opacity:0;pointer-events:none;position:absolute}.custom-check{background:#fff;border:1px solid #cbd1dc;border-radius:4px;flex:none;place-items:center;width:18px;height:18px;display:grid}.checked .custom-check{color:#fff;background:#8b2d4a;border-color:#8b2d4a}.custom-check svg{width:13px}.member-form-tabs{background:#f1f3f6;border-radius:9px;gap:5px;margin:-5px 0 2px;padding:5px;display:flex}.member-form-tabs button{color:#657187;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:7px;min-height:39px;padding:8px 12px;font-size:13px;font-weight:700;display:flex}.member-form-tabs button:hover{color:#7d2a45}.member-form-tabs button.active{color:#802a46;background:#fff;box-shadow:0 2px 8px #1f273717}.member-form-tabs svg{width:17px}.financial-editor{gap:17px;display:grid}.financial-toolbar{justify-content:space-between;align-items:flex-end;gap:20px;min-height:58px;display:flex}.financial-toolbar>div strong,.financial-toolbar>div span{display:block}.financial-toolbar>div strong{color:#354158;font-size:14px}.financial-toolbar>div span{color:#778297;margin-top:4px;font-size:12px}.financial-toolbar>label,.financial-profile-grid label,.monthly-payment-row label{color:#536076;gap:6px;font-size:12px;font-weight:700;display:grid}.financial-toolbar>label{min-width:175px}.financial-toolbar select{height:40px}.financial-empty-state{background:#fafbfc;border:1px dashed #d8dce4;border-radius:10px;grid-template-columns:50px 1fr auto;align-items:center;gap:15px;min-height:142px;padding:20px;display:grid}.financial-empty-state>span{color:#8b2d4a;background:#f3e7ec;border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.financial-empty-state>span svg{width:23px}.financial-empty-state strong{color:#354158;font-size:14px}.financial-empty-state p{color:#778297;margin:5px 0 0;font-size:12px;line-height:1.5}.financial-profile-grid{background:#fafbfc;border:1px solid #e0e4ea;border-radius:9px;grid-template-columns:1fr 1fr 1fr;gap:11px;padding:15px;display:grid}.payment-list-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.payment-list-heading strong,.payment-list-heading span{display:block}.payment-list-heading strong{color:#354158;font-size:14px}.payment-list-heading span{color:#778297;margin-top:3px;font-size:12px}.payment-list-heading small{color:#667287;white-space:nowrap;background:#f0f2f5;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:800}.monthly-payment-list{gap:8px;display:grid}.monthly-payment-row{background:#fff;border:1px solid #e1e5eb;border-radius:9px;grid-template-columns:1.25fr .8fr 1fr 1.45fr;align-items:end;gap:10px;padding:12px;display:grid}.monthly-payment-row input{height:39px;font-size:13px}.monthly-payment-row input:disabled{color:#929aa8;cursor:not-allowed;background:#f3f4f6}.payment-month{align-self:center}.payment-month strong{color:#344057;margin-bottom:5px;font-size:13px;display:block}.payment-month small{color:#778297;margin-top:5px;font-size:11px;display:block}.payment-status{border-radius:999px;align-items:center;width:fit-content;min-height:22px;padding:3px 7px;font-size:10px;font-weight:800;display:inline-flex}.payment-status.paid{color:#267051;background:#e8f5ee}.payment-status.partial{color:#8a6419;background:#fff4d8}.payment-status.pending{color:#a43d3d;background:#fbe9e9}.payment-status.not-due{color:#5e6b80;background:#edf1f6}.payment-status.unconfigured{color:#705c79;background:#f1edf4}.monthly-payment-row.highlighted{border-color:#bd748b;box-shadow:0 0 0 3px #8b2d4a14}.finance-filter-panel{background:#fff;border:1px solid #e0e4eb;border-radius:10px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 8px #1e283c06}.finance-filter-panel>header{border-bottom:1px solid #e7eaf0;align-items:center;gap:13px;min-height:76px;padding:15px 20px;display:flex}.finance-filter-icon{color:#8b2d4a;background:#f3e7ec;border-radius:10px;flex:none;place-items:center;width:43px;height:43px;display:grid}.finance-filter-icon svg{width:21px}.finance-filter-panel h2{color:#263148;margin:0 0 4px;font-size:16px}.finance-filter-panel header p{color:#778297;margin:0;font-size:11px;line-height:1.5}.finance-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;padding:17px 20px 19px;display:grid}.finance-filter-grid>label{color:#536076;gap:7px;min-width:0;font-size:11px;font-weight:700;display:grid}.finance-filter-grid select,.finance-filter-grid input{color:#29354b;width:100%;height:41px;font:inherit;background:#fff;border:1px solid #dce1e8;border-radius:7px;font-size:12px}.finance-filter-grid select{padding:0 31px 0 11px}.finance-filter-grid input{padding:0 11px 0 36px}.finance-filter-grid select:focus,.finance-filter-grid input:focus{border-color:#aa6078;outline:none;box-shadow:0 0 0 3px #8b2d4a14}.finance-search-field{align-items:center;display:flex;position:relative}.finance-search-field svg{color:#7b8699;pointer-events:none;width:16px;position:absolute;left:11px}.finance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px;display:grid}.finance-summary-grid article{background:#fff;border:1px solid #e0e4eb;border-radius:10px;align-items:center;gap:14px;min-width:0;min-height:108px;padding:19px;display:flex;box-shadow:0 2px 8px #1e283c06}.finance-summary-grid article>div{min-width:0}.finance-summary-grid small,.finance-summary-grid strong,.finance-summary-grid p{display:block}.finance-summary-grid small{color:#6f7a8e;margin-bottom:4px;font-size:11px}.finance-summary-grid strong{color:#1c273d;text-overflow:ellipsis;white-space:nowrap;font-size:23px;line-height:1.2;overflow:hidden}.finance-summary-grid p{color:#8a93a4;margin:5px 0 0;font-size:9px;line-height:1.35}.finance-summary-icon{border-radius:10px;flex:none;place-items:center;width:44px;height:44px;display:grid}.finance-summary-icon svg{width:21px}.finance-summary-icon.members{color:#315e8a;background:#e9eff7}.finance-summary-icon.expected{color:#8b2d4a;background:#f3e7ec}.finance-summary-icon.collected{color:#267051;background:#e8f5ee}.finance-summary-icon.outstanding{color:#a43d3d;background:#fbe9e9}.finance-data-toolbar>div:first-child{min-width:0}.finance-data-toolbar>div:first-child p{color:#778297;margin:5px 0 0;font-size:10px;line-height:1.45}.finance-status-legend{justify-content:flex-end;align-items:center;gap:7px;display:flex}.finance-status-legend span{white-space:nowrap;border-radius:999px;align-items:center;min-height:23px;padding:3px 8px;font-size:9px;font-weight:800;display:inline-flex}.finance-status-legend .paid{color:#267051;background:#e8f5ee}.finance-status-legend .partial{color:#8a6419;background:#fff4d8}.finance-status-legend .pending{color:#a43d3d;background:#fbe9e9}.finance-overview-table{min-width:1080px}.entity-name-details{min-width:0}.entity-name-details strong,.entity-name-details small{display:block}.entity-name-details small{color:#8390a4;white-space:nowrap;margin-top:3px;font-size:10px}.money-cell{color:#445168;white-space:nowrap;font-weight:700}.money-cell.paid-amount{color:#267051}.money-cell.outstanding-amount{color:#a43d3d}.finance-overview-table td:last-child{text-align:right}.finance-open-button{color:#49566d;white-space:nowrap;background:#fff;border:1px solid #d9dee7;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.finance-open-button:hover{color:#802a46;background:#faf1f4;border-color:#bd748b}.finance-open-button svg{width:14px}.info-banner,.error-banner{color:#775c18;background:#fff9e8;border:1px solid #eadcae;border-radius:8px;align-items:center;gap:9px;min-height:48px;margin:-12px 0 18px;padding:11px 14px;font-size:12px;display:flex}.info-banner svg,.error-banner svg{flex:none;width:18px}.error-banner{color:#9b3434;background:#fff1f1;border-color:#edd1d1;margin:0 0 18px}.error-banner span{flex:1}.error-banner button{color:inherit;background:0 0;border:0;font-weight:700}.loading-state{color:#6d788b;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:420px;font-size:13px;display:flex}.loading-state svg{color:#8b2d4a;width:24px}.toast{z-index:150;color:#fff;border-radius:9px;align-items:center;gap:9px;max-width:min(390px,100vw - 44px);padding:13px 15px;font-size:12px;font-weight:600;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 35px #141b283b}.toast.success{background:#276e52}.toast.error{background:#a93a3a}.toast svg{flex:none;width:17px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=1180px){.finance-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{background:linear-gradient(155deg,#eef1f6,#fff 65%);padding:28px}.mobile-brand{margin-bottom:52px;display:flex}.mobile-brand strong{font:700 23px/1 Playfair Display,Georgia,serif}.sidebar{transition:transform .22s;transform:translate(-105%)}.sidebar.open{transform:translate(0)}.close-menu{place-items:center;display:grid}.main-column{margin-left:0}.open-menu{display:grid}.menu-overlay{z-index:19;opacity:0;pointer-events:none;background:#0e121e7a;border:0;transition:opacity .2s;display:block;position:fixed;inset:0}.menu-overlay.visible{opacity:1;pointer-events:auto}.content{padding:32px 26px 50px}.schedule-row{grid-template-columns:1.2fr 1fr 1fr 38px}.schedule-row .venue-field{grid-column:1/-2}.members-toolbar{align-items:flex-start}.member-filters{flex-wrap:wrap}.finance-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-data-toolbar{align-items:flex-start}.finance-status-legend{flex-wrap:wrap}.monthly-payment-row{grid-template-columns:1fr 1fr 1fr}.monthly-payment-row .payment-month{grid-column:1/-1}}@media (width<=640px){.login-form-panel{padding:24px 20px}.login-heading h2{font-size:28px}.topbar{height:61px;padding:0 17px}.content{padding:27px 17px 42px}.page-heading h1{font-size:29px}.summary-grid{grid-template-columns:1fr;gap:9px}.summary-grid article{min-height:94px;padding:18px}.welcome-panel{flex-direction:column;align-items:flex-start;padding:25px 21px}.page-heading.with-action{flex-direction:column;align-items:flex-start}.page-heading.with-action>button{width:100%}.data-toolbar{flex-direction:column;align-items:stretch;padding:17px}.search-field{width:100%}.member-filters{flex-direction:column;width:100%}.member-filters .search-field,.select-filter{width:100%;max-width:none}.modal-layer{align-items:flex-end;padding:0}.modal-card,.modal-card.wide{border-radius:14px 14px 0 0;width:100%;max-height:94vh}.entity-form.two-columns{grid-template-columns:1fr}.schedule-heading{flex-direction:column;align-items:flex-start}.schedule-heading .small-secondary-button{width:100%}.schedule-row{grid-template-columns:1fr 1fr 38px}.schedule-row>label:first-child{grid-column:1/-1}.schedule-row .venue-field{grid-column:1/-2}.checkbox-grid{grid-template-columns:1fr}.member-form-tabs{flex-direction:column}.financial-toolbar{flex-direction:column;align-items:stretch}.financial-toolbar>label{min-width:0}.financial-profile-grid{grid-template-columns:1fr}.financial-empty-state{grid-template-columns:42px 1fr}.financial-empty-state>span{width:42px;height:42px}.financial-empty-state .small-secondary-button{grid-column:1/-1;width:100%}.payment-list-heading{flex-direction:column;align-items:flex-start}.monthly-payment-row{grid-template-columns:1fr}.monthly-payment-row .payment-month{grid-column:auto}.finance-filter-panel>header{align-items:flex-start;padding:16px 17px}.finance-filter-grid{grid-template-columns:1fr;padding:16px 17px 18px}.finance-summary-grid{grid-template-columns:1fr;gap:9px}.finance-summary-grid article{min-height:94px;padding:17px}.finance-data-toolbar{gap:13px}.finance-status-legend{justify-content:flex-start}.schedule-panel-header{padding:14px 16px}.weekly-schedule-scroll{padding:12px;overflow:visible}.weekly-schedule-grid{grid-template-columns:1fr;min-width:0}.weekday-column{min-height:0}.toast{max-width:calc(100vw - 28px);bottom:14px;right:14px}}
