:root{--bg: #ffffff;--layer-01: #f4f4f4;--layer-02: #e0e0e0;--layer-hover: #e8e8e8;--layer-selected: #e0e0e0;--text-primary: #161616;--text-secondary: #525252;--text-placeholder: #6f6f6f;--text-on-color: #ffffff;--border-subtle: #e0e0e0;--border-strong: #8d8d8d;--primary: #1f1fa6;--primary-hover: #1818a8;--primary-active: #11116b;--link: #1f1fa6;--link-hover: #15157f;--focus: #1f1fa6;--error: #da1e28;--success: #24a148;--warning: #f1c21b;--info: #1f1fa6;--blue-10: #ececfa;--blue-20: #d0d0f4;--gray-100: #161616;--gray-90: #262626;--gray-80: #393939;--gray-70: #525252;--gray-60: #6f6f6f;--gray-50: #8d8d8d;--gray-30: #c6c6c6;--gray-20: #e0e0e0;--gray-10: #f4f4f4;--sidebar-bg: #f4f4f4;--rail-width: 256px;--sidebar-collapsed-width: 72px;--sidebar-text: #525252;--sidebar-text-active: #161616;--sidebar-item-hover: #e8e8e8;--sidebar-item-active: #ffffff;--sidebar-item-active-border: #1f1fa6;--content-bg: #ffffff;--content-padding: 24px;--card-bg: #ffffff;--card-border: #e0e0e0;--card-radius: 10px;--message-bg-own: #ececfa;--message-bg-other: #ffffff;--message-border-own: #d0d0f4;--message-urgent-bg: #fff1f0;--message-urgent-border: #ffccc7;--message-high-bg: #fffbe6;--message-high-border: #ffe58f;--thread-bg: #f4f4f4;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--z-sidebar: 100;--z-header: 200;--z-modal: 1000;--z-toast: 2000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;line-height:1.29;letter-spacing:.16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:IBM Plex Sans,Helvetica Neue,Arial,sans-serif;font-weight:400;color:var(--text-primary);background-color:var(--content-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--link-hover);text-decoration:underline}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000002e;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000004d}.app-layout{display:flex;min-height:100vh}.app-sidebar{width:var(--rail-width);min-height:100vh;background-color:var(--sidebar-bg);border-right:1px solid var(--border-subtle);flex-shrink:0;transition:width var(--transition-normal);position:fixed;top:0;left:0;bottom:0;z-index:var(--z-sidebar);overflow:hidden}.app-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.app-main{margin-left:var(--rail-width);flex:1;display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition-normal)}.app-main.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.app-content{flex:1;padding:var(--content-padding);overflow-y:auto;background:var(--content-bg)}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:20px 16px;border-bottom:1px solid var(--border-subtle)}.sidebar-logo .logo-icon{width:36px;height:36px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-on-color);font-size:18px}.sidebar-logo .logo-text{color:var(--text-primary);font-weight:600;font-size:13px;line-height:1.3;overflow:hidden}.sidebar-logo .logo-text .logo-title{display:block}.sidebar-logo .logo-text .logo-subtitle{display:block;font-size:11px;color:var(--text-secondary);font-weight:400}.sidebar-menu{list-style:none;padding:8px 0;flex:1;overflow-y:auto}.sidebar-menu .menu-section-label{padding:12px 16px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-50)}.sidebar-menu .menu-item{position:relative}.sidebar-menu .menu-item a,.sidebar-menu .menu-item .menu-item-inner{display:flex;align-items:center;gap:10px;padding:10px 16px;height:48px;color:var(--sidebar-text);border-radius:0;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);font-size:14px;text-decoration:none}.sidebar-menu .menu-item a .menu-icon,.sidebar-menu .menu-item .menu-item-inner .menu-icon{font-size:20px;width:20px;text-align:center;flex-shrink:0;color:var(--gray-70)}.sidebar-menu .menu-item a .menu-label,.sidebar-menu .menu-item .menu-item-inner .menu-label{flex:1;white-space:nowrap;overflow:hidden}.sidebar-menu .menu-item a .menu-badge,.sidebar-menu .menu-item .menu-item-inner .menu-badge{background:var(--error);color:var(--text-on-color);border-radius:10px;padding:0 6px;font-size:11px;font-weight:600;min-width:18px;text-align:center;flex-shrink:0}.sidebar-menu .menu-item a:hover,.sidebar-menu .menu-item .menu-item-inner:hover{background-color:var(--sidebar-item-hover);color:var(--sidebar-text-active);text-decoration:none}.sidebar-menu .menu-item.active a,.sidebar-menu .menu-item.active .menu-item-inner{background-color:var(--sidebar-item-active);color:var(--sidebar-text-active);font-weight:600}.sidebar-menu .menu-item.active a .menu-icon,.sidebar-menu .menu-item.active .menu-item-inner .menu-icon{color:var(--primary)}.sidebar-menu .menu-item.active a:before,.sidebar-menu .menu-item.active .menu-item-inner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sidebar-item-active-border)}.sidebar-user{padding:12px 16px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;gap:10px}.sidebar-user .user-name{flex:1;color:var(--text-primary);font-size:13px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar-user .user-role{display:block;font-size:11px;color:var(--text-secondary);font-weight:400}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:20px 24px;display:flex;align-items:center;gap:16px;transition:background-color var(--transition-fast)}.stat-card:hover{background-color:var(--layer-hover)}.stat-card .stat-icon{width:52px;height:52px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-card .stat-info{flex:1}.stat-card .stat-info .stat-value{font-size:42px;font-weight:300;color:var(--text-primary);line-height:1.19}.stat-card .stat-info .stat-label{font-size:12px;letter-spacing:.32px;color:var(--text-secondary);margin-top:2px}.messages-layout{display:flex;height:100vh;overflow:hidden}.channel-list-panel{width:260px;flex-shrink:0;background:var(--card-bg);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}.message-thread-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--layer-01)}.message-thread{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:2px}.message-item{display:flex;gap:10px;padding:4px 0;position:relative}.message-item:hover .message-actions{opacity:1}.message-item.own-message{flex-direction:row-reverse}.message-item.own-message .message-bubble{background:var(--message-bg-own);border-color:var(--message-border-own)}.message-item .message-avatar{flex-shrink:0}.message-item .message-content{flex:1;max-width:70%}.message-item .message-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.message-item .message-meta .message-sender{font-weight:600;font-size:13px;color:var(--text-primary)}.message-item .message-meta .message-time{font-size:11px;color:var(--text-placeholder)}.message-item .message-bubble{background:var(--message-bg-other);border:1px solid var(--border-subtle);border-radius:10px;padding:8px 12px;font-size:14px;line-height:1.29;word-break:break-word}.message-item .message-bubble.priority-urgent{background:var(--message-urgent-bg);border-color:var(--message-urgent-border)}.message-item .message-bubble.priority-high{background:var(--message-high-bg);border-color:var(--message-high-border)}.message-item .message-actions{position:absolute;top:0;right:8px;opacity:0;transition:opacity var(--transition-fast);display:flex;gap:4px;background:#fff;border:1px solid var(--border-subtle);border-radius:6px;padding:2px 4px}.message-input-area{padding:12px 16px;background:var(--card-bg);border-top:1px solid var(--border-subtle)}.priority-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:24px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.priority-badge.priority-critical{background:#fff1f0;color:#da1e28;border:1px solid #ffccc7}.priority-badge.priority-high{background:#fff7e6;color:#d46b08;border:1px solid #ffd591}.priority-badge.priority-medium{background:#fffbe6;color:#d48806;border:1px solid #ffe58f}.priority-badge.priority-low{background:#f6ffed;color:#24a148;border:1px solid #b7eb8f}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:2px 8px;border-radius:24px}.status-badge .status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.login-page{min-height:100vh;background:linear-gradient(135deg,#161616,#262626);display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--bg);border:none;border-radius:12px;padding:48px 40px;width:100%;max-width:440px;box-shadow:0 2px 6px #0000004d}.login-card .login-logo{text-align:center;margin-bottom:32px}.login-card .login-logo .login-shield{width:64px;height:64px;background:var(--primary);border-radius:12px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--text-on-color)}.login-card .login-logo h1{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.login-card .login-logo p{color:var(--text-secondary);font-size:12px;letter-spacing:.32px}.login-card .login-divider{text-align:center;color:var(--text-placeholder);font-size:12px;margin:16px 0;position:relative}.login-card .login-divider:before,.login-card .login-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-subtle)}.login-card .login-divider:before{left:0}.login-card .login-divider:after{right:0}.login-card .login-footer{margin-top:24px;text-align:center;font-size:11px;color:var(--text-placeholder);line-height:1.6}.incident-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:16px;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.incident-card:hover{background-color:var(--layer-hover);border-color:var(--primary)}.incident-card.priority-critical{border-left:4px solid var(--error)}.incident-card.priority-high{border-left:4px solid #fa8c16}.incident-card.priority-medium{border-left:4px solid var(--warning)}.incident-card.priority-low{border-left:4px solid var(--success)}.incident-timeline .timeline-item{display:flex;gap:12px;padding:8px 0}.incident-timeline .timeline-item .timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:5px}.incident-timeline .timeline-item .timeline-content{flex:1}.incident-timeline .timeline-item .timeline-content .timeline-description{font-size:14px;color:var(--text-primary)}.incident-timeline .timeline-item .timeline-content .timeline-time{font-size:11px;color:var(--text-placeholder);margin-top:2px}.agency-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:20px;transition:background-color var(--transition-fast)}.agency-card:hover{background-color:var(--layer-hover)}.agency-card .agency-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.agency-card .agency-name{font-size:16px;font-weight:600;color:var(--text-primary)}.agency-card .agency-type{font-size:12px;letter-spacing:.32px;color:var(--text-secondary)}.search-result-item{padding:12px 16px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background-color var(--transition-fast)}.search-result-item:hover{background:var(--layer-hover)}.search-result-item:last-child{border-bottom:none}.search-result-item mark{background:var(--blue-10);padding:0 2px;border-radius:4px;font-weight:600}.admin-tabs .ant-tabs-nav{margin-bottom:0;background:var(--bg);padding:0 24px;border-bottom:1px solid var(--border-subtle)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.flex-1{flex:1}.w-full{width:100%}.text-center{text-align:center}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 768px){.app-sidebar{transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.app-main{margin-left:0!important}.messages-layout{flex-direction:column}.channel-list-panel{width:100%;height:200px}.login-card{padding:32px 24px}}.ant-layout-sider{background:var(--sidebar-bg)!important;border-right:1px solid var(--border-subtle)}.ant-table-wrapper .ant-table{border-radius:10px;overflow:hidden}.ant-modal-content{border-radius:12px!important}.ant-btn{border-radius:6px!important}button,.ant-btn{text-transform:capitalize}.ant-btn-primary{background:var(--primary)!important;border-color:var(--primary)!important}.ant-btn-primary:hover{background:var(--primary-hover)!important;border-color:var(--primary-hover)!important}.ant-btn-primary:active{background:var(--primary-active)!important;border-color:var(--primary-active)!important}.ant-btn-color-primary,.ant-btn-color-primary:hover,.ant-btn-color-primary:focus,.ant-btn-color-primary:active,.ant-btn-color-primary:focus-visible{box-shadow:none!important}.hc-app-sider{background:#f4f4f4!important}.hc-sidebar .hc-sidebar-brand{padding:20px 16px}.hc-sidebar .hc-sidebar-brand-icon{width:40px!important;height:40px!important;border-radius:50%!important}.hc-sidebar .hc-sidebar-nav-title{padding:14px 16px 6px!important;letter-spacing:.14em!important;font-size:11px!important;color:#8d8d8d!important}.hc-sidebar .hc-sidebar-menu.ant-menu{background:transparent!important;border-inline-end:none!important;padding:0 8px 8px}.hc-sidebar .hc-sidebar-menu .ant-menu-item{height:44px!important;line-height:44px!important;margin:4px 0!important;border-radius:10px!important;color:#525252!important;font-size:15px!important;padding-left:14px!important}.hc-sidebar .hc-sidebar-menu .ant-menu-item .ant-menu-item-icon,.hc-sidebar .hc-sidebar-menu .ant-menu-item .ant-badge{color:#525252!important}.hc-sidebar .hc-sidebar-menu .ant-menu-item .ant-menu-title-content a{color:inherit!important;text-decoration:none!important}.hc-sidebar .hc-sidebar-menu .ant-menu-item:hover{background:#ececec!important;color:#161616!important}.hc-sidebar .hc-sidebar-menu .ant-menu-item-selected{background:#fff!important;color:#1f1fa6!important;font-weight:500!important}.hc-sidebar .hc-sidebar-menu .ant-menu-item-selected .ant-menu-item-icon,.hc-sidebar .hc-sidebar-menu .ant-menu-item-selected .ant-badge{color:#1f1fa6!important}.hc-sidebar .hc-sidebar-menu.ant-menu-inline-collapsed{padding:0 6px 8px!important}.hc-sidebar .hc-sidebar-menu.ant-menu-inline-collapsed .ant-menu-item{padding-inline:0!important;width:56px!important;margin-inline:auto!important;text-align:center!important}.hc-sidebar .hc-sidebar-menu.ant-menu-inline-collapsed .ant-menu-item .ant-menu-item-icon,.hc-sidebar .hc-sidebar-menu.ant-menu-inline-collapsed .ant-menu-item .ant-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:20px!important;min-width:20px!important;height:20px!important;flex:0 0 auto!important;margin-inline-end:0!important}.hc-sidebar .hc-sidebar-menu.ant-menu-inline-collapsed .ant-menu-item .ant-menu-title-content{display:none!important}.hc-sidebar .hc-sidebar-user{background:#f4f4f4}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{border-radius:8px!important;border:1px solid var(--gray-30)!important;background:#fff!important;height:40px}.ant-input:focus,.ant-input:focus-within,.ant-input.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper:focus-within,.ant-input-affix-wrapper.ant-input-affix-wrapper-focused,.ant-select-selector:focus,.ant-select-selector:focus-within,.ant-select-selector.ant-input-affix-wrapper-focused,.ant-picker:focus,.ant-picker:focus-within,.ant-picker.ant-input-affix-wrapper-focused{border-color:var(--focus)!important;box-shadow:0 0 0 2px #1f1fa633!important}.ant-input-affix-wrapper .ant-input{border:none!important;background:transparent!important;height:auto!important;box-shadow:none!important}.ant-input-affix-wrapper .ant-input:focus{border:none!important;box-shadow:none!important}.ant-card{border-radius:10px!important;box-shadow:none!important;border:1px solid var(--border-subtle)}.ant-tag{border-radius:24px!important}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.typing-indicator{display:flex;align-items:center;gap:3px;padding:4px 8px}.typing-indicator span{width:6px;height:6px;background:var(--text-placeholder);border-radius:50%;display:block;animation:typing-bounce 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes pulse-urgent{0%,to{opacity:1}50%{opacity:.5}}.pulse-urgent{animation:pulse-urgent 1.5s ease-in-out infinite}
