/* ClinicCare v1.7.0.0 — final interface and accessibility polish. */
.skip-to-content{position:fixed;left:1rem;top:.75rem;z-index:10000;transform:translateY(-180%);padding:.7rem 1rem;border-radius:10px;background:#fff;color:#102a27;font-weight:850;box-shadow:0 8px 28px rgba(15,23,42,.2);transition:transform .16s ease}.skip-to-content:focus{transform:translateY(0)}
.ui-live-region{position:fixed!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.app-page .main:focus{outline:none}
body.app-page :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:2px}
body.app-page input[aria-invalid="true"],body.app-page select[aria-invalid="true"],body.app-page textarea[aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.12)}

.page-section-nav{position:sticky;top:84px;z-index:24;margin:0 0 14px;border:1px solid var(--clean-line,#d9e3e6);border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 6px 18px rgba(24,45,54,.07);backdrop-filter:blur(12px)}.page-section-nav>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .85rem;cursor:pointer;list-style:none;font-size:.78rem;font-weight:850;color:#2a4d49}.page-section-nav>summary::-webkit-details-marker{display:none}.page-section-nav>summary small{font-size:.68rem;color:var(--clean-muted,#687982);font-weight:700}.page-section-nav>nav{display:flex;gap:.35rem;overflow:auto;padding:.15rem .65rem .7rem;scrollbar-width:thin}.page-section-nav>nav a{flex:0 0 auto;padding:.45rem .65rem;border-radius:9px;color:var(--clean-muted,#687982);font-size:.72rem;font-weight:750;white-space:nowrap}.page-section-nav>nav a:hover,.page-section-nav>nav a.active{background:var(--clean-brand-soft,#e8f4f1);color:var(--primary)}

@media(min-width:901px){body.app-page .ux-sticky-toolbar{position:sticky;top:82px;z-index:18;background:rgba(244,247,248,.96);backdrop-filter:blur(10px);border-radius:12px;padding:.65rem .75rem;margin-left:-.2rem;margin-right:-.2rem}.page-section-nav+.ux-sticky-toolbar{top:139px}}
body.app-page form[aria-busy="true"]{cursor:progress}body.app-page form[aria-busy="true"] :where(input,select,textarea){opacity:.84}body.app-page button[data-ux-disabled-by-submit]{position:relative;cursor:progress!important;opacity:.78}

body.app-page .table-wrap{scrollbar-gutter:stable both-edges;overscroll-behavior:contain}body.app-page .table-wrap:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 20%,transparent);outline-offset:2px}body.app-page .table-wrap table thead th{position:sticky;top:0;z-index:2;background:#f7faf9;box-shadow:0 1px 0 var(--clean-line,#d9e3e6)}body.app-page .table-wrap tbody tr:focus-within{background:color-mix(in srgb,var(--primary) 5%,#fff)}

body.app-page :where(.form-grid,.management-filter-bar,.support-filter-toolbar) label{min-width:0}body.app-page :where(.form-grid,.management-filter-bar,.support-filter-toolbar) input,body.app-page :where(.form-grid,.management-filter-bar,.support-filter-toolbar) select,body.app-page :where(.form-grid,.management-filter-bar,.support-filter-toolbar) textarea{max-width:100%}body.app-page textarea{line-height:1.5;resize:vertical}body.app-page .dialog-actions,body.app-page .form-actions,body.app-page .assignment-save-bar{gap:.55rem;flex-wrap:wrap}

.ux-back-to-top{position:fixed;right:1rem;bottom:1rem;z-index:80;display:flex;align-items:center;gap:.4rem;padding:.6rem .75rem;border:1px solid var(--clean-line,#d9e3e6);border-radius:999px;background:#fff;color:#294941;font:inherit;font-size:.75rem;font-weight:850;box-shadow:0 10px 26px rgba(15,23,42,.14);cursor:pointer}.ux-back-to-top[hidden]{display:none}.ux-back-to-top:hover{background:var(--clean-brand-soft,#e8f4f1);color:var(--primary)}

[data-ux-tooltip]{position:relative}[data-ux-tooltip]::after{content:attr(data-ux-tooltip);position:absolute;left:50%;bottom:calc(100% + 9px);z-index:120;max-width:260px;transform:translate(-50%,4px);padding:.45rem .6rem;border-radius:8px;background:#102a27;color:#fff;font-size:.68rem;font-weight:650;line-height:1.35;text-align:center;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:.14s ease}[data-ux-tooltip]:hover::after,[data-ux-tooltip]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}

.kiosk-status-chip{display:inline-flex;align-items:center;min-height:30px;padding:.35rem .58rem;border-radius:999px;font-size:.66rem;font-weight:850;white-space:nowrap}.kiosk-status-chip.managed{background:#e6f6ed;color:#17613b}.kiosk-status-chip.legacy{background:#fff1d6;color:#805700}
body.task-preview-mode .topbar{border-bottom-color:#e7b84f}body.task-preview-mode .task-role-switcher select{font-weight:800}

body.app-page .flash{max-width:min(680px,calc(100vw - 2rem));border-radius:12px;box-shadow:0 10px 28px rgba(15,23,42,.14)}body.app-page .empty-cell,body.app-page td[colspan]:only-child{padding:1.4rem;text-align:center;color:var(--clean-muted,#687982)}

@media(max-width:900px){.page-section-nav{top:70px}.ux-back-to-top{bottom:4.7rem}.page-section-nav>nav{padding-bottom:.6rem}}
@media(max-width:720px){body.app-page .main{padding-left:12px!important;padding-right:12px!important}.page-section-nav{position:relative;top:auto}.page-section-nav>summary{padding:.65rem .75rem}.page-section-nav>nav{display:grid;grid-template-columns:1fr;max-height:230px}.page-section-nav>nav a{white-space:normal}.ux-sticky-toolbar{position:static!important}.toolbar,.module-toolbar,.management-toolbar,.card-head{align-items:flex-start}.toolbar-actions,.topbar-actions,.inline-actions{max-width:100%;flex-wrap:wrap}.dialog-actions .btn,.form-actions .btn{flex:1 1 150px}.task-role-switcher{max-width:180px}.task-role-switcher select{max-width:180px}.kiosk-status-chip{display:none}[data-ux-tooltip]::after{display:none}.table-wrap{border-radius:10px}.ux-back-to-top{right:.65rem;bottom:4.6rem}.mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom)}}
@media(max-width:520px){body.app-page .card,body.app-page .stat-card{padding:14px}.page-context-bar{gap:.5rem}.page-breadcrumb{min-width:0;overflow:hidden}.page-breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-title h1{font-size:17px!important}.global-search{order:4;width:100%}.topbar{flex-wrap:wrap}.toolbar-actions>.btn,.management-toolbar>.inline-actions>.btn{flex:1 1 auto}}

@media print{.page-section-nav,.ux-back-to-top,.skip-to-content,.kiosk-status-chip{display:none!important}.ux-sticky-toolbar{position:static!important;background:transparent!important;padding:0!important}}
