[hidden]{display:none!important}.app-shell{height:100vh;height:100dvh;overflow:hidden}.app-shell .sidebar{width:264px;height:100vh;height:100dvh;padding:22px 15px;z-index:50;overflow:hidden}.app-shell .sidebar .brand{flex-shrink:0}.app-shell .nav-label{margin:25px 12px 10px;flex-shrink:0}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}.sidebar-scroll::-webkit-scrollbar{width:5px}.sidebar-scroll::-webkit-scrollbar-thumb{background:#ccdcd2;border-radius:8px}.sidebar .nav-group{margin-bottom:5px}.sidebar .nav-group-heading{display:flex;align-items:center;border-radius:9px}.sidebar .nav-group-heading>a{flex:1;min-width:0;padding:11px 9px;margin:0;gap:10px;font-size:13px;overflow-wrap:anywhere}.sidebar .nav-group-heading>a>span{flex-shrink:0}.sidebar .is-active>.nav-group-heading{background:#edf5ef}.nav-toggle{border:0;background:transparent;color:#648575;padding:10px;width:30px;flex-shrink:0}.sidebar .subnav{padding:3px 0 6px 27px}.sidebar .subnav>a{padding:8px 10px;margin:1px 0;font-size:12px;line-height:1.35;border-radius:6px}.sidebar-bottom{flex-shrink:0;padding-top:14px}.app-shell .workspace{margin-left:264px;height:100vh;height:100dvh;display:flex;flex-direction:column;min-width:0}.app-shell .topbar{height:76px;flex:0 0 76px;padding:0 28px;gap:12px}.app-shell main{width:100%;max-width:none;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:25px 28px;margin:0;overscroll-behavior:contain}.app-shell footer{flex:0 0 28px;padding:5px 28px;font-size:10px;border-top:1px solid #e3ebe7;background:#f4f7f6}.page-heading{margin-bottom:20px}.filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 18px}.filter-bar>.form-control{flex:1;min-width:170px}.filter-bar>.form-select{flex:0 1 190px}.filter-bar>input[type=date]{flex:0 1 160px}.table-panel{padding:0;overflow:hidden}.table-panel>p{padding:18px 22px 0}.table-region{max-height:calc(100vh - 310px);max-height:calc(100dvh - 310px);min-height:160px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.table-region .table{margin-bottom:0}.table-region th{position:sticky;top:0;z-index:2;background:#f5f8f5}.table-region td{vertical-align:middle}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;background:white;border-top:1px solid #e3ebe7;flex-wrap:wrap;font-size:12px}.identity-cell{display:flex;align-items:center;gap:12px;min-width:180px}.identity-cell small{display:block;margin-top:4px;color:#71857b;font-size:11px}.photo-thumb{width:54px;height:54px;border-radius:11px;object-fit:cover;flex-shrink:0}.photo-placeholder{display:inline-flex;background:#edf3ee;color:#88a18f;align-items:center;justify-content:center;font-size:24px}.row-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:180px}.patient-context{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#e5eee6;padding:16px 20px;border-radius:12px;margin-bottom:14px}.section-tabs{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #dce6df;margin-bottom:22px;padding:0 0 5px;overscroll-behavior-x:contain}.section-tabs a{padding:9px 13px;border-radius:7px;font-size:12px;color:#668172}.section-tabs a.selected{background:#dfeee4;color:#155e4b;font-weight:700}.text-excerpt{min-width:180px;max-width:350px}.picker{position:relative}.picker-status{margin-top:6px}.picker-results{background:white;border:1px solid #cbded2;border-radius:8px;margin-top:5px;max-height:240px;overflow:auto}.picker-option{display:block;width:100%;border:0;border-bottom:1px solid #edf2ed;background:white;text-align:left;padding:12px 15px;font-size:13px;color:#244e3c}.picker-option:hover,.picker-option:focus{background:#e5f2e9}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin-bottom:20px}.photo-card{background:white;border:1px solid #e0e9e2;border-radius:13px;overflow:hidden}.photo-card img{width:100%;height:210px;object-fit:contain;background:#f0f4ef}.photo-card>div{padding:17px}.photo-card p{margin:8px 0;overflow-wrap:anywhere}.photo-card small{display:block;color:#839489;font-size:11px;margin-bottom:5px}.photo-full{display:block;max-width:100%;max-height:65vh;margin:0 auto;object-fit:contain;border-radius:9px}.image-preview{display:flex;align-items:center;gap:15px;margin-top:10px;color:#758879;font-size:12px}.image-preview img{width:100px;height:90px;object-fit:contain;border-radius:9px;background:#f2f5f0}.upload-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#e9f3ec;padding:15px;border-radius:9px}.upload-status progress{width:100%;height:12px;accent-color:#166b5c}.upload-spinner{width:21px;height:21px;border:3px solid #bad5c6;border-top-color:#166b5c;border-radius:50%;animation:cba-spin .8s linear infinite;display:inline-block;flex-shrink:0}@keyframes cba-spin{to{transform:rotate(360deg)}}.saving-overlay{position:fixed;inset:0;z-index:1000;background:#f4f8f3dd;display:flex;align-items:center;justify-content:center;gap:14px;font-size:18px}.audit-detail{max-width:560px;max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;background:#f5f8f3;padding:10px;margin-top:10px}.product-label{display:inline-block;background:white;padding:18px;border:1px solid #d7e2d7;border-radius:8px;max-width:100%;text-align:center}.product-label>strong{font-size:18px}.product-label p{font-size:12px;margin:5px 0}.product-label svg{display:block;max-width:100%;height:auto;margin:auto}.menu-button,.menu-backdrop{display:none}.upload-panel>summary{padding:2px 0}.app-shell .table-responsive{overscroll-behavior:contain}button:focus-visible,a:focus-visible{outline:3px solid #8cbcac;outline-offset:2px}@media(max-width:1000px){.app-shell .sidebar{width:236px}.app-shell .workspace{margin-left:236px}.app-shell main{padding:20px}.app-shell .topbar{padding:0 20px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(max-width:700px){.app-shell .sidebar{position:fixed;inset:0 auto 0 0;width:264px;transform:translateX(-100%);transition:transform .15s ease;background:white;padding:20px 15px}.app-shell.menu-open .sidebar{transform:translateX(0)}.app-shell .sidebar nav{display:block;margin-top:0;overflow-y:auto;overflow-x:hidden}.app-shell .sidebar nav a{white-space:normal}.app-shell .sidebar nav a>span{display:inline-block}.app-shell .nav-label,.app-shell .sidebar-bottom{display:block}.app-shell .workspace{margin-left:0}.menu-button{display:block;flex-shrink:0}.menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#17362970;border:0;z-index:45}.app-shell .topbar{flex-basis:74px;height:74px;min-height:74px;padding:10px 12px}.app-shell .topbar>div:first-of-type{display:none}.user-box{margin-left:auto}.app-shell main{padding:18px 12px}.app-shell footer{padding:6px 12px;font-size:9px}.filter-bar{gap:8px}.filter-bar>.form-control{min-width:140px}.filter-bar>.form-select{flex:1 1 140px}.table-region{max-height:calc(100dvh - 335px)}.patient-context{padding:14px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-card img{height:150px}.photo-card>div{padding:11px}.photo-card p{font-size:12px}.page-heading h1{font-size:24px}.row-actions{min-width:140px}.pager{padding:12px;gap:10px}.section-tabs a{padding:8px 10px}.table-panel{padding:0!important}}@media(prefers-reduced-motion:reduce){.upload-spinner{animation:none}.app-shell .sidebar{transition:none}}@media print{.app-shell,.app-shell .workspace,.app-shell main{height:auto;overflow:visible;display:block;margin:0;padding:0}.app-shell .sidebar,.app-shell .topbar,.app-shell footer,.section-tabs,.filter-bar,.pager,.patient-context>a,.menu-button,.menu-backdrop,.saving-overlay{display:none!important}.table-region{max-height:none;height:auto;overflow:visible;min-height:0}.table-region th{position:static}.product-label{border:0;padding:0}.product-label svg{width:auto;max-width:100%}.page-heading{display:none}.photo-full{max-height:none}.photo-card{break-inside:avoid}}
