.dashboard-welcome{padding-top:2rem;padding-bottom:1rem}.dashboard-empty{padding:3rem 1rem}.dashboard-empty__icon{font-size:3rem;color:var(--bs-secondary);opacity:.65}.module-card{transition:transform .2s ease,box-shadow .2s ease;border-width:2px;cursor:pointer}.module-card:hover:not(.module-card--coming-soon){transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12)}.module-card__icon{font-size:2.5rem;display:block}.module-card__badge{font-size:.875rem}.module-card--active{border-color:var(--bs-primary)}.module-card--active .module-card__icon{color:var(--bs-primary)}.module-card--active .module-card__badge{background-color:var(--bs-success) !important;color:#fff}.module-card--expiring{border-color:var(--bs-warning)}.module-card--expiring .module-card__icon{color:var(--bs-warning)}.module-card--expiring .module-card__badge{background-color:var(--bs-warning) !important;color:var(--bs-dark)}.module-card--expired{border-color:var(--bs-danger)}.module-card--expired .module-card__icon{color:var(--bs-danger)}.module-card--expired .module-card__badge{background-color:var(--bs-danger) !important;color:#fff}.module-card--unpaid{border-style:dashed;border-color:var(--bs-secondary)}.module-card--unpaid .module-card__icon{color:var(--bs-secondary)}.module-card--unpaid .module-card__badge{background-color:var(--bs-warning) !important;color:var(--bs-dark)}.module-card--coming-soon{border-style:dashed;border-color:var(--bs-secondary);opacity:.65;cursor:default}.module-card--coming-soon .module-card__icon{color:var(--bs-secondary)}.module-card--coming-soon .module-card__badge{background-color:var(--bs-secondary) !important;color:#fff}.module-header__back{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem}.module-header__back:hover{background-color:hsla(0,0%,100%,.1)}.module-header__separator{display:inline-block;width:1px;height:24px;background-color:hsla(0,0%,100%,.3);vertical-align:middle}.module-header__brand{display:inline-flex;align-items:center;color:hsla(0,0%,100%,.9);font-weight:600;font-size:.95rem;white-space:nowrap}.module-header__brand .bi{font-size:1.1rem}.module-sidebar__heading{color:hsla(0,0%,100%,.6);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.sidebar .nav-link i.bi{font-size:1.2em;width:1.5rem;text-align:center}#toast-container{position:fixed;top:1rem;right:1rem;z-index:1080;display:flex;flex-direction:column;gap:.5rem;max-width:420px;pointer-events:none}#toast-container>*{pointer-events:auto}.toast-notification{min-width:320px;max-width:420px;background-color:#fff;border-radius:.5rem;border-left:4px solid;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;animation:toastSlideIn 300ms ease-out}.toast-notification--success{border-left-color:#10b981}.toast-notification--error{border-left-color:#ef4444}.toast-notification--warning{border-left-color:#f59e0b}.toast-notification--info{border-left-color:#2563eb}.toast-notification--dismissing{animation:toastFadeOut 300ms ease-in forwards}.toast-notification__body{display:flex;align-items:center;flex:1;min-width:0}.toast-notification__body .bi{flex-shrink:0}.toast-notification__message{word-break:break-word}.toast-notification__close{background:none;border:none;font-size:1.25rem;line-height:1;color:#6b7280;cursor:pointer;padding:.5rem;margin-left:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:color .2s}.toast-notification__close:hover{color:#1f2937}@keyframes toastSlideIn{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastFadeOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media(prefers-reduced-motion: reduce){.toast-notification{animation:none}.toast-notification--dismissing{animation:none;opacity:0}}@media(max-width: 480px){#toast-container{left:1rem;right:1rem;max-width:none}.toast-notification{min-width:auto;max-width:none}}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background-color:#fff}.sidebar{position:fixed;top:56px;bottom:0;left:0;z-index:100;padding:0;box-shadow:inset -1px 0 0 rgba(0,0,0,.1);background-color:#1f2937;width:240px;overflow-y:auto;transition:transform .3s ease-in-out}@media(max-width: 1023px){.sidebar{transform:translateX(-100%);position:fixed;z-index:1050}.sidebar.show{transform:translateX(0)}}.sidebar .nav-link{color:hsla(0,0%,100%,.8);padding:.75rem 1rem;font-weight:500;border-radius:.25rem;margin:.25rem .5rem;transition:all .2s ease}.sidebar .nav-link:hover{color:#fff;background-color:hsla(0,0%,100%,.1)}.sidebar .nav-link.active{color:#2563eb;background-color:rgba(37,99,235,.1)}.sidebar .nav-link i{width:1.5rem;text-align:center}.sidebar .sidebar-divider{border-color:hsla(0,0%,100%,.15);margin:.5rem 1rem}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1040;transition:opacity .3s ease}@media(max-width: 1023px){.sidebar-overlay.show{display:block}}.main-content{margin-left:0;padding-top:1.5rem;padding-bottom:2rem;min-height:calc(100vh - 56px)}@media(min-width: 1024px){.main-content{margin-left:240px}}.messages-container .alert{border-left:4px solid;box-shadow:0 2px 4px rgba(0,0,0,.1)}.messages-container .alert.alert-success{border-left-color:#10b981}.messages-container .alert.alert-danger,.messages-container .alert.alert-error{border-left-color:#ef4444}.messages-container .alert.alert-warning{border-left-color:#f59e0b}.messages-container .alert.alert-info{border-left-color:#2563eb}.messages-container .alert i{vertical-align:middle}.text-primary{color:#2563eb !important}.text-success{color:#10b981 !important}.text-warning{color:#f59e0b !important}.text-danger{color:#ef4444 !important}.bg-primary{background-color:#2563eb !important}.bg-success{background-color:#10b981 !important}.bg-warning{background-color:#f59e0b !important}.bg-danger{background-color:#ef4444 !important}.btn-fade-in{animation:btnFadeIn .25s ease-out forwards}@keyframes btnFadeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width: 1023px){.d-xl-none{display:block !important}}@media(min-width: 1024px){.d-xl-none{display:none !important}.d-xl-block{display:block !important}}/*# sourceMappingURL=main.css.map */
