:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.loading-spinner-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f5f5}.loading-spinner{text-align:center}.loading-spinner .spinner{width:50px;height:50px;border:5px solid #E0E0E0;border-top-color:#4caf50;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-spinner p{color:#616161;font-size:14px}.sidebar{position:fixed;top:0;left:0;height:100vh;background:#fff;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;transition:width .3s ease;z-index:101;overflow-y:auto}.sidebar.open{width:250px}.sidebar.closed{width:60px}.sidebar.closed .sidebar-header h2{display:none}.sidebar.closed .nav-item{justify-content:center}.sidebar.closed .nav-item span,.sidebar.closed .section-title{display:none}.sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #EEEEEE;height:64px}.sidebar .sidebar-header h2{color:#4caf50;font-size:20px;margin:0}.sidebar .sidebar-header .sidebar-toggle{background:none;border:none;cursor:pointer;color:#757575;padding:4px}.sidebar .sidebar-header .sidebar-toggle:hover{color:#4caf50}.sidebar .sidebar-nav{padding:16px}.sidebar .sidebar-nav .nav-section{margin-bottom:24px}.sidebar .sidebar-nav .nav-section .section-title{color:#9e9e9e;font-size:12px;text-transform:uppercase;margin:16px 0;padding:0 8px}.sidebar .sidebar-nav .nav-section.admin-section{border-top:1px solid #EEEEEE;padding-top:24px}.sidebar .sidebar-nav .nav-section.chat-section{border-top:1px solid #EEEEEE;margin-top:1.5rem;padding-top:1.5rem}.sidebar .sidebar-nav .nav-item{display:flex;align-items:center;gap:16px;padding:8px 16px;margin:4px 0;color:#616161;text-decoration:none;border-radius:4px;transition:all .2s ease}.sidebar .sidebar-nav .nav-item:hover{background:#f5f5f5;color:#4caf50}.sidebar .sidebar-nav .nav-item.active{background:#4caf501a;color:#4caf50;font-weight:500}.sidebar .sidebar-nav .nav-item svg{flex-shrink:0}.notification-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;justify-content:flex-end;padding-top:60px;padding-right:80px;animation:fadeIn .2s ease}.notification-modal{background:#fff;border-radius:12px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;width:440px;max-height:70vh;height:auto;display:flex;flex-direction:column;animation:slideDown .25s ease;align-self:flex-start}.notification-modal .notification-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #EEEEEE;flex-shrink:0}.notification-modal .notification-modal-header .header-left{display:flex;align-items:center;gap:8px}.notification-modal .notification-modal-header .header-left h2{margin:0;font-size:18px;font-weight:600;color:#212121}.notification-modal .notification-modal-header .header-left .unread-badge{background:#4caf50;color:#fff;font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.notification-modal .notification-modal-header .header-actions{display:flex;align-items:center;gap:8px}.notification-modal .notification-modal-header .header-actions .mark-all-read-btn{display:flex;align-items:center;gap:4px;background:none;border:1px solid #E0E0E0;border-radius:4px;padding:4px 10px;font-size:12px;color:#757575;cursor:pointer;transition:all .2s ease}.notification-modal .notification-modal-header .header-actions .mark-all-read-btn:hover{background:#f5f5f5;color:#4caf50;border-color:#4caf50}.notification-modal .notification-modal-header .header-actions .close-btn{background:none;border:none;cursor:pointer;padding:4px;color:#9e9e9e;border-radius:4px;display:flex;align-items:center}.notification-modal .notification-modal-header .header-actions .close-btn:hover{color:#424242;background:#f5f5f5}.notification-modal .notification-list{overflow-y:auto;flex:1}.notification-modal .notification-list .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;color:#bdbdbd}.notification-modal .notification-list .empty-state svg{margin-bottom:16px}.notification-modal .notification-list .empty-state p{font-size:14px;margin:0}.notification-modal .notification-list .notification-item{display:flex;align-items:flex-start;gap:16px;padding:16px 24px;border-bottom:1px solid #F5F5F5;transition:background .15s ease;cursor:default}.notification-modal .notification-list .notification-item:hover{background:#fafafa}.notification-modal .notification-list .notification-item:hover .notification-actions{opacity:1}.notification-modal .notification-list .notification-item.unread{background:#4caf500a;border-left:3px solid #4CAF50;padding-left:21px}.notification-modal .notification-list .notification-item.unread .notification-title{font-weight:600}.notification-modal .notification-list .notification-item .notification-icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#f5f5f5;display:flex;align-items:center;justify-content:center;color:#757575;margin-top:2px}.notification-modal .notification-list .notification-item:last-child{border-bottom:none;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.notification-modal .notification-list .notification-item.unread .notification-icon{background:#4caf501a;color:#4caf50}.notification-modal .notification-list .notification-item .notification-content{flex:1;min-width:0}.notification-modal .notification-list .notification-item .notification-content .notification-title{font-size:14px;font-weight:500;color:#424242;margin-bottom:2px;line-height:1.3}.notification-modal .notification-list .notification-item .notification-content .notification-message{font-size:13px;color:#757575;line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-modal .notification-list .notification-item .notification-content .notification-time{font-size:11px;color:#bdbdbd}.notification-modal .notification-list .notification-item .notification-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease;flex-shrink:0}.notification-modal .notification-list .notification-item .notification-actions .action-btn{background:none;border:1px solid #EEEEEE;border-radius:4px;padding:4px;cursor:pointer;color:#9e9e9e;display:flex;align-items:center;transition:all .15s ease}.notification-modal .notification-list .notification-item .notification-actions .action-btn:hover{background:#f5f5f5;color:#4caf50;border-color:#4caf50}.notification-modal .notification-list .notification-item .notification-actions .action-btn.delete-btn:hover{color:#f44336;border-color:#f44336}.notification-modal .loading-indicator{display:flex;justify-content:center;padding:24px}.notification-modal .loading-indicator .spinner{width:24px;height:24px;border:2px solid #EEEEEE;border-top-color:#4caf50;border-radius:50%;animation:spin .6s linear infinite}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.notification-overlay{padding-top:64px}.notification-overlay{padding-right:0}.notification-modal{width:100%;max-height:calc(100vh - 64px);border-radius:0}}.input-container{display:flex;flex-direction:column;gap:4px}.input-container--full-width{width:100%}.input-container--disabled{opacity:.6;pointer-events:none}.input-label{display:block;font-size:14px;font-weight:500;margin-bottom:2px;color:#000}.input-label__required{color:#f44336;margin-left:2px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:#9e9e9e;pointer-events:none;z-index:1}.input-icon--left{left:12px}.input-icon--right{right:12px}.input-icon--clickable{pointer-events:auto;cursor:pointer;background:#fff;border:none;padding:4px;border-radius:4px;transition:color .2s,background-color .2s;color:#212121}.input-icon--clickable:hover{background:#f5f5f5;color:#212121}.input-icon--clickable:focus{outline:none;color:#212121}.input-icon--error{color:#f44336}.input-field{width:100%;font-family:inherit;font-size:14px;color:#212121;background-color:#fff;border:1px solid #E0E0E0;border-radius:8px;transition:border-color .2s,box-shadow .2s,background-color .2s}.input-field::placeholder{color:#bdbdbd}.input-field:hover:not(:disabled){border-color:#bdbdbd}.input-field:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.input-field:disabled{background-color:#f5f5f5;cursor:not-allowed}.input-field--with-left-icon{padding-left:40px}.input-field--with-right-icon{padding-right:40px}.input-container--sm .input-field{padding:6px 12px;font-size:13px;border-radius:4px}.input-container--sm .input-field--with-left-icon{padding-left:34px}.input-container--sm .input-field--with-right-icon{padding-right:34px}.input-container--sm .input-icon--left{left:10px}.input-container--sm .input-icon--right{right:10px}.input-container--sm .input-icon svg{width:16px;height:16px}.input-container--sm .input-label{font-size:13px}.input-container--md .input-field{padding:8px 16px;font-size:14px}.input-container--md .input-field--with-left-icon{padding-left:40px}.input-container--md .input-field--with-right-icon{padding-right:40px}.input-container--lg .input-field{padding:12px 16px;font-size:16px;border-radius:8px}.input-container--lg .input-field--with-left-icon{padding-left:48px}.input-container--lg .input-field--with-right-icon{padding-right:48px}.input-container--lg .input-icon--left{left:14px}.input-container--lg .input-icon--right{right:14px}.input-container--lg .input-icon svg{width:20px;height:20px}.input-container--lg .input-label{font-size:15px}.input-container--filled .input-field{background-color:#f5f5f5;border-color:transparent}.input-container--filled .input-field:hover:not(:disabled){background-color:#eee;border-color:transparent}.input-container--filled .input-field:focus{background-color:#fff;border-color:#4caf50}.input-container--error .input-field{border-color:#f44336}.input-container--error .input-field:focus{border-color:#f44336;box-shadow:0 0 0 3px #f443361a}.input-container--error .input-icon--left{color:#f44336}.input-container--focused .input-label{color:#4caf50}.input-error{display:flex;align-items:center;gap:4px;font-size:12px;color:#f44336;margin-top:2px}.input-helper{font-size:12px;color:#9e9e9e;margin-top:2px}input[type=date].input-field,input[type=time].input-field,input[type=datetime-local].input-field{cursor:pointer}input[type=date].input-field::-webkit-calendar-picker-indicator,input[type=time].input-field::-webkit-calendar-picker-indicator,input[type=datetime-local].input-field::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s}input[type=date].input-field::-webkit-calendar-picker-indicator:hover,input[type=time].input-field::-webkit-calendar-picker-indicator:hover,input[type=datetime-local].input-field::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=number].input-field{-moz-appearance:textfield}input[type=number].input-field::-webkit-outer-spin-button,input[type=number].input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=search].input-field::-webkit-search-cancel-button{-webkit-appearance:none;height:16px;width:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") center/contain no-repeat;cursor:pointer}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;min-width:360px;max-width:90vw;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #EEEEEE}.modal-header h3{margin:0;font-size:18px;color:#212121}.modal-header .modal-close{background:none;border:none;cursor:pointer;color:#9e9e9e;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-header .modal-close:hover{background:#f5f5f5;color:#424242}.modal-body{padding:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-header{position:fixed;top:0;right:0;left:0;height:64px;background:#fff;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;display:flex;justify-content:space-between;align-items:center;padding:0 24px;z-index:100}.app-header .header-left{display:flex;align-items:center;gap:24px}.app-header .header-left .menu-toggle{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;color:#616161}.app-header .header-left .menu-toggle:hover{color:#4caf50}.app-header .header-left .search-box{display:flex;align-items:center;background:#f5f5f5;border-radius:4px;padding:8px 16px;width:300px}.app-header .header-left .search-box svg{color:#9e9e9e;margin-right:8px}.app-header .header-left .search-box input{border:none;background:none;outline:none;flex:1;font-size:14px;color:#424242}.app-header .header-left .search-box input::placeholder{color:#9e9e9e}.app-header .header-right{display:flex;align-items:center;gap:24px}.app-header .header-right .header-icon{position:relative;background:none;border:none;cursor:pointer;padding:8px;color:#616161}.app-header .header-right .header-icon:hover{color:#4caf50}.app-header .header-right .header-icon .notification-badge{position:absolute;top:0;right:0;background:#f44336;color:#fff;font-size:10px;padding:2px 5px;border-radius:10px;min-width:18px;text-align:center}.app-header .header-right .user-menu{position:relative}.app-header .header-right .user-menu .user-menu-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:8px 16px;border-radius:4px;color:#616161}.app-header .header-right .user-menu .user-menu-toggle:hover{background:#f5f5f5}.app-header .header-right .user-menu .user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b;border-radius:8px;min-width:150px;display:none;flex-direction:column;z-index:1000}.app-header .header-right .user-menu .user-dropdown.show{display:flex}.app-header .header-right .user-menu .user-dropdown a,.app-header .header-right .user-menu .user-dropdown button{padding:8px 16px;text-decoration:none;color:#616161;background:none;border:none;text-align:left;cursor:pointer;transition:background .2s ease;font-size:inherit}.app-header .header-right .user-menu .user-dropdown a:hover,.app-header .header-right .user-menu .user-dropdown button:hover{background:#f5f5f5}.role-modal{min-width:520px}.role-modal-info{display:flex;flex-direction:column;gap:16px}.role-modal-info .role-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:8px 0;border-bottom:1px solid #F5F5F5}.role-modal-info .role-info-row:last-child{border-bottom:none}.role-modal-info .role-info-row .role-info-label{color:#757575;font-size:14px;flex-shrink:0}.role-modal-info .role-info-row .role-info-value{color:#212121;font-weight:500;font-size:14px;text-align:right;word-break:break-word;overflow-wrap:break-word}@media(max-width:576px){.role-modal{min-width:unset}}.main-layout{display:flex;min-height:100vh;background:#f5f5f5}.main-layout.sidebar-open .main-content{margin-left:200px}.main-layout.sidebar-closed .main-content{margin-left:60px}.main-layout .main-content{flex:1;transition:margin-left .3s ease;display:flex;flex-direction:column}.main-layout .main-content .content-area{flex:1;padding:24px;margin-top:64px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}#root{width:100%;height:100vh}
