@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";.navbar-left[data-v-d4118d4d],.navbar-right[data-v-d4118d4d]{align-items:center;gap:16px;display:flex}.navbar-brand[data-v-d4118d4d]{text-decoration:none}.mobile-only[data-v-d4118d4d]{display:none}.user-info[data-v-d4118d4d]{flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.user-name[data-v-d4118d4d]{font-size:.9rem;font-weight:600}.user-role[data-v-d4118d4d]{color:var(--text-secondary);font-size:.75rem}@media (width<=1024px){.mobile-only[data-v-d4118d4d]{border-radius:8px;padding:8px;display:flex}.desktop-only[data-v-d4118d4d]{display:none}}.sidebar-nav[data-v-6dcec3e6]{flex-direction:column;gap:4px;display:flex}.nav-link-label[data-v-6dcec3e6]{flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.sidebar-group-label[data-v-6dcec3e6]{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);opacity:.85;margin:4px 8px 6px;font-size:.68rem;font-weight:700}.sidebar-divider[data-v-6dcec3e6]{background:var(--border-color);flex-shrink:0;height:1px;margin:12px 0}.sidebar-intra-divider[data-v-6dcec3e6]{background:var(--border-color);opacity:.7;flex-shrink:0;height:1px;margin:8px 12px}.logout-btn[data-v-6dcec3e6]{justify-content:center;width:100%;padding:12px 16px}.price-display-box[data-v-6dcec3e6]{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:10px;margin-bottom:12px;padding:10px}.price-display-label[data-v-6dcec3e6]{color:var(--text-secondary);text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}.price-display-actions[data-v-6dcec3e6]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.price-display-btn[data-v-6dcec3e6]{min-height:34px;padding:6px 8px;font-size:.72rem;line-height:1.1}.price-display-btn.btn-primary[data-v-6dcec3e6]{background:var(--nhs-blue);border-color:var(--nhs-blue);color:#fff}.nav-submenu[data-v-6dcec3e6]{flex-direction:column;display:flex}.submenu-trigger[data-v-6dcec3e6]{text-align:left;cursor:pointer;background:0 0;border:none;width:100%}.submenu-items[data-v-6dcec3e6]{flex-direction:column;gap:2px;margin-top:4px;padding-left:12px;display:flex}.sub-link[data-v-6dcec3e6]{font-size:inherit;padding:8px 16px}.sub-link.router-link-active[data-v-6dcec3e6]{color:var(--nhs-blue);box-shadow:none;background:#005eb81a}.nav-link-success[data-v-6dcec3e6]{color:#0f7c59;background:#10b9811f;border:1px solid #10b98147}[data-theme=dark] .nav-link-success[data-v-6dcec3e6],[data-theme=dim] .nav-link-success[data-v-6dcec3e6]{color:#7be8c2;border-color:#7be8c24d}.ml-auto[data-v-6dcec3e6]{margin-left:auto}.transition[data-v-6dcec3e6]{transition:transform .2s}.rotate-180[data-v-6dcec3e6]{transform:rotate(180deg)}.scroll-to-top[data-v-984026ed]{z-index:85;right:max(16px, env(safe-area-inset-right,0px));bottom:calc(var(--scroll-to-top-offset,20px) + env(safe-area-inset-bottom,0px));border:1px solid color-mix(in srgb, var(--border-color) 80%, transparent);background:color-mix(in srgb, var(--bg-secondary) 88%, transparent);width:40px;height:40px;color:var(--text-secondary);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s,box-shadow .2s,transform .2s;display:inline-flex;position:fixed}.scroll-to-top[data-v-984026ed]:hover{color:var(--nhs-blue);border-color:color-mix(in srgb, var(--nhs-blue) 35%, var(--border-color));background:color-mix(in srgb, var(--bg-secondary) 96%, transparent);box-shadow:var(--shadow-lg)}.scroll-to-top[data-v-984026ed]:active{transform:scale(.96)}.scroll-to-top-fade-enter-active[data-v-984026ed],.scroll-to-top-fade-leave-active[data-v-984026ed]{transition:opacity .2s,transform .2s}.scroll-to-top-fade-enter-from[data-v-984026ed],.scroll-to-top-fade-leave-to[data-v-984026ed]{opacity:0;transform:translateY(8px)}@media (prefers-reduced-motion:reduce){.scroll-to-top-fade-enter-active[data-v-984026ed],.scroll-to-top-fade-leave-active[data-v-984026ed]{transition:opacity .15s}.scroll-to-top-fade-enter-from[data-v-984026ed],.scroll-to-top-fade-leave-to[data-v-984026ed],.scroll-to-top[data-v-984026ed]:active{transform:none}}html.has-app-shell:has(.visit-form-footer){--scroll-to-top-offset:84px}@media (width<=768px){html.has-app-shell:has(.visit-form-footer){--scroll-to-top-offset:132px}}body.app-modal-open .scroll-to-top{display:none}body.sidebar-menu-open .scroll-to-top{opacity:0;pointer-events:none}.auth-boot[data-v-b33545d4]{z-index:9999;background:#0f172a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-boot-brand[data-v-b33545d4]{justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative}.auth-boot-pulse[data-v-b33545d4]{animation:1.4s ease-in-out infinite auth-boot-pulse-ring-b33545d4;position:absolute;inset:0}.auth-boot-logo[data-v-b33545d4]{z-index:1;object-fit:contain;filter:drop-shadow(0 8px 24px #005eb859);transform-origin:50%;width:88px;height:88px;animation:1.4s ease-in-out infinite auth-boot-heartbeat-b33545d4;display:block;position:relative;transition:none!important}.auth-boot-pulse[data-v-b33545d4]{transition:none!important}.auth-boot-fallback[data-v-b33545d4]{z-index:1;color:#fff;transform-origin:50%;font-size:3.5rem;font-weight:800;line-height:1;animation:1.4s ease-in-out infinite auth-boot-heartbeat-b33545d4;position:relative}@keyframes auth-boot-pulse-ring-b33545d4{0%,to{opacity:.35;transform:scale(.92)}15%,45%{opacity:.7;transform:scale(1.08)}30%,60%{opacity:.45;transform:scale(.95)}}@keyframes auth-boot-heartbeat-b33545d4{0%,to{opacity:.9;transform:scale(1)}15%{opacity:1;transform:scale(1.1)}30%{opacity:.95;transform:scale(1)}45%{opacity:1;transform:scale(1.06)}60%{opacity:.92;transform:scale(1)}}.sr-only[data-v-b33545d4]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.auth-boot-logo[data-v-b33545d4],.auth-boot-pulse[data-v-b33545d4]{opacity:1;animation:none}.auth-boot-pulse[data-v-b33545d4]{transform:none}}:root{--app-base-font-size:16px;--user-font-ratio:1;--nhs-blue:#005eb8;--nhs-blue-dark:#003087;--nhs-blue-light:#41b6e6;--bg-primary:#f8fafc;--bg-secondary:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--border-color:#e2e8f0;--card-bg:#fffc;--sidebar-bg:#fff;--accent:var(--nhs-blue);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--info:#3b82f6;--control-height:44px;--z-navbar:100;--z-modal:10000;--z-popover:10100;--z-toast:11050;--control-font-size:var(--app-base-font-size);--calendar-slot-bg:#fff;--calendar-slot-outside-bg:#f1f5f9;--btn-form-helper-text:var(--nhs-blue-dark)}html.font-scaled{font-size:calc(var(--app-base-font-size) * var(--user-font-ratio,1));--control-font-size:calc(var(--app-base-font-size) * var(--user-font-ratio,1))}[data-theme=dark]{--bg-primary:#05070b;--bg-secondary:#181f2a;--text-primary:#f5f7fa;--text-secondary:#9ca8b7;--border-color:#2e3847;--card-bg:#1c2430;--sidebar-bg:#090c11;--shadow-sm:0 1px 2px 0 #00000059;--shadow-md:0 4px 6px -1px #00000073, 0 2px 4px -1px #00000040;--calendar-slot-bg:#232d3b;--calendar-slot-outside-bg:#121820;--btn-form-helper-text:var(--nhs-blue-light)}[data-theme=dim]{--bg-primary:#15202b;--bg-secondary:#192734;--text-primary:#fff;--text-secondary:#8899a6;--border-color:#38444d;--card-bg:#192734cc;--sidebar-bg:#192734;--calendar-slot-bg:#1e2c3a;--calendar-slot-outside-bg:#15202b;--btn-form-helper-text:var(--nhs-blue-light)}*,:before,:after{box-sizing:border-box}html,body,.app-shell,.app-navbar,.app-sidebar-wrap,.app-sidebar,.page-container,.content-card,.glass,.stat-card,.btn,.input,textarea,select,.data-table,.data-table th,.data-table td,.sidebar-overlay,.login-container,.login-card,.app-reka-picker,.app-checkbox,.app-switch,.app-combobox-anchor,.chart-card,.donut-wrapper{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}@media (prefers-reduced-motion:reduce){html,body,.app-shell,.app-navbar,.app-sidebar-wrap,.app-sidebar,.page-container,.content-card,.glass,.stat-card,.btn,.input,textarea,select,.data-table,.data-table th,.data-table td,.sidebar-overlay,.login-container,.login-card,.app-combobox-anchor,.chart-card,.donut-wrapper{transition:none}}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,sans-serif}.glass{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color)}.app-navbar{z-index:100;box-sizing:border-box;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:72px;min-height:72px;box-shadow:var(--shadow-sm);flex:0 0 72px;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.navbar-brand{color:var(--nhs-blue);align-items:center;gap:12px;font-size:1.25rem;font-weight:700;display:flex}.logo-img{width:auto;height:36px}.app-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-layout{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.app-sidebar-wrap{display:contents}.app-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border-color);flex-direction:column;flex:0 0 280px;gap:0;width:280px;min-width:280px;max-width:280px;height:100%;max-height:100%;padding:24px 16px;display:flex;overflow:hidden}.app-sidebar .sidebar-nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding-right:4px;overflow:hidden auto}.app-sidebar .sidebar-footer{border-top:1px solid var(--border-color);flex:none;margin-top:0;padding-top:16px}.nav-link{color:var(--text-secondary);border-radius:6px;align-items:center;gap:12px;padding:12px 16px;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s;display:flex;text-decoration:none!important}.nav-link:hover{background:var(--bg-primary);color:var(--text-primary)}.nav-link.router-link-active{background:var(--nhs-blue);color:#fff;box-shadow:0 4px 12px #005eb840}.page-container{-webkit-overflow-scrolling:touch;flex:auto;width:100%;min-width:0;max-width:1600px;min-height:0;margin:0 auto;padding:32px;overflow:hidden auto}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.page-title{letter-spacing:-.025em;margin:0;font-size:1.875rem;font-weight:800}.page-subtitle{color:var(--text-secondary);margin:4px 0 0}.form-with-summary{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:20px;width:100%;display:grid}.form-with-summary .form-column{flex-direction:column;gap:16px;min-width:0;display:flex}.form-with-summary>.summary-panel,.form-with-summary>aside.summary-panel{position:sticky;top:20px}@media (width<=960px){.form-with-summary{grid-template-columns:1fr}.form-with-summary>.summary-panel,.form-with-summary>aside.summary-panel{position:static}}.header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;display:flex}.header-actions>.btn,.header-actions>a.btn,.header-actions .type-toggle .btn{min-height:var(--control-height);padding-inline:16px}.header-actions .type-toggle{flex-shrink:0;align-items:center;gap:12px;display:flex}.content-card{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:8px;width:100%;min-width:0;max-width:100%;padding:24px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;gap:8px;padding:24px;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:700}.btn{font-family:inherit;font-size:var(--control-font-size);cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .2s;display:inline-flex;text-decoration:none!important}.btn-primary{background:var(--nhs-blue);color:#fff}.btn-primary:hover{background:var(--nhs-blue-dark);transform:translateY(-1px);box-shadow:0 4px 12px #005eb833}.btn-outline{border-color:var(--border-color);color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--bg-primary);border-color:var(--text-secondary)}.btn-danger{color:var(--error);background:#ef44441a;border:1px solid #ef444433}.btn-danger:hover{background:var(--error);color:#fff}.btn-sm{gap:6px;min-height:34px;padding:6px 12px;font-size:.8125rem}.btn-lg{min-height:48px;padding:14px 20px;font-size:1.05rem}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-form-add{background:color-mix(in srgb, var(--nhs-blue) 14%, var(--bg-secondary));color:var(--nhs-blue);border-color:color-mix(in srgb, var(--nhs-blue) 34%, var(--border-color))}.btn-form-add:hover:not(:disabled){background:color-mix(in srgb, var(--nhs-blue) 22%, var(--bg-secondary));border-color:var(--nhs-blue);box-shadow:none;transform:none}.btn-form-helper{background:color-mix(in srgb, var(--nhs-blue-light) 16%, var(--bg-secondary));color:var(--btn-form-helper-text);border-color:color-mix(in srgb, var(--nhs-blue) 30%, var(--border-color));letter-spacing:.01em;font-weight:700}.btn-form-helper:hover:not(:disabled){background:color-mix(in srgb, var(--nhs-blue-light) 28%, var(--bg-secondary));border-color:var(--nhs-blue);color:var(--btn-form-helper-text);transform:none}.btn-form-remove{background:color-mix(in srgb, var(--error) 12%, var(--bg-secondary));color:var(--error);border-color:color-mix(in srgb, var(--error) 30%, var(--border-color))}.btn-form-remove:hover:not(:disabled){background:var(--error);color:#fff;border-color:var(--error);box-shadow:none;transform:none}.btn-icon-only{min-width:34px;padding:6px}.form-submit-row{border-top:1px solid var(--border-color);margin-top:4px;padding-top:20px}.input-with-action{align-items:stretch;gap:8px;display:flex}.input-with-action>.input{flex:1;min-width:0}.quick-range-row{border:1px dashed var(--border-color);background:var(--bg-primary);border-radius:10px;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:10px;display:flex}.quick-range-btn{background:var(--nhs-blue);color:#fff;border-color:var(--nhs-blue)!important}.quick-range-btn:hover{background:var(--nhs-blue-dark);color:#fff;border-color:var(--nhs-blue-dark)!important}.form-group{margin-bottom:20px}.label{margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.input,.select,.textarea,input[type=text],input[type=password],input[type=email],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=datetime-local],select,textarea{font-size:var(--control-font-size)}.input,.select,.textarea{width:100%;height:var(--control-height);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);appearance:none;border-radius:6px;padding:0 14px;font-family:inherit;line-height:1.2;transition:border-color .2s}.textarea{height:auto;min-height:calc(var(--control-height) * 2);resize:vertical;padding:10px 14px}.input:focus{border-color:var(--nhs-blue);outline:none;box-shadow:0 0 0 4px #005eb81a}.form-group.has-error>.label{color:var(--error)}.form-group.has-error .input,.form-group.has-error .textarea,.form-group.has-error .select,.form-group.has-error .app-combobox-anchor,.form-group.has-error .app-combobox-input{border-color:var(--error);background:color-mix(in srgb, var(--error) 5%, var(--bg-secondary))}.form-group.has-error .input:focus,.form-group.has-error .textarea:focus,.form-group.has-error .select:focus,.form-group.has-error .app-combobox-anchor:focus-within{border-color:var(--error);box-shadow:0 0 0 3px color-mix(in srgb, var(--error) 22%, transparent)}@keyframes field-invalid-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--error) 0%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--error) 28%, transparent)}}.form-group.field-invalid--pulse{border-radius:8px;animation:.85s 2 field-invalid-pulse}.form-group.has-error .anm-error{color:var(--error)}.password-input-row{align-items:stretch;gap:8px;width:100%;display:flex}.password-input-row>.input{width:auto;min-width:0;font-size:var(--control-font-size);flex:auto}.password-input-actions{flex:none;align-items:stretch;gap:8px;display:flex}.password-input-actions .btn-password-action{height:var(--control-height);min-height:var(--control-height);white-space:nowrap;padding:0 14px;font-size:.875rem;line-height:1.2}.password-hint{color:var(--text-secondary);margin:6px 0 0;font-size:.8rem}@media (width<=640px){.password-input-row{flex-wrap:wrap}.password-input-row>.input,.password-input-actions{flex:100%;width:100%}.password-input-actions .btn-password-action{flex:1 1 0;justify-content:center;min-width:0}}.table-container{background:var(--bg-secondary);border:1px solid var(--border-color);-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-md);border-radius:8px;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th{background:var(--bg-primary);text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:16px 24px;font-size:.875rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);padding:16px 24px}.data-table th.is-first-column,.data-table td.is-first-column{text-align:left}.data-table th.is-numeric-column,.data-table td.is-numeric-column{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table th.is-action-column,.data-table td.is-action-column{text-align:center}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#005eb805}.data-table .badge,.data-table .status-pill{white-space:nowrap;word-break:keep-all}.pagination{background:var(--bg-primary);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.app-modal-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(6px);background:#ffffff8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}body.app-modal-open{overflow:hidden}body.app-modal-open .page-container{touch-action:none;overflow:hidden}[data-theme=dark] .app-modal-overlay,[data-theme=dim] .app-modal-overlay{background:#0a0e189e}.app-modal-overlay--strong{-webkit-backdrop-filter:blur(14px);background:#0f172ac7}[data-theme=dark] .app-modal-overlay--strong,[data-theme=dim] .app-modal-overlay--strong{background:#04060ce0}.app-modal{border:1px solid var(--border-color);width:100%;max-height:88vh;box-shadow:var(--shadow-lg);background:#fff;border-radius:10px;padding:24px;overflow-y:auto}[data-theme=dark] .app-modal,[data-theme=dim] .app-modal{background:var(--bg-secondary)}.app-modal--sm{max-width:620px}.app-modal--md{max-width:760px}.app-modal--lg{max-width:960px}.app-modal--xl{max-width:1120px}.app-modal--structured{flex-direction:column;padding:0;display:flex;overflow:hidden}.app-modal--structured .app-modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;margin-bottom:0;padding:16px 20px}.app-modal--structured .app-modal-body{flex:1;padding:20px;overflow-y:auto}.app-modal--structured .app-modal-footer{border-top:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0;margin-top:0;padding:14px 20px}.app-modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.app-modal-title{margin:0;font-size:1.4rem;font-weight:800}.app-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.2rem}.app-modal-footer{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}html.has-app-shell,html.has-app-shell body,html.has-app-shell #app{height:100%;min-height:0;max-height:100%;overflow:hidden}@supports (height:100dvh){html.has-app-shell,html.has-app-shell body,html.has-app-shell #app{height:100dvh;max-height:100dvh}}html.has-app-shell .app-shell{height:100%;max-height:100%;overflow:hidden}@supports (height:100dvh){html.has-app-shell .app-shell{height:100dvh;max-height:100dvh}}html.has-app-shell .app-shell>.app-layout{flex:auto;min-height:0;overflow:hidden}html.has-app-shell .page-container{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:hidden auto}body.sidebar-menu-open .page-container{touch-action:none;overflow:hidden}@media (width<=1024px){html.has-app-shell .app-shell{box-sizing:border-box;padding-top:72px}html.has-app-shell .app-shell>.app-layout{flex-direction:column;display:flex}.app-navbar{z-index:100;width:100%;position:fixed;top:0;left:0;right:0}.app-layout>.app-sidebar-wrap{z-index:90;width:280px;height:calc(100vh - 72px);max-height:calc(100vh - 72px);box-shadow:none;visibility:hidden;pointer-events:none;flex-direction:column;transition:transform .32s cubic-bezier(.32,.72,0,1),box-shadow .32s cubic-bezier(.32,.72,0,1),visibility 0s linear .32s;display:flex;position:fixed;top:72px;left:0;transform:translate(-100%)}@supports (height:100dvh){.app-layout>.app-sidebar-wrap{height:calc(100dvh - 72px);max-height:calc(100dvh - 72px)}}.app-layout>.app-sidebar-wrap.open{visibility:visible;pointer-events:auto;box-shadow:var(--shadow-lg);transition:transform .32s cubic-bezier(.32,.72,0,1),box-shadow .32s cubic-bezier(.32,.72,0,1),visibility linear;transform:translate(0,0)}.app-layout>.app-sidebar-wrap .app-sidebar{flex:auto;width:100%;min-width:0;max-width:none;height:100%;min-height:0;max-height:100%}.app-layout>.app-sidebar-wrap .app-sidebar .sidebar-nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:auto;min-height:0;overflow:hidden auto}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:80;background:#00000080;position:fixed;inset:72px 0 0}.sidebar-overlay-enter-active,.sidebar-overlay-leave-active{transition:opacity .32s cubic-bezier(.32,.72,0,1)}.sidebar-overlay-enter-from,.sidebar-overlay-leave-to{opacity:0}html.has-app-shell .page-container{padding:20px}.app-modal-overlay{padding:max(12px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));justify-content:center;align-items:center}.app-modal{max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));flex-direction:column;padding:0;display:flex;overflow:hidden}.app-modal-header{z-index:1;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;margin:0;padding:16px 20px;position:static}.app-modal-footer{border-top:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0;margin:0;padding:14px 20px}.app-modal--structured .app-modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:20px;overflow-y:auto}.app-modal--structured .app-modal-header{background:var(--bg-secondary)}.app-modal:not(.app-modal--structured)>:not(.app-modal-header):not(.app-modal-footer):not(form):not(.modal-form){overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-width:0;min-height:0;padding:20px;overflow:hidden auto}.app-modal>form,.app-modal>.modal-form{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:20px;overflow-y:auto}.app-modal>form>.app-modal-footer,.app-modal>.modal-form>.app-modal-footer{z-index:1;border-top:1px solid var(--border-color);background:var(--bg-primary);margin:16px -20px -20px;padding:14px 20px;position:sticky;bottom:0}}@media (width<=1024px) and (prefers-reduced-motion:reduce){.app-layout>.app-sidebar-wrap,.app-layout>.app-sidebar-wrap.open{visibility:visible;transition:none;transform:none}.app-layout>.app-sidebar-wrap:not(.open){visibility:hidden;pointer-events:none}.sidebar-overlay-enter-active,.sidebar-overlay-leave-active{transition:none}}@media (width<=640px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{justify-content:stretch;width:100%}.header-actions>.btn,.header-actions>a.btn,.header-actions>.type-toggle{min-height:var(--control-height);flex:1}.header-actions .type-toggle .btn{min-height:var(--control-height)}}.drag-handle{touch-action:none;-webkit-user-select:none;user-select:none}.sortable-fallback,.drag-ghost{touch-action:none;opacity:.9;z-index:9999}.amount-inline{white-space:nowrap;align-items:center;gap:0;display:inline-flex}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-warning{color:var(--warning)}.apexcharts-legend-text{color:var(--text-primary)!important}.apexcharts-xaxis-label,.apexcharts-yaxis-label{fill:var(--text-secondary)!important}.apexcharts-gridline,.apexcharts-grid-borders line{stroke:var(--border-color)}body .swal2-container{z-index:var(--z-toast)!important}@media print{@page{size:A4 portrait;margin:12mm}html,html.font-scaled{font-size:11pt!important}html,body,#app,.app-shell,.app-layout,.page-container,.page-fade-in{color:#000!important;background:#fff!important;height:auto!important;min-height:0!important;overflow:visible!important}.app-navbar,.app-sidebar,.app-sidebar-wrap,.sidebar-overlay,.auth-boot,.scroll-to-top,.visit-form-footer,.table-actions,.pagination,.chart-zoom-reset,.header-actions,.page-header .header-actions,.btn,.no-print,.app-modal-overlay,.app-modal,.swal2-container,.filter-bar,.filter-card,.filter-form,.filter-groups,.filter-group,.filter-pills,.filter-pill,.filter-actions,.filter-grid,.quick-range-row,.cancelled-toggle,.checkbox-row,.report-hint-card,.charts-grid,.timeline-card,.dashboard-visibility-toggle,.action-group,.action-buttons,.matrix-toolbar,.matrix-footer,.matrix-hint,.visit-hide,.trend-btn,apexchart,.apexcharts-toolbar,.apexcharts-tooltip,.apexcharts-legend,.calendar-toolbar,.calendar-legend,.appointment-drawer,.color-mode-toggle{display:none!important}html.has-app-shell .app-shell{padding-top:0!important}.visit-form-page--has-footer{padding-bottom:0!important}.page-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.content-card,.glass{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:none!important;margin:0 0 10px!important;padding:0!important}.page-header{break-after:avoid;page-break-after:avoid;border-bottom:1px solid #ccc!important;margin-bottom:10px!important;padding-bottom:6px!important}.page-title{color:#000!important;margin:0 0 4px!important;font-size:16pt!important}.page-subtitle{color:#444!important;margin:0!important;font-size:9.5pt!important}.chart-header h3,.chart-caption{color:#000!important}.summary-block,.summary-blocks,.summary-grid,.summary-cards,.stats-grid{break-inside:avoid;page-break-inside:avoid}.summary-block,.summary-blocks{margin-bottom:12px!important}.summary-cards,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;display:grid!important}.stat-card-half,.stat-card-quarter{grid-column:span 1!important}.data-table-wrapper{break-inside:auto;gap:0!important}.table-container,.table-wrap,.matrix-scroll{border:none!important;max-width:none!important;max-height:none!important;overflow:visible!important}.data-table,.matrix-table{border-collapse:collapse!important;width:100%!important;font-size:8.5pt!important}.data-table thead,.matrix-table thead{display:table-header-group}.data-table tr{break-inside:avoid;page-break-inside:avoid}.matrix-table tbody tr{break-inside:auto;page-break-inside:auto}.matrix-table tr.section-row{break-inside:avoid;page-break-inside:avoid}.matrix-table .value-cell,.matrix-table .value-multiline{break-inside:auto;page-break-inside:auto;overflow:visible!important}.data-table th,.data-table td,.matrix-table th,.matrix-table td{word-break:break-word;vertical-align:top;color:#000!important;white-space:normal!important;background:0 0!important;border:1px solid #bbb!important;padding:3px 5px!important}.data-table th,.matrix-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:700;background:#f3f4f6!important}.data-table tr:hover td,.matrix-table tr:hover td{background:0 0!important}.data-table:has(.action-group) thead th:last-child{display:none!important}.data-table:has(.action-buttons) thead th:last-child{display:none!important}.data-table:has(td>.btn) thead th:last-child{display:none!important}.data-table tr>:has(.action-group){display:none!important}.data-table tr>:has(.action-buttons){display:none!important}.data-table td:has(>.btn){display:none!important}.status-pill,.type-pill,.badge,.gender-tag{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:0 0!important;border:1px solid #999!important;padding:1px 4px!important;font-size:7.5pt!important}a[href]:after{content:none!important}}:root{--reka-combobox-anchor-width:220px}.app-reka-picker.input{width:100%;height:var(--control-height);min-height:var(--control-height);cursor:text;padding:0;display:block;position:relative;overflow:visible}.app-reka-picker.input:focus-within{border-color:var(--nhs-blue);outline:none;box-shadow:0 0 0 4px #005eb81a}.app-reka-picker__field{cursor:text;background:0 0;border:0;align-items:center;gap:1px;width:100%;height:100%;min-height:100%;padding:0 42px 0 14px;display:flex}.app-reka-picker__segment,.app-reka-picker__literal{font-size:var(--control-font-size);white-space:nowrap;line-height:1.2}.app-reka-picker__segment{min-width:1.35em;color:var(--text-primary);text-align:center;cursor:text;background:0 0;border:0;border-radius:4px;outline:none;padding:2px 1px}.app-reka-picker__segment:focus{color:var(--accent);background:#005eb81f}.app-reka-picker__segment[data-placeholder]{color:var(--text-secondary)}.app-reka-picker__literal{color:var(--text-secondary);-webkit-user-select:none;user-select:none;pointer-events:none}.app-reka-picker__time-row{border-top:1px solid var(--border-color);align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.app-reka-picker__time-label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.app-reka-picker__time-select{width:auto;min-width:4.5rem;height:36px;min-height:36px;padding:0 10px}.app-reka-picker__time-separator{color:var(--text-secondary);font-weight:600}.app-reka-picker__trigger{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.app-reka-picker__trigger:hover:not(:disabled){color:var(--accent);background:#005eb814}.app-reka-picker__trigger:disabled{opacity:.5;cursor:not-allowed}.app-reka-picker__content{z-index:var(--z-popover);border:1px solid var(--border-color);background:var(--bg-secondary);min-width:280px;color:var(--text-primary);box-shadow:var(--shadow-lg);border-radius:10px;padding:12px}.app-reka-picker__header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.app-reka-picker__header-selects{flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.app-reka-picker__month-select,.app-reka-picker__year-select{height:32px;min-height:32px;padding:0 8px;font-size:.875rem;font-weight:600}.app-reka-picker__month-select{flex:1;min-width:0;max-width:8.5rem}.app-reka-picker__year-select{flex-shrink:0;width:5.5rem}.app-reka-picker__nav-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.app-reka-picker__nav-btn:hover:not([data-disabled]){color:var(--accent);background:#005eb814}.app-reka-picker__nav-btn[data-disabled]{opacity:.35;cursor:not-allowed}.app-reka-picker__weekdays,.app-reka-picker__week{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.app-reka-picker__weekdays{margin-bottom:6px}.app-reka-picker__weekday{text-align:center;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;font-weight:600}.app-reka-picker__cell{justify-content:center;align-items:center;display:flex}.app-reka-picker__day{width:34px;height:34px;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;font-size:.875rem;display:inline-flex}.app-reka-picker__day:hover:not([data-disabled]):not([data-selected]){background:#005eb81a}.app-reka-picker__day[data-selected]{background:var(--accent);color:#fff}.app-reka-picker__day[data-today]:not([data-selected]){border:1px solid var(--accent)}.app-reka-picker__day[data-outside-view]{color:var(--text-secondary);opacity:.45}.app-reka-picker__day[data-disabled],.app-reka-picker__day[data-unavailable]{opacity:.35;cursor:not-allowed}[data-theme=dark] .app-reka-picker__trigger:hover:not(:disabled),[data-theme=dark] .app-reka-picker__nav-btn:hover:not([data-disabled]),[data-theme=dark] .app-reka-picker__day:hover:not([data-disabled]):not([data-selected]){background:#41b6e624}.app-checkbox{border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:inline-flex}.app-checkbox[data-state=checked],.app-checkbox[data-state=indeterminate]{border-color:var(--accent);background:var(--accent);color:#fff}.app-checkbox:focus-visible{outline:none;box-shadow:0 0 0 4px #005eb81a}.app-checkbox[data-disabled]{opacity:.5;cursor:not-allowed}.app-checkbox__indicator{color:inherit;justify-content:center;align-items:center;display:inline-flex}.app-switch{cursor:pointer;background:#94a3b8;border:0;border-radius:999px;flex-shrink:0;width:50px;height:28px;transition:background .2s;position:relative}.app-switch[data-state=checked]{background:var(--accent)}.app-switch:focus-visible{outline:none;box-shadow:0 0 0 4px #005eb81a}.app-switch[data-disabled]{opacity:.5;cursor:not-allowed}.app-switch__thumb{pointer-events:none;background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;display:block;position:absolute;top:3px;left:3px}.app-switch[data-state=checked] .app-switch__thumb{transform:translate(22px)}.app-select-root{width:100%}.app-combobox-anchor{width:100%;min-height:var(--control-height);cursor:text;align-items:center;gap:4px;height:auto;padding:6px 40px 6px 14px;display:flex;position:relative}.app-combobox-anchor:focus-within{border-color:var(--nhs-blue);outline:none;box-shadow:0 0 0 4px #005eb81a}.app-select-root.select-sm .app-combobox-anchor{min-height:38px;padding-top:4px;padding-bottom:4px}.app-select-root.select-page-size{flex:none;width:auto}.app-select-root.select-page-size .app-combobox-anchor{width:4.25rem;min-width:4.25rem;max-width:4.75rem;min-height:34px;padding:2px 24px 2px 8px}.app-select-root.select-page-size .app-combobox-input{text-align:center;cursor:pointer;flex:auto;width:100%;min-width:0;font-size:.875rem}.app-select-root.select-page-size .app-combobox-trigger{width:22px;height:22px;right:1px}.app-select-root.select-page-size .app-combobox-content{min-width:4.25rem}.app-combobox-tags{flex-wrap:wrap;gap:4px;max-width:100%;display:flex}.app-combobox-tag{background:var(--accent);color:#fff;border-radius:4px;align-items:center;gap:4px;max-width:100%;padding:2px 6px;font-size:.8rem;line-height:1.3;display:inline-flex}.app-combobox-tag-remove{width:16px;height:16px;color:inherit;cursor:pointer;background:#fff3;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-combobox-tag-remove:hover{background:#ffffff59}.app-combobox-input{width:100%;min-width:60px;height:auto;min-height:0;color:var(--text-primary);font-size:var(--control-font-size);background:0 0;border:0;outline:none;flex:1;padding:0;line-height:1.2}.app-combobox-input::placeholder{color:var(--text-secondary)}.app-combobox-display{min-width:0;color:var(--text-primary);font-size:var(--control-font-size);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:1;line-height:1.2;overflow:hidden}.app-combobox-display--placeholder{color:var(--text-secondary)}.app-combobox-trigger{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.app-combobox-trigger:hover:not([data-disabled]){color:var(--accent);background:#005eb814}.app-combobox-clear{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:34px;transform:translateY(-50%)}.app-combobox-clear:hover{color:var(--accent);background:#005eb814}.app-combobox-content{z-index:var(--z-popover);min-width:var(--reka-combobox-anchor-width,220px);border:1px solid var(--border-color);background:var(--bg-secondary);max-height:280px;color:var(--text-primary);box-shadow:var(--shadow-lg);border-radius:8px;overflow:hidden}.app-combobox-viewport{max-height:272px;padding:4px;overflow-y:auto}.app-combobox-item{cursor:pointer;border-radius:6px;outline:none;align-items:center;gap:8px;padding:10px 12px;font-size:.92rem;line-height:1.35;display:flex}.app-combobox-item[data-highlighted]{background:var(--bg-primary)}.app-combobox-item[data-state=checked]{background:color-mix(in srgb, var(--accent) 12%, var(--bg-secondary));font-weight:600}.app-combobox-item[data-disabled]{opacity:.45;cursor:not-allowed}.app-combobox-indicator{width:16px;color:var(--accent);flex-shrink:0;display:inline-flex}.app-combobox-empty{color:var(--text-secondary);padding:10px 12px;font-size:.875rem}.app-select-root.select-sm .app-combobox-item{min-height:36px;padding:8px 10px}.app-search-suggest{position:relative}.app-search-suggest-form{margin:0}.app-search-suggest-trap{opacity:0;pointer-events:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute}.app-search-suggest-input::-webkit-search-decoration{display:none}.app-search-suggest-input::-webkit-search-cancel-button{display:none}.app-search-suggest-input::-webkit-search-results-button{display:none}.app-search-suggest-input::-webkit-search-results-decoration{display:none}.app-search-suggest-row{align-items:center;gap:8px;display:flex}.app-search-suggest-field{flex:1;min-width:0;position:relative}.app-search-suggest-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.app-search-suggest-input{padding-left:2.5rem}.app-search-suggest-clear{white-space:nowrap;height:var(--control-height);min-height:var(--control-height);flex-shrink:0}.app-search-suggest-empty{color:var(--text-secondary);font-size:var(--control-font-size);margin:0;padding:10px 12px;line-height:1.35}.app-search-suggest-dropdown{z-index:var(--z-popover);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-lg);border-radius:8px;overflow:hidden}.app-search-suggest-dropdown--portal{position:fixed}.app-search-suggest-viewport{max-height:272px;padding:4px;overflow-y:auto}.app-search-suggest-item{width:100%;color:var(--text-primary);font-size:var(--control-font-size);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 12px;line-height:1.35;display:block}.app-search-suggest-item:hover,.app-search-suggest-item:focus-visible{background:var(--bg-primary);outline:none}.app-tooltip-content{z-index:calc(var(--z-popover) + 20);border:1px solid var(--border-color);background:var(--card-bg,var(--bg-secondary));max-width:280px;color:var(--text-primary);box-shadow:var(--shadow-md);-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:8px;padding:7px 11px;font-size:.84rem;font-weight:600;line-height:1.35}[data-theme=dark] .app-tooltip-content,[data-theme=dim] .app-tooltip-content{border-color:color-mix(in srgb, var(--border-color) 70%, var(--text-primary) 12%);box-shadow:0 10px 28px #0000008c}.app-tooltip-content[data-state=delayed-open],.app-tooltip-content[data-state=instant-open]{animation:.14s ease-out app-tooltip-in}@keyframes app-tooltip-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
