.top-nav{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);padding:0;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-index-top-nav)}.dark-mode .top-nav{background:var(--color-dark-bg-secondary);border-bottom-color:var(--color-dark-border)}.top-nav-content{max-width:100%;margin:0 auto;padding:0 var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;height:var(--top-nav-height)}.top-nav-brand{margin-right:var(--spacing-xl)}.brand-link{text-decoration:none;color:inherit}.brand-name{font-size:20px;font-weight:700;letter-spacing:-.5px;color:var(--color-accent);transition:opacity var(--transition-fast)}.brand-link:hover .brand-name{opacity:.8}.dark-mode .brand-name{color:var(--color-accent)}.top-nav-links{display:flex;gap:0;flex:1}.nav-link{display:inline-block;padding:12px var(--spacing-xl);color:var(--color-text-primary);text-decoration:none;font-size:14px;font-weight:500;transition:all var(--transition-fast);border-bottom:2px solid transparent}.nav-link:hover{background:var(--color-bg-tertiary);color:var(--color-accent)}.nav-link.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:#f8f9ff}.dark-mode .nav-link{color:var(--color-dark-text-primary)}.dark-mode .nav-link:hover{background:var(--color-dark-bg-hover)}.dark-mode .nav-link.active{background:var(--color-dark-bg-hover);color:var(--color-accent)}.top-nav-actions{display:flex;align-items:center;gap:var(--spacing-md)}.theme-toggle-top{display:flex;align-items:center;gap:8px}.theme-toggle-label-top{font-size:13px;font-weight:500;color:var(--color-text-primary);white-space:nowrap}.dark-mode .theme-toggle-label-top{color:var(--color-dark-text-primary)}.user-menu-container{position:relative}.user-menu-button{padding:0;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.user-icon{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;transition:all var(--transition-fast);border:2px solid transparent}.user-menu-button:hover .user-icon{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.dark-mode .user-icon{background:var(--color-accent);border-color:var(--color-dark-border-light)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;z-index:var(--z-index-user-menu);overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dark-mode .user-menu-dropdown{background:var(--color-dark-bg-secondary);border-color:var(--color-dark-border);box-shadow:0 4px 12px #0000004d}.user-menu-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.dark-mode .user-menu-header{border-bottom-color:var(--color-dark-border)}.user-menu-name{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.dark-mode .user-menu-name{color:var(--color-dark-text-primary)}.user-menu-email{font-size:12px;color:var(--color-text-secondary)}.dark-mode .user-menu-email{color:var(--color-dark-text-secondary)}.user-menu-divider{height:1px;background:var(--color-border);margin:4px 0}.dark-mode .user-menu-divider{background:var(--color-dark-border)}.user-menu-item{width:100%;padding:var(--spacing-md);background:transparent;border:none;text-align:left;color:var(--color-text-primary);font-size:14px;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast)}.user-menu-item:hover{background:var(--color-bg-tertiary)}.dark-mode .user-menu-item{color:var(--color-dark-text-primary)}.dark-mode .user-menu-item:hover{background:var(--color-dark-bg-hover)}.user-menu-item.logout-item,.dark-mode .user-menu-item.logout-item{color:var(--color-danger)}.user-menu-item.logout-item:hover{background:#dc35451a}.dark-mode .user-menu-item.logout-item:hover{background:#dc354533}.user-menu-item{text-decoration:none;color:inherit}.logout-icon,.menu-icon{flex-shrink:0}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:var(--transition-normal);border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-normal);border-radius:var(--radius-full)}input:checked+.slider{background-color:var(--color-primary)}input:checked+.slider:before{transform:translate(20px)}.mobile-menu-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:8px;width:44px;height:44px;min-width:44px;min-height:44px;justify-content:center;align-items:center;flex-direction:column;gap:4px}.hamburger-icon{display:flex;flex-direction:column;gap:4px;width:24px;height:18px;position:relative}.hamburger-icon span{display:block;width:100%;height:2px;background:var(--color-text-primary);transition:all var(--transition-fast);border-radius:2px}.dark-mode .hamburger-icon span{background:var(--color-dark-text-primary)}.hamburger-icon.open span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-menu-backdrop,.mobile-menu-drawer{display:none}@media (max-width: 768px){.top-nav-links,.theme-toggle-top,.user-menu-container{display:none!important}.mobile-menu-toggle{display:flex!important}.mobile-menu-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1998;animation:fadeIn var(--transition-normal) ease}.dark-mode .mobile-menu-backdrop{background:#000c}.mobile-menu-drawer{display:flex;flex-direction:column;position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100vh;background:var(--color-bg-primary);z-index:1999;box-shadow:-2px 0 10px #0003;animation:slideInRight var(--transition-normal) ease;overflow-y:auto}.dark-mode .mobile-menu-drawer{background:var(--color-dark-bg-secondary);box-shadow:-2px 0 10px #00000080}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg-primary);z-index:10}.dark-mode .mobile-menu-header{background:var(--color-dark-bg-secondary);border-bottom-color:var(--color-dark-border)}.mobile-menu-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.dark-mode .mobile-menu-header h3{color:var(--color-dark-text-primary)}.mobile-menu-close{background:transparent;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:44px;height:44px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast)}.mobile-menu-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.dark-mode .mobile-menu-close{color:var(--color-dark-text-secondary)}.dark-mode .mobile-menu-close:hover{background:var(--color-dark-bg-hover);color:var(--color-dark-text-primary)}.mobile-menu-content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.mobile-nav-link{display:block;padding:var(--spacing-md);color:var(--color-text-primary);text-decoration:none;font-size:16px;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.mobile-nav-link:hover{background:var(--color-bg-tertiary);color:var(--color-accent)}.mobile-nav-link.active{background:var(--color-bg-hover-blue);color:var(--color-accent)}.dark-mode .mobile-nav-link{color:var(--color-dark-text-primary)}.dark-mode .mobile-nav-link:hover{background:var(--color-dark-bg-hover)}.dark-mode .mobile-nav-link.active{background:var(--color-dark-bg-hover);color:var(--color-accent)}.mobile-menu-divider{height:1px;background:var(--color-border);margin:var(--spacing-md) 0}.dark-mode .mobile-menu-divider{background:var(--color-dark-border)}.mobile-theme-toggle{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)}.mobile-theme-toggle .theme-toggle-label{font-size:16px;font-weight:500;color:var(--color-text-primary)}.dark-mode .mobile-theme-toggle .theme-toggle-label{color:var(--color-dark-text-primary)}.mobile-user-info{padding:var(--spacing-md)}.mobile-user-name{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.dark-mode .mobile-user-name{color:var(--color-dark-text-primary)}.mobile-user-email{font-size:14px;color:var(--color-text-secondary)}.dark-mode .mobile-user-email{color:var(--color-dark-text-secondary)}.mobile-logout-btn{width:100%;padding:var(--spacing-md);background:transparent;border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);font-size:16px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-sm)}.mobile-logout-btn:hover{background:#dc35451a}.dark-mode .mobile-logout-btn{border-color:var(--color-danger);color:var(--color-danger)}.dark-mode .mobile-logout-btn:hover{background:#dc354533}}.date-navigator{display:flex;flex-direction:column;gap:8px}.year-item{display:flex;flex-direction:column}.year-label{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-radius:4px;transition:background-color .2s;-webkit-user-select:none;user-select:none}.year-label:hover{background-color:#0000000d}.year-label.expanded{background-color:#0000001a}.year-chevron{font-size:10px;transition:transform .2s}.year-count{margin-left:auto;font-size:12px;color:#666}.months-container{display:none;flex-wrap:wrap;gap:4px;padding:8px 12px 8px 32px}.months-container.visible{display:flex}.month-item{padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:background-color .2s;-webkit-user-select:none;user-select:none}.month-item:hover{background-color:#0000001a}.dark-mode .year-label:hover{background-color:#ffffff1a}.dark-mode .year-label.expanded{background-color:#ffffff26}.dark-mode .month-item:hover{background-color:#ffffff1a}.dark-mode .year-count{color:#999}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--color-bg-secondary);border-right:1px solid var(--color-border);position:relative;transition:all var(--transition-normal) ease;display:flex;flex-direction:column;overflow:hidden;z-index:100}@media (max-width: 768px){.sidebar{position:fixed!important;top:0!important;left:0!important;height:100vh!important;width:100vw!important;max-width:100vw!important;min-width:0!important;z-index:2000!important;transform:translate(-100%)!important;transition:transform var(--transition-normal) ease;border-right:none!important}.sidebar:not(.collapsed){transform:translate(0)!important}.sidebar:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:-1;opacity:0;transition:opacity var(--transition-normal) ease;pointer-events:none}.sidebar:not(.collapsed):before{opacity:1!important;pointer-events:all!important}.dark-mode .sidebar:before{background:#000c!important}}.dark-mode .sidebar{background:var(--color-dark-bg-secondary);border-right-color:var(--color-dark-border)}.sidebar.collapsed{width:0;min-width:0;padding:0;border-right:none;overflow:hidden}.sidebar-header{padding:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border);flex-shrink:0;position:sticky;top:0;background:var(--color-bg-secondary);z-index:10}.dark-mode .sidebar-header{background:var(--color-dark-bg-secondary)}.sidebar h2{font-size:18px;color:var(--color-text-primary);margin:0;margin-bottom:var(--spacing-lg)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--spacing-xl);padding-top:var(--spacing-md)}.dark-mode .sidebar h2{color:var(--color-dark-text-primary);border-bottom-color:var(--color-dark-border)}.sidebar-collapse-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);width:var(--collapse-btn-size);height:var(--collapse-btn-size);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:var(--z-index-collapse-btn);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.sidebar-collapse-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-dark)}.sidebar.collapsed .sidebar-collapse-btn{position:fixed;top:80px;left:var(--spacing-xl);right:auto;background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:var(--shadow-xl)}@media (max-width: 768px){.sidebar-collapse-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:44px;height:44px;z-index:2001}.sidebar.collapsed .sidebar-collapse-btn{position:fixed;top:calc(var(--top-nav-height) + var(--spacing-md));left:var(--spacing-md);right:auto;width:44px;height:44px}}.sidebar.collapsed .sidebar-collapse-btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.dark-mode .sidebar-collapse-btn{background:var(--color-dark-bg-hover);border-color:var(--color-dark-border-light);color:var(--color-dark-text-primary)}.dark-mode .sidebar-collapse-btn:hover{background:var(--color-dark-bg-hover-light)}.dark-mode .sidebar.collapsed .sidebar-collapse-btn{background:var(--color-accent);border-color:var(--color-accent)}.dark-mode .sidebar.collapsed .sidebar-collapse-btn:hover{background:var(--color-accent-hover)}.chevron{font-size:18px;font-weight:700;line-height:1}.new-message-btn{width:100%;padding:12px var(--spacing-xl);margin:var(--spacing-lg) 0;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-xl);font-size:16px;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.new-message-btn:hover{background:var(--color-primary-hover)}.dark-mode .new-message-btn{background:var(--color-primary)}.dark-mode .new-message-btn:hover{background:var(--color-primary-hover)}.link-violation-btn{width:100%;padding:12px var(--spacing-xl);margin:var(--spacing-md) 0;background:var(--color-bg-message-received);color:var(--color-text-primary);border:none;border-radius:var(--radius-xl);font-size:16px;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.link-violation-btn:hover{background:#d1d3d8}.link-violation-btn.active{background:var(--color-primary-dark);color:#fff}.link-violation-btn.active:hover{background:var(--color-primary-dark-hover)}.dark-mode .link-violation-btn{background:var(--color-dark-bg-hover);color:var(--color-dark-text-primary)}.dark-mode .link-violation-btn:hover{background:var(--color-dark-bg-hover-light)}.dark-mode .link-violation-btn.active{background:var(--color-primary-dark);color:#fff}.dark-mode .link-violation-btn.active:hover{background:var(--color-primary-dark-hover)}.delete-message-btn{width:100%;padding:12px var(--spacing-xl);margin:var(--spacing-md) 0;background:var(--color-bg-message-received);color:var(--color-text-primary);border:none;border-radius:var(--radius-xl);font-size:16px;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.delete-message-btn:hover{background:#d1d3d8}.delete-message-btn.active{background:var(--color-success);color:#fff}.delete-message-btn.active:hover{background:var(--color-success-hover)}.dark-mode .delete-message-btn{background:var(--color-dark-bg-hover);color:var(--color-dark-text-primary)}.dark-mode .delete-message-btn:hover{background:var(--color-dark-bg-hover-light)}.dark-mode .delete-message-btn.active{background:var(--color-success);color:#fff}.dark-mode .delete-message-btn.active:hover{background:var(--color-success-hover)}.filter-section{margin-bottom:25px}.search-input-container{position:relative;display:flex;align-items:center}.search-input{width:100%;padding:10px 32px 10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-primary)}.dark-mode .search-input{background:var(--color-dark-bg-secondary);border-color:var(--color-dark-border);color:var(--color-dark-text-primary)}.dark-mode .search-input:focus{border-color:var(--color-primary)}.search-clear-btn{position:absolute;right:8px;background:none;border:none;color:var(--color-text-tertiary);font-size:20px;line-height:1;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.search-clear-btn:hover{background:var(--color-bg-hover-light);color:var(--color-text-primary)}.dark-mode .search-clear-btn{color:var(--color-dark-text-tertiary)}.dark-mode .search-clear-btn:hover{background:var(--color-dark-bg-hover);color:var(--color-dark-text-primary)}.filter-section h3{font-size:14px;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-weight:600}.dark-mode .filter-section h3{color:var(--color-dark-text-tertiary)}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.checkbox-item:hover{background:var(--color-bg-hover-light)}.dark-mode .checkbox-item{color:var(--color-dark-text-primary)}.dark-mode .checkbox-item:hover{background:var(--color-dark-bg-hover)}.checkbox-item input[type=checkbox]{cursor:pointer;width:20px;height:20px;min-width:20px;min-height:20px}@media (max-width: 768px){.checkbox-item{min-height:44px;padding:12px var(--spacing-sm)}.checkbox-item input[type=checkbox]{width:24px;height:24px;min-width:24px;min-height:24px}.new-message-btn,.link-violation-btn,.delete-message-btn{min-height:44px;padding:14px var(--spacing-xl)}}.checkbox-item label{cursor:pointer;flex:1;text-transform:capitalize}.dark-mode .checkbox-item label{color:var(--color-dark-text-primary)}.source-count{font-size:11px;color:var(--color-text-tertiary);margin-left:auto}.dark-mode .source-count{color:var(--color-dark-text-muted)}.date-navigator{max-height:400px;overflow-y:auto;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.dark-mode .date-navigator{background:var(--color-dark-bg-secondary);border-color:var(--color-dark-border)}.date-navigator::-webkit-scrollbar{width:6px}.date-navigator::-webkit-scrollbar-track{background:#f1f1f1}.dark-mode .date-navigator::-webkit-scrollbar-track{background:var(--color-dark-bg-hover)}.date-navigator::-webkit-scrollbar-thumb{background:#888;border-radius:var(--radius-sm)}.date-navigator::-webkit-scrollbar-thumb:hover{background:#555}.year-item{margin-bottom:var(--spacing-sm)}.year-label{padding:8px var(--spacing-md);cursor:pointer;background:var(--color-bg-primary);border-radius:var(--radius-sm);font-weight:600;color:var(--color-text-primary);transition:background var(--transition-fast);display:flex;align-items:center;gap:8px}.year-label:hover{background:var(--color-bg-hover-blue)}.year-label.active{background:var(--color-primary-dark);color:#fff}.dark-mode .year-label{background:var(--color-dark-bg-hover);color:var(--color-dark-text-primary)}.dark-mode .year-label:hover{background:var(--color-dark-bg-hover-light)}.year-chevron{font-size:10px;transition:transform var(--transition-fast)}.year-label.expanded .year-chevron{transform:rotate(90deg)}.months-container{display:none;padding-left:var(--spacing-xl);margin-top:var(--spacing-sm)}.months-container.visible{display:block}.month-item{padding:6px var(--spacing-md);cursor:pointer;font-size:13px;color:var(--color-text-secondary);border-radius:var(--radius-sm);margin-bottom:var(--radius-sm);transition:background var(--transition-fast)}.month-item:hover{background:var(--color-bg-hover-light)}.month-item.active{background:var(--color-primary);color:#fff}.dark-mode .month-item{color:var(--color-dark-text-primary)}.dark-mode .month-item:hover{background:var(--color-dark-bg-hover)}.year-count{margin-left:auto;font-size:11px;opacity:.7}.sidebar-backdrop{display:none}@media (max-width: 768px){.sidebar-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1999;animation:fadeIn var(--transition-normal) ease}.dark-mode .sidebar-backdrop{background:#000c}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.message{margin-bottom:15px;clear:both;transition:opacity .3s,height .3s}.message.sent{text-align:right}.message.received{text-align:left}.message.email{border-left:3px solid #6c757d}.sender-name{font-size:12px;font-weight:600;margin-bottom:4px;color:#666}.dark-mode .sender-name{color:#aaa}.message-bubble{display:inline-block;max-width:60%;padding:10px 15px;border-radius:15px;position:relative;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message.email .message-bubble{max-width:75%;white-space:pre-wrap}@media (max-width: 768px){.message-bubble{max-width:90%;padding:12px 16px}.message.email .message-bubble{max-width:90%}.attachment-image{max-width:100%;max-height:250px}.attachment-video{max-width:100%}.journal-button,.analysis-button{min-height:44px;padding:14px 16px}.message-link-violation-checkbox{width:44px;height:44px;min-width:44px;min-height:44px}}.message.sent .message-bubble{background:#0084ff;color:#fff;border-bottom-right-radius:5px}html.dark-mode .message.sent .message-bubble,.dark-mode .message.sent .message-bubble{background:#0084ff!important;color:#fff!important}.message.received .message-bubble,.message:not(.sent):not(.group):not(.journal):not(.analysis) .message-bubble{background:#e4e6eb;color:#000;border-bottom-left-radius:5px}html.dark-mode .message.received .message-bubble,html.dark-mode .message:not(.sent):not(.group):not(.journal):not(.analysis) .message-bubble,.dark-mode .message.received .message-bubble,.dark-mode .message:not(.sent):not(.group):not(.journal):not(.analysis) .message-bubble{background:#3a3b3c!important;color:#e4e6eb!important}.message-content,.group-message-content{word-wrap:break-word;white-space:pre-wrap;line-height:1.5}.message-meta,.group-message-meta{font-size:11px;margin-top:8px;opacity:.7}.message-sender{font-weight:600}.dark-mode .message-sender{color:#c8ccd0}.group-container{border:1px solid #ddd;border-radius:8px;padding:12px;margin-bottom:12px}.dark-mode .group-container{border-color:#3a3b3c}.group-header{font-size:12px;font-weight:600;margin-bottom:8px;color:#666;border-bottom:1px solid #ddd;padding-bottom:8px}.dark-mode .group-header{color:#aaa;border-bottom-color:#3a3b3c}.group-participants{font-size:11px;opacity:.7;margin-top:4px}.group-message-item{margin-bottom:8px}.group-message-item:last-child{margin-bottom:0}.group-message-sender{font-size:12px;font-weight:600;margin-bottom:4px;color:#007bff}.dark-mode .group-message-sender{color:#5dade2}.group-message-item.from-you .group-message-sender{color:#28a745}.dark-mode .group-message-item.from-you .group-message-sender{color:#5cb85c}.message.journal{margin:20px 0;padding:0;background:none}.journal-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s}.journal-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.journal-date{font-size:14px;font-weight:400;margin-top:8px;opacity:.9}.message.analysis{margin:20px 0;padding:0;background:none}.analysis-button{width:100%;padding:16px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s}.analysis-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f5576c66}.dark-mode .analysis-button{background:linear-gradient(135deg,#1e3a5f,#2e4a6f);color:#e4e6eb;border:1px solid #2a4a7f}.dark-mode .analysis-button:hover{background:linear-gradient(135deg,#2e4a6f,#3e5a7f);box-shadow:0 4px 12px #2e4a6f66}.analysis-date{font-size:14px;font-weight:400;margin-top:8px;opacity:.9}.attachment-container{margin-top:8px;display:flex;flex-direction:column;gap:8px}.attachment-image{max-width:300px;max-height:300px;border-radius:8px;display:block;margin:5px 0;cursor:pointer;transition:transform .2s}.attachment-image:hover{transform:scale(1.05)}.attachment-video{max-width:400px;border-radius:8px;display:block;margin:5px 0}.audio-wrapper{margin-top:8px}.attachment-audio{width:100%;margin-top:4px}.attachment-placeholder{padding:8px;background-color:#f0f0f0;border-radius:4px;font-size:12px;color:#666}.dark-mode .attachment-placeholder{background-color:#3a3b3c;color:#aaa}.message-delete-radio{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;cursor:pointer;z-index:5}.messages-page.delete-mode .message{padding-left:45px;position:relative}.messages-page:not(.delete-mode) .message-delete-radio{display:none}.message-link-violation-checkbox{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;cursor:pointer;z-index:5}.messages-page.link-violation-mode .message{padding-left:45px;position:relative}.messages-page:not(.link-violation-mode) .message-link-violation-checkbox{display:none}.search-highlight{background-color:#ffeb3b;color:#000;padding:2px 0;font-weight:600;border-radius:2px}.dark-mode .search-highlight{background-color:#ffc107;color:#000}.message-list{display:flex;flex-direction:column}.date-separator{text-align:center;margin:20px 0;padding:10px 0;border-bottom:1px solid #ddd}.dark-mode .date-separator{border-bottom-color:#3a3b3c}.date-separator p{margin:0;font-weight:600;color:#666;font-size:14px}.dark-mode .date-separator p{color:#aaa}.message-container{flex:1;display:flex;flex-direction:column}@media (min-width: 769px){.message-container{overflow:hidden}}@media (max-width: 768px){.message-container{width:100%;min-height:calc(100vh - 60px)}}.header{padding:20px 80px;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center}@media (max-width: 768px){.header{padding:16px}}.dark-mode .header{border-bottom-color:#3a3b3c}.header h1{font-size:24px;margin:0;color:#333}.dark-mode .header h1{color:#e4e6eb}.messages{flex:1;padding:20px 80px;background:#fff;position:relative}@media (min-width: 769px){.messages{overflow-y:auto}}@media (max-width: 768px){.messages{padding:16px;overflow:visible;-webkit-overflow-scrolling:touch}}.dark-mode .messages{background:#18191a}.loading-top{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#666}.dark-mode .loading-top{color:#aaa}.spinner{border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@media (max-width: 768px){.spinner{width:32px;height:32px}}.dark-mode .spinner{border-color:#3a3b3c;border-top-color:#007bff}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{display:flex;align-items:center;justify-content:center;height:200px;color:#999}.dark-mode .empty-state{color:#666}.delete-action-bar{position:fixed;bottom:0;left:0;right:0;background:#dc3545;padding:15px;padding-bottom:calc(15px + env(safe-area-inset-bottom));text-align:center;z-index:1000;box-shadow:0 -2px 10px #0003}@media (max-width: 768px){.delete-action-bar{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}}.delete-forever-btn{padding:12px 30px;background:#fff;color:#dc3545;border:2px solid white;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;min-height:44px}@media (max-width: 768px){.delete-forever-btn{width:100%;padding:14px 30px}}.delete-forever-btn:hover:not(:disabled){background:#f8f9fa}.delete-forever-btn:disabled{opacity:.5;cursor:not-allowed}.link-violation-action-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#007bff;padding:15px 20px;padding-bottom:calc(15px + env(safe-area-inset-bottom));justify-content:center;gap:15px;box-shadow:0 -2px 10px #0000001a;z-index:1000}@media (max-width: 768px){.link-violation-action-bar{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:12px}}.dark-mode .link-violation-action-bar{background:#0056b3}.link-violation-cancel-btn,.link-violation-clear-btn,.link-violation-select-btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px}@media (max-width: 768px){.link-violation-cancel-btn,.link-violation-clear-btn,.link-violation-select-btn{width:100%;padding:14px 24px}}.link-violation-cancel-btn{background:#6c757d;color:#fff}.link-violation-cancel-btn:hover{background:#5a6268}.link-violation-clear-btn{background:#ffc107;color:#333}.link-violation-clear-btn:hover{background:#e0a800}.link-violation-select-btn{background:#fff;color:#007bff}.link-violation-select-btn:hover:not(:disabled){background:#f8f9fa}.link-violation-select-btn:disabled{background:#ccc;color:#666;cursor:not-allowed}.dark-mode .link-violation-select-btn{background:#242526;color:#007bff}.dark-mode .link-violation-select-btn:hover:not(:disabled){background:#3a3b3c}.right-panel{width:var(--right-panel-width);min-width:var(--right-panel-width);background:var(--color-bg-secondary);border-left:1px solid var(--color-border);position:relative;transition:all var(--transition-normal) ease;display:flex;flex-direction:column;overflow:hidden;z-index:100}@media (max-width: 768px){.right-panel{position:fixed!important;top:0!important;right:0!important;height:100vh!important;width:100vw!important;max-width:100vw!important;min-width:0!important;z-index:2000!important;transform:translate(100%)!important;transition:transform var(--transition-normal) ease;border-left:none!important}.right-panel:not(.collapsed){transform:translate(0)!important}.right-panel:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:-1;opacity:0;transition:opacity var(--transition-normal) ease;pointer-events:none}.right-panel:not(.collapsed):before{opacity:1!important;pointer-events:all!important}.dark-mode .right-panel:before{background:#000c!important}}.dark-mode .right-panel{background:var(--color-dark-bg-secondary);border-left-color:var(--color-dark-border)}.right-panel.collapsed{width:0;min-width:0;padding:0;border-left:none;overflow:hidden}.right-panel-collapse-btn{position:absolute;top:var(--spacing-md);left:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);width:var(--collapse-btn-size);height:var(--collapse-btn-size);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:var(--z-index-collapse-btn);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.right-panel-collapse-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-dark)}.right-panel.collapsed .right-panel-collapse-btn{position:fixed;top:80px;right:var(--spacing-xl);left:auto;background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:var(--shadow-xl)}@media (max-width: 768px){.right-panel-collapse-btn{position:absolute;top:var(--spacing-md);left:var(--spacing-md);width:44px;height:44px;z-index:2001}.right-panel.collapsed .right-panel-collapse-btn{position:fixed;top:calc(var(--top-nav-height) + var(--spacing-md));right:var(--spacing-md);left:auto;width:44px;height:44px}.right-panel-header{padding-left:60px}}.right-panel.collapsed .right-panel-collapse-btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.dark-mode .right-panel-collapse-btn{background:var(--color-dark-bg-hover);border-color:var(--color-dark-border-light);color:var(--color-dark-text-primary)}.dark-mode .right-panel-collapse-btn:hover{background:var(--color-dark-bg-hover-light)}.dark-mode .right-panel.collapsed .right-panel-collapse-btn{background:var(--color-accent);border-color:var(--color-accent)}.dark-mode .right-panel.collapsed .right-panel-collapse-btn:hover{background:var(--color-accent-hover)}.chevron-right{font-size:18px;font-weight:700;line-height:1}.right-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border);padding-left:50px;gap:var(--spacing-md);flex-shrink:0;position:sticky;top:0;background:var(--color-bg-secondary);z-index:10}.dark-mode .right-panel-header{border-bottom-color:var(--color-dark-border);background:var(--color-dark-bg-secondary)}.right-panel h2{font-size:18px;color:var(--color-text-primary);margin:0;flex:1}.dark-mode .right-panel h2{color:var(--color-dark-text-primary)}.right-panel-actions{display:flex;gap:8px}.btn-icon{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);width:var(--icon-btn-size);height:var(--icon-btn-size);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);font-size:16px;color:var(--color-text-secondary)}@media (max-width: 768px){.btn-icon{width:44px;height:44px}}.btn-icon:hover{background:var(--color-bg-hover);border-color:var(--color-border-dark);color:var(--color-text-primary)}.dark-mode .btn-icon{background:var(--color-dark-bg-hover);border-color:var(--color-dark-border-light);color:var(--color-dark-text-primary)}.dark-mode .btn-icon:hover{background:var(--color-dark-bg-hover-light)}.analysis-list-btn{background:linear-gradient(135deg,var(--color-accent-gradient-start) 0%,var(--color-accent-gradient-end) 100%);color:#fff;border:none;padding:12px var(--spacing-lg);border-radius:var(--radius-xl);cursor:pointer;font-size:14px;font-weight:500;text-align:left;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.scroll-to-bottom-btn{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);width:var(--collapse-btn-size);height:var(--collapse-btn-size);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:var(--z-index-collapse-btn);transition:all var(--transition-fast);box-shadow:var(--shadow-sm);padding:0}@media (max-width: 768px){.scroll-to-bottom-btn{width:44px;height:44px}}.chevron-down{font-size:18px;font-weight:700;line-height:1;color:var(--color-text-secondary)}.scroll-to-bottom-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-dark)}.scroll-to-bottom-btn:hover .chevron-down{color:var(--color-text-primary)}.dark-mode .scroll-to-bottom-btn{background:var(--color-dark-bg-hover);border-color:var(--color-dark-border-light);color:var(--color-dark-text-primary)}.dark-mode .scroll-to-bottom-btn:hover{background:var(--color-dark-bg-hover-light)}.right-panel-content{flex:1;overflow-y:auto;padding:var(--spacing-xl);padding-top:var(--spacing-md);font-family:var(--font-family-content);font-size:14px;line-height:1.8;color:#1c1e21}.dark-mode .right-panel-content{color:var(--color-dark-text-light)}.right-panel-content h1{font-size:24px;font-weight:600;margin:var(--spacing-xl) 0 var(--spacing-lg) 0;color:#1c1e21;border-bottom:2px solid var(--color-border);padding-bottom:8px}.dark-mode .right-panel-content h1{color:var(--color-dark-text-primary);border-bottom-color:var(--color-dark-border)}.right-panel-content h2{font-size:20px;font-weight:600;margin:18px 0 12px;color:#1c1e21}.dark-mode .right-panel-content h2{color:var(--color-dark-text-primary)}.right-panel-content h3{font-size:16px;font-weight:600;margin:var(--spacing-lg) 0 var(--spacing-md) 0;color:var(--color-text-primary)}.dark-mode .right-panel-content h3{color:var(--color-dark-text-primary)}.right-panel-content h4{font-size:14px;font-weight:600;margin:12px 0 8px;color:var(--color-text-secondary)}.dark-mode .right-panel-content h4{color:var(--color-dark-text-light)}.right-panel-content p{margin:var(--spacing-md) 0}.right-panel-content ul,.right-panel-content ol{margin:var(--spacing-md) 0;padding-left:var(--spacing-xxxl)}.right-panel-content li{margin:var(--spacing-sm) 0}.right-panel-content blockquote{margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);border-left:4px solid var(--color-accent);background:var(--color-bg-blockquote);font-style:italic}.dark-mode .right-panel-content blockquote{background:var(--color-dark-bg-blockquote);border-left-color:var(--color-accent)}.right-panel-content code{background:var(--color-bg-code);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-family-monospace);font-size:13px}.dark-mode .right-panel-content code{background:var(--color-dark-bg-code);color:var(--color-dark-text-primary)}.right-panel-content pre{background:var(--color-bg-code);padding:12px;border-radius:var(--radius-lg);overflow-x:auto;margin:var(--spacing-lg) 0}.dark-mode .right-panel-content pre{background:var(--color-dark-bg-code)}.right-panel-content pre code{background:none;padding:0}.right-panel-content strong{font-weight:700;color:var(--color-text-dark)}.dark-mode .right-panel-content strong{color:var(--color-dark-text-primary)}.right-panel-content em{font-style:italic}.right-panel-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-xl) 0}.dark-mode .right-panel-content hr{border-top-color:var(--color-dark-border)}.right-panel-content table{border-collapse:collapse;width:100%;margin:var(--spacing-lg) 0}.right-panel-content th,.right-panel-content td{border:1px solid var(--color-border);padding:8px 12px;text-align:left}.dark-mode .right-panel-content th,.dark-mode .right-panel-content td{border-color:var(--color-dark-border)}.right-panel-content th{background:var(--color-bg-table-header);font-weight:600}.dark-mode .right-panel-content th{background:var(--color-dark-bg-table-header)}.right-panel-content a{color:var(--color-link);text-decoration:none}.right-panel-content a:hover{text-decoration:underline}.dark-mode .right-panel-content a{color:var(--color-dark-link)}.loading-spinner{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.dark-mode .loading-spinner{color:var(--color-dark-text-tertiary)}.right-panel-backdrop{display:none}@media (max-width: 768px){.right-panel-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1999;animation:fadeIn var(--transition-normal) ease}.dark-mode .right-panel-backdrop{background:#000c}}.message-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;display:flex;align-items:center;justify-content:center}.dark-mode .message-loading-overlay{background:#18191ae6}.message-loading-spinner-container{text-align:center}.message-loading-spinner-container .spinner{width:50px;height:50px;border-width:4px;margin:0 auto}.message-loading-text{margin-top:20px;font-size:16px;font-weight:500;color:#333}.dark-mode .message-loading-text{color:#e4e6eb}.message-loading-cancel-btn{margin-top:24px;padding:10px 24px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.message-loading-cancel-btn:hover{background:#c82333}.message-loading-cancel-btn:active{background:#bd2130}.dark-mode .message-loading-cancel-btn{background:#dc3545}.dark-mode .message-loading-cancel-btn:hover{background:#c82333}.dark-mode .message-loading-cancel-btn:active{background:#bd2130}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal);padding:20px}@media (max-width: 768px){.modal-overlay{padding:0;align-items:flex-end}}.dark-mode .modal-overlay{background-color:#000c}.modal-content{background-color:#fff;border-radius:12px;max-width:90%;width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;overflow:hidden}@media (max-width: 768px){.modal-content{width:100%!important;max-width:100%!important;max-height:95vh!important;border-radius:16px 16px 0 0!important;margin-top:auto!important;animation:slideUp var(--transition-normal) ease}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dark-mode .modal-content{background-color:#2a2a2a;color:#e4e6eb}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ddd}@media (max-width: 768px){.modal-header{padding:16px}}.dark-mode .modal-header{border-bottom-color:#3a3b3c}.modal-title{font-size:20px;font-weight:600;color:#333}@media (max-width: 768px){.modal-title{font-size:18px}}.dark-mode .modal-title{color:#e4e6eb}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:44px;height:44px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f0f0f0}.dark-mode .modal-close{color:#aaa}.dark-mode .modal-close:hover{background-color:#3a3b3c}.modal-body{padding:20px;overflow-y:auto;flex:1}@media (max-width: 768px){.modal-body{padding:16px}}.modal-footer{padding:20px;border-top:1px solid #ddd;display:flex;gap:10px;justify-content:flex-end}@media (max-width: 768px){.modal-footer{padding:16px;flex-direction:column;gap:12px}.modal-footer button,.modal-footer .btn-primary,.modal-footer .btn-cancel{width:100%;min-height:44px}}.dark-mode .modal-footer{border-top-color:#3a3b3c}.section-label{font-size:14px;font-weight:600;margin-bottom:10px;color:#666}.dark-mode .section-label{color:#aaa}.journal-messages-preview{border:1px solid #ddd;border-radius:4px;padding:12px;background-color:#f9f9f9;max-height:250px!important;overflow-y:auto}.dark-mode .journal-messages-preview{border-color:#3a3b3c;background-color:#1a1a1a}.preview-count{font-size:12px;font-weight:600;margin-bottom:12px;color:#666}.dark-mode .preview-count{color:#aaa}.preview-message{margin-bottom:12px;padding:8px;background-color:#fff;border-radius:4px;border-left:3px solid #ddd}.dark-mode .preview-message{background-color:#2a2a2a;border-left-color:#3a3b3c}.preview-message.sent{border-left-color:#007bff}.preview-message.received{border-left-color:#28a745}.preview-header{display:flex;justify-content:space-between;margin-bottom:4px;font-size:12px}.preview-sender{font-weight:600;color:#333}.dark-mode .preview-sender{color:#e4e6eb}.preview-meta{color:#999;font-size:11px}.dark-mode .preview-meta{color:#666}.preview-subject{font-weight:600;margin-bottom:4px;font-size:13px;color:#666}.dark-mode .preview-subject{color:#aaa}.preview-content{font-size:13px;color:#333;white-space:pre-wrap;word-wrap:break-word}.dark-mode .preview-content{color:#e4e6eb}.journal-content{line-height:1.6;color:#333}.dark-mode .journal-content{color:#e4e6eb}.journal-content p{margin-bottom:12px}.journal-content p:last-child{margin-bottom:0}.loading-spinner{text-align:center;padding:20px;color:#666}.btn-secondary,.btn-edit{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-edit{background-color:#007bff;color:#fff}.btn-edit:hover{background-color:#0056b3}.history-timeline{position:relative;padding-left:30px}.history-item{position:relative;border-left:2px solid #ddd;padding:15px 0 15px 20px;margin-left:10px}.dark-mode .history-item{border-left-color:#3a3b3c}.history-item:before{content:"";position:absolute;left:-7px;top:20px;width:12px;height:12px;border-radius:50%;background:#0084ff;border:2px solid white}.dark-mode .history-item:before{border-color:#242526}.history-item:first-child:before{background:#28a745}.history-action{font-weight:600;font-size:14px;color:#333;margin-bottom:4px}.dark-mode .history-action{color:#e4e6eb}.history-timestamp{font-size:13px;color:#666}.dark-mode .history-timestamp{color:#b0b3b8}.new-message-modal .modal-content{max-width:90%}.message-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:20px}.message-type-btn{padding:16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500;transition:background-color .2s}.message-type-btn:hover{background-color:#0056b3}.message-form{padding:20px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:#333}.dark-mode .form-label{color:#e4e6eb}.form-label .required:after{content:" *";color:#dc3545}.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.dark-mode .form-input,.dark-mode .form-select,.dark-mode .form-textarea{background-color:#2a2a2a;border-color:#3a3b3c;color:#e4e6eb}.form-textarea{resize:vertical;min-height:120px}.form-hint{display:block;margin-top:4px;font-size:12px;color:#666}.dark-mode .form-hint{color:#aaa}.btn-primary{padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-secondary{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.journal-form-container{display:flex;gap:0;height:70vh;overflow:hidden}.journal-form-left{flex:1;padding:20px;overflow-y:auto;border-right:1px solid var(--color-border, #ddd);display:flex;flex-direction:column;overflow:hidden}.journal-form-left form{display:flex;flex-direction:column;height:100%;overflow:hidden}.journal-messages-group{flex-shrink:0;margin-bottom:20px}.journal-content-group{flex:1;display:flex;flex-direction:column;min-height:0;margin-bottom:0}.journal-textarea{flex:1;min-height:200px;resize:none}.dark-mode .journal-form-left{border-right-color:var(--color-dark-border, #3a3b3c)}.journal-form-right{width:400px;min-width:400px;background:var(--color-bg-secondary, #f5f5f5);border-left:1px solid var(--color-border, #ddd);display:flex;flex-direction:column;overflow:hidden}.dark-mode .journal-form-right{background:var(--color-dark-bg-secondary, #1a1a1a);border-left-color:var(--color-dark-border, #3a3b3c)}.modal-analysis-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl, 20px);padding-bottom:var(--spacing-md, 12px);border-bottom:2px solid var(--color-border, #ddd);gap:var(--spacing-md, 12px);flex-shrink:0;position:sticky;top:0;background:var(--color-bg-secondary, #f5f5f5);z-index:10}.dark-mode .modal-analysis-header{border-bottom-color:var(--color-dark-border, #3a3b3c);background:var(--color-dark-bg-secondary, #1a1a1a)}.modal-analysis-header h2{font-size:18px;color:var(--color-text-primary, #333);margin:0;flex:1}.dark-mode .modal-analysis-header h2{color:var(--color-dark-text-primary, #e4e6eb)}.modal-analysis-actions{display:flex;gap:8px}.modal-analysis-content{flex:1;overflow-y:auto;padding:var(--spacing-xl, 20px);padding-top:var(--spacing-md, 12px);font-family:var(--font-family-content, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:14px;line-height:1.8;color:#1c1e21}.dark-mode .modal-analysis-content{color:var(--color-dark-text-light, #e4e6eb)}.analysis-list-container{display:flex;flex-direction:column;gap:8px}.analysis-list-btn{background:linear-gradient(135deg,var(--color-accent-gradient-start, #007bff) 0%,var(--color-accent-gradient-end, #0056b3) 100%);color:#fff;border:none;padding:12px var(--spacing-lg, 16px);border-radius:var(--radius-xl, 8px);cursor:pointer;font-size:14px;font-weight:500;text-align:left;transition:all var(--transition-fast, .2s);box-shadow:var(--shadow-sm, 0 2px 4px rgba(0,0,0,.1))}.analysis-list-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.dark-mode .analysis-list-btn{background:linear-gradient(135deg,#5865f2,#5b3a8f)}.modal-analysis-content h1{font-size:24px;font-weight:600;margin:var(--spacing-xl, 20px) 0 var(--spacing-lg, 16px) 0;color:#1c1e21;border-bottom:2px solid var(--color-border, #ddd);padding-bottom:8px}.dark-mode .modal-analysis-content h1{color:var(--color-dark-text-primary, #e4e6eb);border-bottom-color:var(--color-dark-border, #3a3b3c)}.modal-analysis-content h2{font-size:20px;font-weight:600;margin:18px 0 12px;color:#1c1e21}.dark-mode .modal-analysis-content h2{color:var(--color-dark-text-primary, #e4e6eb)}.modal-analysis-content h3{font-size:16px;font-weight:600;margin:var(--spacing-lg, 16px) 0 var(--spacing-md, 12px) 0;color:var(--color-text-primary, #333)}.dark-mode .modal-analysis-content h3{color:var(--color-dark-text-primary, #e4e6eb)}.modal-analysis-content p{margin:var(--spacing-md, 12px) 0}.modal-analysis-content ul,.modal-analysis-content ol{margin:var(--spacing-md, 12px) 0;padding-left:var(--spacing-xxxl, 32px)}.modal-analysis-content li{margin:var(--spacing-sm, 8px) 0}.modal-analysis-content blockquote{margin:var(--spacing-lg, 16px) 0;padding:var(--spacing-md, 12px) var(--spacing-lg, 16px);border-left:4px solid var(--color-accent, #007bff);background:var(--color-bg-blockquote, #f0f0f0);font-style:italic}.dark-mode .modal-analysis-content blockquote{background:var(--color-dark-bg-blockquote, #2a2a2a);border-left-color:var(--color-accent, #007bff)}.modal-analysis-content code{background:var(--color-bg-code, #f4f4f4);padding:2px 6px;border-radius:var(--radius-sm, 4px);font-family:var(--font-family-monospace, "Courier New", monospace);font-size:13px}.dark-mode .modal-analysis-content code{background:var(--color-dark-bg-code, #2a2a2a);color:var(--color-dark-text-primary, #e4e6eb)}.modal-analysis-content pre{background:var(--color-bg-code, #f4f4f4);padding:12px;border-radius:var(--radius-lg, 8px);overflow-x:auto;margin:var(--spacing-lg, 16px) 0}.dark-mode .modal-analysis-content pre{background:var(--color-dark-bg-code, #2a2a2a)}.modal-analysis-content pre code{background:none;padding:0}.modal-analysis-content strong{font-weight:700;color:var(--color-text-dark, #000)}.dark-mode .modal-analysis-content strong{color:var(--color-dark-text-primary, #e4e6eb)}.modal-analysis-content em{font-style:italic}.modal-analysis-content hr{border:none;border-top:1px solid var(--color-border, #ddd);margin:var(--spacing-xl, 20px) 0}.dark-mode .modal-analysis-content hr{border-top-color:var(--color-dark-border, #3a3b3c)}.link-violation-modal .modal-content{max-width:800px}.link-violation-list{max-height:60vh;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding:20px}.link-violation-card{border:2px solid #ddd;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s;background-color:#fff}.dark-mode .link-violation-card{background-color:#2a2a2a;border-color:#3a3b3c}.link-violation-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff33}.link-violation-card.selected{border-color:#007bff;background-color:#e7f3ff;box-shadow:0 2px 12px #007bff4d}.dark-mode .link-violation-card.selected{background-color:#1a3a5a;border-color:#0056b3}.link-violation-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.link-violation-card-title{font-size:16px;font-weight:600;color:#333;flex:1;margin-right:12px}.dark-mode .link-violation-card-title{color:#e4e6eb}.link-violation-card-badges{display:flex;gap:8px;flex-shrink:0}.link-violation-card-body{margin-bottom:12px}.link-violation-card-meta{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-bottom:8px}.dark-mode .link-violation-card-meta{color:#aaa}.link-violation-card-description{font-size:14px;color:#555;line-height:1.5}.dark-mode .link-violation-card-description{color:#ccc}.link-violation-card-footer{padding-top:12px;border-top:1px solid #eee}.dark-mode .link-violation-card-footer{border-top-color:#3a3b3c}.no-violations{text-align:center;padding:40px;color:#999}.messages-page{display:flex;flex-direction:column;min-height:100vh}@media (min-width: 769px){.messages-page{height:100vh;overflow:hidden}}.container{display:flex;flex:1}@media (min-width: 769px){.container{overflow:hidden}}@media (max-width: 768px){.messages-page{min-height:100vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.container{flex-direction:column;position:relative;overflow:visible}.container>.sidebar,.container>.right-panel{position:fixed!important}.container>.message-container{width:100%;max-width:100%}}.violation-card{border:1px solid #ddd;border-radius:8px;padding:16px;margin-bottom:16px;cursor:pointer;transition:all .2s;background-color:#fff}.dark-mode .violation-card{background-color:#2a2a2a;border-color:#3a3b3c}.violation-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff33;transform:translateY(-2px)}.violation-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}@media (max-width: 768px){.violation-card{padding:12px;margin-bottom:12px}.violation-card-header{flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.violation-card-title{font-size:16px;margin-right:0}.violation-card-badges{flex-wrap:wrap}.violation-card-meta{flex-direction:column;gap:4px}}.violation-card-title{font-size:18px;font-weight:600;color:#333;flex:1;margin-right:12px}.dark-mode .violation-card-title{color:#e4e6eb}.violation-card-badges{display:flex;gap:8px;flex-shrink:0}.severity-badge,.type-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;color:#fff}.type-badge{background-color:#6c757d}.violation-card-body{margin-bottom:12px}.violation-card-meta{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-bottom:8px}.dark-mode .violation-card-meta{color:#aaa}.violation-date{font-weight:500}.violation-message-count{opacity:.7}.violation-card-description{font-size:14px;color:#555;line-height:1.5}.dark-mode .violation-card-description{color:#ccc}.violation-card-footer{padding-top:12px;border-top:1px solid #eee}.dark-mode .violation-card-footer{border-top-color:#3a3b3c}.violation-type-name{font-size:12px;color:#999;font-style:italic}.dark-mode .violation-type-name{color:#666}.violations-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px;padding:20px}.no-violations{text-align:center;padding:60px 20px;color:#999;font-size:16px}.dark-mode .no-violations{color:#666}.violation-modal .modal-content{max-width:900px}.violation-details{padding:20px}.violation-detail-section{margin-bottom:24px}.violation-detail-section h3{font-size:18px;font-weight:600;margin-bottom:12px;color:#333}.dark-mode .violation-detail-section h3{color:#e4e6eb}.violation-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.violation-detail-item{display:flex;flex-direction:column;gap:4px}.violation-detail-item label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase}.dark-mode .violation-detail-item label{color:#aaa}.violation-detail-item span{font-size:14px;color:#333}.dark-mode .violation-detail-item span{color:#e4e6eb}.violation-description,.violation-outcome,.violation-legal,.violation-notes{line-height:1.6;color:#333}.dark-mode .violation-description,.dark-mode .violation-outcome,.dark-mode .violation-legal,.dark-mode .violation-notes{color:#e4e6eb}.violation-description-markdown p{margin-bottom:12px}.violation-description-markdown h1,.violation-description-markdown h2,.violation-description-markdown h3{margin-top:20px;margin-bottom:10px}.violation-description-edit-textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;resize:vertical}.dark-mode .violation-description-edit-textarea{background-color:#2a2a2a;border-color:#3a3b3c;color:#e4e6eb}.violation-title-edit-input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:16px;resize:vertical}.dark-mode .violation-title-edit-input{background-color:#2a2a2a;border-color:#3a3b3c;color:#e4e6eb}.violation-messages-timeline{border-left:2px solid #ddd;padding-left:20px;margin-left:10px}.dark-mode .violation-messages-timeline{border-left-color:#3a3b3c}.violation-message-item{margin-bottom:16px;padding:12px;background-color:#f9f9f9;border-radius:4px;cursor:pointer;transition:background-color .2s}.dark-mode .violation-message-item{background-color:#1a1a1a}.violation-message-item:hover{background-color:#f0f0f0}.dark-mode .violation-message-item:hover{background-color:#2a2a2a}.violation-message-item.journal-entry{border-left:3px solid #667eea}.violation-message-header{display:flex;justify-content:space-between;margin-bottom:4px;font-size:12px}.violation-message-sender{font-weight:600;color:#333}.dark-mode .violation-message-sender{color:#e4e6eb}.violation-message-meta{color:#999}.dark-mode .violation-message-meta{color:#666}.violation-message-subject{font-weight:600;margin-bottom:4px;font-size:13px;color:#666}.dark-mode .violation-message-subject{color:#aaa}.violation-message-content{font-size:13px;color:#333;white-space:pre-wrap;word-wrap:break-word}.dark-mode .violation-message-content{color:#e4e6eb}.journal-indicator{display:inline-block;margin-right:8px;font-weight:600}.btn-view-journal{margin-top:8px;padding:6px 12px;background-color:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.btn-view-journal:hover{background-color:#5568d3}.btn-edit-icon{background:none;border:none;font-size:18px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.btn-edit-icon:hover{background-color:#f0f0f0}.dark-mode .btn-edit-icon:hover{background-color:#3a3b3c}.no-messages{text-align:center;padding:20px;color:#999;font-style:italic}.dark-mode .no-messages{color:#666}.error-message{text-align:center;padding:40px;color:#dc3545}.dark-mode .error-message{color:#ff6b6b}.new-violation-modal .modal-content{max-width:700px}.violation-form{padding:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.violations-page{display:flex;flex-direction:column;height:100vh;overflow:hidden}.violations-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.violations-header{padding:20px;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center}@media (max-width: 768px){.violations-header{padding:16px;flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.violations-header h1{font-size:20px}.header-actions{width:100%;flex-direction:column;gap:var(--spacing-sm);align-items:stretch}}.dark-mode .violations-header{border-bottom-color:#3a3b3c}.violations-header h1{font-size:24px;margin:0;color:#333}.dark-mode .violations-header h1{color:#e4e6eb}.header-actions{display:flex;align-items:center;gap:20px}.header-info{font-size:14px;color:#666}.dark-mode .header-info{color:#aaa}.violations-filters{padding:20px;border-bottom:1px solid #ddd;display:flex;gap:20px;flex-wrap:wrap;align-items:flex-end}@media (max-width: 768px){.violations-filters{padding:16px;flex-direction:column;gap:var(--spacing-md);align-items:stretch}.filter-group{width:100%}.form-select,.form-input{width:100%;min-height:44px}.severity-checkboxes{flex-direction:column;gap:var(--spacing-sm)}.severity-checkbox{min-height:44px;padding:var(--spacing-sm)}.severity-checkbox input[type=checkbox]{width:24px;height:24px;min-width:24px;min-height:24px}}.dark-mode .violations-filters{border-bottom-color:#3a3b3c}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase}.dark-mode .filter-group label{color:#aaa}.form-select,.form-input{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.dark-mode .form-select,.dark-mode .form-input{background-color:#2a2a2a;border-color:#3a3b3c;color:#e4e6eb}.severity-checkboxes{display:flex;gap:12px;flex-wrap:wrap}.severity-checkbox{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.status-bar{padding:10px 20px;background-color:#f5f5f5;border-top:1px solid #ddd;font-size:12px;color:#666}.dark-mode .status-bar{background-color:#2a2a2a;border-top-color:#3a3b3c;color:#aaa}.change-password-modal .modal-content{max-width:500px}.change-password-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.password-error{padding:var(--spacing-md);background:#dc35451a;border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);font-size:14px}.dark-mode .password-error{background:#dc354533}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:500;color:var(--color-text-primary);font-size:14px}.dark-mode .form-group label{color:var(--color-dark-text-primary)}.form-group input{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #667eea33}.dark-mode .form-group input{background:var(--color-dark-bg-secondary);border-color:var(--color-dark-border);color:var(--color-dark-text-primary)}.dark-mode .form-group input:focus{border-color:var(--color-accent)}.password-hint{font-size:12px;color:var(--color-text-secondary);margin-top:-4px}.dark-mode .password-hint{color:var(--color-dark-text-secondary)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.dark-mode .modal-footer{border-top-color:var(--color-dark-border)}.btn-cancel{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-cancel:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-dark)}.dark-mode .btn-cancel{background:var(--color-dark-bg-tertiary);border-color:var(--color-dark-border);color:var(--color-dark-text-primary)}.dark-mode .btn-cancel:hover:not(:disabled){background:var(--color-dark-bg-hover)}.btn-primary{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.password-change-success{text-align:center;padding:var(--spacing-xxl)}.success-icon{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin:0 auto var(--spacing-lg)}.password-change-success p{font-size:16px;color:var(--color-text-primary);margin:0}.dark-mode .password-change-success p{color:var(--color-dark-text-primary)}.account-page{min-height:100vh;background:var(--color-bg-secondary)}.dark-mode .account-page{background:var(--color-dark-bg-primary)}.account-container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}@media (max-width: 768px){.account-container{padding:var(--spacing-md)}}.account-header{margin-bottom:var(--spacing-xxl)}.account-header h1{font-size:32px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}@media (max-width: 768px){.account-header h1{font-size:24px}.account-header{margin-bottom:var(--spacing-lg)}}.dark-mode .account-header h1{color:var(--color-dark-text-primary)}.account-subtitle{font-size:16px;color:var(--color-text-secondary);margin:0}.dark-mode .account-subtitle{color:var(--color-dark-text-secondary)}.account-error-banner{background:#dc35451a;border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--spacing-md);color:var(--color-danger);margin-bottom:var(--spacing-xl);font-size:14px}.dark-mode .account-error-banner{background:#dc354533;border-color:var(--color-danger)}.account-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.account-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.account-section{padding:var(--spacing-md)}}.dark-mode .account-section{background:var(--color-dark-bg-secondary);border-color:var(--color-dark-border)}.section-title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.dark-mode .section-title{color:var(--color-dark-text-primary);border-bottom-color:var(--color-dark-border)}.profile-card{display:flex;align-items:flex-start;gap:var(--spacing-xl)}@media (max-width: 768px){.profile-card{flex-direction:column;align-items:center;text-align:center}}.profile-avatar{width:80px;height:80px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;flex-shrink:0}.profile-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md)}.info-row{display:flex;align-items:center;gap:var(--spacing-md)}.info-label{font-weight:600;color:var(--color-text-secondary);min-width:120px;font-size:14px}@media (max-width: 768px){.info-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.info-label{min-width:auto}}.dark-mode .info-label{color:var(--color-dark-text-secondary)}.info-value{color:var(--color-text-primary);font-size:14px}.dark-mode .info-value{color:var(--color-dark-text-primary)}.name-display-container{display:flex;align-items:center;gap:var(--spacing-sm)}.name-edit-container{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.name-edit-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);min-width:200px}.name-edit-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #667eea33}.dark-mode .name-edit-input{background:var(--color-dark-bg-secondary);border-color:var(--color-dark-border);color:var(--color-dark-text-primary)}.dark-mode .name-edit-input:focus{border-color:var(--color-accent)}.name-edit-actions{display:flex;gap:var(--spacing-xs)}.name-edit-btn{width:28px;height:28px;min-width:44px;min-height:44px;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);font-weight:700}@media (max-width: 768px){.name-edit-btn{width:44px;height:44px}.name-edit-input{min-width:auto;width:100%}.name-edit-container{flex-direction:column;align-items:stretch}.name-edit-actions{justify-content:flex-end}}.name-edit-btn.save-btn{background:var(--color-success);color:#fff}.name-edit-btn.save-btn:hover:not(:disabled){background:var(--color-success-hover);transform:scale(1.05)}.name-edit-btn.cancel-btn{background:var(--color-danger);color:#fff}.name-edit-btn.cancel-btn:hover:not(:disabled){background:var(--color-danger-hover);transform:scale(1.05)}.name-edit-btn:disabled{opacity:.5;cursor:not-allowed}.btn-edit-icon{background:none;border:none;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s;opacity:.7;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.btn-edit-icon{width:44px;height:44px}}.btn-edit-icon:hover{background-color:var(--color-bg-tertiary);opacity:1}.dark-mode .btn-edit-icon:hover{background-color:var(--color-dark-bg-hover)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr;gap:var(--spacing-md)}}.stat-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center}.dark-mode .stat-card{background:var(--color-dark-bg-tertiary);border-color:var(--color-dark-border)}.stat-value{font-size:32px;font-weight:700;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.dark-mode .stat-value{color:var(--color-accent)}.stat-label{font-size:14px;color:var(--color-text-secondary);font-weight:500}.dark-mode .stat-label{color:var(--color-dark-text-secondary)}.sources-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.source-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.dark-mode .source-item{background:var(--color-dark-bg-tertiary);border-color:var(--color-dark-border)}.source-name{font-weight:500;color:var(--color-text-primary);text-transform:capitalize}.dark-mode .source-name{color:var(--color-dark-text-primary)}.source-count{color:var(--color-text-secondary);font-size:14px}.dark-mode .source-count{color:var(--color-dark-text-secondary)}.date-range-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.date-range-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.dark-mode .date-range-item{background:var(--color-dark-bg-tertiary);border-color:var(--color-dark-border)}.date-label{font-weight:500;color:var(--color-text-secondary)}.dark-mode .date-label{color:var(--color-dark-text-secondary)}.date-value{color:var(--color-text-primary);font-weight:500}.dark-mode .date-value{color:var(--color-dark-text-primary)}.actions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.action-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.dark-mode .action-item{background:var(--color-dark-bg-tertiary);border-color:var(--color-dark-border)}.action-info{flex:1}.action-title{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.dark-mode .action-title{color:var(--color-dark-text-primary)}.action-description{font-size:14px;color:var(--color-text-secondary)}.dark-mode .action-description{color:var(--color-dark-text-secondary)}.action-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-height:44px}@media (max-width: 768px){.action-item{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.action-button{width:100%}}.action-button:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.action-button:disabled{background:var(--color-text-tertiary);cursor:not-allowed;opacity:.6}.dark-mode .action-button:disabled{background:var(--color-dark-text-tertiary)}.loading-spinner,.error-message{text-align:center;padding:var(--spacing-xxl);color:var(--color-text-secondary)}.dark-mode .loading-spinner,.dark-mode .error-message{color:var(--color-dark-text-secondary)}.error-message,.dark-mode .error-message{color:var(--color-danger)}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5;padding:20px}.dark-mode .login-page{background-color:#18191a}.login-container{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.dark-mode .login-container{background-color:#242526;box-shadow:0 2px 10px #0000004d}.login-container h1{margin:0 0 8px;text-align:center;color:#333;font-size:32px;font-weight:700;letter-spacing:-.5px}.dark-mode .login-container h1{color:#e4e6eb}.login-form{display:flex;flex-direction:column;gap:20px}.login-footer{text-align:center;margin-top:15px}.forgot-password-link{color:#007bff;text-decoration:none;font-size:14px;transition:color .2s}.forgot-password-link:hover{color:#0056b3;text-decoration:underline}.dark-mode .forgot-password-link{color:#4a9eff}.dark-mode .forgot-password-link:hover{color:#3a8eef}.forgot-password-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5;padding:20px}.dark-mode .forgot-password-page{background-color:#18191a}.forgot-password-container{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.dark-mode .forgot-password-container{background-color:#242526;box-shadow:0 2px 10px #0000004d}.forgot-password-container h1{margin:0 0 8px;text-align:center;color:#333;font-size:32px;font-weight:700;letter-spacing:-.5px}.dark-mode .forgot-password-container h1{color:#e4e6eb}.instructions{margin:0 0 20px;color:#666;font-size:14px;text-align:center}.dark-mode .instructions{color:#aaa}.forgot-password-form{display:flex;flex-direction:column;gap:20px}.reset-password-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5;padding:20px}.dark-mode .reset-password-page{background-color:#18191a}.reset-password-container{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.dark-mode .reset-password-container{background-color:#242526;box-shadow:0 2px 10px #0000004d}.reset-password-container h1{margin:0 0 8px;text-align:center;color:#333;font-size:32px;font-weight:700;letter-spacing:-.5px}.dark-mode .reset-password-container h1{color:#e4e6eb}.login-tagline{margin:0 0 30px;text-align:center;color:#666;font-size:14px;font-weight:400}.dark-mode .login-tagline{color:#aaa}.reset-password-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#666;font-size:14px}.dark-mode .form-group label{color:#aaa}.form-group input{padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .2s}.dark-mode .form-group input{background-color:#3a3b3c;border-color:#3a3b3c;color:#e4e6eb}.form-group input:focus{outline:none;border-color:#007bff}.dark-mode .form-group input:focus{border-color:#4a9eff}.form-group input:disabled{opacity:.6;cursor:not-allowed}.password-hint{font-size:12px;color:#666;margin-top:-4px}.dark-mode .password-hint{color:#aaa}.error-message{padding:12px;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:14px}.dark-mode .error-message{background-color:#3a1f1f;border-color:#5a2f2f;color:#ff6b6b}.success-message{text-align:center;padding:20px 0}.success-message p{margin:10px 0;color:#666;font-size:14px}.dark-mode .success-message p{color:#aaa}.btn-primary{padding:12px 24px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.dark-mode .btn-primary{background-color:#4a9eff}.dark-mode .btn-primary:hover:not(:disabled){background-color:#3a8eef}.form-footer{text-align:center;margin-top:10px}.back-to-login-link{color:#007bff;text-decoration:none;font-size:14px;transition:color .2s}.back-to-login-link:hover{color:#0056b3;text-decoration:underline}.dark-mode .back-to-login-link{color:#4a9eff}.dark-mode .back-to-login-link:hover{color:#3a8eef}.App{min-height:100vh}.dark-mode{background-color:#1a1a1a;color:#e0e0e0}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:18px;color:#666}.dark-mode .loading-spinner{color:#aaa}:root{--font-family-base: "Arial Unicode MS", "Segoe UI Symbol", Helvetica, Verdana, Arial, Geneva, sans-serif;--font-family-content: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-family-monospace: "Courier New", monospace;--font-family-serif: Georgia, serif;--color-bg-primary: rgb(255, 255, 255);--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #f5f5f5;--color-bg-hover: #f0f0f0;--color-bg-hover-light: #e9ecef;--color-bg-hover-blue: #e3f2fd;--color-bg-message-received: #e4e6eb;--color-bg-group: #f0f2f5;--color-bg-group-item: white;--color-bg-group-item-you: #e7f3ff;--color-bg-code: #f4f4f4;--color-bg-blockquote: #f0f2f5;--color-bg-table-header: #f8f9fa;--color-bg-modal-overlay: rgba(0, 0, 0, .7);--color-bg-loading-overlay: rgba(255, 255, 255, .8);--color-text-primary: #333;--color-text-secondary: #666;--color-text-tertiary: #999;--color-text-muted: #8a8d91;--color-text-light: #b0b3b8;--color-text-dark: #000;--color-text-white: white;--color-border: #ddd;--color-border-dark: #999;--color-border-light: rgba(0, 0, 0, .1);--color-border-group: #65676b;--color-primary: #0084ff;--color-primary-hover: #0073e6;--color-primary-dark: #007bff;--color-primary-dark-hover: #0056b3;--color-accent: #667eea;--color-accent-hover: #5568d3;--color-accent-gradient-start: #667eea;--color-accent-gradient-end: #764ba2;--color-accent-analysis-start: #4facfe;--color-accent-analysis-end: #00f2fe;--color-success: #28a745;--color-success-hover: #218838;--color-danger: #dc3545;--color-danger-hover: #c82333;--color-warning: #ffc107;--color-info: #17a2b8;--color-link: #667eea;--color-link-hover: #5568d3;--color-dark-bg-primary: #18191a;--color-dark-bg-secondary: #242526;--color-dark-bg-tertiary: #2a2b2c;--color-dark-bg-hover: #3a3b3c;--color-dark-bg-hover-light: #4a4b4c;--color-dark-bg-hover-dark: #5a5b5c;--color-dark-bg-message-received: #3a3b3c;--color-dark-bg-group: #3a3b3c;--color-dark-bg-group-item: #242526;--color-dark-bg-group-item-you: #1a3a52;--color-dark-bg-code: #2a2b2c;--color-dark-bg-blockquote: #2a2b2c;--color-dark-bg-table-header: #2a2b2c;--color-dark-bg-loading-overlay: rgba(24, 25, 26, .9);--color-dark-text-primary: #e4e6eb;--color-dark-text-secondary: #c8ccd0;--color-dark-text-tertiary: #b0b3b8;--color-dark-text-muted: #8a8d91;--color-dark-text-light: #ccc;--color-dark-border: #3a3b3c;--color-dark-border-light: #4a4b4c;--color-dark-border-dark: #5a5b5c;--color-dark-link: #8ab4f8;--spacing-xs: 3px;--spacing-sm: 5px;--spacing-md: 10px;--spacing-lg: 15px;--spacing-xl: 20px;--spacing-xxl: 24px;--spacing-xxxl: 30px;--sidebar-width: 320px;--right-panel-width: 450px;--top-nav-height: 50px;--collapse-btn-size: 36px;--icon-btn-size: 32px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 5px;--radius-xl: 8px;--radius-xxl: 12px;--radius-round: 15px;--radius-full: 50%;--shadow-sm: 0 2px 4px rgba(0,0,0,.1);--shadow-md: 0 2px 5px rgba(0, 0, 0, .05);--shadow-lg: 0 2px 8px rgba(102, 126, 234, .3);--shadow-xl: 0 4px 12px rgba(102, 126, 234, .4);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .3);--shadow-analysis: 0 2px 8px rgba(79, 172, 254, .3);--shadow-analysis-hover: 0 4px 12px rgba(79, 172, 254, .4);--transition-fast: .2s;--transition-normal: .3s;--transition-slow: .5s;--z-index-modal: 2000;--z-index-modal-header: 10;--z-index-user-menu: 1002;--z-index-collapse-btn: 1001;--z-index-top-nav: 1000;--z-index-loading-overlay: 9999;--breakpoint-mobile: 768px;--breakpoint-tablet: 1024px;--mobile-spacing-xs: 2px;--mobile-spacing-sm: 4px;--mobile-spacing-md: 8px;--mobile-spacing-lg: 12px;--mobile-spacing-xl: 16px;--mobile-spacing-xxl: 20px;--touch-target-min: 44px;--touch-target-comfortable: 48px}@media (max-width: 768px){:root{--spacing-xs: var(--mobile-spacing-xs);--spacing-sm: var(--mobile-spacing-sm);--spacing-md: var(--mobile-spacing-md);--spacing-lg: var(--mobile-spacing-lg);--spacing-xl: var(--mobile-spacing-xl);--spacing-xxl: var(--mobile-spacing-xxl)}}html.dark-mode,body.dark-mode{--color-bg-primary: var(--color-dark-bg-primary);--color-bg-secondary: var(--color-dark-bg-secondary);--color-bg-tertiary: var(--color-dark-bg-tertiary);--color-bg-hover: var(--color-dark-bg-hover);--color-bg-hover-light: var(--color-dark-bg-hover-light);--color-bg-message-received: var(--color-dark-bg-message-received);--color-bg-group: var(--color-dark-bg-group);--color-bg-group-item: var(--color-dark-bg-group-item);--color-bg-group-item-you: var(--color-dark-bg-group-item-you);--color-bg-code: var(--color-dark-bg-code);--color-bg-blockquote: var(--color-dark-bg-blockquote);--color-bg-table-header: var(--color-dark-bg-table-header);--color-bg-loading-overlay: var(--color-dark-bg-loading-overlay);--color-text-primary: var(--color-dark-text-primary);--color-text-secondary: var(--color-dark-text-secondary);--color-text-tertiary: var(--color-dark-text-tertiary);--color-text-muted: var(--color-dark-text-muted);--color-text-light: var(--color-dark-text-light);--color-border: var(--color-dark-border);--color-border-light: var(--color-dark-border-light);--color-border-dark: var(--color-dark-border-dark);--color-link: var(--color-dark-link)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-base);background:var(--color-bg-primary);min-height:100vh;transition:background-color var(--transition-normal) ease,color var(--transition-normal) ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width: 769px){body{height:100vh;overflow:hidden}}@media (max-width: 768px){body{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}}code{font-family:var(--font-family-monospace)}
