:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ct-bg:#f0f2f5;--ct-text:#1a1a1a;--ct-text-body:#444;--ct-text-heading:#333;--ct-text-muted:#555;--ct-text-subtle:#666;--ct-text-soft:#777;--ct-text-slate:#334155;--ct-menu-heading:#64748b;--ct-border:#c8c8c8;--ct-border-soft:#ddd;--ct-border-row:#eee;--ct-accent:#1e5aa8;--ct-accent-hover:#174a8c;--ct-on-accent:#fff;--ct-on-danger:#fff;--ct-surface:#fff;--ct-surface-raised:#f7f9fc;--ct-surface-hover:#f0f4f8;--ct-shadow:#0000001f;--ct-shadow-strong:#00000038;--ct-shadow-modal:#00000059;--ct-shadow-panel:#0000000f;--ct-menu-rule:#e5e7eb;--ct-sticky-shadow:#00000026;--ct-flash-bg:#e0f2fe;--ct-flash-border:#7dd3fc;--ct-flash-text:#0c4a6e;--ct-warn:#b45309;--ct-code-bg:#eee;--ct-scroll-thumb:#c5ccd6;--ct-bulk-bg:#e8f0fe;--ct-bulk-border:#b8d4f0;--ct-bulk-text:#1e3a5f;--ct-backdrop:#0f172a80;--ct-backdrop-heavy:#0f172a8c;--ct-fab-bg:#e2e8f0;--ct-fab-text:#1e293b;--ct-fab-hover:#cbd5e1;--ct-persist-bg:#fff8e6;--ct-persist-border:#e5c76a;--ct-persist-text:#7c5a10;--ct-import-error:#7c2d12;--ct-badge-paid-bg:#ecfdf3;--ct-badge-paid-border:#86efac;--ct-badge-paid-label:#555;--ct-badge-paid-strong:#166534;--ct-badge-pending-bg:#fff5f5;--ct-badge-pending-border:#f0c0c0;--ct-badge-pending-label:#555;--ct-badge-pending-strong:#c62828;--ct-btn-ghost-hover:#f5f5f5;--ct-danger:#b91c1c;--ct-danger-border:#991b1b;--ct-danger-hover:#991b1b;--ct-row-off:#c2410c;--ct-row-paid:#15803d;--ct-row-pending:#b91c1c;--ct-import-ok-bg:#ecfdf3;--ct-import-ok-border:#86efac;--ct-import-ok-text:#14532d;--ct-mobile-border:#e0e0e0;--ct-mobile-row:#ececec;--ct-thead-line:#e5e7eb;--chart-grid:#e5e7eb;--chart-bar-paid:#166534;--chart-bar-pending:#c62828;--chart-line-accent:#1e5aa8;--chart-bar-hours:#3b82f6;--chart-line-visits:#7c3aed;--muted:var(--ct-text-muted);--border:var(--ct-border);color:var(--ct-text);background:var(--ct-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.45}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ct-bg:#13151c;--ct-text:#e8eaed;--ct-text-body:#c4c8d4;--ct-text-heading:#d8dbe6;--ct-text-muted:#9ca3af;--ct-text-subtle:#a8aeb8;--ct-text-soft:#949aa8;--ct-text-slate:#cbd5e1;--ct-menu-heading:#94a3b8;--ct-border:#3d4454;--ct-border-soft:#4b5263;--ct-border-row:#2d323c;--ct-accent:#6ba3f5;--ct-accent-hover:#8bb8f7;--ct-on-accent:#0b1220;--ct-on-danger:#fff;--ct-surface:#1c1f28;--ct-surface-raised:#232734;--ct-surface-hover:#2a2e3a;--ct-shadow:#00000073;--ct-shadow-strong:#0000008c;--ct-shadow-modal:#000000a6;--ct-shadow-panel:#00000059;--ct-menu-rule:#3d4454;--ct-sticky-shadow:#00000073;--ct-flash-bg:#1a2f4a;--ct-flash-border:#2563ab;--ct-flash-text:#93c5fd;--ct-warn:#fbbf24;--ct-code-bg:#2d323c;--ct-scroll-thumb:#4b5568;--ct-bulk-bg:#1e2a3d;--ct-bulk-border:#3d5a80;--ct-bulk-text:#bfdbfe;--ct-backdrop:#000000ad;--ct-backdrop-heavy:#000000c7;--ct-fab-bg:#334155;--ct-fab-text:#f1f5f9;--ct-fab-hover:#475569;--ct-persist-bg:#3d3510;--ct-persist-border:#a89132;--ct-persist-text:#f5e6a6;--ct-import-error:#fdba74;--ct-badge-paid-bg:#0f2918;--ct-badge-paid-border:#166534;--ct-badge-paid-label:#9ca3af;--ct-badge-paid-strong:#4ade80;--ct-badge-pending-bg:#3f1515;--ct-badge-pending-border:#991b1b;--ct-badge-pending-label:#9ca3af;--ct-badge-pending-strong:#fca5a5;--ct-btn-ghost-hover:#2a2e3a;--ct-danger:#ef4444;--ct-danger-border:#b91c1c;--ct-danger-hover:#dc2626;--ct-row-off:#fb923c;--ct-row-paid:#4ade80;--ct-row-pending:#f87171;--ct-import-ok-bg:#0f2918;--ct-import-ok-border:#166534;--ct-import-ok-text:#86efac;--ct-mobile-border:#3d4454;--ct-mobile-row:#2d323c;--ct-thead-line:#3d4454;--chart-grid:#3d4454;--chart-bar-paid:#22c55e;--chart-bar-pending:#ef4444;--chart-line-accent:#6ba3f5;--chart-bar-hours:#60a5fa;--chart-line-visits:#a78bfa}*,:before,:after{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;overflow-x:hidden}#root{min-height:100dvh}@media (width<=720px){html{font-size:15px}}@media (width<=400px){html{font-size:14px}}.app{text-align:left;padding:1.25rem 1.5rem 2rem;padding-left:max(1rem, env(safe-area-inset-left,0px));padding-right:max(1rem, env(safe-area-inset-right,0px));padding-bottom:max(2rem, env(safe-area-inset-bottom,0px));max-width:1200px;margin:0 auto}.app--loading{justify-content:center;align-items:center;min-height:40vh;display:flex}.loading-msg{color:var(--ct-text-muted);margin:0;font-size:1.1rem}.persist-banner{background:var(--ct-persist-bg);border:1px solid var(--ct-persist-border);color:var(--ct-persist-text);border-radius:8px;margin-bottom:1rem;padding:.65rem 1rem;font-size:.9rem}.persist-banner--with-action{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;display:flex}.persist-banner-text{flex:1;min-width:min(100%,12rem);margin:0;line-height:1.45}.persist-banner-close{flex-shrink:0;align-self:center;font-size:.875rem;color:var(--ct-persist-text)!important}.header{margin-bottom:1.25rem}.header-top{justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.header-top .title{flex:1;min-width:0;margin:0}.title{color:var(--ct-accent);letter-spacing:-.02em;font-size:1.75rem;font-weight:600}.theme-toggle{touch-action:manipulation;border:1px solid var(--border);background:var(--ct-surface);width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:var(--ct-text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{background:var(--ct-surface-hover);color:var(--ct-accent)}.theme-toggle:focus-visible{outline:2px solid var(--ct-accent);outline-offset:2px}.theme-toggle-icon{flex-shrink:0}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;margin-bottom:1rem;display:flex}.toolbar-year-menu{flex-flow:row;flex:0 auto;align-items:flex-end;gap:.65rem 1rem;min-width:0;display:flex}.toolbar-year-menu .menu-wrap{flex-shrink:0;position:relative}.field{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.field input,.field select{border:1px solid var(--border);background:var(--ct-surface);min-width:7rem;color:var(--ct-text);border-radius:6px;padding:.4rem .5rem;font-size:1rem}.toolbar-year-menu .field--year select{width:auto;min-width:6rem}.toolbar-year-menu .field--table-filter select{width:auto;min-width:10.5rem;max-width:100%}.toolbar-year-menu .field--payment-filter select{min-width:12rem}.toolbar-meta{flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;margin-left:auto;display:flex}.summary-badge{border-radius:8px;flex-direction:column;gap:.15rem;padding:.35rem .75rem;display:flex}.summary-badge span{color:var(--ct-text-muted);font-size:.75rem}.summary-badge strong{font-variant-numeric:tabular-nums;font-size:1.25rem}.summary-badge--paid{background:var(--ct-badge-paid-bg);border:1px solid var(--ct-badge-paid-border)}.summary-badge--paid strong{color:var(--ct-badge-paid-strong)}.pending-badge{background:var(--ct-badge-pending-bg);border:1px solid var(--ct-badge-pending-border);border-radius:8px;flex-direction:column;gap:.15rem;padding:.35rem .75rem;display:flex}.pending-badge span{color:var(--ct-text-muted);font-size:.75rem}.pending-badge strong{color:var(--ct-badge-pending-strong);font-variant-numeric:tabular-nums;font-size:1.25rem}.menu-wrap{align-self:flex-end;position:relative}.menu-btn{touch-action:manipulation;justify-content:center;align-items:center;width:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:0;display:inline-flex}.menu-btn .hamburger-icon{flex-shrink:0}.menu-dropdown{z-index:30;background:var(--ct-surface);border:1px solid var(--border);min-width:min(17rem,100vw - 2rem);max-width:calc(100vw - 2rem);box-shadow:0 8px 24px var(--ct-shadow);border-radius:8px;padding:.35rem 0;position:absolute;top:calc(100% + 4px);left:0;right:auto}.menu-item{width:100%;min-height:2.75rem;font:inherit;text-align:left;cursor:pointer;color:var(--ct-text);touch-action:manipulation;background:0 0;border:none;padding:.75rem 1rem;font-size:.95rem;display:block}.menu-item:hover{background:var(--ct-surface-hover)}.menu-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--ct-menu-heading);padding:.35rem .75rem .2rem;font-size:.7rem;font-weight:600}.config-modal-fields{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.config-modal-fields .field{margin:0}.menu-rule{background:var(--ct-menu-rule);height:1px;margin:.35rem .5rem}.menu-flash{background:var(--ct-flash-bg);border:1px solid var(--ct-flash-border);color:var(--ct-flash-text);border-radius:8px;margin-bottom:.75rem;padding:.55rem .85rem;font-size:.9rem}.recurring{border-top:1px solid var(--ct-border-soft);padding-top:1rem}.recurring-label{color:var(--muted);margin-bottom:.5rem;font-size:.875rem;display:block}.weekday-toggles{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.chip{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;min-height:2.75rem;padding:.2rem 0;font-size:.9rem;display:inline-flex}.chip input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--ct-accent);flex-shrink:0}.punctual-block--modal{margin-bottom:.75rem}.punctual-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.input-date{border:1px solid var(--border);background:var(--ct-surface);color:var(--ct-text);border-radius:6px;padding:.4rem .5rem;font-family:inherit;font-size:1rem}.punctual-feedback{color:var(--ct-warn);margin:.4rem 0 0;font-size:.85rem}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn{border:1px solid var(--border);background:var(--ct-surface);cursor:pointer;touch-action:manipulation;border-radius:6px;justify-content:center;align-items:center;min-height:2.75rem;padding:.55rem 1rem;font-size:.9rem;display:inline-flex}.btn:hover{background:var(--ct-btn-ghost-hover)}.btn.primary{background:var(--ct-accent);color:var(--ct-on-accent);border-color:var(--ct-accent-hover)}.btn.primary:hover{background:var(--ct-accent-hover)}.btn--danger{background:var(--ct-danger);color:var(--ct-on-danger);border-color:var(--ct-danger-border)}.btn--danger:hover{background:var(--ct-danger-hover)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn--trash{justify-content:center;align-items:center;width:2.5rem;min-width:2.5rem;height:2.5rem;padding:0;display:inline-flex}.btn--trash .trash-icon{flex-shrink:0}.btn--trash.btn--bulk-delete{gap:.45rem;width:auto;min-width:2.5rem;height:auto;min-height:2.5rem;padding:.4rem .75rem}.bulk-bar{background:var(--ct-bulk-bg);border:1px solid var(--ct-bulk-border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.75rem;padding:.65rem .85rem;display:flex}.bulk-bar-text{color:var(--ct-bulk-text);font-size:.9rem}.bulk-bar-actions{flex-wrap:wrap;gap:.5rem;display:flex}.missing-dates-modal-backdrop{z-index:230;background:var(--ct-backdrop);padding:max(1rem, env(safe-area-inset-top,0px)) max(1rem, env(safe-area-inset-right,0px)) max(1rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.missing-dates-modal-dialog{background:var(--ct-surface);width:100%;max-width:520px;box-shadow:0 20px 45px var(--ct-shadow-strong);border-radius:12px;margin:.75rem auto 1.5rem;padding:2.65rem 1.35rem 1.35rem;position:relative}.missing-dates-modal-title{color:var(--ct-accent);margin:0 0 .65rem;font-size:1.2rem;font-weight:600}.missing-dates-modal-intro{color:var(--ct-text-body);margin:0 0 1rem;font-size:.9rem;line-height:1.45}.missing-dates-modal-weekdays{margin-bottom:1rem}.missing-dates-modal-preview{color:var(--ct-text-slate);margin:0 0 1rem;font-size:.9rem;line-height:1.4}.missing-dates-modal-warn{color:var(--ct-warn);margin:0 0 1rem;font-size:.9rem;line-height:1.4}.missing-dates-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border:1px solid var(--ct-border-soft);background:var(--ct-surface);scrollbar-width:thin;border-radius:8px;max-height:min(72vh,100dvh - 10.5rem);overflow:auto}.table-wrap::-webkit-scrollbar{width:8px;height:8px}.table-wrap::-webkit-scrollbar-thumb{background:var(--ct-scroll-thumb);border-radius:3px}.grid{border-collapse:separate;border-spacing:0;--select-col-w:2.85rem;width:100%;min-width:720px;font-size:.9rem}.grid th.cell-select,.grid td.cell-select{z-index:2;width:var(--select-col-w);min-width:var(--select-col-w);max-width:var(--select-col-w);text-align:center;background:var(--ct-surface);box-shadow:4px 0 12px -6px var(--ct-sticky-shadow);padding-left:.35rem;padding-right:.35rem;position:sticky;left:0}.grid th.cell-select{z-index:5;background:var(--ct-surface-raised);vertical-align:middle}.grid thead th{z-index:6;box-shadow:inset 0 -1px 0 var(--ct-thead-line);position:sticky;top:0}.grid thead th.cell-select{z-index:11;top:0;left:0}.grid thead th.cell-day-head{z-index:10;left:var(--select-col-w);top:0}.grid thead th.cell-actions-head{z-index:6;position:sticky;top:0}.th-select-wrap{flex-direction:column;justify-content:center;align-items:center;gap:.15rem;display:flex}.th-select-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;max-width:2.4rem;font-size:.62rem;font-weight:700;line-height:1}.grid th.cell-day-head,.grid td.cell-day{left:var(--select-col-w);z-index:2;background:var(--ct-surface);box-shadow:4px 0 12px -6px var(--ct-sticky-shadow);position:sticky}.grid th.cell-day-head{z-index:4;background:var(--ct-surface-raised)}.grid tr.row--off td.cell-select,.grid tr.row--off td.cell-day,.grid tr.row--paid td.cell-select,.grid tr.row--paid td.cell-day,.grid tr.row--pending td.cell-select,.grid tr.row--pending td.cell-day{background:var(--ct-surface)}.grid td.cell-select input[type=checkbox],.grid th.cell-select input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--ct-accent);cursor:pointer}.cell-actions-head,.cell-actions{text-align:center;white-space:nowrap;vertical-align:middle}.cell-actions-head{color:var(--ct-menu-heading);position:relative}.cell-actions-head .trash-icon{margin:0 auto;display:block}.grid th,.grid td{border-bottom:1px solid var(--ct-border-row);vertical-align:middle;padding:.5rem .6rem}.grid th{text-align:left;background:var(--ct-surface-raised);color:var(--ct-text-heading);white-space:nowrap;font-weight:600}.grid td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cell-day{white-space:nowrap;font-weight:500}.cell-check{text-align:center}.cell-check input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--ct-accent);cursor:pointer}.input-text{border:1px solid var(--ct-border-soft);width:100%;min-width:8rem;max-width:22rem;font-size:inherit;background:var(--ct-surface);color:var(--ct-text);border-radius:4px;padding:.35rem .45rem}.input-num{border:1px solid var(--ct-border-soft);width:4.5rem;font-size:inherit;background:var(--ct-surface);color:var(--ct-text);border-radius:4px;padding:.35rem .45rem}.row--off{color:var(--ct-row-off)}.row--paid{color:var(--ct-row-paid)}.row--pending{color:var(--ct-row-pending)}.empty{text-align:center;color:var(--ct-text-subtle);padding:2rem!important}.import-modal-dialog{max-width:640px}.import-block--modal{border-top:none;margin-top:0;padding-top:0}.import-block{border-top:1px solid var(--ct-border-soft);margin-top:1.25rem;padding-top:1rem}.btn--text{color:var(--ct-accent);cursor:pointer;background:0 0;border:none;padding:.15rem .35rem;font-size:.875rem;text-decoration:underline}.btn--text:hover{color:var(--ct-accent-hover)}.import-hint{color:var(--ct-text-subtle);margin:0 0 .6rem;font-size:.8rem;line-height:1.4}.import-hint code{background:var(--ct-code-bg);border-radius:3px;padding:.1rem .25rem;font-size:.85em}.import-textarea{box-sizing:border-box;border:1px solid var(--border);resize:vertical;background:var(--ct-surface);width:100%;max-width:100%;min-height:8rem;color:var(--ct-text);border-radius:6px;margin-bottom:.5rem;padding:.5rem .6rem;font-family:ui-monospace,Consolas,monospace;font-size:.8rem;line-height:1.35}.import-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.import-flash{background:var(--ct-badge-paid-bg);border:1px solid var(--ct-badge-paid-border);color:var(--ct-import-ok-text);border-radius:6px;margin:0 0 .5rem;padding:.5rem .65rem;font-size:.9rem}.import-report{color:var(--ct-text-body);font-size:.85rem}.import-report p{margin:0 0 .35rem}.import-errors{max-height:10rem;color:var(--ct-import-error);margin:.35rem 0 0;padding-left:1.2rem;font-size:.8rem;overflow:auto}.import-err-raw{opacity:.85;word-break:break-all}.charts-modal-backdrop{z-index:250;background:var(--ct-backdrop-heavy);padding:max(.75rem, env(safe-area-inset-top,0px)) max(.75rem, env(safe-area-inset-right,0px)) max(.75rem, env(safe-area-inset-bottom,0px)) max(.75rem, env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.charts-modal-dialog{background:var(--ct-surface);width:100%;max-width:1120px;box-shadow:0 25px 50px -12px var(--ct-shadow-modal);border-radius:12px;margin:.35rem auto 1.25rem;position:relative;overflow:hidden}.modal-close-fab{z-index:5;background:var(--ct-fab-bg);width:2.75rem;height:2.75rem;color:var(--ct-fab-text);cursor:pointer;touch-action:manipulation;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:1.65rem;line-height:1;display:flex;position:absolute;top:.5rem;right:.5rem}.modal-close-fab:hover{background:var(--ct-fab-hover)}.modal-close-fab:focus-visible{outline:2px solid var(--ct-accent);outline-offset:2px}.charts-modal-loading{min-height:14rem;color:var(--ct-text-muted);justify-content:center;align-items:center;padding:2rem;font-size:.95rem;display:flex}.charts-panel{background:var(--ct-surface);border:1px solid var(--ct-border-soft);box-shadow:0 2px 12px var(--ct-shadow-panel);border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.1rem 1.25rem}.charts-modal-dialog .charts-panel{box-shadow:none;border:none;border-radius:0;margin-bottom:0;padding-top:2.85rem}.charts-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;margin-bottom:.35rem;display:flex}.charts-panel-title{color:var(--ct-accent);margin:0;font-size:1.2rem;font-weight:600}.charts-panel-intro{color:var(--ct-text-muted);margin:0 0 1rem;font-size:.85rem;line-height:1.45}.charts-historic-hint{color:var(--ct-text-subtle);margin:0 0 .75rem;font-size:.8rem;line-height:1.45}.charts-empty{text-align:center;color:var(--ct-text-subtle);margin:0;padding:1rem;font-size:.9rem}.charts-block{margin-bottom:1.75rem}.charts-block:last-child{margin-bottom:0}.charts-subtitle{color:var(--ct-text-heading);margin:0 0 .65rem;font-size:1rem;font-weight:600}.charts-month-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.65rem;display:flex}.charts-month-head .charts-subtitle{margin-bottom:0}.charts-year-field{color:var(--ct-text-muted);flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.charts-year-field select{border:1px solid var(--border);background:var(--ct-surface);min-width:6rem;color:var(--ct-text);border-radius:6px;padding:.4rem .5rem;font-size:1rem}.charts-canvas{width:100%;min-height:260px}.charts-canvas--second{border-top:1px solid var(--ct-border-row);margin-top:1.25rem;padding-top:1rem}.charts-microtitle{color:var(--ct-text-body);margin:0 0 .5rem;font-size:.9rem;font-weight:600}@media (width<=720px){.app{padding:.65rem .5rem 1.25rem;padding-top:max(.55rem, env(safe-area-inset-top,0px));padding-left:max(.45rem, env(safe-area-inset-left,0px));padding-right:max(.45rem, env(safe-area-inset-right,0px));padding-bottom:max(1.1rem, env(safe-area-inset-bottom,0px))}.header{margin-bottom:.75rem}.header-top{align-items:flex-start;margin-bottom:.55rem}.title{font-size:1.2rem;line-height:1.2}.theme-toggle{border-radius:6px;width:2.5rem;min-width:2.5rem;min-height:2.5rem}.toolbar{flex-direction:column;align-items:stretch;gap:.55rem;margin-bottom:.65rem}.toolbar-year-menu{align-items:flex-end;gap:.45rem;width:100%}.toolbar-year-menu .field--year{flex:1;width:auto;min-width:0;max-width:none}.field{width:100%;max-width:100%;font-size:.8125rem}.field input,.field select{border-radius:5px;width:100%;min-width:0;max-width:100%;padding:.35rem .45rem;font-size:16px}.toolbar-year-menu .field--year select{width:auto;min-width:5.5rem;max-width:100%}.toolbar-year-menu .field--table-filter select{width:100%;min-width:0;max-width:100%}.toolbar-meta{grid-template-columns:1fr 1fr;align-items:stretch;gap:.4rem .45rem;width:100%;margin-left:0;display:grid}.summary-badge,.pending-badge{border-radius:6px;justify-content:center;min-height:2.85rem;padding:.3rem .5rem}.summary-badge span,.pending-badge span{font-size:.7rem}.summary-badge strong,.pending-badge strong{font-size:1.05rem}.menu-btn{width:2.5rem;min-width:2.5rem;min-height:2.5rem;padding:0}.menu-item{min-height:2.5rem;padding:.55rem .75rem;font-size:.875rem}.menu-dropdown{border-radius:6px;padding:.25rem 0;left:0;right:auto}.punctual-row{flex-direction:column;align-items:stretch}.input-date{border-radius:5px;width:100%;max-width:100%;min-height:2.6rem;font-size:16px}.punctual-row .btn{width:100%}.actions{flex-direction:column}.actions .btn{width:100%}.import-actions{flex-direction:column}.import-actions .btn{width:100%}.input-text{border-radius:4px;min-width:0;max-width:none;min-height:2.35rem;padding:.3rem .4rem;font-size:16px}.input-num{border-radius:4px;width:100%;max-width:5.25rem;min-height:2.35rem;padding:.3rem .35rem;font-size:16px}.grid .input-text{border-radius:3px;min-height:1.42rem;padding:.12rem .28rem;font-size:.8125rem;line-height:1.25}.grid .input-num{border-radius:3px;width:3.15rem;min-width:2.75rem;max-width:3.6rem;min-height:1.42rem;padding:.1rem .2rem;font-size:.8125rem;line-height:1.25}.grid td.cell-select input[type=checkbox],.grid th.cell-select input[type=checkbox],.grid .cell-check input[type=checkbox]{width:.9rem;height:.9rem}.grid thead .cell-actions-head .trash-icon{width:13px;height:13px}.persist-banner,.menu-flash{border-radius:6px;margin-bottom:.65rem;padding:.45rem .55rem;font-size:.8125rem}.persist-banner{line-height:1.4}.import-hint{font-size:.8125rem;line-height:1.4}.table-wrap{border-color:var(--ct-mobile-border);border-radius:6px}.grid{min-width:600px;font-size:.72rem}.grid th,.grid td{border-bottom-color:var(--ct-mobile-row);padding:.32rem .28rem}.grid th{font-size:.68rem}.th-select-label{font-size:.55rem}.chip{min-height:2.4rem;font-size:.8125rem}.btn{border-radius:5px;min-height:2.45rem;padding:.45rem .75rem;font-size:.8125rem}.btn--trash{width:2.35rem;min-width:2.35rem;height:2.35rem}.grid .btn--trash{width:1.72rem;min-width:1.72rem;height:1.72rem}.grid .btn--trash .trash-icon{width:13px;height:13px}.btn--trash.btn--bulk-delete{justify-content:center;width:100%;height:auto;min-height:2.45rem}.bulk-bar{border-radius:6px;flex-direction:column;align-items:stretch;gap:.45rem;margin-bottom:.5rem;padding:.5rem .55rem}.bulk-bar-text{font-size:.8125rem}.bulk-bar-actions{flex-direction:column}.bulk-bar-actions .btn{width:100%}.missing-dates-modal-actions{flex-direction:column}.missing-dates-modal-actions .btn{justify-content:center;width:100%}.missing-dates-modal-backdrop{padding:max(.45rem, env(safe-area-inset-top,0px)) max(.35rem, env(safe-area-inset-right,0px)) max(.45rem, env(safe-area-inset-bottom,0px)) max(.35rem, env(safe-area-inset-left,0px))}.missing-dates-modal-dialog{border-radius:8px;margin:.35rem auto .85rem;padding:2.35rem .65rem .95rem}.missing-dates-modal-title{margin-bottom:.45rem;font-size:1.05rem}.missing-dates-modal-intro,.missing-dates-modal-preview,.missing-dates-modal-warn{margin-bottom:.65rem;font-size:.8125rem}.import-block{border-radius:6px}.punctual-block--modal .input-date{font-size:16px}.import-textarea{border-radius:5px;font-size:16px}.charts-modal-backdrop{padding:max(.45rem, env(safe-area-inset-top,0px)) max(.35rem, env(safe-area-inset-right,0px)) max(.45rem, env(safe-area-inset-bottom,0px)) max(.35rem, env(safe-area-inset-left,0px))}.charts-modal-dialog{border-radius:8px;margin:.25rem auto .85rem}.modal-close-fab{border-radius:6px;width:2.45rem;height:2.45rem;font-size:1.4rem;top:.4rem;right:.4rem}.charts-modal-dialog .charts-panel{padding:2.35rem .55rem .85rem}.charts-panel-title{font-size:1.05rem}.charts-panel-intro,.charts-historic-hint,.charts-subtitle,.charts-microtitle{font-size:.8125rem}.charts-canvas{min-height:200px;margin-left:-.25rem;margin-right:-.25rem}.charts-year-field select{width:100%;max-width:12rem}.btn--text{min-height:2.45rem;padding:.3rem .45rem;font-size:.8125rem}.loading-msg{font-size:.95rem}.empty{font-size:.8125rem;padding:1.25rem .65rem!important}}@media (width<=380px){.app{padding-left:max(.35rem, env(safe-area-inset-left,0px));padding-right:max(.35rem, env(safe-area-inset-right,0px))}.title{font-size:1.05rem}.summary-badge strong,.pending-badge strong{font-size:1rem}.toolbar-meta{grid-template-columns:1fr}.menu-dropdown{width:max-content;min-width:min(17rem,100vw - 1.25rem);max-width:calc(100vw - 1.25rem)}.grid{font-size:.68rem}.grid .input-text{min-height:1.32rem;padding:.1rem .22rem;font-size:.75rem}.grid .input-num{width:2.85rem;min-width:2.5rem;max-width:3.2rem;min-height:1.32rem;padding:.08rem .18rem;font-size:.75rem}.grid td.cell-select input[type=checkbox],.grid th.cell-select input[type=checkbox],.grid .cell-check input[type=checkbox]{width:.82rem;height:.82rem}.grid .btn--trash{width:1.58rem;min-width:1.58rem;height:1.58rem}.grid .btn--trash .trash-icon,.grid thead .cell-actions-head .trash-icon{width:12px;height:12px}}
