html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--mode-bg, #f8f9fa)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:#333}a{color:#667eea;text-decoration:none}a:hover{text-decoration:underline}@media(hover:hover){button:hover:not(:disabled){opacity:.9}}button:not(:disabled){transition:transform .08s ease,opacity .15s ease}button:active:not(:disabled){transform:scale(.97)}@keyframes btn-spin{to{transform:rotate(360deg)}}input,select,textarea{font-family:inherit;font-size:14px;padding:8px 12px;border:1px solid #ddd;border-radius:4px}input:focus,select:focus,textarea:focus{outline:none;border-color:#667eea}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes notificationDrop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ws-dot-pulse{0%,to{opacity:.7}50%{opacity:.2}}.ui-zoom{zoom:var(--ui-scale, 1)}.ui-zoom-children>*{zoom:var(--ui-scale, 1)}.desktop-tabs{display:flex;align-items:center;gap:4px;margin-bottom:8px;border-bottom:2px solid #e2e8f0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;width:100%;min-width:0;height:fit-content}.desktop-subtabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #e0e0e0}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;align-items:stretch;background:#fffffff7;border-top:1px solid #e0e0e0;box-shadow:0 -2px 12px #00000014;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:500;padding-bottom:env(safe-area-inset-bottom)}.bottom-subnav{display:none;position:fixed;bottom:calc(64px + env(safe-area-inset-bottom));left:0;right:0;height:48px;align-items:stretch;background:#f8f9faf7;border-top:1px solid #e0e0e0;box-shadow:0 -1px 6px #0000000d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:499}.main-content{padding-bottom:20px}@media(max-width:767px){.bottom-nav,.bottom-subnav{display:flex}.desktop-tabs,.desktop-subtabs{display:none}.main-content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.main-content.has-subnav{padding-bottom:calc(136px + env(safe-area-inset-bottom))}}@media(max-width:400px){.header-actions{gap:5px!important}}body.wizard-open .bottom-nav,body.wizard-open .bottom-subnav{display:none!important}@media(max-width:767px){body.edit-panel-open .bottom-nav,body.edit-panel-open-bottom .bottom-nav{z-index:2050;display:flex!important}}.bottom-nav__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;border:none;cursor:pointer;padding:8px 4px;position:relative;-webkit-tap-highlight-color:transparent}.bottom-nav__icon{font-size:20px;line-height:1}.bottom-nav__label{font-size:10px;letter-spacing:.02em}.bottom-nav__indicator{position:absolute;top:0;left:20%;right:20%;height:2px;background:#667eea;border-radius:0 0 2px 2px}.more-menu-popover{animation:moreMenuSlideIn .16s cubic-bezier(.32,.72,0,1)}.more-menu-popover>div:not(:last-child)>button{border-bottom:1px solid #f1f5f9}@keyframes moreMenuSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-subnav__btn{flex:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;font-size:13px;padding:0 8px;-webkit-tap-highlight-color:transparent}.split-divider{flex:0 0 14px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:none;background:transparent;border-radius:6px;position:relative;z-index:1}.split-divider[data-dir=horizontal]{cursor:col-resize;align-self:stretch;min-width:14px}.split-divider[data-dir=vertical]{cursor:row-resize;min-height:14px;width:100%}.split-divider:hover,.split-divider[data-active]{background:#e2e8f0}.split-divider__grip{background:#94a3b8;border-radius:4px;pointer-events:none}.split-divider[data-dir=horizontal] .split-divider__grip{width:3px;height:24px}.split-divider[data-dir=vertical] .split-divider__grip{width:24px;height:3px}.split-divider:hover .split-divider__grip,.split-divider[data-active] .split-divider__grip{background:#475569}@keyframes drawerSlideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawerSlideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.add-officers-drawer{position:fixed;top:0;right:0;bottom:0;width:min(33.34vw,100vw);background:#fff;box-shadow:-4px 0 28px #0000002e;z-index:801;display:flex;flex-direction:column;overflow:clip;animation:drawerSlideInRight .25s cubic-bezier(.32,.72,0,1);-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform}@media(max-width:767px){.add-officers-drawer{inset:auto 0 0;width:100%;height:33.34dvh;max-height:33.34dvh;border-radius:16px 16px 0 0;box-shadow:0 -4px 28px #0000002e;animation:drawerSlideInUp .3s cubic-bezier(.32,.72,0,1);padding-bottom:env(safe-area-inset-bottom)}}.add-officers-drawer--bottom{inset:auto 0 0!important;width:100%!important;height:33.34dvh;max-height:33.34dvh;border-radius:16px 16px 0 0;box-shadow:0 -4px 28px #0000002e;animation:drawerSlideInUp .3s cubic-bezier(.32,.72,0,1)!important}.add-officers-drawer--maximized:not(.add-officers-drawer--bottom){width:min(66.67vw,100vw)!important;transition:width .2s ease}.add-officers-drawer--bottom.add-officers-drawer--maximized{width:100%!important;height:66.67dvh!important;max-height:66.67dvh!important;transition:height .2s ease,max-height .2s ease}@media(max-width:767px){.add-officers-drawer.add-officers-drawer--maximized{width:100%!important;height:66.67dvh!important;max-height:66.67dvh!important;transition:height .2s ease,max-height .2s ease}}.add-officers-drawer .add-officers-card{box-shadow:none!important;border-radius:0!important;padding-top:6px!important}.add-officers-drawer .desktop-subtabs{display:none!important}.drawer-header-tabs{display:flex;gap:6px;border-bottom:2px solid #e2e8f0}.drawer-footer-tabs{display:none;gap:6px;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e0e0e0;background:#fff;flex-shrink:0}@media(max-width:767px){.drawer-header-tabs{display:none}.drawer-footer-tabs{display:flex}}.officer-edit-panel-backdrop{position:fixed;inset:0;z-index:2000;background:transparent;pointer-events:none}.officer-edit-panel{position:fixed;top:0;right:0;bottom:0;width:min(calc(400px * var(--ui-scale, 1)),100vw);background:#fff;box-shadow:-4px 0 28px #0000002e;z-index:2001;display:flex;flex-direction:column;overflow:clip;border-radius:0;pointer-events:all;animation:drawerSlideInRight .25s cubic-bezier(.32,.72,0,1);-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;height:100dvh;-webkit-backface-visibility:hidden;backface-visibility:hidden}body.edit-panel-open .main-content{margin-right:min(calc(400px * var(--ui-scale, 1)),100vw);transition:margin-right .25s cubic-bezier(.32,.72,0,1)}body.stats-side-open .main-content{margin-right:min(calc(340px * var(--ui-scale, 1)),100vw);transition:margin-right .25s cubic-bezier(.32,.72,0,1)}html.split-mode,body.split-mode{overflow:hidden}@media(min-width:768px){body.split-mode .main-content{padding-bottom:0}}@media(max-width:599px){.officer-edit-panel{inset:auto 0 64px;width:100%;height:auto;max-height:66.67dvh;border-radius:16px 16px 0 0;box-shadow:0 -4px 28px #0000002e;animation:drawerSlideInUp .3s cubic-bezier(.32,.72,0,1);transition:height .3s cubic-bezier(.32,.72,0,1),max-height .3s cubic-bezier(.32,.72,0,1)}body.edit-panel-open .main-content{margin-right:0;padding-bottom:calc(66.67dvh + 80px)}.officer-edit-panel.expanded{height:calc(100dvh - 64px);max-height:calc(100dvh - 64px)}}@media(min-width:600px){.popup-expand-btn{display:none!important}}.officer-edit-panel--bottom{inset:auto 0 0!important;width:100%!important;height:auto;max-height:40dvh;border-radius:16px 16px 0 0;box-shadow:0 -4px 28px #0000002e;animation:drawerSlideInUp .3s cubic-bezier(.32,.72,0,1)!important}body.edit-panel-open-bottom .main-content{margin-right:0!important;padding-bottom:calc(40dvh + 20px)}.counter-label-overlay{border:1px solid #cbd5e1;border-radius:4px;box-sizing:border-box;overflow:hidden;transition:border-color .12s,background .12s;-webkit-tap-highlight-color:transparent;scrollbar-width:none}.counter-label-overlay::-webkit-scrollbar{display:none}.counter-label-overlay:hover{border-color:#667eea;background:#667eea14}.counter-label-overlay.counter-row-flash{position:relative;z-index:3;animation:counterRowFlash 1.3s ease-out}.counter-label-overlay.counter-row-follow{position:relative;z-index:3;box-shadow:inset 0 0 0 2px #4f46e5!important}@keyframes counterRowFlash{0%{box-shadow:inset 0 0 0 3px #4f46e5,0 0 #4f46e58c}35%{box-shadow:inset 0 0 0 3px #4f46e5,0 0 0 7px #4f46e540}70%{box-shadow:inset 0 0 0 3px #4f46e5,0 0 #4f46e500}to{box-shadow:inset 0 0 #4f46e5,0 0 #4f46e500}}@media(prefers-reduced-motion:reduce){.counter-label-overlay.counter-row-flash{animation:none;box-shadow:inset 0 0 0 3px #4f46e5!important}}.officer-edit-panel-backdrop select,.officer-edit-panel-backdrop input:not([type=checkbox]):not([type=radio]),.officer-edit-panel-backdrop textarea{border:2px solid #334155;background-color:#fff;color:#000}.viewer-avatar{animation:viewerAvatarIn .2s ease-out}@keyframes viewerAvatarIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes call-phone-wobble{0%,55%,to{transform:rotate(0) scale(1)}60%{transform:rotate(-22deg) scale(1.22)}66%{transform:rotate(20deg) scale(1.22)}72%{transform:rotate(-16deg) scale(1.18)}78%{transform:rotate(14deg) scale(1.12)}84%{transform:rotate(-8deg) scale(1.05)}90%{transform:rotate(4deg) scale(1)}}@keyframes call-phone-ripple{0%{transform:scale(1);opacity:.85}70%,to{transform:scale(1.9);opacity:0}}.call-phone-active:after{content:"";position:absolute;inset:-1px;border-radius:50%;border:2px solid #667eea;pointer-events:none;animation:call-phone-ripple 1.8s ease-out infinite}@keyframes officer-row-peek{0%,to{transform:translate(0)}35%,65%{transform:translate(-30px)}}.officer-row-peek{animation:officer-row-peek 1.4s ease-in-out .3s 1}@media(prefers-reduced-motion:reduce){.call-phone-active,.officer-row-peek{animation:none!important}.call-phone-active:after{display:none}}[data-swipe-strip]:has(+.officer-row-peek) [data-swipe-side=delete]{display:flex!important}
