*,:before,:after{box-sizing:border-box}:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--clr-brand:#4f46e5;--clr-brand-hover:#4338ca;--clr-brand-active:#3730a3;--clr-brand-50:#eef2ff;--clr-brand-100:#e0e7ff;--clr-brand-200:#c7d2fe;--clr-brand-300:#a5b4fc;--clr-brand-ring:#4f46e51a;--clr-brand-ring-sm:#4f46e514;--clr-brand-ring-md:#4f46e51f;--clr-accent:#6d28d9;--clr-accent-dark:#5b21b6;--clr-accent-500:#8b5cf6;--clr-accent-400:#a78bfa;--clr-accent-bg:#f8f7ff;--clr-accent-50:#f5f3ff;--clr-accent-100:#ede9fe;--clr-accent-200:#ddd6fe;--clr-danger:#dc2626;--clr-danger-500:#ef4444;--clr-danger-400:#f87171;--clr-danger-700:#b91c1c;--clr-danger-800:#991b1b;--clr-danger-bg:#fef2f2;--clr-danger-50:#fff1f2;--clr-danger-100:#fee2e2;--clr-danger-200:#fecaca;--clr-success:#16a34a;--clr-success-800:#166534;--clr-success-300:#86efac;--clr-success-200:#bbf7d0;--clr-success-100:#dcfce7;--clr-success-50:#f0fdf4;--clr-warning:#d97706;--clr-warning-700:#b45309;--clr-warning-800:#92400e;--clr-warning-500:#f59e0b;--clr-warning-400:#fbbf24;--clr-warning-100:#fef3c7;--clr-warning-50:#fffbeb;--clr-teal-800:#065f46;--clr-teal-500:#10b981;--clr-teal-400:#34d399;--clr-teal-bg:#ecfdf5;--clr-teal-100:#d1fae5;--clr-teal-50:#ccfbf1;--clr-blue-800:#1e40af;--clr-blue-100:#dbeafe;--clr-gray-50:#f9fafb;--clr-gray-100:#f3f4f6;--clr-gray-200:#e5e7eb;--clr-gray-300:#d1d5db;--clr-gray-400:#9ca3af;--clr-gray-500:#6b7280;--clr-gray-700:#374151;--clr-gray-900:#111;font-family:var(--sans);color:var(--clr-gray-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;font-size:16px;line-height:1.5}body{margin:0}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:#111;margin:0;font-weight:600;line-height:1.2}p{margin:0}.modal-overlay{z-index:200;background-color:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-height:90vh;animation:.18s modal-in;display:flex;box-shadow:0 8px 40px #00000026}.modal--sm{max-width:400px}.modal--md{max-width:560px}.modal--lg{max-width:760px}.modal--xl{max-width:1000px}.modal--xl.modal--split{height:min(90vh,880px)}.modal__body.modal__body--split{flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.detail-split__loading{justify-content:center;align-items:center;width:100%;padding:3rem;display:flex}.detail-split__error-wrap{width:100%;padding:1.5rem}.detail-split__main{flex-direction:column;flex:1;gap:1.25rem;min-width:0;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.detail-split__notes{border-left:1px solid var(--clr-gray-100);flex-shrink:0;width:360px;height:calc(min(90vh,880px) - 4.125rem - 1px);overflow:hidden auto}@media (width<=760px){.modal--xl.modal--split{height:auto;max-height:90vh}.modal__body.modal__body--split{flex-direction:column;overflow-y:auto}.detail-split__notes{border-left:none;border-top:1px solid var(--clr-gray-100);width:100%;height:420px}}@keyframes modal-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.modal__header{border-bottom:1px solid var(--clr-gray-200);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal__title{color:#111;font-size:1.05rem;font-weight:600}.modal__close{cursor:pointer;color:#888;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .2s,background-color .2s;display:flex}.modal__close:hover{color:#111;background-color:var(--clr-gray-100)}.modal__body{padding:1.5rem;overflow-y:auto}@media (width<=480px){.modal-overlay{padding:.5rem}.modal__header{padding:1rem 1.25rem}.modal__body{padding:1rem}}.notif-bell{position:relative}.notif-bell__btn{cursor:pointer;width:38px;height:38px;color:var(--clr-gray-500);background:0 0;border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}.notif-bell__btn:hover,.notif-bell__btn--open{background-color:var(--clr-gray-50);color:var(--clr-brand);border-color:var(--clr-brand);box-shadow:0 0 0 3px #4f46e533}.notif-bell__badge{background:var(--clr-danger-500);color:#fff;pointer-events:none;border:2px solid #fff;border-radius:9px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 3px;font-size:.6rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-1px;right:-1px}.notif-panel{border:1px solid var(--clr-gray-200);z-index:200;background:#fff;border-radius:14px;width:360px;max-width:calc(100vw - 2rem);animation:.15s notif-dropdown-in;position:absolute;top:calc(100% + .625rem);right:0;overflow:hidden;box-shadow:0 8px 28px #0000001f}@keyframes notif-dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-panel__header{border-bottom:1px solid var(--clr-gray-100);justify-content:space-between;align-items:center;padding:.875rem 1rem .75rem;display:flex}.notif-panel__title{color:#111;font-size:.9375rem;font-weight:700}.notif-panel__mark-all{color:var(--clr-brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:500;transition:opacity .15s}.notif-panel__mark-all:hover{opacity:.7}.notif-panel__body{max-height:420px;overflow-y:auto}.notif-panel__empty{text-align:center;color:var(--clr-gray-400);padding:2.5rem 1rem;font-size:.875rem}.notif-item{border:none;border-bottom:1px solid var(--clr-gray-100);text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:.625rem;width:100%;padding:.875rem 1rem;transition:background-color .15s;display:flex;position:relative}.notif-item:last-child{border-bottom:none}.notif-item:hover{background-color:var(--clr-gray-50)}.notif-item--unread{background-color:#4f46e50a}.notif-item--unread:hover{background-color:#4f46e514}.notif-item__dot{background:var(--clr-brand);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.3125rem}.notif-item__content{flex:1;min-width:0}.notif-item__title{color:#111;margin-bottom:.2rem;font-size:.8125rem;font-weight:600;line-height:1.3}.notif-item__message{color:var(--clr-gray-500);margin-bottom:.35rem;font-size:.75rem;line-height:1.45}.notif-item__time{color:var(--clr-gray-400);font-size:.6875rem;font-weight:500}.notif-detail{flex-direction:column;gap:1rem;display:flex}.notif-detail__type{letter-spacing:.3px;background:var(--clr-brand-100);color:var(--clr-brand);border-radius:20px;align-self:flex-start;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;display:inline-flex}.notif-detail__message{color:var(--clr-gray-700);font-size:.9375rem;line-height:1.6}.notif-detail__date{color:var(--clr-gray-400);font-size:.75rem}.notif-detail__footer{justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.notif-detail__btn--close{border:1px solid var(--clr-gray-200);color:var(--clr-gray-700);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.notif-detail__btn--close:hover{background:var(--clr-gray-50)}.notif-detail__btn{background:var(--clr-brand);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .15s;display:inline-flex}.notif-detail__btn:hover{background:var(--clr-brand-hover)}.notif-toast{z-index:9999;border:1px solid var(--clr-gray-200);border-left:4px solid var(--clr-brand);background:#fff;border-radius:10px;align-items:flex-start;gap:.75rem;max-width:340px;padding:.875rem 1rem;animation:.25s notif-toast-in;display:flex;position:fixed;top:1.25rem;right:1.25rem;box-shadow:0 6px 20px #00000021}@keyframes notif-toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.notif-toast__content{flex:1;min-width:0}.notif-toast__title{color:#111;margin-bottom:.2rem;font-size:.8125rem;font-weight:600}.notif-toast__message{color:var(--clr-gray-500);font-size:.75rem;line-height:1.4}.notif-toast__close{cursor:pointer;color:var(--clr-gray-400);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;padding:2px;transition:color .15s;display:flex}.notif-toast__close:hover{color:var(--clr-gray-700)}.navbar{border-bottom:1px solid var(--clr-gray-200);z-index:100;background-color:#fff;justify-content:space-between;align-items:center;width:100%;height:60px;padding:0 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 1px 4px #0000000f}.navbar__left{align-items:center;gap:.75rem;display:flex}.navbar__brand{color:var(--clr-brand);font-size:1.2rem;font-weight:700}.navbar__hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:4px;display:none}.navbar__hamburger span{background-color:#555;border-radius:2px;width:100%;height:2px;transition:background-color .2s;display:block}.navbar__hamburger:hover span{background-color:var(--clr-brand)}.navbar__actions{align-items:center;gap:.5rem;display:flex}.navbar__user{position:relative}.navbar__avatar{background:linear-gradient(135deg, var(--clr-brand) 0%, #7c3aed 100%);color:#fff;cursor:pointer;letter-spacing:.5px;border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.875rem;font-weight:700;transition:box-shadow .2s,border-color .2s;display:flex}.navbar__avatar:hover,.navbar__avatar--open{border-color:var(--clr-brand);box-shadow:0 0 0 3px #4f46e533}.navbar__dropdown{border:1px solid var(--clr-gray-200);z-index:200;background:#fff;border-radius:14px;min-width:230px;animation:.15s dropdown-in;position:absolute;top:calc(100% + .625rem);right:0;overflow:hidden;box-shadow:0 8px 28px #0000001f}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.navbar__dropdown-header{align-items:center;gap:.75rem;padding:1rem 1rem .875rem;display:flex}.navbar__dropdown-avatar{background:linear-gradient(135deg, var(--clr-brand) 0%, #7c3aed 100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.9rem;font-weight:700;display:flex}.navbar__dropdown-name{color:#111;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.navbar__dropdown-email{color:var(--clr-gray-500);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.75rem;overflow:hidden}.navbar__dropdown-divider{background:var(--clr-gray-100);height:1px;margin:0}.navbar__dropdown-item{width:100%;color:var(--clr-gray-700);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:flex}.navbar__dropdown-item:hover{background-color:var(--clr-gray-50)}.navbar__dropdown-item--danger{color:var(--clr-danger)}.navbar__dropdown-item--danger:hover{background-color:var(--clr-danger-bg)}@media (width<=768px){.navbar__hamburger{display:flex}}.sidebar{border-right:1px solid var(--clr-gray-200);background-color:#fff;flex-shrink:0;width:220px;min-height:calc(100vh - 60px);padding:1rem .75rem}.sidebar__nav{flex-direction:column;gap:.25rem;display:flex}.sidebar__item{color:#555;border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .875rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.sidebar__item:hover{background-color:var(--clr-accent-50);color:var(--clr-brand)}.sidebar__item--active{background-color:var(--clr-accent-100);color:var(--clr-brand)}.sidebar__icon{flex-shrink:0;align-items:center;display:flex}@media (width<=768px){.sidebar{z-index:100;height:calc(100vh - 60px);transition:transform .25s;position:fixed;top:60px;left:0;transform:translate(-100%);box-shadow:4px 0 12px #00000014}.sidebar--open{transform:translate(0)}}.app-layout{flex-direction:column;width:100%;min-height:100vh;display:flex}.app-layout__body{flex:1;display:flex;position:relative}.app-layout__content{flex:1;min-width:0;padding:2rem;overflow-y:auto}.app-layout__overlay{display:none}@media (width<=768px){.app-layout__content{padding:1.25rem}.app-layout__overlay{z-index:99;background-color:#0006;display:block;position:fixed;inset:0}}.page-loader{justify-content:center;align-items:center;min-height:100vh;display:flex}.page-loader__spinner{border:3px solid var(--clr-gray-200);border-top-color:var(--clr-brand);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
