.fiscal-calendar{--fc-accent:var(--sl-color-accent);--fc-green:var(--color-green);--fc-text:var(--sl-color-text);--fc-text-muted:color-mix(in srgb,var(--sl-color-text) 60%,transparent);--fc-text-disabled:var(--fc-text-muted)}.calendar-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.toolbar-group{align-items:center;background:#ffffff0d;border-radius:.5rem;display:inline-flex;gap:.25rem;padding:.25rem}.toolbar-btn{background:0 0;border:0;border-radius:.375rem;color:var(--fc-text-muted);cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .15s ease}.toolbar-btn:hover{color:var(--fc-text)}.toolbar-btn.active{background:var(--fc-accent);color:#fff}.calendar-mode{display:none}.calendar-mode.active{display:block}.year-content{display:none}.year-content.active{display:block}.quarters-container{display:flex;flex-direction:column;gap:2.5rem;margin-bottom:3rem}.quarter-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.quarter-badge{background:var(--fc-accent);border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:700;padding:.375rem .75rem}.quarter-period{color:var(--fc-text-muted);font-size:.875rem}.months-grid{display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.months-grid{gap:1.5rem;grid-template-columns:1fr}}.month-name-only{margin-bottom:1rem;text-align:center}.month-title{color:var(--fc-text);font-size:1rem;font-weight:600}.month-subtitle{color:var(--fc-text-muted);font-size:.8rem;margin-top:.15rem}.payments-header-row{border-bottom:1px solid rgba(255,255,255,.1);display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem;padding-bottom:1.5rem}@media (max-width:900px){.payments-header-row{gap:1.5rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.payments-header-row{gap:1rem;grid-template-columns:1fr}}.payment-column-header{display:flex;flex-direction:column;gap:.75rem}.payment-header-item{align-items:flex-end;display:flex;gap:.75rem;justify-content:space-between}.payment-date-badge{background:var(--fc-accent);border-radius:.375rem;box-shadow:0 1px 3px #3b82f626;color:#fff;cursor:pointer;display:inline-block;font-size:.875rem;font-weight:600;padding:.375rem .75rem;position:relative;transition:all .2s ease;white-space:nowrap}.payment-date-badge:hover{background-color:color-mix(in srgb,var(--fc-accent) 85%,#000);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.payment-date-badge.payment-highlight-source{background-color:color-mix(in srgb,var(--fc-accent) 85%,#000);box-shadow:0 4px 12px #3b82f659}.payment-date-badge:after{background:#000000f2;border-radius:.5rem;bottom:calc(100% + .75rem);box-shadow:0 4px 12px #00000040;color:#fff;content:attr(data-period);font-size:.75rem;font-weight:500;left:50%;line-height:1.4;opacity:0;padding:.625rem .875rem;pointer-events:none;position:absolute;transform:translate(-50%) scale(.95);transition:opacity .2s ease,transform .2s ease;white-space:nowrap;z-index:100}.payment-date-badge:hover:after{opacity:1;transform:translate(-50%) scale(1)}.payment-period-text{color:var(--fc-text-muted);flex:1;font-size:.75rem;line-height:1.3}.calendar-grid{display:grid;gap:0;grid-template-columns:repeat(7,1fr)}.calendar-header{color:var(--fc-text-muted);font-size:.75rem;font-weight:500;padding:.5rem 0;text-align:center;text-transform:uppercase}.calendar-day{color:var(--fc-text-disabled);font-size:.875rem;opacity:.5;padding:.5rem .25rem;position:relative;text-align:center}.calendar-day.current-month,.calendar-day.in-period{color:var(--fc-text);opacity:1}.calendar-day[data-tooltip]:after{background:#000000f2;border-radius:.5rem;bottom:calc(100% + .75rem);box-shadow:0 4px 12px #00000040;color:#fff;content:attr(data-tooltip);font-size:.75rem;font-weight:500;left:50%;line-height:1.4;opacity:0;padding:.625rem .875rem;pointer-events:none;position:absolute;transform:translate(-50%) scale(.95);transition:opacity .2s ease,transform .2s ease;white-space:pre;z-index:100}.calendar-day[data-tooltip]:not([data-tooltip=""]):after{display:block}.calendar-day[data-tooltip]:not([data-tooltip=""]):hover:after{opacity:1;transform:translate(-50%) scale(1)}.calendar-day.today{background:#8080804d}.calendar-day.payment,.calendar-day.today{align-items:center;border-radius:.375rem;display:flex;height:2rem;justify-content:center;margin:0 auto;width:2rem}.calendar-day.payment{background:var(--fc-accent);box-shadow:0 1px 3px #3b82f633;color:#fff;cursor:pointer;font-weight:600;position:relative;transition:all .2s ease}.calendar-day.payment-past{background:#80808066;box-shadow:0 1px 3px #80808033;color:#fff9}.calendar-day.payment-future{background:var(--fc-accent);box-shadow:0 1px 3px #3b82f633;color:#fff}.calendar-day.payment:hover{transform:translateY(-2px)}.calendar-day.payment.payment-highlight-source,.calendar-day.payment:hover{background-color:color-mix(in srgb,var(--fc-accent) 85%,#000);box-shadow:0 4px 12px #3b82f659}.calendar-day.payment-past:hover{background:#80808080;box-shadow:0 4px 12px #8080804d;transform:translateY(-2px)}.calendar-day.payment-future:hover{background-color:color-mix(in srgb,var(--fc-accent) 85%,#000);box-shadow:0 4px 12px #3b82f659;transform:translateY(-2px)}.calendar-day.payment.today{background:var(--fc-accent)}.calendar-day.payment-period-highlight{background:color-mix(in srgb,var(--fc-accent) 12%,transparent);color:var(--fc-text)}.calendar-day.payment-period-highlight.current-month{background:color-mix(in srgb,var(--fc-accent) 15%,transparent)}.next-payment-card{background:linear-gradient(135deg,color-mix(in srgb,var(--fc-green) 15%,transparent)0,color-mix(in srgb,var(--fc-green) 5%,transparent));border:1px solid color-mix(in srgb,var(--fc-green) 20%,transparent);border-radius:.75rem;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1rem 1.5rem}.next-payment-card,.next-payment-info{align-items:center;display:flex;flex-wrap:wrap}.next-payment-info{gap:.75rem}.next-payment-label{color:var(--fc-text-muted);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.next-payment-date{color:var(--fc-green);font-size:1.25rem;font-weight:700}.payment-period-info{color:var(--fc-text-muted);font-size:.8rem}.days-badge{background:var(--fc-green);border-radius:2rem;color:#fff;font-size:.8rem;font-weight:600;padding:.375rem 1rem;white-space:nowrap}.section-title{color:var(--fc-text);font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.section-subtitle{color:var(--fc-text-muted);font-size:.875rem;margin-bottom:1.5rem}.data-table{border-collapse:collapse;font-size:.875rem;width:100%}.data-table th{border-bottom:1px solid rgba(255,255,255,.1);color:var(--fc-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid rgba(255,255,255,.05);color:var(--fc-text);padding:1rem}.data-table tbody tr:hover td{background:#ffffff05}.how-it-works{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:2rem}:global([data-theme=light]) .fiscal-calendar{--fc-text:var(--sl-color-text);--fc-text-muted:color-mix(in srgb,var(--sl-color-text) 55%,transparent);--fc-text-disabled:var(--fc-text-muted)}:global([data-theme=light]) .toolbar-group{background:#0000000d}:global([data-theme=light]) .next-payment-card{background:linear-gradient(135deg,color-mix(in srgb,var(--fc-green) 10%,transparent)0,color-mix(in srgb,var(--fc-green) 3%,transparent));border-color:color-mix(in srgb,var(--fc-green) 15%,transparent)}:global([data-theme=light]) .calendar-day.payment-past{background:#80808033;color:#00000080}:global([data-theme=light]) .calendar-day.payment-past:hover{background:#8080804d}:global([data-theme=light]) .data-table th{border-color:#0000001a}:global([data-theme=light]) .data-table td{border-color:#0000000d}:global([data-theme=light]) .data-table tbody tr:hover td{background:#00000005}:global([data-theme=light]) .how-it-works{border-color:#0000001a}