body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.messages-btn,.messages-container{position:relative}.messages-btn{align-items:center;border:1px solid #e0e0e0;border-radius:50%;box-shadow:0 1px 4px #00000014;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.messages-btn:hover{background:#5c6bc0;border-color:#5c6bc0;box-shadow:0 3px 8px #5c6bc040;transform:translateY(-1px)}.messages-icon{color:#616161;height:20px;transition:all .2s ease;width:20px}.messages-btn:hover .messages-icon{color:#fff}.messages-count{background:#f44336;border:2px solid #fff;border-radius:10px;box-shadow:0 2px 6px #f443364d;color:#fff;font-size:.65rem;font-weight:600;min-width:18px;padding:.2rem .4rem;position:absolute;right:-4px;text-align:center;top:-4px}.messages-dropdown{animation:slideDown .2s ease;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001f,0 0 0 1px #0000000d;display:flex;flex-direction:column;max-height:520px;overflow:hidden;position:absolute;right:0;top:55px;width:380px;z-index:1000}.messages-header{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.messages-header h3{align-items:center;color:#424242;display:flex;font-size:.95rem;font-weight:600;gap:10px;letter-spacing:.2px;margin:0}.messages-header h3 svg{fill:#757575;height:18px;width:18px}.close-messages{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:50%;color:#757575;cursor:pointer;display:flex;font-size:1.2rem;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.close-messages:hover{background:#f5f5f5;border-color:#bdbdbd;color:#424242}.messages-list{flex:1 1;max-height:420px;overflow-y:auto}.messages-loading{align-items:center;color:#757575;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.spinner{animation:spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#9e9e9e;height:36px;margin-bottom:14px;width:36px}.no-messages{align-items:center;color:#9e9e9e;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.no-messages svg{height:42px;margin-bottom:18px;opacity:.25;width:42px}.no-messages p{color:#616161;font-size:1rem;font-weight:600;margin:0 0 8px}.no-messages span{color:#9e9e9e;font-size:.85rem}.message-item{background:#fff;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:14px 20px;position:relative;transition:all .2s ease}.message-item:hover{background:#fafafa}.message-item.unread{background:#f5f7ff}.message-item.unread:hover{background:#e8ecff}.message-avatar{background:linear-gradient(135deg,#757575,#616161);border:2px solid #f5f5f5;font-size:.9rem;height:36px;width:36px}.message-content{flex:1 1;min-width:0}.message-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.message-sender{color:#424242;font-size:.85rem;font-weight:600;letter-spacing:.1px}.message-time{color:#9e9e9e;font-size:.7rem}.message-task-info{align-items:center;background:#f5f5f5;border-radius:6px;color:#757575;display:flex;display:inline-flex;font-size:.75rem;font-weight:500;gap:5px;margin-bottom:6px;padding:3px 8px}.message-task-info svg{fill:#9e9e9e;height:11px;width:11px}.message-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#616161;display:-webkit-box;font-size:.85rem;overflow:hidden;text-overflow:ellipsis}.unread-indicator{background:#f44336;border-radius:50%;box-shadow:0 0 0 3px #f4433626;height:8px;position:absolute;right:14px;top:50%;transform:translateY(-50%);width:8px}.messages-footer{background:#fafafa;border-top:1px solid #e0e0e0;padding:12px 20px}.view-all-btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#5c6bc0;cursor:pointer;font-size:.85rem;font-weight:600;letter-spacing:.2px;padding:10px;transition:all .2s ease;width:100%}.view-all-btn:hover{background:#5c6bc0;border-color:#5c6bc0;box-shadow:0 2px 8px #5c6bc040;color:#fff}.messages-list::-webkit-scrollbar{width:5px}.messages-list::-webkit-scrollbar-track{background:#f5f5f5;border-radius:6px}.messages-list::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:6px}.messages-list::-webkit-scrollbar-thumb:hover{background:#9e9e9e}@media (max-width:768px){.messages-dropdown{max-height:70vh;right:-10px;width:90vw}.messages-btn{height:40px;width:40px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.loading{color:#5c7e9a;font-size:1.5rem;height:100vh}.auth-container,.loading{align-items:center;display:flex;justify-content:center}.auth-container{background:linear-gradient(135deg,#5c7e9a,#7094b3);min-height:100vh}.auth-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;margin:1rem;max-width:450px;padding:2.5rem;width:100%}.auth-card h2{color:#1f2937;font-size:1.875rem;margin-bottom:.5rem}.auth-card p{color:#6b7280;margin-bottom:2rem}.form-group{margin-bottom:1.25rem}.empty-state{padding:2rem 1rem}.form-group label{color:#374151;display:block;font-size:.875rem;font-weight:600;letter-spacing:.01em;margin-bottom:.625rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1.5px solid #d1d5db;border-radius:8px;font-size:.95rem;padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#5c7e9a;box-shadow:0 0 0 4px #5c7e9a1f,0 1px 3px #00000014;outline:none;transform:translateY(-1px)}.form-group textarea{min-height:100px;resize:vertical}.error-message{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00}.error-message,.success-message{margin-bottom:1rem;padding:.75rem}.success-message{background:#efe;border:1px solid #cfc;border-radius:6px;color:#0a0}.btn{align-items:center;border:none;border-radius:10px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary{background:linear-gradient(135deg,#5c7e9a,#4a6680);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#4a6680,#3d5369);box-shadow:0 4px 12px #5c7e9a59;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 1px 3px #0000001a;color:#fff}.btn-secondary:hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 4px 12px #6b728059;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 1px 3px #0000001a;color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 1px 3px #0000001a;color:#fff}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.btn-block{width:100%}.auth-link{color:#6b7280;margin-top:1.5rem;text-align:center}.auth-link a{color:#5c7e9a;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.dashboard-container{display:flex;min-height:100vh}.mobile-menu-btn{background:#5c7e9a;border:none;border-radius:8px;box-shadow:0 2px 8px #00000026;cursor:pointer;display:none;flex-direction:column;gap:4px;left:1rem;padding:.75rem;position:fixed;top:1rem;z-index:1001}.mobile-menu-btn span{background:#fff;border-radius:2px;height:3px;transition:all .3s;width:24px}.mobile-menu-btn:hover{background:#4a6680}.mobile-close-btn{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:1.5rem;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s;width:40px;z-index:1002}.mobile-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}.sidebar{background:linear-gradient(180deg,#5c7e9a,#4a6680);box-shadow:2px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;transition:transform .3s ease;width:280px}.sidebar-header{padding:2rem 1.5rem 1.5rem}.logo-container,.sidebar-header{border-bottom:1px solid #ffffff1a}.logo-container{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.sidebar-logo{border-radius:10px;box-shadow:0 4px 6px #0000001a;height:50px;object-fit:cover;width:50px}.brand-info h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#e0e7ff);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;margin:0}.brand-tagline{color:#b8cfe0;font-size:.75rem;font-weight:500;letter-spacing:.5px}.user-info{gap:1rem}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#7094b3,#8dadc7);border-radius:50%;box-shadow:0 2px 8px #00000026;color:#fff;font-size:1.25rem;font-weight:600;height:45px;justify-content:center;width:45px}.user-details{flex:1 1}.user-name{color:#fff;font-size:.95rem;font-weight:600;margin:0 0 .25rem}.user-institution{color:#d1e3f0;font-size:.75rem;margin:0 0 .5rem}.admin-badge{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:12px;box-shadow:0 2px 4px #0003;color:#fff;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.5px;padding:.25rem .75rem}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1.5rem 0}.sidebar-nav ul{list-style:none;margin:0;padding:0}.sidebar-nav li{margin-bottom:.25rem;padding:0 1rem}.sidebar-nav a{align-items:center;border-radius:10px;color:#e8f0f7;display:flex;font-weight:500;gap:1rem;padding:.875rem 1rem;text-decoration:none;transition:all .2s ease}.nav-icon{font-size:1.25rem;text-align:center;width:24px}.nav-text{flex:1 1}.sidebar-nav a:hover{background:#ffffff26;color:#fff;transform:translateX(4px)}.sidebar-nav a.active{background:linear-gradient(135deg,#7094b3,#5c7e9a);box-shadow:0 2px 8px #5c7e9a66;color:#fff}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1.5rem}.btn-logout{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;padding:.875rem 1rem;transition:all .2s ease;width:100%}.btn-logout:hover{background:#ef444433;border-color:#ef4444;box-shadow:0 4px 12px #ef444433;transform:translateY(-2px)}.main-content{background:#f3f4f6;flex:1 1;overflow-y:auto;padding:2rem}.page-header{border-bottom:2px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1.5rem}.page-header h1{align-items:center;color:#1f2937;display:flex;font-size:2rem;gap:.75rem;margin-bottom:.5rem}.page-header p{color:#6b7280;font-size:1rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000f;padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-card h3{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.stat-card p{color:#1f2937;font-size:2rem;font-weight:700}.content-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000f;margin-bottom:1.5rem;padding:2rem}.section-header{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.section-header h2{color:#1f2937;font-weight:600}.table-container{-webkit-overflow-scrolling:touch;border:1px solid #e5e7eb;border-radius:8px;margin:1rem 0;overflow-x:auto}.data-table{border-collapse:collapse;min-width:600px;width:100%}.data-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.875rem .75rem;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.9rem;padding:.875rem .75rem}.data-table tbody tr{transition:background-color .2s}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr:last-child td{border-bottom:none}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.btn-small{border-radius:6px;font-size:.85rem;padding:.4rem .875rem;white-space:nowrap}.empty-state{color:#6b7280;padding:4rem 2rem}.empty-state p{font-size:1.125rem;margin-bottom:1.5rem}.empty-state .btn{margin-top:1rem}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal{animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:16px;box-shadow:0 25px 80px #00000040,0 0 0 1px #0000000d;max-height:90vh;max-width:850px;width:100%}.modal,.modal form{display:flex;flex-direction:column;overflow:hidden}.modal form{flex:1 1;min-height:0}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.25rem}.modal-header h3{color:#1c1e21;font-size:1.25rem;font-weight:700;letter-spacing:-.025em;margin:0}.close-btn{align-items:center;background:#f0f2f5;border:none;border-radius:50%;color:#65676b;cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;padding:.375rem;transition:all .2s ease;width:36px}.close-btn:hover{background:#e4e6eb;color:#000}.modal-body{background:#fff;flex:1 1;min-height:0;overflow-y:auto;padding:1.25rem}.modal-footer{background:#f0f2f5;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:.625rem;justify-content:flex-end;padding:1rem 1.25rem}@media (max-width:768px){.mobile-close-btn,.mobile-menu-btn{display:flex}.sidebar-overlay{display:block}.sidebar{bottom:0;left:0;position:fixed;top:0;transform:translateX(-100%);width:280px;z-index:1000}.sidebar.sidebar-open{transform:translateX(0)}.dashboard-container{flex-direction:column}.main-content{box-sizing:border-box;margin-left:0!important;max-width:100vw;overflow-x:hidden;padding:5rem 0 2rem;width:100%}.page-header{padding:0 1rem 1rem}.page-header h1{font-size:1.5rem}.stats-grid{gap:1rem;grid-template-columns:1fr;padding:0 1rem}.stat-card{padding:1.25rem}.content-section{-webkit-overflow-scrolling:touch;border-left:none;border-radius:0;border-right:none;margin:0;overflow-x:visible;overflow-y:visible;padding:1rem}.section-header{align-items:stretch;flex-direction:column;gap:1rem;padding:0 0 1rem}.section-header h2{font-size:1.25rem}.section-header .btn:not(.btn-small){width:100%}.table-container{border:none;border-radius:0;box-sizing:border-box;display:flex;justify-content:center;margin:1rem auto 0;max-width:90vw;overflow:visible;padding:0;width:100%}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr{box-sizing:border-box;display:block;margin-left:auto;margin-right:auto;max-width:90vw;overflow:hidden;width:100%}.data-table tr{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #00000014;box-sizing:border-box;margin-bottom:1rem;max-width:90vw;overflow:hidden;padding:1.25rem}.data-table tr:hover{box-shadow:0 4px 8px #0000001f;transform:translateY(-1px);transition:all .2s ease}.data-table td{word-wrap:break-word;border:none;border-bottom:1px solid #f3f4f6;box-sizing:border-box;display:flex;flex-direction:column;font-size:.9rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;max-width:100%;overflow-wrap:break-word;padding:.75rem 0;text-align:left;width:100%}.data-table td:first-child{padding-top:0}.data-table td:last-child{border-bottom:none;padding-bottom:0}.data-table td:before{color:#5c7e9a;content:attr(data-label);display:block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.375rem;text-transform:uppercase}.data-table td:last-child:before{display:none}.data-table td:last-child{border-top:1px solid #e5e7eb;margin-top:.5rem;max-width:100%;overflow:hidden;padding-top:1rem}.action-buttons{display:flex;flex-direction:column;gap:.625rem;justify-content:flex-start}.action-buttons,.action-buttons .btn-small{box-sizing:border-box;max-width:100%;width:100%}.action-buttons .btn-small{font-size:.875rem;justify-content:center;min-width:0;overflow:hidden;padding:.625rem 1rem;text-overflow:ellipsis;white-space:nowrap}.modal{margin:.5rem;max-height:95vh;max-width:100%}.modal-body,.modal-footer,.modal-header{padding:1.25rem}.modal-body{min-height:0}.modal-footer .btn{flex:1 1}.form-group{margin-bottom:.75rem}.form-group label{font-size:.875rem;margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{border-radius:4px;font-size:.875rem;padding:.5rem .625rem}.form-group textarea{min-height:80px}.form-grid{gap:.75rem}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.form-actions .btn{flex:1 1;font-size:.875rem;min-width:120px;padding:.625rem 1rem}.status-badge{display:inline-block;font-size:.75rem;margin-top:.25rem;padding:.375rem .75rem}.data-table td{word-break:break-word}.btn-small{font-weight:500;white-space:nowrap}.action-buttons-grid{flex-direction:column;gap:.75rem;margin-top:1.5rem}.action-buttons-grid .btn{width:100%}.section-description{font-size:.9rem}.laboratories-layout{-webkit-overflow-scrolling:touch;display:flex;flex-direction:row;gap:0;height:auto;overflow-x:auto}.laboratory-list-panel{border-radius:0;border-right:1px solid #e5e7eb;box-shadow:none;flex-shrink:0;max-width:180px;min-width:180px;overflow-x:hidden;overflow-y:auto}.laboratory-item{padding:.75rem .5rem}.laboratory-header h4{font-size:.85em}.laboratory-code,.laboratory-director,.laboratory-institution{font-size:.75em}.laboratory-details-panel{border-radius:0;box-shadow:none;flex:1 1;margin-left:-180px;min-width:0;overflow:visible;padding:.5rem}.laboratory-details-panel .card{border:none;border-radius:0;box-shadow:none;min-width:-webkit-fit-content;min-width:fit-content;overflow:visible}.card-header{align-items:stretch;flex-direction:column;gap:.75rem}.card-actions{display:flex;flex-wrap:wrap;gap:.75rem;width:100%}.card-actions .btn{flex:1 1;margin:0;min-width:120px}.details-content,.form-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr!important;padding:0}.details-content{padding:1rem 0}.panel-header{align-items:stretch;flex-direction:column;gap:.5rem;padding:.75rem 1rem}.panel-header h3{font-size:.95rem}.panel-header .btn{font-size:.85rem;padding:.5rem 1rem;width:100%}.empty-state{padding:2rem 1rem}.laboratory-item{padding:.75rem 1rem}.detail-group{word-wrap:break-word;border-bottom:1px solid #e5e7eb;grid-column:1/-1;overflow-wrap:break-word;padding:.75rem 0;width:100%}.detail-group:last-child{border-bottom:none}.detail-group.full-width{grid-column:1}.detail-group label{color:#6b7280;display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.detail-group .form-value,.detail-group span{color:#1f2937;display:block;font-size:.95rem;max-width:100%;overflow-wrap:break-word;word-break:break-word}.detail-group a{word-break:break-all}.searchable-select{min-width:100%}.laboratory-header{flex-wrap:wrap}}.user-item{border-bottom:1px solid #eee;cursor:pointer;padding:15px 20px;transition:background-color .2s}.user-item:hover{background-color:#f5f5f5}.user-item.active{background-color:#e3f2fd}.user-name{align-items:center;display:flex;font-weight:700;gap:10px;margin-bottom:5px}.user-email{color:#666;font-size:14px}.badge{border-radius:3px;font-size:12px;font-weight:400;padding:2px 8px}.badge-admin{background-color:#ff9800;color:#fff}.form-value{background-color:#f5f5f5;border-radius:4px;color:#333;padding:10px}.form-control-static{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;display:flex;font-weight:500;min-height:42px;padding:10px}.success-message{background-color:#e8f5e9;border:1px solid #66bb6a;border-radius:4px;color:#2e7d32;margin-bottom:20px;padding:15px}.card-header h2{color:#333;font-size:20px;margin:0}.laboratories-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:350px 1fr;height:calc(100vh - 200px)}.laboratory-details-panel,.laboratory-list-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.laboratory-list-panel{display:flex;flex-direction:column}.panel-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.panel-header h3{font-size:1.1em;margin:0}.laboratory-list{flex:1 1;overflow-y:auto}.laboratory-item{border-bottom:1px solid #eee;cursor:pointer;padding:15px 20px;transition:background-color .2s}.laboratory-item:hover{background-color:#f8f9fa}.laboratory-item.active{background-color:#e3f2fd;border-left:3px solid #2196f3}.laboratory-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.laboratory-header h4{color:#333;font-size:1em;margin:0}.laboratory-code{color:#666;font-family:Courier New,monospace;font-size:.85em;margin-bottom:4px}.laboratory-institution{color:#555;font-size:.9em;margin-bottom:4px}.laboratory-director{color:#777;font-size:.85em}.status-badge{font-size:.75em;padding:4px 8px}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.laboratory-details-panel{overflow-y:auto;padding:20px}.form-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:15px}.details-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);padding:20px 0}.detail-group{display:flex;flex-direction:column;gap:5px}.detail-group.full-width{grid-column:1/-1}.detail-group label{color:#555;font-size:.9em;font-weight:600}.empty-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.empty-state h3{color:#333;margin-bottom:10px}.empty-state p{color:#999}.searchable-select{display:flex;flex-direction:column}.searchable-select select{margin-top:5px;min-height:120px}.form-text,.searchable-select .form-text{color:#666;font-size:.85em;margin-top:5px}.form-text{display:block}.section-description{color:#6b7280;font-size:.95rem;margin-top:1rem}.action-buttons-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.action-buttons-grid a{text-decoration:none}.meetings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:1.5rem}.meeting-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.meeting-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.meeting-header h3{color:#1f2937;font-size:1.25rem;margin:0}.meeting-date{color:#6b7280;font-size:.85rem;white-space:nowrap}.meeting-description{color:#4b5563;line-height:1.5;margin-bottom:1rem}.meeting-meta{border-top:1px solid #f0f0f0;margin-bottom:1rem;padding-top:.5rem}.meeting-meta small{color:#9ca3af}.tasks-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.task-group-card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 3px #0000001a;padding:1rem}.task-group-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.task-group-header h3{color:#1f2937;font-size:1.1rem;margin:0 0 .25rem}.task-date{color:#6b7280;font-size:.8rem;margin:.25rem 0}.task-description{color:#4b5563;font-size:.875rem;margin:.25rem 0 0}.tasks-container{display:flex;flex-direction:column;gap:.5rem}.tasks-list h4{color:#374151;font-size:1rem;margin-bottom:.75rem}.task-item{align-items:center;background:#f9fafb;border-left:3px solid #5c7e9a;border-radius:4px;display:flex;gap:1rem;justify-content:space-between;margin-bottom:0;padding:.75rem}.task-info{flex:1 1;min-width:0}.task-assignee{color:#6b7280;font-size:.8rem;margin-bottom:.25rem}.task-desc{color:#1f2937;font-size:.875rem;line-height:1.4}.task-status-section{flex-shrink:0;min-width:140px}.task-status-select{border:1px solid #d1d5db;border-radius:4px;font-size:.8rem;font-weight:500;padding:.4rem .5rem}.task-status-select:disabled{cursor:not-allowed;opacity:.6}.task-status-select.status-pending{background-color:#fef3c7;border-color:#fbbf24;color:#92400e}.task-status-select.status-in_progress{background-color:#dbeafe;border-color:#60a5fa;color:#1e40af}.task-status-select.status-completed{background-color:#d1fae5;border-color:#34d399;color:#065f46}.task-info p{font-size:.9rem;margin:.25rem 0}.task-info p strong{color:#374151}.task-actions{margin-top:.5rem}.task-builder{padding:1rem}.task-builder,.tasks-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.tasks-preview{padding:.75rem}.tasks-preview h4{color:#374151;font-size:.875rem;margin-bottom:.5rem}.task-preview-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem}.task-preview-item div{flex:1 1;min-width:0}.task-preview-item strong{color:#1f2937;display:block;font-size:.875rem;margin-bottom:.15rem}.task-preview-item p{color:#6b7280;font-size:.8rem;margin:0;overflow:hidden;text-overflow:ellipsis}.status-select{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem;width:100%}.status-select:focus{border-color:#5c7e9a;box-shadow:0 0 0 3px #5c7e9a1a;outline:none}.meeting-actions{border-top:1px solid #f0f0f0;display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem}.task-input-group{align-items:center;display:flex;gap:.5rem}.added-tasks{background:#f9fafb;border-radius:6px;margin-top:1rem;padding:1rem}.added-tasks h4{color:#374151;font-size:.95rem;margin-bottom:.75rem}.added-task-item{align-items:center;background:#fff;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem}.added-task-item span{color:#4b5563;font-size:.9rem}.status-badge{border-radius:12px;font-size:.75rem;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-pending{background-color:#fef3c7;color:#92400e}.status-in_progress{background-color:#dbeafe;color:#1e40af}.status-completed{background-color:#d1fae5;color:#065f46}.status-applied{background-color:#e0e7ff;color:#3730a3}.status-awarded{background-color:#d1fae5;color:#065f46}.status-rejected{background-color:#fee2e2;color:#991b1b}.status-member{background-color:#dbeafe;color:#1e40af}.status-director{background-color:#fef3c7;color:#92400e}.status-superadmin{background-color:#e0e7ff;color:#3730a3}@media (max-width:768px){.meetings-grid{grid-template-columns:1fr}.task-input-group{flex-direction:column}.task-input-group input,.task-input-group select{margin-right:0!important;width:100%!important}}.task-card{background:#fff;border:1px solid #e4e6eb;border-radius:8px;box-shadow:0 1px 2px #0000000f;cursor:pointer;margin-bottom:.75rem;padding:1rem;transition:all .2s ease}.task-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.task-card.task-new{background:#f7fbff;border-left:3px solid #0084ff}.task-card.task-overdue{background:#fef2f2;border-left:3px solid #ef4444}.task-card.completed-task{background:#f9fafb;opacity:.7}.task-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.task-title-section{flex:1 1;min-width:0}.task-title-section h4{color:#1c1e21;font-size:.9375rem;font-weight:600;line-height:1.3;margin:0 0 .625rem}.task-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.task-group-label{background:#e7f3ff;color:#0064d1}.status-badge,.task-group-label{border-radius:6px;display:inline-block;font-size:.6875rem;font-weight:600;line-height:1;padding:.25rem .625rem}.status-badge{text-transform:capitalize}.status-badge.status-pending{background:#fff4e6;color:#e65100}.status-badge.status-in_progress{background:#e3f2fd;color:#0277bd}.status-badge.status-completed{background:#e8f5e9;color:#2e7d32}.new-badge{animation:pulse 2s infinite;background:#0084ff;display:inline-block}.new-badge,.updated-badge{border-radius:6px;color:#fff;font-size:.625rem;font-weight:700;line-height:1;padding:.25rem .5rem}.updated-badge{align-items:center;background:#ff9800;cursor:help;display:inline-flex;justify-content:center;transition:all .2s ease}.updated-badge:hover{background:#f57c00}.task-card-actions{align-items:center;display:flex;gap:.5rem}.task-card-actions .btn-small{border-radius:6px;font-size:.8125rem;font-weight:600;padding:.375rem .75rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.task-details-grid{grid-gap:.75rem;background:#f0f2f5;border:1px solid #e4e6eb;border-radius:8px;display:grid;font-size:.875rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem;padding:1rem}.task-detail{background:#fff;border-radius:6px;display:flex;flex-direction:column;gap:.25rem;padding:.625rem}.task-detail .label{color:#65676b;font-size:.6875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.125rem;text-transform:uppercase}.task-detail span:not(.label){color:#1c1e21;font-size:.875rem;font-weight:500}.task-detail:first-child{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;grid-column:1/-1}.task-detail:first-child .label{color:#ffffffe6}.task-detail:first-child span:not(.label){color:#fff;font-size:1rem;font-weight:700}.overdue-text{color:#ef4444;font-weight:600}.notification-badge{background:#ef4444;border-radius:10px;color:#fff;display:inline-block;font-size:.7rem;font-weight:700;margin-left:.5rem;min-width:20px;padding:.2rem .5rem;text-align:center}.modal-large{max-width:950px!important}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.form-row,.history-grid,.task-details-grid{grid-template-columns:1fr}.detail-row{flex-direction:column;gap:10px}.modification-timeline{padding-left:20px}.timeline-marker{left:-23px}.timeline-item:not(:last-child):before{left:-16px}.change-label{min-width:100px}}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.notification-icons-container{align-items:center;display:flex;gap:15px}.notification-bell-container{position:relative}.notification-bell-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:50%;cursor:pointer;display:flex;height:50px;justify-content:center;position:relative;transition:all .3s ease;width:50px}.icon-svg{fill:#000;height:24px;transition:all .3s ease;width:24px}.messages-btn{background:#fff;border-color:#e5e7eb}.messages-btn:hover{background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.messages-btn .icon-svg{fill:#000}.messages-btn:hover .icon-svg{fill:#3b82f6}.notifications-btn{background:#fff;border-color:#e5e7eb}.notifications-btn:hover{background:#f0fdf4;border-color:#22c55e;box-shadow:0 4px 12px #22c55e33;transform:translateY(-2px)}.notifications-btn .icon-svg{fill:#000}.notifications-btn:hover .icon-svg{fill:#22c55e}.bell-svg{transform-origin:center top}.notifications-btn:hover .bell-svg{animation:ring .5s ease-in-out}@keyframes ring{0%,to{transform:rotate(0deg)}25%{transform:rotate(10deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}}.bell-icon{font-size:1.5rem}.notification-count{animation:pulse-notification 2s infinite;border-radius:10px;color:#fff;font-size:.7rem;font-weight:700;min-width:20px;padding:.2rem .4rem;position:absolute;right:-5px;text-align:center;top:-5px}.messages-count{background:#3b82f6}.notifications-count{background:#22c55e}@keyframes pulse-notification{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notifications-dropdown{animation:slideDown .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;max-height:500px;overflow:hidden;position:absolute;right:0;top:60px;width:400px;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notifications-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:15px 20px}.notifications-header h3{color:#212529;font-size:1.1rem;margin:0}.close-notifications{align-items:center;background:none;border:none;border-radius:5px;color:#6c757d;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:all .2s;width:30px}.close-notifications:hover{background:#e0e0e0;color:#212529}.notifications-list{max-height:440px;overflow-y:auto}.notification-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:15px 20px;position:relative;transition:all .2s}.notification-item:hover{background:#e8f5e9;border-left:3px solid #4caf50;padding-left:17px}.notification-item:active{background:#c8e6c9}.notification-item:last-child{border-bottom:none}.notification-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;width:40px}.notification-content{flex:1 1;min-width:0}.notification-text{color:#212529;font-size:.9rem;line-height:1.4;margin-bottom:5px}.notification-task{color:#6c757d;font-size:.85rem;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-time{color:#868e96;font-size:.75rem}.no-notifications{color:#6c757d;padding:40px 20px;text-align:center}.stats-grid-enhanced{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card-enhanced{align-items:center;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:20px;min-height:120px;padding:25px;transition:all .3s ease}.stat-card-enhanced:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-5px)}.stat-card-enhanced.stat-primary{border-left-color:#2196f3}.stat-card-enhanced.stat-success{border-left-color:#4caf50}.stat-card-enhanced.stat-info{border-left-color:#00bcd4}.stat-card-enhanced.stat-warning{border-left-color:#ff9800}.stat-card-enhanced.stat-completed{border-left-color:#9c27b0}.stat-card-enhanced.stat-danger{border-left-color:#ef4444}.stat-icon{align-items:center;border-radius:16px;display:flex;flex-shrink:0;font-size:2.5rem;height:64px;justify-content:center;min-height:64px;min-width:64px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:64px}.stat-icon:before{background:linear-gradient(145deg,#ffffff1a,#fff0);border-radius:16px;content:"";inset:0;pointer-events:none;position:absolute}.stat-icon svg{height:36px;position:relative;width:36px;z-index:1}.stat-card-enhanced:hover .stat-icon{transform:translateY(-3px) scale(1.05)}.stat-card-enhanced.stat-primary .stat-icon{background:linear-gradient(145deg,#7c5dfa,#5b3cc4);color:#fff}.stat-card-enhanced.stat-success .stat-icon{background:linear-gradient(145deg,#66d97e,#2fb344);color:#fff}.stat-card-enhanced.stat-info .stat-icon{background:linear-gradient(145deg,#26d5f5,#0099b8);color:#fff}.stat-card-enhanced.stat-warning .stat-icon{background:linear-gradient(145deg,#ffad33,#e68a00);color:#fff}.stat-card-enhanced.stat-completed .stat-icon{background:linear-gradient(145deg,#b24dd1,#7a1fa2);color:#fff}.stat-card-enhanced.stat-danger .stat-icon{background:linear-gradient(145deg,#ff5757,#d63131);color:#fff}.stat-info h3{color:#1f2937;font-size:2.25rem;font-weight:700;line-height:1.2;margin:0}.stat-info p{color:#6b7280;font-size:.875rem;font-weight:500;line-height:1.4;margin:8px 0 0}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;padding:25px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#212529;font-size:1.5rem;margin:0}.view-all-link{color:#4caf50;font-weight:500;text-decoration:none;transition:color .2s}.view-all-link:hover{color:#388e3c}.recent-tasks-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.task-card-mini{background:#f8f9fa;border-left:3px solid #4caf50;border-radius:8px;display:block;padding:12px 15px;text-decoration:none;transition:all .3s ease}.task-card-mini:hover{background:#e8f5e9;box-shadow:0 4px 12px #0000001a;transform:translateX(5px)}.task-card-mini-header{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.status-badge-mini{border-radius:10px;font-size:.65rem;font-weight:600;line-height:1;padding:3px 8px;text-transform:uppercase}.status-badge-mini.status-pending{background:#fff3e0;color:#f57c00}.status-badge-mini.status-in_progress{background:#e3f2fd;color:#1976d2}.status-badge-mini.status-completed{background:#e8f5e9;color:#388e3c}.new-badge-mini{background:#3b82f6}.new-badge-mini,.overdue-badge-mini{border-radius:8px;color:#fff;font-size:.6rem;font-weight:700;line-height:1;padding:3px 7px}.overdue-badge-mini{background:#ef4444}.task-card-mini h4{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#212529;display:-webkit-box;font-size:.9rem;font-weight:600;line-height:1.4;margin:8px 0;overflow:hidden;text-overflow:ellipsis}.task-card-mini-footer{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:.75rem;gap:8px;justify-content:space-between;margin-top:8px}.task-due-mini,.task-group-mini{align-items:center;display:flex;gap:4px}.empty-state{color:#6c757d;padding:40px 20px;text-align:center}.action-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:20px}.action-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:30px 25px;text-align:center;text-decoration:none;transition:all .3s ease}.action-card:hover{border-color:#4caf50;box-shadow:0 8px 20px #4caf5033;transform:translateY(-5px)}.action-card-icon{align-items:center;border-radius:16px;display:flex;font-size:3rem;height:64px;justify-content:center;margin-bottom:15px;margin-left:auto;margin-right:auto;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:64px}.action-card-icon:before{background:linear-gradient(145deg,#ffffff26,#fff0);border-radius:16px;content:"";inset:0;pointer-events:none;position:absolute}.action-card-icon svg{height:36px;position:relative;width:36px;z-index:1}.action-card:first-child .action-card-icon{background:linear-gradient(145deg,#7c5dfa,#5b3cc4);color:#fff}.action-card:nth-child(2) .action-card-icon{background:linear-gradient(145deg,#66d97e,#2fb344);color:#fff}.action-card:nth-child(3) .action-card-icon{background:linear-gradient(145deg,#26d5f5,#0099b8);color:#fff}.action-card:nth-child(4) .action-card-icon{background:linear-gradient(145deg,#ffad33,#e68a00);color:#fff}.action-card:hover .action-card-icon{transform:translateY(-4px) scale(1.08) rotate(3deg)}.action-card h3{color:#212529;font-size:1.2rem;margin-bottom:8px}.action-card p{color:#6c757d;font-size:.9rem;margin:0}.loading-spinner{align-items:center;color:#6c757d;display:flex;font-size:1.2rem;justify-content:center;padding:60px 20px}@media (max-width:768px){.notifications-dropdown{right:-20px;width:90vw}.action-cards-grid,.recent-tasks-grid,.stats-grid-enhanced{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.notification-bell-container{align-self:flex-end}}.task-history-section{border-top:1px solid #dee2e6;margin-top:30px;padding-top:20px}.task-history-section h3{color:#495057;font-size:1.1rem;margin-bottom:15px}.history-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.history-item{display:flex;flex-direction:column;gap:4px}.history-item.full-width{grid-column:1/-1}.history-label{color:#6c757d;font-size:.85rem;font-weight:500}.history-item>span:last-child{color:#212529;font-size:.95rem}.task-detail-view{padding:10px 0}.detail-section{margin-bottom:25px}.detail-section h3{color:#495057;font-size:1.05rem;margin-bottom:10px}.detail-section p{color:#212529;line-height:1.6;white-space:pre-wrap}.detail-row{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.detail-item{align-items:center;display:flex;gap:8px}.detail-item .label{color:#6c757d;font-size:.9rem;font-weight:500}.status-update-section{background-color:#f8f9fa;border-radius:5px;margin:20px 0;padding:15px}.status-update-section label{color:#495057;display:block;font-weight:500;margin-bottom:8px}.task-status-select{border:2px solid #dee2e6;border-radius:5px;cursor:pointer;font-size:.95rem;padding:8px 12px;transition:all .2s;width:100%}.task-status-select:hover{border-color:#4caf50}.task-status-select:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.modification-timeline{margin-top:15px;padding-left:30px;position:relative}.timeline-item{margin-bottom:25px;padding-bottom:20px;position:relative}.timeline-item:not(:last-child):before{background:linear-gradient(180deg,#4caf50,#e0e0e0);bottom:-20px;content:"";left:-23px;position:absolute;top:25px;width:2px}.timeline-marker{background:#4caf50;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #4caf50;height:14px;left:-30px;position:absolute;top:5px;width:14px}.timeline-content{background:#f8f9fa;border-left:3px solid #4caf50;border-radius:8px;padding:15px}.timeline-header{align-items:center;display:flex;gap:8px;margin-bottom:5px}.timeline-header strong{color:#212529;font-size:.95rem}.timeline-action{color:#6c757d;font-size:.9rem;font-style:italic}.timeline-time{color:#868e96;font-size:.85rem;margin-bottom:10px}.timeline-changes{border-top:1px solid #dee2e6;margin-top:10px;padding-top:10px}.change-item{align-items:baseline;display:flex;font-size:.9rem;gap:8px;margin-bottom:6px}.change-label{color:#495057;font-weight:500;min-width:140px;text-transform:capitalize}.change-value{background:#fff;border-radius:4px;color:#212529;font-weight:600;padding:2px 8px}.change-previous{color:#868e96;font-size:.85rem;font-style:italic}.no-history{background:#f8f9fa;border-radius:5px;color:#6c757d;font-style:italic;margin-top:10px;padding:20px;text-align:center}.task-discussion-section{background:#fff;border:1px solid #e4e6eb;border-radius:8px;margin-top:1rem;padding:1rem}.task-discussion-section h3{align-items:center;border-bottom:1px solid #e4e6eb;color:#1c1e21;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding-bottom:.625rem}.task-discussion-section h3:before{content:"💬";font-size:1.125rem}.discussion-messages{background:#fff;margin-bottom:.75rem;max-height:400px;overflow-y:auto;padding:1rem .5rem}.loading-messages{padding:2rem}.loading-messages,.no-messages-yet{color:#65676b;font-size:.875rem;text-align:center}.no-messages-yet{padding:2rem 1rem}.discussion-message{animation:fadeIn .3s ease;display:flex;gap:.5rem;margin-bottom:.5rem}.discussion-message.own-message{flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:28px;justify-content:center;width:28px}.message-avatar,.own-message .message-avatar{background:#0084ff}.message-bubble{background:#f0f2f5;border-radius:18px;max-width:60%;padding:.5rem .75rem}.own-message .message-bubble{background:#0084ff;color:#fff}.message-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.25rem}.message-header strong{color:#1c1e21;font-size:.8125rem;font-weight:600}.own-message .message-header strong{color:#fff}.message-time{color:#65676b;font-size:.6875rem;font-weight:400;white-space:nowrap}.own-message .message-time{color:#fffc}.message-text{word-wrap:break-word;color:#1c1e21;font-size:.9375rem;line-height:1.4;margin:0}.own-message .message-text{color:#fff}.edited-badge{color:#868e96;font-size:.7rem;font-style:italic}.message-actions{display:flex;gap:8px;margin-top:8px;opacity:0;transition:opacity .2s ease}.discussion-message:hover .message-actions{opacity:1}.btn-delete-message,.btn-edit-message{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:4px 8px;transition:all .2s ease}.btn-edit-message:hover{background:#e3f2fd}.btn-delete-message:hover{background:#ffebee}.message-edit-form{margin-top:8px}.message-edit-input{border:2px solid #2196f3;border-radius:6px;font-size:.95rem;margin-bottom:8px;padding:8px 12px;width:100%}.message-edit-input:focus{box-shadow:0 0 0 3px #2196f31a;outline:none}.message-edit-actions{display:flex;gap:8px}.btn-cancel-edit,.btn-save-edit{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 16px;transition:all .2s ease}.btn-save-edit{background:#4caf50;color:#fff}.btn-save-edit:hover{background:#45a049}.btn-cancel-edit{background:#e0e0e0;color:#495057}.btn-cancel-edit:hover{background:#d0d0d0}.message-compose-area{border-top:1px solid #e4e6eb;padding-top:.75rem}.message-recipients-checkboxes{margin-bottom:.75rem;padding:0 .5rem}.recipients-label{color:#65676b;display:block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.recipients-options{display:flex;flex-wrap:wrap;gap:1rem}.recipient-checkbox{align-items:center;background:#f0f2f5;border-radius:6px;color:#1c1e21;cursor:pointer;display:flex;font-size:.8125rem;gap:.375rem;padding:.375rem .625rem;transition:all .2s ease}.recipient-checkbox:hover{background:#e4e6eb}.recipient-checkbox input[type=checkbox]{accent-color:#0084ff;cursor:pointer;height:16px;width:16px}.recipient-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.recipient-checkbox span{font-weight:500}.message-recipient-selector{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem;padding:0 .5rem}.message-recipient-selector label{color:#65676b;font-size:.8125rem;font-weight:600}.recipient-select{background:#fff;border:1px solid #e4e6eb;border-radius:6px;color:#1c1e21;cursor:pointer;flex:1 1;font-size:.8125rem;padding:.375rem .625rem;transition:all .2s ease}.recipient-select:hover{border-color:#0084ff}.recipient-select:focus{border-color:#0084ff;box-shadow:0 0 0 2px #0084ff1a;outline:none}.message-input-form{align-items:center;background:#f0f2f5;border-radius:20px;display:flex;gap:.5rem;padding:.5rem}.message-input{background:#fff;border:none;border-radius:18px;flex:1 1;font-size:.9375rem;padding:.5rem .75rem;transition:all .2s ease}.message-input:focus{outline:none}.send-message-btn{align-items:center;background:#0084ff;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all .2s ease;width:32px}.send-message-btn:hover:not(:disabled){background:#0073e6}.send-message-btn:disabled{cursor:not-allowed;opacity:.5}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header-modern{align-items:center;border-bottom:2px solid #e4e6eb;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.page-title-section h1{color:#1c1e21;font-size:1.75rem;font-weight:700;margin:0 0 .375rem}.page-title-section p{color:#65676b;font-size:.875rem;margin:0}.page-actions{display:flex;gap:.75rem}.btn-modern{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.375rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-modern-primary{background:#0084ff;color:#fff}.btn-modern-primary:hover{background:#0073e6;box-shadow:0 4px 12px #0084ff4d;transform:translateY(-1px)}.btn-modern-secondary{background:#f0f2f5;color:#1c1e21}.btn-modern-secondary:hover{background:#e4e6eb}.btn-modern-success{background:#42b883;color:#fff}.btn-modern-success:hover{background:#3aa876;box-shadow:0 4px 12px #42b8834d;transform:translateY(-1px)}.tasks-container-modern{background:#fff;border:1px solid #e4e6eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.tasks-header-modern{background:linear-gradient(90deg,#f8f9fa,#fff);border-bottom:1px solid #e4e6eb;padding:1.25rem 1.5rem}.tasks-title-modern{align-items:center;color:#1c1e21;display:flex;font-size:1.125rem;font-weight:600;gap:.625rem;margin:0}.task-count-badge{align-items:center;background:#e7f3ff;border-radius:12px;color:#0064d1;display:inline-flex;font-size:.8125rem;font-weight:700;justify-content:center;min-width:24px;padding:.25rem .625rem}.tasks-grid-modern{grid-gap:.75rem;display:grid;gap:.75rem;padding:1rem}.loading-state-modern{align-items:center;color:#65676b;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #f0f2f5;border-radius:50%;border-top-color:#0084ff;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.loading-state-modern p{font-size:.875rem;margin:0}.empty-state-modern{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.3}.empty-state-modern h3{color:#1c1e21;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.empty-state-modern p{color:#65676b;font-size:.875rem;margin:0 0 1.5rem;max-width:400px}.empty-state-modern .btn-modern{margin-top:.5rem}@media (max-width:768px){.page-header-modern{align-items:flex-start;flex-direction:column;gap:1rem}.page-actions{justify-content:stretch;width:100%}.btn-modern{flex:1 1;justify-content:center}.tasks-grid-modern{padding:.75rem}}
/*# sourceMappingURL=main.98b023ca.css.map*/