body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App-content,.App-tab-pane{display:flex;flex:1 1;flex-direction:column;min-height:0}.App-loading{align-items:center;color:#667284;display:flex;justify-content:center;min-height:100vh;min-height:100dvh}.calendar-container{background:#fff;border-radius:0;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;overscroll-behavior:contain}.calendar-header{background:linear-gradient(135deg,#11998e,#38ef7d);border-bottom:1px solid #fff3;color:#fff;padding:0 0 12px}.calendar-header h2{font-size:20px;font-weight:600;margin:0}.calendar-view-switcher--bar{display:flex;flex-wrap:nowrap;gap:0;margin:0;padding:0;width:100%}.calendar-view-switcher--bar .calendar-view-btn{border:none;border-radius:0;border-right:1px solid #ffffff59;flex:1 1;font-weight:600;line-height:1.2;margin:0;min-width:0;padding:10px 6px;text-align:center}.calendar-view-switcher--bar .calendar-view-btn:first-child{border-left:none}.calendar-view-switcher--bar .calendar-view-btn:last-child{border-right:none}.calendar-view-switcher--bar-mobile .calendar-view-btn{font-size:12px;padding:10px 4px}.calendar-view-btn{background:#ffffff26;border:1px solid #fff6;color:#fff;cursor:pointer;transition:background .2s,border-color .2s}.calendar-view-btn:hover{background:#ffffff40}.calendar-view-btn--active{background:#ffffffe6;border-color:#fff;color:#11998e}.calendar-nav-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:background .2s;width:36px}.calendar-nav-btn:hover{background:#ffffff59}.calendar-nav-btn--today{font-size:13px;padding:0 12px;width:auto}.calendar-header-period-row{grid-gap:8px;display:grid;grid-template-columns:36px minmax(0,1fr) 36px auto;margin-top:10px;padding:0 14px}.calendar-header-period-row--mobile{grid-template-columns:1fr;justify-items:center;padding:0 12px;text-align:center}.calendar-header-period-row--mobileNav{gap:6px;grid-template-columns:32px minmax(0,1fr) 32px auto;margin-top:8px;padding:0 4px}.calendar-header-period-center{min-width:0;text-align:center}.calendar-header-period-text{display:block;font-size:15px;font-weight:600;line-height:1.3}.calendar-header-period-line{align-items:baseline;display:inline-flex;flex-wrap:wrap;gap:.35em .5em;justify-content:center;line-height:1.25}.calendar-header-period-primary{font-size:15px;font-weight:600}.calendar-header-period-sub{font-size:12px;font-weight:500;opacity:.9}.calendar-header-period-year{font-size:11px;font-weight:500;opacity:.88}.calendar-content{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:0}.calendar-content--day,.calendar-content--month,.calendar-content--week{padding:0}.calendar-content--day,.calendar-content--week{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;touch-action:pan-y}.calendar-content--month{overflow-x:auto}.calendar-empty,.calendar-loading{color:#666;font-size:15px;padding:24px;text-align:center}.calendar-error{color:#c33;font-size:14px;padding:24px;text-align:center}.calendar-retry{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:14px;margin:12px auto 0;padding:8px 16px}.calendar-retry:hover{background:#5a6fd6}.calendar-events-list-wrapper{display:flex;flex-direction:column;gap:20px}.calendar-list-group{display:flex;flex-direction:column;gap:8px}.calendar-list-group-title{border-bottom:2px solid #e8f8f5;color:#11998e;font-size:15px;font-weight:600;margin:0;padding-bottom:4px}.calendar-events-list{list-style:none;margin:0;padding:0}.calendar-event{background:#f8f9fa;border-left:4px solid #38ef7d;border-radius:8px;margin-bottom:8px;padding:12px 16px}.calendar-event--clickable{cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.calendar-event--clickable:hover{background:#e8f8f5;box-shadow:0 2px 8px #11998e33;transform:translateX(2px)}.calendar-event-title{color:#333;font-size:15px;font-weight:600;margin-bottom:4px}.calendar-event-time{color:#666;font-size:13px}.calendar-event-desc{color:#888;font-size:13px;line-height:1.4;margin-top:6px}.calendar-month-grid{grid-gap:1px;background:#e0e0e0;border:1px solid #e0e0e0;border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-month-weekday{background:#f5f5f5;color:#555;font-weight:600;text-align:center}.calendar-month-day{background:#fff;display:flex;flex-direction:column;min-height:90px;padding:6px}.calendar-month-day--other{background:#fafafa}.calendar-month-day--today{background:#e8f8f5}.calendar-month-day-num{color:#333;font-size:13px;font-weight:600;margin-bottom:4px}.calendar-month-day--other .calendar-month-day-num{color:#999}.calendar-month-day-events{flex:1 1;overflow:hidden}.calendar-month-event{background:#d4edda;color:#155724;font-size:11px;margin-bottom:2px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.calendar-month-event--clickable{cursor:pointer;transition:background .15s ease,transform .15s ease}.calendar-month-event--clickable:hover{background:#b8e6ce;transform:scale(1.03)}.calendar-month-event--more{background:#cce5ff;color:#004085;font-weight:500}.calendar-time-grid{display:flex;gap:0}.calendar-content--day .calendar-time-grid,.calendar-content--week .calendar-time-grid{align-items:stretch;flex:1 1;min-height:0;min-width:0;width:100%}.calendar-time-col{display:flex;flex-direction:column;flex-shrink:0;min-width:120px}.calendar-content--day .calendar-time-col,.calendar-content--week .calendar-time-col{flex:1 1;min-height:0;min-width:0}.calendar-content--day .calendar-time-col--header,.calendar-content--week .calendar-time-col--header{flex:0 0 auto}.calendar-time-grid--day .calendar-time-col:not(.calendar-time-col--header){min-width:200px}.calendar-time-col--header{min-width:48px}.calendar-time-cell{border-bottom:1px solid #eee;box-sizing:border-box;font-size:12px;padding:4px 6px}.calendar-time-cell--corner,.calendar-time-cell--day{flex:0 0 36px;height:36px;min-height:36px}.calendar-time-slots{display:flex;flex:1 1;flex-direction:column;min-height:0;touch-action:pan-y}.calendar-time-slots .calendar-time-slot,.calendar-time-slots--header .calendar-time-cell--hour{flex:1 1;min-height:24px}.calendar-time-cell--corner{border-bottom:1px solid #ddd}.calendar-time-cell--hour{color:#888;font-size:11px}.calendar-time-cell--day{align-items:center;background:#f9f9f9;border-right:1px solid #e0e0e0;color:#333;display:flex;flex-direction:column;font-weight:600;justify-content:center}.calendar-time-cell--today{background:#e8f8f5;color:#11998e}.calendar-time-day-num{font-size:16px}.calendar-time-day-wd{color:#777;font-size:10px;font-weight:400}.calendar-time-slot{border-right:1px solid #eee}.calendar-time-col--with-events{position:relative}.calendar-time-events-layer{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:36px}.calendar-time-events-layer .calendar-time-event{pointer-events:auto}.calendar-time-event{background:#d4edda;border-radius:4px;box-sizing:border-box;color:#155724;cursor:pointer;display:flex;flex-direction:column;font-size:11px;justify-content:flex-start;left:2px;min-height:20px;overflow:hidden;padding:4px 8px;position:absolute;right:2px;touch-action:pan-y;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.calendar-time-event-content{line-height:1.35;min-width:0;overflow:hidden}.calendar-time-event:hover{background:#b8e6ce;box-shadow:0 2px 8px #11998e59;transform:scale(1.02);z-index:2}.calendar-time-event:focus{outline:2px solid #11998e;outline-offset:1px;z-index:2}.calendar-time-event--shift-top{cursor:n-resize}.calendar-time-event--shift-body{cursor:move}.calendar-time-event--shift-bottom{cursor:s-resize}.calendar-time-event--dragging{opacity:.4;pointer-events:none}.calendar-time-event--ghost{background:#11998e80;border:2px dashed #11998e;pointer-events:none;z-index:3}.calendar-time-event-time{float:left;font-weight:600;margin-right:4px;white-space:nowrap}.calendar-time-event-title{word-wrap:break-word;display:block;min-width:0;overflow-wrap:break-word;white-space:normal}.calendar-content::-webkit-scrollbar{height:8px;width:8px}.calendar-content::-webkit-scrollbar-track{background:#f1f1f1}.calendar-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.calendar-time-selection-layer{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:36px}.calendar-time-selection{background:#11998e40;border:1px solid #11998e80;border-radius:4px;left:2px;position:absolute;right:2px}.calendar-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.calendar-modal{background:#fff;box-shadow:0 8px 32px #0003;min-width:320px;padding:24px}.calendar-modal h3{color:#333;font-size:18px;margin:0 0 20px}.calendar-form-row{margin-bottom:16px}.calendar-form-row label{color:#555;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.calendar-form-row input,.calendar-form-row textarea{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;padding:8px 12px;width:100%}.calendar-form-datetime{background:#f5f5f5;border-radius:8px;color:#555;font-size:14px;padding:8px 12px}.calendar-form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:20px}.calendar-modal--edit .calendar-form-actions{justify-content:space-between}.calendar-form-actions-right{display:flex;gap:12px}.calendar-form-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px}.calendar-form-btn--cancel{background:#eee;color:#555}.calendar-form-btn--cancel:hover{background:#e0e0e0}.calendar-form-btn--submit{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.calendar-form-btn--submit:hover{opacity:.9}.calendar-form-btn--danger{background:#dc3545;color:#fff}.calendar-form-btn--danger:hover{background:#c82333}.calendar-time-slots{cursor:crosshair;-webkit-user-select:none;user-select:none}@media (max-width:768px){.calendar-content,.calendar-content--day,.calendar-content--list,.calendar-content--month,.calendar-content--week{overflow-x:hidden}.calendar-content--month{box-sizing:border-box;display:flex;flex-direction:column;overflow-y:auto;padding:8px;width:100%}.calendar-month-grid{aspect-ratio:1;flex-shrink:0;grid-template-rows:repeat(7,minmax(0,1fr));width:100%}.calendar-month-weekday{font-size:10px;padding:2px}.calendar-month-day{min-height:0;overflow:hidden;padding:2px}.calendar-month-day-num{font-size:11px;margin-bottom:2px}.calendar-month-day-events{display:flex;flex-direction:column;gap:1px}.calendar-month-event{font-size:9px;line-height:1.2;margin-bottom:0;overflow:hidden;padding:1px 4px;text-overflow:ellipsis;white-space:nowrap}.calendar-modal-overlay{align-items:stretch;justify-content:stretch}.calendar-modal{border-radius:0;box-sizing:border-box;height:100%;max-width:none;min-height:100%;overflow-y:auto;width:100%}.calendar-content--day .calendar-time-grid,.calendar-content--week .calendar-time-grid{min-height:min(70vh,640px);width:100%}.calendar-content--day .calendar-time-slots,.calendar-content--day .calendar-time-slots--header,.calendar-content--week .calendar-time-slots,.calendar-content--week .calendar-time-slots--header{min-height:480px}.calendar-content--day .calendar-time-slots .calendar-time-slot,.calendar-content--day .calendar-time-slots--header .calendar-time-cell--hour,.calendar-content--week .calendar-time-slots .calendar-time-slot,.calendar-content--week .calendar-time-slots--header .calendar-time-cell--hour{flex:1 1;min-height:24px}.calendar-time-col,.calendar-time-grid--day .calendar-time-col:not(.calendar-time-col--header){min-width:0}.calendar-time-cell{font-size:10px;padding:2px 4px}.calendar-time-cell--corner,.calendar-time-cell--day{flex:0 0 28px;height:28px;min-height:32px}.calendar-time-event{font-size:9px;min-height:16px;padding:2px 4px}.calendar-time-event-time{font-size:9px;margin-right:2px}.calendar-time-event-title{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-time-events-layer,.calendar-time-selection-layer{top:28px}.calendar-day-detail-overlay{background:#fff;inset:0;position:fixed;z-index:999}.calendar-day-detail,.calendar-day-detail-overlay{display:flex;flex-direction:column;overflow:hidden}.calendar-day-detail{height:100%}.calendar-day-detail-header{background:#f9f9f9;border-bottom:1px solid #e5e5e5;flex-shrink:0;padding:12px 16px}.calendar-day-detail-back{background:none;border:none;color:#11998e;cursor:pointer;display:block;font-size:14px;margin-bottom:8px;padding:4px 0}.calendar-day-detail-title{color:#333;font-size:16px;font-weight:600;margin:0}.calendar-day-detail-list{flex:1 1;list-style:none;margin:0;overflow-y:auto;padding:12px}.calendar-day-detail-empty{color:#666;padding:16px;text-align:center}.calendar-month-day--clickable{cursor:pointer}}.Finance{background:#f4f5f8;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:16px 20px}.Finance-header{align-items:flex-start;display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.Finance-headerMain{min-width:0}.Finance-title{color:#1a1d26;font-size:1.35rem;font-weight:700;margin:0}.Finance-subtitle{color:#6b7280;font-size:.875rem;margin:4px 0 0}.Finance-headerActions{display:flex;flex-wrap:wrap;gap:8px}.Finance-tabs{background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-shrink:0;gap:4px;margin-bottom:12px;overflow-x:auto;padding:4px}.Finance-tab{background:#0000;border:none;border-radius:8px;color:#4b5563;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;white-space:nowrap}.Finance-tab:hover{background:#f3f4f6;color:#1f2937}.Finance-tab--active{background:#667eea;color:#fff}.Finance-tab--active:hover{background:#5a6fd6;color:#fff}.Finance-body{flex:1 1;min-height:0;overflow:auto}.Finance-banner{border-radius:8px;flex-shrink:0;font-size:.875rem;margin-bottom:10px;padding:10px 14px}.Finance-banner--error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.Finance-banner--ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.Finance-btn{background:#667eea;border:1px solid #667eea;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px}.Finance-btn:hover:not(:disabled){background:#5a6fd6}.Finance-btn:disabled{cursor:not-allowed;opacity:.6}.Finance-btn--ghost{border-color:#d1d5db;color:#4b5563}.Finance-btn--ghost:hover:not(:disabled){background:#f9fafb;color:#1f2937}.Finance-btn--danger{background:#dc2626;border-color:#dc2626}.Finance-btn--danger:hover:not(:disabled){background:#b91c1c}.Finance-linkBtn{background:none;border:none;color:#667eea;cursor:pointer;font-size:.8125rem;margin-right:10px;padding:0;text-decoration:underline}.Finance-linkBtn:last-child{margin-right:0}.Finance-linkBtn--danger{color:#dc2626}.Finance-iconBtn{background:#f3f4f6;border:none;border-radius:6px;color:#4b5563;cursor:pointer;font-size:1.25rem;height:32px;line-height:1;width:32px}.Finance-empty,.Finance-loading{color:#6b7280;font-size:.875rem;padding:24px;text-align:center}.Finance-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.Finance-panelToolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.Finance-panelToolbar h3{color:#374151;flex:1 1;font-size:1rem;font-weight:600;margin:0;min-width:120px}.Finance-panelToolbar--wrap .Finance-filters{flex:1 1 100%}.Finance-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.Finance-filter{color:#6b7280;display:flex;flex-direction:column;font-size:.75rem;gap:4px}.Finance-filter input,.Finance-filter select{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:6px 8px}.Finance-filter--check{align-items:center;flex-direction:row;font-size:.8125rem;gap:6px;padding-top:18px}.Finance-tableWrap{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.Finance-table{border-collapse:collapse;font-size:.875rem;width:100%}.Finance-table td,.Finance-table th{border-bottom:1px solid #f3f4f6;padding:10px 12px;text-align:left;vertical-align:top}.Finance-table th{background:#f9fafb;color:#4b5563;font-weight:600;white-space:nowrap}.Finance-table tbody tr:last-child td{border-bottom:none}.Finance-table tbody tr:hover{background:#fafbfc}.Finance-row--disabled{opacity:.65}.Finance-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.Finance-num--pos{color:#047857}.Finance-num--neg{color:#b91c1c}.Finance-muted{color:#9ca3af;font-size:.75rem;margin-top:2px}.Finance-note{color:#6b7280;font-size:.8125rem;max-width:200px}.Finance-warn{color:#b45309;font-weight:500}.Finance-actionsCell,.Finance-status{white-space:nowrap}.Finance-status{align-items:center;background:#f3f4f6;border-radius:999px;color:#374151;display:inline-flex;font-size:.75rem;font-weight:600;padding:3px 8px}.Finance-status--pending{background:#fef3c7;color:#92400e}.Finance-status--confirmed{background:#d1fae5;color:#065f46}.Finance-status--paid_elsewhere{background:#dbeafe;color:#1e40af}.Finance-status--skipped{background:#f3f4f6;color:#6b7280}.Finance-status--corrected{background:#ede9fe;color:#5b21b6}.Finance-overview{display:flex;flex-direction:column;gap:16px}.Finance-statGrid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.Finance-statCard{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:16px}.Finance-statCard--accent{background:linear-gradient(135deg,#eef2ff,#fff);border-color:#c7d2fe}.Finance-statLabel{color:#6b7280;font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.Finance-statValue{color:#1f2937;font-size:1.5rem;font-weight:700}.Finance-alert{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.875rem;padding:12px 14px}.Finance-quickActions{display:flex;gap:8px}.Finance-cardGrid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.Finance-accountCard{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px}.Finance-accountCard-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.Finance-accountCard-head h4{color:#1f2937;font-size:1rem;margin:0}.Finance-badge{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:.7rem;padding:2px 8px}.Finance-accountCard-balance{color:#667eea;font-size:1.35rem;font-weight:700;margin:0}.Finance-accountCard-meta{color:#6b7280;font-size:.8125rem;margin:0}.Finance-accountCard-actions{display:flex;gap:12px;margin-top:4px}.Finance-modalBackdrop{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.Finance-modal{background:#fff;border-radius:12px;box-shadow:0 20px 50px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:420px;overflow:hidden;width:100%}.Finance-modal--wide{max-width:560px}.Finance-modalHeader{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 18px}.Finance-modalHeader h3{font-size:1.05rem;margin:0}.Finance-modalBody{overflow:auto;padding:16px 18px}.Finance-form{display:flex;flex-direction:column;gap:12px}.Finance-formGrid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.Finance-field{display:flex;flex-direction:column;gap:6px}.Finance-field input,.Finance-field select,.Finance-field textarea{border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;padding:8px 10px}.Finance-field--check{align-items:center;flex-direction:row;gap:8px}.Finance-label{color:#4b5563;font-size:.75rem;font-weight:600}.Finance-scheduleForm{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:10px;padding:12px}.Finance-formActions{border-top:1px solid #f3f4f6;display:flex;gap:8px;justify-content:flex-end;margin-top:8px;padding-top:12px}.Finance-confirmText{color:#4b5563;font-size:.875rem;line-height:1.5;margin:0 0 8px}.Finance-hint{color:#9ca3af;font-size:.75rem;margin:0}@media (max-width:768px){.Finance{padding:10px 12px}.Finance-formGrid{grid-template-columns:1fr}.Finance-table td,.Finance-table th{font-size:.8rem;padding:8px}.Finance-actionsCell .Finance-linkBtn{display:block;margin:4px 0}}.Reminders{display:flex;flex-direction:column;height:100%;min-height:0;padding:12px}.Reminders-toolbar{flex-shrink:0;gap:12px;margin-bottom:12px}.Reminders-period,.Reminders-toolbar{align-items:center;display:flex;flex-wrap:wrap}.Reminders-period{gap:10px}.Reminders-periodLabel{align-items:center;color:#444;display:inline-flex;font-size:.875rem;gap:6px}.Reminders-periodInput{border:1px solid #ccc;border-radius:6px;color:#333;font-size:.875rem;padding:6px 8px}.Reminders-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.Reminders-btn{background:#667eea;border:1px solid #667eea;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;padding:8px 16px}.Reminders-btn:hover{background:#5a6fd6}.Reminders-btn:disabled{cursor:not-allowed;opacity:.65}.Reminders-error{background:#fee;border-radius:8px;color:#c00;margin-bottom:12px;padding:12px}.Reminders-empty,.Reminders-loading{color:#666;padding:24px;text-align:center}.Reminders-list{margin:0;overflow-y:auto;padding:0}.Reminders-group{background:#fff;border:1px solid #e5e5e5;border-radius:8px;margin-bottom:20px;overflow:hidden}.Reminders-groupHeader{background:#f5f5f5;border-bottom:1px solid #e5e5e5;color:#333;font-size:1rem;font-weight:600;padding:10px 16px}.Reminders-groupList{list-style:none;margin:0;padding:8px 0}.Reminders-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;font-size:.9375rem;gap:16px;justify-content:space-between;padding:10px 16px}.Reminders-itemMain{flex:1 1;min-width:0}.Reminders-itemTimeRow{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:4px}.Reminders-itemDue{color:#333;font-size:1rem}.Reminders-itemDue strong{color:#667eea;font-weight:600}.Reminders-status{border-radius:999px;font-size:.75rem;font-weight:600;padding:2px 8px;white-space:nowrap}.Reminders-status--queued{background:#eef2ff;color:#4c51bf}.Reminders-status--sent{background:#e6fffa;color:#276749}.Reminders-itemSentDetail{color:#888;font-size:.75rem;margin-bottom:4px}.Reminders-itemAside{color:#999;flex:0 0 220px;font-size:.75rem;line-height:1.35;max-width:34%;text-align:right;white-space:pre-wrap;word-break:break-word}.Reminders-itemAside--placeholder{color:#aaa;font-style:italic}.Reminders-item:last-child{border-bottom:none}.Reminders-itemContent{color:#555;margin-bottom:4px}.Reminders-itemMeta{color:#888;font-size:.8rem}.Reminders-itemRule{color:#666}@media (max-width:768px){.Reminders{padding:8px}.Reminders-toolbar{flex-wrap:wrap;gap:8px}.Reminders-title{font-size:1.1rem}.Reminders-groupHeader{font-size:.9375rem;padding:8px 12px}.Reminders-period{width:100%}.Reminders-item{align-items:stretch;flex-direction:column;font-size:.875rem;padding:6px 12px}.Reminders-itemAside{border-top:1px solid #f0f0f0;flex:none;margin-top:4px;max-width:none;padding-top:8px;text-align:left}.Reminders-itemMeta{font-size:.75rem}}.login-page{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;max-width:360px;padding:2.5rem;width:100%}.login-form{display:flex;flex-direction:column;gap:1rem}.login-input{background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;color:#fff;font-size:1rem;padding:.75rem 1rem}.login-input::placeholder{color:#fff6}.login-input:focus{border-color:#6366f199;box-shadow:0 0 0 2px #6366f133;outline:none}.login-button{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:opacity .2s}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.login-page{padding:12px}.login-card{padding:1.5rem}}:root{--surface:#fff;--canvas:#f5f6f8;--ink:#222b38;--muted:#667284;--line:#e2e7ee;--accent:#435cc7;--accent-soft:#edf0fc;--radius:12px}body{-webkit-font-smoothing:antialiased;background:#f5f6f8;background:var(--canvas);color:#222b38;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;margin:0}*{box-sizing:border-box;scrollbar-color:#bcc4d1 #0000;scrollbar-width:thin}button,input,select,textarea{font-family:inherit}button{touch-action:manipulation}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #435cc7;outline:3px solid var(--accent);outline-offset:3px}.App-content,.Finance-body,.Finance-modalBody,.Reminders-list,.Shell-sidebar,.calendar-content,.calendar-modal,html{overscroll-behavior:contain;scroll-behavior:smooth}.Shell.App{display:flex;flex-direction:row;height:100vh;height:100dvh;min-height:0;overflow:hidden;padding:0}.Shell-sidebar{background:#fff;background:var(--surface);border-right:1px solid #e2e7ee;border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;overflow:auto;padding:28px 16px 16px;width:224px}.Shell-brand{align-items:center;display:flex;font-weight:650;gap:10px;margin-bottom:36px;padding:0 8px}.Shell-brand small{color:#667284;color:var(--muted);display:block;font-size:11px;font-weight:400;margin-top:4px}.Shell-brand-mark{background:#435cc7;background:var(--accent);border-radius:9px;color:#fff;display:grid;height:32px;place-items:center;width:32px}.Shell-link{align-items:center;background:#0000;border:0;border-radius:9px;color:#667284;color:var(--muted);cursor:pointer;display:flex;font-size:14px;gap:12px;margin-bottom:5px;min-height:46px;padding:13px 12px;text-align:left;width:100%}.Shell-link:hover{background:#f5f6f8;background:var(--canvas)}.Shell-link.is-active{background:#edf0fc;background:var(--accent-soft);color:#435cc7;color:var(--accent);font-weight:600}.Shell-link svg{flex-shrink:0}.Shell-admin{margin-top:36px}.Shell-admin .Shell-link{font-size:13px}.Shell-caption{color:#667284;color:var(--muted);font-size:10px;letter-spacing:.12em;margin-bottom:10px;padding:0 12px;text-transform:uppercase}.Shell-profile{border-top:1px solid #e2e7ee;border-top:1px solid var(--line);display:flex;flex-direction:column;font-size:13px;gap:12px;margin-top:auto;overflow-wrap:anywhere;padding:20px 10px 0}.Shell-profile label{color:#667284;color:var(--muted);display:flex;flex-direction:column;gap:6px}.Shell-profile select{color:#222b38;color:var(--ink);min-width:0;padding:10px 6px;width:100%}.Shell-profile select,.Shell-secondary{background:#fff;background:var(--surface);border:1px solid #e2e7ee;border:1px solid var(--line);border-radius:8px}.Shell-secondary{color:#667284;color:var(--muted);cursor:pointer;min-height:44px;padding:10px 12px}.Shell-main.App-content{margin:0;max-width:none;min-width:0;overflow:hidden;padding:0 32px 24px;width:calc(100% - 224px)}.Shell-breadcrumb{align-items:center;color:#667284;color:var(--muted);display:flex;flex-shrink:0;font-size:12px;gap:12px;height:56px;justify-content:space-between}.Shell-breadcrumb>div span{color:#abb4c2}.Shell-logout{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e7ee;border:1px solid var(--line);border-radius:8px;color:#667284;color:var(--muted);cursor:pointer;display:inline-flex;gap:7px;justify-content:center;min-height:40px;padding:8px 12px}.Shell-logout:hover{background:#edf0fc;background:var(--accent-soft);color:#222b38;color:var(--ink)}.App-tab-pane{min-width:0}.App-tab-pane[hidden]{display:none}.Finance,.Reminders,.calendar-container{background:#fff;background:var(--surface);border:1px solid #e2e7ee;border:1px solid var(--line);border-radius:12px;border-radius:var(--radius);box-shadow:none;min-height:0;overflow:hidden}.Finance,.Reminders{padding:24px}.calendar-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:24px 24px 16px}.Finance-title,.Reminders-title,.calendar-heading h2{color:#222b38;color:var(--ink);font-size:23px;font-weight:650;letter-spacing:-.5px;margin:0}.Finance-subtitle,.calendar-heading p{color:#667284;color:var(--muted);font-size:13px;margin:6px 0 0}.calendar-header{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);color:#222b38;color:var(--ink);display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:0 24px 16px}.calendar-view-switcher--bar{background:#f5f6f8;background:var(--canvas);border-radius:9px;gap:4px;padding:4px;width:auto}.calendar-view-switcher--bar .calendar-view-btn{background:#0000;border:0!important;border-radius:6px;color:#667284;color:var(--muted);flex:none;font-size:13px;min-height:38px;padding:9px 12px}.calendar-view-switcher--bar .calendar-view-btn--active{background:#fff;background:var(--surface);color:#435cc7;color:var(--accent)}.calendar-view-switcher--bar .calendar-view-btn:hover{background:#edf0fc;background:var(--accent-soft)}.calendar-header-period-row{align-items:center;display:flex;gap:8px;margin:0}.calendar-header-period-primary,.calendar-header-period-sub,.calendar-header-period-text,.calendar-header-period-year,.calendar-nav-btn{color:#222b38;color:var(--ink)}.calendar-nav-btn{background:#fff;background:var(--surface);border:1px solid #e2e7ee;border:1px solid var(--line);min-height:40px;min-width:40px}.calendar-nav-btn:hover{background:#edf0fc;background:var(--accent-soft)}.calendar-content{min-height:0;overflow:auto;padding:20px}.calendar-content--month{display:block;overflow:auto}.calendar-month-grid{aspect-ratio:1;background:#e2e7ee;background:var(--line);border-color:#e2e7ee;border-color:var(--line);border-radius:10px;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:34px repeat(6,minmax(0,1fr));grid-template-rows:34px repeat(var(--week-count,6),minmax(0,1fr));margin:0 auto;width:min(100%,940px)}.calendar-month-day{cursor:pointer;min-height:0;min-width:0;overflow:hidden;padding:10px}.calendar-month-day--today,.calendar-month-day:hover{background:#edf0fc;background:var(--accent-soft)}.calendar-month-day-num{font-size:14px;margin-bottom:8px}.calendar-month-day--today .calendar-month-day-num{color:#435cc7;color:var(--accent);font-weight:700}.calendar-month-weekday{background:#f8f9fb;font-size:12px;padding:8px}.calendar-month-event{background:#f5f6f8;background:var(--canvas);border-left:2px solid #435cc7;border-left:2px solid var(--accent);border-radius:4px;color:#222b38;color:var(--ink);font-size:12px;margin-bottom:4px;padding:5px 6px}.calendar-month-day--today .calendar-month-event{background:#fff;background:var(--surface)}.calendar-month-event--more{background:#0000;border:0;color:#435cc7;color:var(--accent)}.calendar-agenda{margin:auto;max-width:850px}.calendar-agenda-week{display:flex;gap:8px;justify-content:space-between;padding-bottom:24px}.calendar-agenda-week button{align-items:center;background:#f5f6f8;background:var(--canvas);border:0;border-radius:10px;color:#667284;color:var(--muted);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:10px;min-width:0;padding:12px 4px}.calendar-agenda-week button strong{font-size:19px}.calendar-agenda-week button.is-active{background:#435cc7;background:var(--accent);color:#fff}.calendar-agenda-event{align-items:flex-start;background:#0000;border:0;border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);color:#222b38;color:var(--ink);cursor:pointer;display:flex;gap:20px;padding:22px 0;text-align:left;width:100%}.calendar-agenda-event time{color:#435cc7;color:var(--accent);font-weight:600;min-width:44px}.calendar-agenda-event small{color:#667284;color:var(--muted);display:block;font-size:12px;font-weight:400;margin-top:6px}.calendar-agenda-event div{flex:1 1;min-width:0;overflow-wrap:anywhere}.calendar-agenda-event p{color:#667284;color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:0;white-space:pre-wrap}.calendar-agenda h3{font-size:17px}.calendar-event{border-color:#e2e7ee;border-color:var(--line);box-shadow:none}.Finance-btn,.Reminders-btn{background:#435cc7;background:var(--accent);border-color:#435cc7;border-color:var(--accent);border-radius:8px;min-height:42px}.Finance-btn:hover:not(:disabled),.Reminders-btn:hover:not(:disabled){background:#354aaa}.Finance-btn--ghost{background:#fff;background:var(--surface);border-color:#e2e7ee;border-color:var(--line);color:#222b38;color:var(--ink)}.Finance-btn--ghost:hover:not(:disabled){background:#f5f6f8;background:var(--canvas)}.Finance-btn--danger{background:#b93838;border-color:#b93838}.Finance-tabs{background:#f5f6f8;background:var(--canvas);border:0;margin:12px 0 20px;max-width:100%;width:fit-content}.Finance-tab--active,.Finance-tab--active:hover{background:#fff;background:var(--surface);color:#435cc7;color:var(--accent)}.Finance-body{padding-right:4px}.Finance-headerActions{align-items:center}.Finance-field input,.Finance-field select,.Finance-field textarea,.Reminders-periodInput{background:#fff;background:var(--surface);border-color:#e2e7ee;border-color:var(--line);color:#222b38;color:var(--ink);min-height:44px}.Finance-label{font-size:13px}.Finance-table{font-size:14px}.Finance-table th{background:#f5f6f8;background:var(--canvas)}.Finance-table td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;vertical-align:middle}.Finance-table .Finance-groupRow td{background:#f3f6fb;color:#26364d;font-weight:700;letter-spacing:.01em;padding:10px 14px}.Finance-table .Finance-groupRow span{color:#78869b;font-weight:500;margin-left:6px}.Finance-groupBadge{background:#eef2ff;border-radius:999px;color:#4555a5;display:inline-flex;font-size:11px;font-style:normal;font-weight:700;margin:3px 0;padding:2px 8px;width:fit-content}.Finance-linkBtn{min-height:36px;text-decoration:none}.Finance-modalBackdrop{justify-content:flex-end;padding:0}.Finance-modal,.Finance-modal--wide{border-radius:0;box-shadow:none;height:100%;max-height:100dvh;max-width:560px;width:100%}.Finance-modalHeader{padding:22px 24px}.Finance-modalBody{flex:1 1;min-height:0;padding:24px}.Finance-formActions{background:#fff;background:var(--surface);bottom:-24px;margin-bottom:-12px;padding:16px 0;position:sticky}.Finance-iconBtn{min-height:44px;min-width:44px}.PaymentOverview{max-width:1080px}.PaymentOverview-period{align-items:center;color:#667284;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:16px;padding:4px 0 24px}.PaymentOverview-period label{align-items:center;display:flex;gap:12px}.PaymentOverview-period input{background:#fff;background:var(--surface);border:1px solid #e2e7ee;border:1px solid var(--line);border-radius:8px;color:#222b38;color:var(--ink);font:inherit;min-height:44px;padding:10px}.PaymentOverview-summary{border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);display:flex;gap:32px;justify-content:space-between;padding:12px 0 32px}.PaymentOverview-summary p{color:#667284;color:var(--muted);font-size:14px;margin:0 0 12px}.PaymentOverview-total{font-feature-settings:"tnum";font-size:32px;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-1px}.PaymentOverview-summary small{color:#667284;color:var(--muted);display:block;font-size:12px;margin-top:12px}.PaymentOverview-monthly{border-left:1px solid #e2e7ee;border-left:1px solid var(--line);max-width:40%;padding-left:28px}.PaymentOverview-monthly strong{font-feature-settings:"tnum";display:block;font-size:20px;font-variant-numeric:tabular-nums}.PaymentOverview h3{font-size:16px;font-weight:600;margin:28px 0 12px}.PaymentOverview h3 span{color:#667284;color:var(--muted);font-size:12px;margin-left:8px}.PaymentOverview-row{align-items:center;background:#0000;border:0;border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);color:#222b38;color:var(--ink);cursor:pointer;display:flex;font-size:14px;gap:20px;justify-content:space-between;padding:18px 4px;text-align:left;width:100%}.PaymentOverview-row:hover{background:#f5f6f8;background:var(--canvas)}.PaymentOverview-row>div{flex:1 1;min-width:0;overflow-wrap:anywhere}.PaymentOverview-row b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.PaymentOverview-account small,.PaymentOverview-row small{color:#667284;color:var(--muted);display:block;font-size:13px;margin-top:6px}.PaymentOverview-account{border:1px solid #e2e7ee;border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:20px}.PaymentOverview-accountHead{align-items:center;display:flex;gap:12px;justify-content:space-between}.PaymentOverview-consumption{background:#0000;border:0;border-top:1px solid #e2e7ee;border-top:1px solid var(--line);color:#667284;color:var(--muted);cursor:pointer;display:flex;flex-wrap:wrap;font-size:13px;gap:16px;justify-content:space-between;margin-top:16px;padding:14px 0 0;text-align:left;width:100%}.PaymentOverview-attention{color:#98600d;display:block;font-size:12px;margin-top:10px}.PaymentOverview-empty,.PaymentOverview-loading{color:#667284;color:var(--muted);line-height:1.6;padding:20px 0}.Reminders-toolbar{border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);padding-bottom:20px}.Reminders-period{margin-left:auto}.Reminders-groupHeader{background:#f5f6f8;background:var(--canvas);border-radius:8px;color:#222b38;color:var(--ink)}.Reminders-item{border-color:#e2e7ee;border-color:var(--line)}.Shell-backdrop{background:#141c2c4d;border:0;inset:0;position:fixed;z-index:2100}.Shell-more{background:#fff;background:var(--surface);bottom:0;overflow:auto;padding:24px;position:fixed;right:0;top:0;width:min(90%,380px);z-index:2101}.Shell-more-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.Shell-more .Shell-profile{margin-bottom:24px}@media (min-width:769px) and (max-width:1100px){.Shell-sidebar{width:190px}.Shell-main.App-content{padding:0 20px 20px;width:calc(100% - 190px)}.calendar-header{gap:12px}.Shell-brand{font-size:14px;padding:0}}@media (max-width:768px){.Shell.App{flex-direction:column}.Shell-main.App-content{max-width:none;padding:0 0 calc(72px + env(safe-area-inset-bottom));width:100%}.Shell-mobile-header{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);display:flex;flex-shrink:0;font-size:14px;font-weight:600;gap:12px;justify-content:space-between;padding:max(8px,env(safe-area-inset-top)) 16px 8px}.Shell-mobile-header button{font-size:12px}.Shell-mobile-actions{align-items:center;display:flex;gap:8px}.Shell-mobile-actions .Shell-logout{padding:8px;width:44px}.Shell-breadcrumb{display:none}.Shell-bottom{background:#fff;background:var(--surface);border-top:1px solid #e2e7ee;border-top:1px solid var(--line);bottom:0;display:flex;left:0;min-height:72px;padding:6px 12px max(6px,env(safe-area-inset-bottom));position:fixed;right:0;z-index:100}.Shell-bottom .Shell-link{flex:1 1;flex-direction:column;font-size:12px;gap:5px;justify-content:center;margin:0;padding:8px 4px;text-align:center}.Finance,.Reminders,.calendar-container{border:0;border-radius:0}.Finance,.Reminders{padding:20px 16px 0}.calendar-heading{padding:20px 16px 16px}.Finance-title,.Reminders-title,.calendar-heading h2{font-size:22px}.calendar-heading p{display:none}.calendar-heading button{white-space:nowrap}.calendar-header{gap:12px;padding:0 16px 14px}.calendar-view-switcher--bar{overflow-x:auto;width:100%}.calendar-view-switcher--bar .calendar-view-btn{flex:1 1;font-size:12px;min-height:42px;padding:10px 6px}.calendar-header-period-row{margin:0;width:100%}.calendar-header-period-center{min-width:0}.calendar-nav-btn{min-height:44px;min-width:44px}.calendar-content{padding:16px}.calendar-content--month{display:block;padding:12px}.calendar-month-grid{aspect-ratio:1;flex-shrink:0;grid-template-rows:28px repeat(6,minmax(0,1fr));grid-template-rows:28px repeat(var(--week-count,6),minmax(0,1fr))}.calendar-month-day{padding:5px}.calendar-month-day-num{font-size:14px;margin:0}.calendar-month-day-events{flex-direction:row;flex-wrap:wrap;gap:3px;margin-top:6px}.calendar-month-event{border:0;border-radius:50%;font-size:0;height:5px;margin:0;padding:0;width:5px}.calendar-month-day--today .calendar-month-event,.calendar-month-event{background:#435cc7;background:var(--accent)}.calendar-month-event--more{background:#0000;font-size:10px;height:auto;width:auto}.calendar-agenda-week{gap:4px}.calendar-agenda-week button{min-height:70px}.Finance-header,.calendar-agenda-event{gap:14px}.Finance-headerActions{width:100%}.Finance-headerActions .Finance-btn:last-child{margin-left:auto}.Finance-body{padding-bottom:24px;padding-right:0}.Finance-tabs{margin:8px 0 16px;width:100%}.Finance-tab{padding:10px 12px}.PaymentOverview-summary{display:block}.PaymentOverview-total{font-size:30px}.PaymentOverview-monthly{border-left:0;max-width:none;padding:20px 0 0}.PaymentOverview-monthly p{margin-bottom:6px}.PaymentOverview-monthly strong{font-size:18px}.PaymentOverview-row{gap:10px}.PaymentOverview-row b{max-width:45%;text-align:right}.PaymentOverview-account{padding:16px}.PaymentOverview-accountHead{align-items:flex-start;flex-wrap:wrap}.Finance-modal,.Finance-modal--wide{height:100dvh;max-height:100dvh;max-width:none}.Finance-modalBody,.Finance-modalHeader{padding:16px}.Finance-formActions{bottom:-16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.Finance-field input,.Finance-field select,.Finance-field textarea{font-size:16px}.Reminders-period{margin-left:0}.Reminders-toolbar{gap:14px}.Reminders-item{display:block}.Reminders-itemAside{margin-top:12px}.Reminders-itemAside--placeholder{display:none}.Reminders-list{padding-bottom:24px}.Finance-tableWrap{overflow:auto}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;scroll-behavior:auto!important;transition:none!important}}.calendar-month-layout{align-items:flex-start;display:flex;gap:28px;justify-content:center}.calendar-month-layout .calendar-month-grid{flex-shrink:0;margin:0;max-width:800px;width:min(100%,max(380px,calc(100dvh - 276px)))}.calendar-month-detail{flex:1 1;max-width:340px;min-width:180px;padding:8px 4px}.calendar-month-detail h3{font-size:20px;margin:0 0 8px}.calendar-month-detail p{color:#667284;color:var(--muted);font-size:13px;line-height:1.7;overflow-wrap:anywhere}.calendar-month-detail-label{border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);padding-bottom:16px}.calendar-month-detail button{background:#0000;border:0;border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);color:#222b38;color:var(--ink);cursor:pointer;display:block;padding:16px 0;text-align:left;width:100%}.calendar-month-detail time{color:#435cc7;color:var(--accent);display:block;font-size:12px;margin-bottom:8px}.calendar-month-day--selected{background:#edf0fc;background:var(--accent-soft);outline:2px solid #435cc7;outline:2px solid var(--accent);outline-offset:-2px}.calendar-month-layout .calendar-month-day{padding:6px}.calendar-month-layout .calendar-month-event{font-size:11px;padding:3px}.calendar-month-detail strong{overflow-wrap:anywhere}.Reminders-eventTitle{display:block;margin-bottom:10px}@media (min-width:769px) and (max-width:1150px){.calendar-month-layout{flex-wrap:wrap}.calendar-month-detail{max-width:none;width:100%}}@media (max-width:768px){.calendar-month-layout{display:block}.calendar-month-layout .calendar-month-grid{max-width:none;width:100%}.calendar-month-layout .calendar-month-event{font-size:0;padding:0}.calendar-month-layout .calendar-month-event--more{font-size:10px}.calendar-day-detail-back{color:#435cc7;color:var(--accent);min-height:44px}.calendar-day-detail-overlay{padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}}.Finance-actionsMenu{position:relative}.Finance-actionsMenu summary{align-items:center;color:#435cc7;color:var(--accent);cursor:pointer;display:flex;justify-content:flex-end;min-height:40px;padding:6px}.Finance-actionsMenu[open]>div{background:#fff;background:var(--surface);border:1px solid #e2e7ee;border:1px solid var(--line);border-radius:8px;min-width:120px;padding:8px}.Finance-actionsMenu button{display:block;padding:8px 4px;text-align:left;white-space:nowrap;width:100%}@media (min-width:769px){.Finance-actionsCell{position:relative}.Finance-actionsMenu[open]>div{box-shadow:0 12px 30px #1f2b4429;position:absolute;right:8px;top:calc(100% - 4px);z-index:30}}.calendar-modal{border-radius:12px;box-shadow:none;color:#222b38;color:var(--ink)}.calendar-form-row input,.calendar-form-row textarea{border-color:#e2e7ee;border-color:var(--line);color:#222b38;color:var(--ink);min-height:44px}.calendar-form-btn{min-height:44px}.calendar-form-btn--submit{background:#435cc7;background:var(--accent)}.calendar-form-actions{background:#fff;background:var(--surface);bottom:-24px;padding:16px 0 0;position:sticky}.calendar-form-btn--submit:hover{background:#354aaa}@media (max-width:768px){.Finance-tableWrap{border:0;overflow:visible}.Finance-table,.Finance-table tbody{display:block;min-width:0;width:100%}.Finance-table thead{display:none}.Finance-table tr{border:1px solid #e2e7ee;border:1px solid var(--line);border-radius:10px;display:block;margin-bottom:14px;padding:14px}.Finance-table .Finance-groupRow{border:0;box-shadow:none;display:block;padding:0}.Finance-table .Finance-groupRow td{border-radius:12px;display:block}.Finance-table .Finance-groupRow td:before{content:none}.Finance-table td{align-items:flex-start;border:0;display:flex;font-size:14px;gap:12px;justify-content:space-between;min-width:0;overflow-wrap:anywhere;padding:8px 0;text-align:right;width:100%}.Finance-table td:before{color:#667284;color:var(--muted);content:attr(data-label);flex-shrink:0;font-size:12px;max-width:40%;text-align:left}.Finance-table td:first-child{border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);display:block;font-size:15px;margin-bottom:4px;padding-bottom:12px;text-align:left}.Finance-table td:first-child:before{display:none}.Finance-table .Finance-muted{font-size:12px;margin-top:4px}.Finance-table .Finance-actionsCell{display:block}.Finance-actionsMenu summary{justify-content:flex-start}.Finance-actionsMenu[open]>div{border:0;display:flex;flex-wrap:wrap;gap:8px;padding:0}.Finance-actionsMenu button{min-height:44px;width:auto}.calendar-modal{border-radius:0;min-width:0;padding:24px 16px}.calendar-form-row input,.calendar-form-row textarea{font-size:16px}.calendar-form-actions{bottom:0;padding-bottom:max(16px,env(safe-area-inset-bottom))}.calendar-modal-overlay{height:100dvh}}@media(min-width:1151px){.calendar-month-layout .calendar-month-grid{width:min(62%,max(380px,calc(100dvh - 276px)))}}.Finance-hint{color:#667284;color:var(--muted);line-height:1.5}.Shell.App.Shell--compact{flex-direction:column}.Shell--compact .Shell-main{padding:8px 12px 12px}.Shell-topbar{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #e2e7ee;border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:16px;height:48px;padding:0 16px}.Shell-wordmark{color:#435cc7;color:var(--accent);font-size:21px;font-weight:800}.Shell-topnav{display:flex;gap:4px}.Shell-topnav .Shell-link{margin:0;min-height:36px;padding:6px 14px;width:auto}.Shell-account{margin-left:auto;position:relative}.Shell-account summary{cursor:pointer;list-style:none;min-width:44px;padding:10px;text-align:center}.Shell-account>div{grid-gap:12px;background:#fff;border:1px solid #e2e7ee;border:1px solid var(--line);box-shadow:0 8px 24px #222b3820;display:grid;gap:12px;min-width:180px;padding:16px;position:absolute;right:0;top:100%;z-index:1100}.Shell--compact .calendar-header{gap:8px;padding:8px 12px}.Shell--compact .calendar-heading{order:3;padding:0}.Shell--compact .calendar-heading button{min-height:36px;padding:6px 12px}.Shell--compact .calendar-content{padding:8px}.Shell--compact .calendar-container{border-radius:4px}.Shell--compact .calendar-month-layout{gap:12px;height:100%;min-height:450px}.Shell--compact .calendar-month-layout .calendar-month-grid{aspect-ratio:auto;border-radius:0;flex:1 1;height:100%;margin:0;max-width:none;width:auto}.Shell--compact .calendar-month-detail{max-width:25%;padding:12px;width:250px}.calendar-day-number{align-items:baseline;display:flex;justify-content:space-between}.calendar-day-number small{color:#667284;color:var(--muted);font-size:10px}.Shell--compact .calendar-month-layout .calendar-month-event{background:#edf0fc;border-radius:0;font-size:12px;padding:3px 4px;text-overflow:clip;white-space:nowrap}.calendar-month-event-title{display:block;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 14px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 14px),#0000);overflow:hidden}.event-kind--event{--event-color:#435cc7;--event-bg:#edf0fc}.event-kind--payment{--event-color:#9c5816;--event-bg:#fff0d9}.event-kind--topup{--event-color:#137769;--event-bg:#dff5ef}.Shell--compact .calendar-agenda-event,.Shell--compact .calendar-month-event,.Shell--compact .calendar-time-event{background:#edf0fc;background:var(--event-bg,#edf0fc);border-left:3px solid #435cc7;border-left:3px solid var(--event-color,#435cc7);color:#222b38;color:var(--ink)}.Shell--compact .calendar-time-event{border-radius:0;left:0;padding:2px 4px;right:0}.Shell--compact .calendar-time-event:hover{box-shadow:none;transform:none}.calendar-agenda-week small{display:block;font-size:10px;margin-top:2px}.calendar-event-preview h3{clear:both;font-size:22px;overflow-wrap:anywhere}.calendar-preview-close{background:#f5f6f8;background:var(--canvas);color:#222b38;color:var(--ink);float:right}.calendar-event-kind{background:var(--event-bg);color:var(--event-color);display:inline-block;font-size:12px;padding:4px 8px}.calendar-preview-description{line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}@media (max-width:768px){.Shell-topbar{gap:4px;height:48px;padding:0 6px}.Shell-wordmark{display:none}.Shell-topnav{flex:1 1;gap:0;min-width:0}.Shell-topnav .Shell-link{flex:1 1;font-size:12px;justify-content:center;padding:6px 8px}.Shell--compact .Shell-main{padding:0}.Shell--compact .calendar-container{border:0;border-radius:0}.Shell--compact .calendar-header{gap:6px;padding:6px 8px}.Shell--compact .calendar-view-switcher{order:0;width:100%}.Shell--compact .calendar-view-btn{flex:1 1;font-size:12px;min-height:36px;padding:6px 4px}.Shell--compact .calendar-header-period-row{flex:1 1;gap:4px;order:1;width:auto}.Shell--compact .calendar-header-period-center{flex:1 1;font-size:12px;min-width:0}.Shell--compact .calendar-nav-btn{font-size:12px;min-height:36px;min-width:30px;padding:4px}.Shell--compact .calendar-heading{order:2}.Shell--compact .calendar-heading button{font-size:12px;padding:6px}.Shell--compact .calendar-content{padding:6px}.Shell--compact .calendar-month-layout{height:100%;min-height:0}.Shell--compact .calendar-month-layout .calendar-month-grid{aspect-ratio:auto;height:auto;min-height:380px;width:100%}.Shell--compact .calendar-month-layout .calendar-month-event{font-size:10px;height:auto;margin:2px 0;min-height:16px;padding:1px 2px;width:100%}.Shell--compact .calendar-month-layout .calendar-month-day{padding:3px}.Shell--compact .calendar-month-day-events{display:block}.Shell--compact .calendar-month-day-num{margin-bottom:2px}.calendar-event-preview{height:auto;max-height:90dvh}}.Shell--compact .Shell-main.App-content{width:100%}.Shell--compact .calendar-header{align-items:center;background:#fff;background:var(--surface);border-color:#e2e7ee;border-color:var(--line);color:#222b38;color:var(--ink);display:flex;flex-wrap:wrap;justify-content:space-between}.Shell--compact .calendar-view-switcher--bar{border-radius:4px;display:flex;width:auto}.Shell--compact .calendar-view-btn{background:#0000;border-radius:3px;color:#667284;color:var(--muted)}.Shell--compact .calendar-view-btn--active{background:#edf0fc;background:var(--accent-soft);color:#435cc7;color:var(--accent)}.Shell--compact .calendar-nav-btn{background:#fff;background:var(--surface);border-color:#e2e7ee;border-color:var(--line);color:#222b38;color:var(--ink)}.Shell--compact .calendar-modal{border-radius:8px;box-shadow:none;color:#222b38;color:var(--ink)}@media (max-width:768px){.Shell--compact .calendar-view-switcher--bar{width:100%}}.Shell--compact .calendar-view-switcher--bar .calendar-view-btn{flex:none;padding:8px 10px}.Shell--compact .calendar-month-layout{flex-wrap:nowrap}.Shell--compact .calendar-month-detail{flex-shrink:0}.Shell--compact .calendar-month-detail button{padding:12px 0}.Shell--compact .calendar-month-detail time{margin-bottom:4px}.Shell--compact .calendar-month-event.event-kind--payment,.Shell--compact .calendar-month-event.event-kind--topup{background:var(--event-bg)}@media(max-width:768px){.Shell--compact .calendar-view-switcher--bar .calendar-view-btn{flex:1 1;padding:8px 3px}}.Shell--compact .calendar-header-period-row{display:flex;margin:0;padding:0}.Shell--compact .calendar-month-detail{flex:0 0 250px}.Shell--compact .calendar-header-period-center{min-width:130px}@media(max-width:768px){.Shell--compact .calendar-header-period-center{min-width:0}}.Shell--compact .calendar-event-preview{max-width:560px;min-width:0;width:min(560px,calc(100% - 24px))}.Shell--compact .calendar-form-btn--submit{background:#435cc7;background:var(--accent)}.Shell--compact .calendar-month-day--today,.Shell--compact .calendar-time-cell--today{background:#edf0fc;background:var(--accent-soft)}.Shell--compact .calendar-time-cell--today{color:#435cc7;color:var(--accent)}.Shell--compact .calendar-month-event{border-bottom:0;border-right:0;border-top:0;cursor:pointer;text-align:left;width:100%}@media(max-width:768px){.Shell--compact .calendar-event-preview{border-radius:0;max-height:90dvh;padding:16px;width:100%}}.Shell--compact .calendar-agenda{margin:0 auto;max-width:900px;width:100%}.Shell--compact .calendar-agenda-week{padding-bottom:8px}.Shell--compact .calendar-agenda-week button{min-height:72px;padding:8px 4px}.Shell--compact .calendar-agenda h3{font-size:16px;margin:10px 0}.Shell--compact .calendar-agenda-event{grid-gap:8px;align-items:start;border-radius:0;display:grid;gap:8px;grid-template-columns:48px minmax(0,1fr) 12px;padding:12px 8px;text-align:left;width:100%}.Shell--compact .calendar-agenda-event time{font-size:13px}.Shell--compact .calendar-agenda-event p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;margin:6px 0 0;overflow:hidden}@media(max-width:768px){.Shell--compact .calendar-content--day,.Shell--compact .calendar-content--week{display:block}}.Shell--compact .calendar-month-layout .calendar-month-grid{grid-template-rows:28px repeat(6,minmax(0,1fr));grid-template-rows:28px repeat(var(--week-count,6),minmax(0,1fr))}.Shell--compact .calendar-month-weekday{padding:6px}@media(max-width:768px){.Shell--compact .calendar-month-layout .calendar-month-grid{grid-template-rows:24px repeat(6,minmax(0,1fr));grid-template-rows:24px repeat(var(--week-count,6),minmax(0,1fr));height:min(550px,calc(100dvh - 158px));min-height:360px}.Shell--compact .calendar-day-number small{display:inline;font-size:9px}.Shell--compact .Finance{border:0;padding:10px}.Shell--compact .Finance-header{gap:6px;margin-bottom:8px}.Shell--compact .Finance-header h2,.Shell--compact .Finance-subtitle{display:none}.Shell--compact .Finance-headerActions{gap:6px}.Shell--compact .Finance-headerActions .Finance-btn{font-size:12px;min-height:36px;padding:6px 10px}.Shell--compact .Finance-tabs{gap:0;margin:0 0 8px;padding:3px}.Shell--compact .Finance-tab{flex:1 1;font-size:11px;min-width:0;padding:8px 5px}.Shell--compact .PaymentOverview-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:12px 0;padding:12px 0}.Shell--compact .PaymentOverview-monthly{padding:0}.Shell--compact .PaymentOverview-total{font-size:23px}.Shell--compact .PaymentOverview-monthly strong{font-size:20px}.Shell--compact .PaymentOverview-summary p{font-size:12px;margin:0 0 6px}.Shell--compact .PaymentOverview-summary small{font-size:11px}.Shell--compact .calendar-month-event-title{line-height:1.25;-webkit-mask-image:linear-gradient(180deg,#000 75%,#0000);mask-image:linear-gradient(180deg,#000 75%,#0000);max-height:25px;overflow-wrap:anywhere;white-space:normal}.Shell--compact .calendar-month-layout .calendar-month-event{border-left-width:2px}.Shell--compact .calendar-heading button{font-size:20px;min-height:36px;min-width:36px}.Shell--compact .calendar-month-event-title{-webkit-mask-image:linear-gradient(90deg,#000 75%,#0000);mask-image:linear-gradient(90deg,#000 75%,#0000);overflow-wrap:normal;word-break:normal}}.Shell--compact .calendar-event{background:#f5f6f8;background:var(--event-bg,var(--canvas));border-left:3px solid #435cc7;border-left:3px solid var(--event-color,var(--accent))}.Shell--compact .calendar-event-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}
/*# sourceMappingURL=main.3ec656f1.css.map*/