:root{--lau-font: "Plus Jakarta Sans", "Inter", ui-sans-serif, system-ui, sans-serif;--lau-brand: #210425;--lau-brand-deep: #160517;--lau-brand-surface: #2c0f35;--lau-brand-elevated: #3a1645;--lau-accent: #8a44ad;--lau-accent-hover: #723593;--lau-accent-soft: #a862c9;--lau-accent-rgb: 138, 68, 173;--lau-accent-dim: rgba(138, 68, 173, .16);--lau-accent-dim-soft: rgba(138, 68, 173, .08);--lau-accent-glow: rgba(138, 68, 173, .28);--lau-on-accent: #ffffff;--lau-danger: #dc3545;--lau-warning: #e79b16;--lau-success: #1a9e73;--lau-info: #0ea5a4;--lau-bg: #f8f5fa;--lau-bg-muted: #f3eef7;--lau-bg-elevated: #ffffff;--lau-card: #ffffff;--lau-border: #e8deef;--lau-border-strong: #d9c9e4;--lau-text: #1a1220;--lau-text-secondary: #5c5168;--lau-text-muted: #8a8094;--lau-sidebar-w: 280px;--lau-sidebar-collapsed-w: 5.25rem;--lau-header-h: 68px;--lau-content-gap: 2rem;--lau-radius: 10px;--lau-radius-sm: 8px;--lau-radius-lg: 14px;--lau-shadow-sm: 0 1px 2px rgba(33, 4, 37, .04), 0 2px 8px rgba(33, 4, 37, .04);--lau-shadow-md: 0 8px 24px rgba(33, 4, 37, .07), 0 2px 8px rgba(33, 4, 37, .04);--lau-shadow-lg: 0 24px 48px rgba(33, 4, 37, .1), 0 8px 24px rgba(33, 4, 37, .06);--lau-shadow-card: 0 1px 0 rgba(255, 255, 255, .9) inset, var(--lau-shadow-sm);--lau-transition: .18s cubic-bezier(.4, 0, .2, 1)}body.admin-portal,body.tenant-portal{--bs-primary: var(--lau-accent);--bs-primary-rgb: var(--lau-accent-rgb);--bs-link-color: var(--lau-accent);--bs-link-hover-color: var(--lau-accent-hover);--bs-body-font-family: var(--lau-font);--bs-body-color: var(--lau-text);--bs-border-color: var(--lau-border);--bs-heading-color: var(--lau-text);font-family:var(--lau-font);background:var(--lau-bg);color:var(--lau-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.admin-portal a,body.tenant-portal a,body.admin-portal button,body.tenant-portal button,body.admin-portal .btn,body.tenant-portal .btn,body.admin-portal .menu-link,body.tenant-portal .menu-link,body.admin-portal .dropdown-item,body.tenant-portal .dropdown-item,body.admin-portal .page-link,body.tenant-portal .page-link,body.admin-portal [role=button],body.tenant-portal [role=button],body.admin-portal .admin-stat-card[href],body.tenant-portal .tenant-stat-card[href]{cursor:pointer}body.admin-portal :focus-visible,body.tenant-portal :focus-visible{outline:2px solid var(--lau-accent);outline-offset:2px}body.tenant-portal .btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;border-radius:var(--lau-radius-sm);transition:background var(--lau-transition),border-color var(--lau-transition),color var(--lau-transition),box-shadow var(--lau-transition),transform var(--lau-transition)}body.admin-portal .btn-primary,body.tenant-portal .btn-primary{background:linear-gradient(180deg,var(--lau-accent-soft) 0%,var(--lau-accent) 100%);border-color:#ffffff24;color:var(--lau-on-accent);box-shadow:0 4px 16px rgba(var(--lau-accent-rgb),.32),inset 0 1px #ffffff2e}body.admin-portal .btn-primary:hover,body.admin-portal .btn-primary:focus,body.tenant-portal .btn-primary:hover,body.tenant-portal .btn-primary:focus{background:linear-gradient(180deg,#b874d4 0%,var(--lau-accent-hover) 100%);border-color:#ffffff24;color:var(--lau-on-accent);box-shadow:0 8px 22px rgba(var(--lau-accent-rgb),.38)}body.tenant-portal .btn-primary:hover,body.tenant-portal .btn-primary:focus{transform:translateY(-1px)}body.admin-portal .btn-outline-primary,body.tenant-portal .btn-outline-primary{color:var(--lau-accent);border-color:rgba(var(--lau-accent-rgb),.35)}body.admin-portal .btn-outline-primary:hover,body.tenant-portal .btn-outline-primary:hover{background:var(--lau-accent-dim-soft);color:var(--lau-accent-hover);border-color:rgba(var(--lau-accent-rgb),.5)}body.admin-portal .btn-cancel,body.tenant-portal .btn-cancel,body.admin-portal .btn-label-secondary,body.tenant-portal .btn-label-secondary,body.admin-portal a.btn-outline-secondary:has(.ti-arrow-left),body.tenant-portal a.btn-outline-secondary:has(.ti-arrow-left){background:var(--lau-bg-muted)!important;color:var(--lau-text-secondary)!important;border:1px solid var(--lau-border)!important}body.admin-portal .btn-cancel:hover,body.tenant-portal .btn-cancel:hover{background:#ebe4f0!important;color:var(--lau-text)!important}body.admin-portal .form-control,body.admin-portal .form-select{border-color:var(--lau-border)}body.tenant-portal .form-control,body.tenant-portal .form-select{border-color:var(--lau-border);border-radius:var(--lau-radius-sm);min-height:2.625rem;font-size:.875rem;transition:border-color var(--lau-transition),box-shadow var(--lau-transition),background-color var(--lau-transition)}body.admin-portal .form-control:focus,body.admin-portal .form-select:focus,body.tenant-portal .form-control:focus,body.tenant-portal .form-select:focus{border-color:rgba(var(--lau-accent-rgb),.5);box-shadow:0 0 0 .22rem rgba(var(--lau-accent-rgb),.12)}body.admin-portal .form-label,body.tenant-portal .form-label{font-size:.8125rem;font-weight:600;color:var(--lau-text-secondary)}body.admin-portal .badge.bg-label-primary,body.admin-portal .badge.bg-label-info,body.tenant-portal .badge.bg-label-primary,body.tenant-portal .badge.bg-label-info{background:var(--lau-accent-dim)!important;color:var(--lau-accent)!important}body.admin-portal .page-item.active .page-link,body.tenant-portal .page-item.active .page-link{background:linear-gradient(180deg,var(--lau-accent-soft),var(--lau-accent));border-color:var(--lau-accent);box-shadow:0 4px 12px rgba(var(--lau-accent-rgb),.28)}body.admin-portal .admin-global-loader,body.tenant-portal .admin-global-loader{background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(33,4,37,.08) 0%,transparent 70%),#0f172a40}body.admin-portal .admin-global-loader__ring--outer,body.tenant-portal .admin-global-loader__ring--outer{border-color:#21042533;border-top-color:var(--lau-brand)}body.admin-portal .admin-global-loader__ring--inner,body.tenant-portal .admin-global-loader__ring--inner{border-color:#8a44ad40;border-bottom-color:var(--lau-accent)}.lau-auth-screen-wrap{display:flex;min-height:100vh;min-height:100dvh;background:var(--lau-bg)}.lau-auth-brand-panel{flex:0 0 44%;min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(var(--lau-accent-rgb),.15) 0%,transparent 45%),linear-gradient(165deg,var(--lau-brand-surface) 0%,var(--lau-brand) 48%,var(--lau-brand-deep) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 3rem;position:relative;overflow:hidden}.lau-auth-brand-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,#000 20%,transparent 100%);mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,#000 20%,transparent 100%);pointer-events:none}.lau-auth-brand-logo{position:relative;z-index:1;padding:14px 20px;border-radius:var(--lau-radius);background:#fffffff5;box-shadow:0 8px 28px #0000003d;margin-bottom:2rem}.lau-auth-brand-logo img{max-height:60px;max-width:240px;object-fit:contain;display:block}.lau-auth-brand-copy{position:relative;z-index:1;text-align:center;color:#fff;max-width:420px}.lau-auth-brand-copy h1{color:#fff;font-size:1.75rem;font-weight:700;margin-bottom:.75rem}.lau-auth-brand-copy p{color:#ffffffb8;font-size:.9375rem;line-height:1.6;margin-bottom:0}.lau-auth-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.lau-auth-form-wrap{width:100%;max-width:420px}.lau-auth-badge{display:inline-flex;padding:.35rem .75rem;border-radius:999px;background:var(--lau-accent-dim-soft);color:var(--lau-accent);font-size:.75rem;font-weight:600;margin-bottom:1rem}.lau-auth-form-wrap h2{font-size:1.5rem;font-weight:700;margin-bottom:.35rem}.lau-auth-form-wrap .lead{color:var(--lau-text-muted);font-size:.9375rem;margin-bottom:1.25rem}.lau-auth-card{background:var(--lau-card);border:1px solid var(--lau-border);border-radius:var(--lau-radius-lg);box-shadow:var(--lau-shadow-lg);padding:1.75rem}.lau-auth-footer{margin-top:1.25rem;text-align:center;font-size:.75rem;color:var(--lau-text-muted)}.lau-auth-compact{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(ellipse 80% 50% at 100% 0%,rgba(var(--lau-accent-rgb),.08) 0%,transparent 55%),var(--lau-bg)}.lau-auth-compact .lau-auth-form-wrap{width:100%;max-width:460px}.lau-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.lau-quick-action{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;background:var(--lau-card);border:1px solid var(--lau-border);border-radius:var(--lau-radius);box-shadow:var(--lau-shadow-card);color:inherit;text-decoration:none;transition:transform var(--lau-transition),box-shadow var(--lau-transition),border-color var(--lau-transition)}.lau-quick-action:hover,.lau-quick-action:focus-visible{transform:translateY(-2px);box-shadow:var(--lau-shadow-md);border-color:rgba(var(--lau-accent-rgb),.22);color:inherit}.lau-quick-action__icon{width:2.5rem;height:2.5rem;border-radius:var(--lau-radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--lau-accent-dim-soft);color:var(--lau-accent);flex-shrink:0;font-size:1.2rem}.lau-quick-action__label{font-size:.875rem;font-weight:700;color:var(--lau-text)}.lau-quick-action__hint{font-size:.75rem;color:var(--lau-text-muted);margin:.15rem 0 0}@media (max-width: 991.98px){.lau-auth-brand-panel{display:none}.lau-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 575.98px){.lau-quick-actions{grid-template-columns:1fr}.lau-auth-form-panel{padding:1.5rem 1rem}}body.admin-portal,body.tenant-portal{--bs-pagination-active-bg: var(--lau-accent);--bs-pagination-active-border-color: var(--lau-accent);--bs-form-check-bg: var(--lau-card)}body.admin-portal .form-check-input:checked,body.tenant-portal .form-check-input:checked{background-color:var(--lau-accent);border-color:var(--lau-accent)}body.admin-portal .form-check-input:focus,body.tenant-portal .form-check-input:focus{border-color:rgba(var(--lau-accent-rgb),.5);box-shadow:0 0 0 .22rem rgba(var(--lau-accent-rgb),.12)}body.admin-portal .nav-pills .nav-link.active,body.tenant-portal .nav-pills .nav-link.active{background-color:var(--lau-accent)}body.admin-portal .btn-text-primary,body.tenant-portal .btn-text-primary{color:var(--lau-accent)}body.tenant-portal .btn-icon{width:2.15rem;height:2.15rem;border-radius:var(--lau-radius-sm)}body.tenant-portal .breadcrumb{font-size:.8125rem;margin-bottom:0}body.admin-portal,body.admin-portal-auth,body.tenant-portal{scrollbar-width:thin;scrollbar-color:rgba(var(--lau-accent-rgb),.35) transparent}body.admin-portal ::selection,body.admin-portal-auth ::selection,body.tenant-portal ::selection{background:rgba(var(--lau-accent-rgb),.22);color:var(--lau-text)}body.admin-portal ::placeholder,body.admin-portal-auth ::placeholder,body.tenant-portal ::placeholder{color:var(--lau-text-muted);opacity:.88}body.admin-portal .form-control:focus-visible,body.admin-portal .form-select:focus-visible,body.admin-portal-auth .form-control:focus-visible,body.admin-portal-auth .form-select:focus-visible,body.tenant-portal .form-control:focus-visible,body.tenant-portal .form-select:focus-visible{outline:none}body.admin-portal .btn:disabled,body.admin-portal .btn.disabled,body.admin-portal-auth .btn:disabled,body.admin-portal-auth .btn.disabled,body.tenant-portal .btn:disabled,body.tenant-portal .btn.disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}body.admin-portal .form-control:disabled,body.admin-portal .form-select:disabled,body.admin-portal-auth .form-control:disabled,body.admin-portal-auth .form-select:disabled,body.tenant-portal .form-control:disabled,body.tenant-portal .form-select:disabled{background-color:var(--lau-bg-muted);color:var(--lau-text-muted);cursor:not-allowed;opacity:1}body.admin-portal .form-control,body.admin-portal-auth .form-control,body.tenant-portal .form-control{background-color:var(--lau-bg-elevated)}body.admin-portal .dropdown-item:focus,body.tenant-portal .dropdown-item:focus{background:var(--lau-accent-dim-soft);color:var(--lau-text)}body.admin-portal .alert,body.tenant-portal .alert{border-left-width:3px}.lau-skip-link{position:absolute;left:.85rem;top:-3.5rem;z-index:1080;padding:.55rem .9rem;background:var(--lau-brand);color:#fff!important;border-radius:var(--lau-radius-sm);font-size:.8125rem;font-weight:700;text-decoration:none;box-shadow:var(--lau-shadow-md)}.lau-skip-link:focus,.lau-skip-link:focus-visible{top:.75rem;color:#fff!important;outline:2px solid #fff;outline-offset:2px}#portal-main:focus{outline:none}body.admin-portal .layout-menu .menu-link:focus-visible,body.tenant-portal .layout-menu .menu-link:focus-visible,body.admin-portal .admin-sidebar-mobile-close:focus-visible,body.tenant-portal .tenant-sidebar-mobile-close:focus-visible{outline:2px solid rgba(255,255,255,.82);outline-offset:1px}body.admin-portal .form-password-toggle .input-group-text,body.admin-portal-auth .form-password-toggle .input-group-text,body.tenant-portal .form-password-toggle .input-group-text{cursor:pointer;color:var(--lau-text-muted);transition:color var(--lau-transition),background-color var(--lau-transition)}body.admin-portal .form-password-toggle .input-group-text:hover,body.admin-portal-auth .form-password-toggle .input-group-text:hover,body.tenant-portal .form-password-toggle .input-group-text:hover{color:var(--lau-accent);background:var(--lau-accent-dim-soft)}body.admin-portal .lau-auth-form-wrap a.small,body.admin-portal-auth .lau-auth-form-wrap a.small,body.tenant-portal .tenant-auth-form-wrap a.small,body.tenant-portal .lau-auth-form-wrap a.small{font-weight:600;text-decoration:none}body.admin-portal .lau-auth-form-wrap a.small:hover,body.admin-portal-auth .lau-auth-form-wrap a.small:hover,body.tenant-portal .tenant-auth-form-wrap a.small:hover,body.tenant-portal .lau-auth-form-wrap a.small:hover{color:var(--lau-accent-hover);text-decoration:underline}body.admin-portal .tooltip .tooltip-inner,body.tenant-portal .tooltip .tooltip-inner{background:var(--lau-brand);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--lau-radius-sm);padding:.4rem .6rem}body.admin-portal .dataTables_wrapper .dataTables_processing,body.tenant-portal .dataTables_wrapper .dataTables_processing{background:#fffffff0!important;border:1px solid var(--lau-border);border-radius:var(--lau-radius);box-shadow:var(--lau-shadow-sm);color:var(--lau-text-secondary);font-weight:600;font-size:.8125rem}body.tenant-portal .tenant-quick-action:focus-visible{transform:translateY(-1px);border-color:rgba(var(--lau-accent-rgb),.22);box-shadow:var(--lau-shadow-md);color:inherit}body.admin-portal .form-label .text-danger,body.admin-portal-auth .form-label .text-danger,body.tenant-portal .form-label .text-danger{font-weight:700;padding-inline-start:.12rem}body.admin-portal .form-check-input,body.admin-portal .form-check-label,body.admin-portal-auth .form-check-input,body.admin-portal-auth .form-check-label,body.tenant-portal .form-check-input,body.tenant-portal .form-check-label{cursor:pointer}body.admin-portal .modal-backdrop,body.tenant-portal .modal-backdrop{background-color:var(--lau-brand-deep)}body.admin-portal .modal-backdrop.show,body.tenant-portal .modal-backdrop.show{opacity:.52}body.admin-portal .invalid-feedback,body.admin-portal-auth .invalid-feedback,body.tenant-portal .invalid-feedback{color:var(--lau-danger)!important}@media (pointer: coarse){body.admin-portal .btn-icon,body.tenant-portal .btn-icon,body.admin-portal .btn.btn-icon,body.tenant-portal .btn.btn-icon,body.admin-portal .layout-menu-toggle,body.tenant-portal .layout-menu-toggle,body.admin-portal .admin-sidebar-toggle,body.tenant-portal .tenant-sidebar-toggle,body.admin-portal .pagination .page-link,body.tenant-portal .pagination .page-link{min-width:2.75rem;min-height:2.75rem}body.admin-portal .btn-icon,body.tenant-portal .btn-icon,body.admin-portal .btn.btn-icon,body.tenant-portal .btn.btn-icon{width:2.75rem;height:2.75rem}}@media (prefers-reduced-motion: reduce){body.admin-portal,body.admin-portal-auth,body.tenant-portal,body.admin-portal *,body.admin-portal-auth *,body.tenant-portal *{scroll-behavior:auto!important}body.admin-portal .btn,body.admin-portal-auth .btn,body.tenant-portal .btn,body.admin-portal .card,body.tenant-portal .card,body.admin-portal .admin-stat-card,body.tenant-portal .tenant-stat-card,body.admin-portal .lau-quick-action,body.tenant-portal .tenant-quick-action{transform:none!important;transition:none!important}.admin-global-loader,.admin-global-loader__ring--outer,.admin-global-loader__ring--inner,body.tenant-portal .tenant-clinic-badge .dot{animation:none!important;transition:none!important}}body.admin-portal .breadcrumb{font-size:.8125rem}body.admin-portal .breadcrumb-item,body.admin-portal .breadcrumb-item a,body.tenant-portal .breadcrumb-item,body.tenant-portal .breadcrumb-item a{color:var(--lau-text-muted)}body.admin-portal .breadcrumb-item.active,body.tenant-portal .breadcrumb-item.active{color:var(--lau-text);font-weight:600}body.admin-portal .auth-input,body.tenant-portal .auth-input{max-width:3rem;height:3rem!important;padding:0;font-size:1.15rem;font-weight:700;border-radius:var(--lau-radius-sm)}body.admin-portal .admin-list-card,body.tenant-portal .tenant-list-card{overflow:hidden}body.admin-portal .admin-list-card>.card-header,body.tenant-portal .tenant-list-card>.card-header{background:linear-gradient(180deg,#fff 0%,var(--lau-bg-muted) 100%)}html.layout-navbar-fixed body.tenant-portal .layout-page{padding-top:var(--lau-header-h)!important}.lau-error-card{text-align:center}.lau-error-code{font-size:clamp(3rem,8vw,4.5rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--lau-accent);margin-bottom:.75rem}@media (prefers-reduced-motion: reduce){body.admin-portal *,body.tenant-portal *,body.admin-portal *:before,body.tenant-portal *:before,body.admin-portal *:after,body.tenant-portal *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
