@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Kanit:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&display=swap";:root{--primary:#7e22ce;--primary-hover:#9333ea;--discord:#5865f2;--discord-hover:#4752c4;--bg-color:#f8fafc;--surface-color:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-glass:0 8px 32px 0 #7e22ce1a;--radius-md:.5rem;--radius-lg:1rem;--radius-full:9999px;--transition-normal:all .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Kanit,Inter,sans-serif;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:Kanit,Inter,sans-serif;font-weight:600;line-height:1.2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s ease-out forwards fadeIn}.animate-slide-up{animation:.5s ease-out forwards slideUp}.glass-panel{-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-glass);background:#ffffffb3;border:1px solid #ffffff4d}.portal-container{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.portal-container:before{content:"";z-index:0;background:radial-gradient(circle,#7e22ce0d 0%,#0000 70%);border-radius:50%;width:50vw;height:50vw;position:absolute;top:-10%;left:-10%}.portal-container:after{content:"";z-index:0;background:radial-gradient(circle,#7e22ce14 0%,#0000 70%);border-radius:50%;width:40vw;height:40vw;position:absolute;bottom:-10%;right:-10%}.portal-content{z-index:1;border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;width:480px;max-width:90%;padding:3rem 4rem;display:flex;position:relative}.logo-container{background:var(--surface-color);width:120px;height:120px;box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.5rem;padding:.5rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);display:flex}.logo-container:hover{transform:scale(1.05)rotate(5deg)}.portal-logo{object-fit:contain;width:100%;height:100%}.portal-title{color:var(--primary);letter-spacing:.5px;margin-bottom:.5rem;font-size:2.25rem;font-weight:700}.portal-subtitle{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.1rem;font-weight:400}.discord-btn{background-color:var(--discord);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:var(--transition-normal);border:none;justify-content:center;align-items:center;gap:.75rem;padding:.875rem 2rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;display:flex;box-shadow:0 4px 14px #5865f263}.discord-btn:hover{background-color:var(--discord-hover);transform:translateY(-2px);box-shadow:0 6px 20px #5865f23b}.discord-btn:active{transform:translateY(0)}.discord-icon{width:24px;height:24px}.portal-footer{z-index:1;color:var(--text-secondary);opacity:.7;font-size:.875rem;position:absolute;bottom:2rem}@media (width<=640px){.portal-content{padding:2.5rem 2rem}.portal-title{font-size:1.875rem}}.dashboard-layout{background-color:var(--bg-color);height:100vh;display:flex;overflow:hidden}.dashboard-sidebar{border-right:1px solid var(--border-color);z-index:10;background:#fff;flex-direction:column;width:260px;display:flex;box-shadow:2px 0 10px #00000005}.sidebar-logo{border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;height:80px;padding:0 1.5rem;display:flex}.sidebar-logo img{object-fit:contain;width:45px;height:45px}.sidebar-logo h2{color:var(--primary);font-size:1.1rem;font-weight:700;line-height:1.2}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.75rem;padding:.875rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:var(--primary);background:#f8fafc;transform:translate(4px)}.nav-item.active{color:var(--primary);background:#7e22ce14}.dashboard-main{flex-direction:column;flex:1;display:flex;overflow-y:auto}.dashboard-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:20;background:#fffc;flex-shrink:0;justify-content:space-between;align-items:center;height:80px;padding:0 2rem;display:flex;position:sticky;top:0}.header-search{background:#f1f5f9;border:1px solid #0000;border-radius:20px;align-items:center;width:300px;padding:.5rem 1rem;transition:all .2s;display:flex}.header-search:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #7e22ce1a}.header-search input{background:0 0;border:none;outline:none;width:100%;padding-left:.5rem;font-family:inherit;font-size:.95rem}.header-actions{align-items:center;gap:1.5rem;display:flex}.icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex;position:relative}.icon-btn:hover{color:var(--primary)}.icon-badge{background:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.user-profile{border-left:1px solid var(--border-color);align-items:center;gap:1rem;padding-left:1.5rem;display:flex}.user-info{text-align:right}.user-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.user-role{color:var(--primary);background:#7e22ce1a;border-radius:12px;margin-top:2px;padding:2px 8px;font-size:.8rem;font-weight:500;display:inline-block}.user-avatar{background:linear-gradient(135deg, var(--primary) 0%, #a855f7 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex;box-shadow:0 4px 10px #7e22ce33}.dashboard-content{padding:2rem;animation:.4s ease-out fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:2rem}.page-title{color:var(--text-primary);font-size:1.75rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:.25rem}.content-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);background:#fff;padding:2rem}.dashboard-content{font-family:Kanit,sans-serif}.hub-container{flex-direction:column;gap:4rem;max-width:1250px;margin:0 auto;padding:1rem 2rem 4rem;display:flex}.hub-section{flex-direction:column;align-items:center;gap:2.5rem;display:flex}.hub-section-title{text-align:center;margin-top:0;margin-bottom:.5rem;font-size:1.5rem;font-weight:700;display:inline-block;position:relative}.hub-section-title.medic{color:#2e1065}.hub-section-title.admin{color:#7c2d12}.hub-section-title:after{content:"";border-radius:2px;width:40px;height:4px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.hub-section-title.medic:after{background:linear-gradient(90deg,#7c3aed,#c084fc)}.hub-section-title.admin:after{background:linear-gradient(90deg,#ea580c,#fdba74)}.hub-grid{grid-template-columns:repeat(3,1fr);gap:2rem;width:100%;display:grid}@media (width<=1024px){.hub-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hub-grid{grid-template-columns:1fr}}.hub-card{text-align:left;background:#fff;border:1px solid #7c3aed14;border-radius:24px;flex-direction:column;align-items:flex-start;height:100%;padding:2.5rem 2rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px -10px #0000000d}.hub-card:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 100% 0,#7c3aed0d,#0000 70%);border-radius:0 24px 0 100%;width:150px;height:150px;position:absolute;top:0;right:0}.hub-card:hover{border-color:#7c3aed4d;transform:translateY(-8px);box-shadow:0 20px 40px -10px #7c3aed26}.hub-card.admin{border-color:#ea580c14}.hub-card.admin:before{background:radial-gradient(circle at 100% 0,#ea580c0d,#0000 70%)}.hub-card.admin:hover{border-color:#ea580c4d;box-shadow:0 20px 40px -10px #ea580c26}.hub-icon-wrapper{z-index:1;border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1.5rem;transition:transform .3s;display:flex}.hub-card:hover .hub-icon-wrapper{transform:scale(1.1)rotate(5deg)}.hub-card.medic .hub-icon-wrapper{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 8px 16px #7c3aed40}.hub-card.admin .hub-icon-wrapper{color:#fff;background:linear-gradient(135deg,#ea580c,#f97316);box-shadow:0 8px 16px #ea580c40}.hub-card-title{color:#0f172a;z-index:1;margin-bottom:.75rem;font-size:1.25rem;font-weight:700}.hub-card-desc{color:#64748b;z-index:1;flex-grow:1;margin-bottom:2.5rem;font-size:.9rem;font-weight:400;line-height:1.6}.hub-btn{color:#7c3aed;cursor:pointer;z-index:1;background:0 0;border:2px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.85rem;font-family:Kanit,sans-serif;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.hub-card.admin .hub-btn{color:#ea580c}.hub-card:hover .hub-btn{color:#fff;background:#7c3aed;border-color:#7c3aed}.hub-card.admin:hover .hub-btn{color:#fff;background:#ea580c;border-color:#ea580c}.related-links-card{text-align:center;background:linear-gradient(135deg,#f8faff 0%,#f5f3ff 100%);border:1px solid #ede9fe;border-radius:24px;flex-direction:column;align-items:center;gap:1.5rem;width:100%;padding:3rem 2.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px -10px #7c3aed1a}.related-links-card:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#7c3aed1a 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-50%;left:-10%}.related-links-card:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#38bdf81a 0%,#0000 70%);border-radius:50%;width:250px;height:250px;position:absolute;bottom:-50%;right:-10%}.related-links-title{color:#2e1065;z-index:1;justify-content:center;align-items:center;gap:.75rem;margin-bottom:0;font-size:1.35rem;font-weight:700;display:flex}.related-link-btn{color:#7c3aed;z-index:1;background:#fff;border:2px solid #ddd6fe;border-radius:16px;align-items:center;gap:.75rem;padding:1rem 3rem;font-family:Kanit,sans-serif;font-size:1.05rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;box-shadow:0 4px 15px #7c3aed0d}.related-link-btn:hover{color:#fff;background:#7c3aed;border-color:#7c3aed;transform:translateY(-5px)scale(1.02);box-shadow:0 12px 25px #7c3aed40}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{content:"";border:3px solid #ccc;border-width:3px 3px 0 0;width:9px;height:9px;display:block;position:absolute;top:6px}.react-datepicker__sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker-wrapper{border:0;padding:0;display:inline-block}.react-datepicker{color:#000;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:initial;background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-right-radius:.375em;border-bottom-left-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-top:1px solid #aeaeae;border-bottom:none;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{margin:0 15px;display:inline-block}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;background-color:#0000;border:1px solid #aeaeae;border-radius:.3rem;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:1px auto}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:#000;margin-top:0;font-size:.944rem;font-weight:700}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{text-align:center;cursor:pointer;z-index:1;text-indent:-999em;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:2px;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{margin-left:auto;margin-right:auto;display:block;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{width:0;font-size:20px;position:relative;top:-1px}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{text-align:center;margin:.5em}.react-datepicker__year-wrapper{flex-wrap:wrap;max-width:180px;display:flex}.react-datepicker__year .react-datepicker__year-text{width:5em;margin:2px;display:inline-block}.react-datepicker__month{text-align:center;margin:.5em}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{width:5em;margin:2px;display:inline-block}.react-datepicker__input-time-container{clear:both;float:left;text-align:left;width:100%;margin:5px 0 10px 15px}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{margin-left:10px;display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;top:0;right:-87px}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{text-align:center;border-bottom-right-radius:.375em;width:85px;margin:0 auto;overflow-x:hidden}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;width:100%;height:calc(195px + 1.0625em);margin:0;padding-left:0;padding-right:0;list-style:none;overflow-y:scroll}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{white-space:nowrap;height:30px;padding:5px 10px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{color:#fff;background-color:#216ba5;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:#0000}.react-datepicker__week-number{color:#ccc;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{color:#fff;background-color:#3dcc4a;border-radius:.3rem}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{color:#fff;background-color:#ff6803;border-radius:.3rem;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{color:#000;background-color:#bad9f1;border-radius:.3rem}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{color:#fff;background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){color:#000;background-color:#f0f0f0}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:70%;left:50%;transform:translate(-50%)}.react-datepicker__input-container{width:100%;display:inline-block;position:relative}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{top:0;right:-16px;transform:rotate(135deg)}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{z-index:1;text-align:center;background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;width:50%;position:absolute;top:30px;left:25%}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{width:100%;margin-left:auto;margin-right:auto;line-height:20px;display:block}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;user-select:none;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;vertical-align:middle;background-color:#0000;border:0;outline:0;height:100%;padding:0 6px 0 0;display:table-cell;position:absolute;top:0;right:0}.react-datepicker__close-icon:after{cursor:pointer;color:#fff;text-align:center;vertical-align:middle;content:"×";background-color:#216ba5;border-radius:50%;width:16px;height:16px;padding:2px;font-size:12px;line-height:1;display:table-cell}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{cursor:pointer;text-align:center;clear:left;background:#f0f0f0;border-top:1px solid #aeaeae;padding:5px 0;font-weight:700}.react-datepicker__portal{z-index:2147483647;background-color:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.react-datepicker__children-container{width:17.25em;height:auto;margin:.5em;padding-left:.25em;padding-right:.25em}.react-datepicker__aria-live{clip-path:circle(0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker__calendar-icon{vertical-align:-.125em;width:1em;height:1em}.react-datepicker-popper-offset{margin-top:-.7em}.duty-container{flex-direction:column;gap:2rem;width:100%;animation:.4s ease-out fade-in;display:flex}.duty-action-panel{background:#fff;border:1px solid #7c3aed1a;border-radius:24px;justify-content:space-between;align-items:center;padding:2.5rem;display:flex;box-shadow:0 10px 40px -10px #7c3aed1a}.duty-user-info{align-items:center;gap:1.5rem;display:flex}.duty-avatar{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:2.5rem;font-weight:700;display:flex;box-shadow:0 8px 16px #7c3aed40}.duty-details h2{color:#0f172a;margin-bottom:.25rem;font-size:1.5rem}.duty-details p{color:#64748b;margin-bottom:.5rem;font-size:1rem}.duty-timer{color:#7c3aed;background:#f3e8ff;border-radius:12px;align-items:center;gap:.5rem;width:fit-content;padding:.25rem .75rem;font-size:1.1rem;font-weight:600;display:flex}.duty-timer.break{color:#ea580c;background:#ffedd5}.duty-actions{gap:1rem;display:flex}.duty-btn{cursor:pointer;color:#fff;border:none;border-radius:16px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .2s;display:flex}.duty-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-clock-in{background:#10b981;box-shadow:0 4px 15px #10b9814d}.btn-clock-in:hover:not(:disabled){background:#059669;transform:translateY(-2px)}.btn-break{background:#f59e0b;box-shadow:0 4px 15px #f59e0b4d}.btn-break:hover:not(:disabled){background:#d97706;transform:translateY(-2px)}.btn-clock-out{background:#ef4444;box-shadow:0 4px 15px #ef44444d}.btn-clock-out:hover:not(:disabled){background:#dc2626;transform:translateY(-2px)}.duty-content-grid{grid-template-columns:1fr 1.5fr;gap:2rem;display:grid}.duty-card{border:1px solid var(--border-color);background:#fff;border-radius:24px;flex-direction:column;padding:2rem;display:flex;box-shadow:0 10px 40px -10px #0000000d}.duty-card-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.duty-card-title{color:#1e293b;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;display:flex}.live-badge{color:#ef4444;background:#fee2e2;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600;animation:2s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.duty-table{border-collapse:collapse;width:100%}.duty-table th{text-align:left;color:#64748b;border-bottom:2px solid #f1f5f9;padding:1rem;font-size:.9rem;font-weight:500}.duty-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:1rem;font-size:.95rem}.duty-table tr:last-child td{border-bottom:none}.status-badge{border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.status-badge.on_duty{color:#059669;background:#d1fae5}.status-badge.on_break{color:#d97706;background:#fef3c7}.status-badge.completed{color:#64748b;background:#f1f5f9}.filter-input{border:1px solid var(--border-color);border-radius:8px;outline:none;padding:.5rem 1rem;font-family:inherit;font-size:.9rem}.filter-input:focus{border-color:#7c3aed}@media (width<=1024px){.duty-content-grid{grid-template-columns:1fr}.duty-action-panel{text-align:center;flex-direction:column;gap:2rem}.duty-user-info{flex-direction:column}.duty-actions{flex-direction:column;width:100%}.duty-btn{justify-content:center}}.date-picker-custom{cursor:pointer;width:130px}.react-datepicker{border:1px solid var(--border-color)!important;borderline:none!important;border-radius:16px!important;font-family:inherit!important;box-shadow:0 10px 40px -10px #0000001a!important}.react-datepicker__header{border-bottom:1px solid var(--border-color)!important;background-color:#fff!important;border-top-left-radius:16px!important;border-top-right-radius:16px!important;padding-top:12px!important}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:#1e293b!important;font-weight:700!important}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#475569!important;border-radius:8px!important;margin:.166rem!important}.react-datepicker__day:hover{background-color:#f1f5f9!important}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{color:#fff!important;background-color:#7c3aed!important}.react-datepicker__day--keyboard-selected{color:#7c3aed!important;background-color:#7c3aed33!important}.react-datepicker__triangle{display:none!important}.leave-container{flex-direction:column;gap:2rem;width:100%;animation:.4s ease-out fade-in;display:flex}.leave-tabs{border:1px solid var(--border-color);background:#fff;border-radius:20px;gap:1rem;width:fit-content;padding:.5rem;display:flex;box-shadow:0 4px 20px #0000000d}.leave-tab-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:14px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.leave-tab-btn.active.leave{color:#fff;background:#7c3aed;box-shadow:0 4px 15px #7c3aed40}.leave-tab-btn.active.resign{color:#fff;background:#ef4444;box-shadow:0 4px 15px #ef444440}.leave-content-grid{grid-template-columns:1fr 1.5fr;gap:2rem;display:grid}.leave-card{border:1px solid var(--border-color);background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 10px 40px -10px #0000000d}.leave-card-title{color:#1e293b;align-items:center;gap:.75rem;margin-bottom:2rem;font-size:1.5rem;font-weight:700;display:flex}.leave-card-title.leave-mode{color:#7c3aed}.leave-card-title.resign-mode{color:#ef4444}.form-group{margin-bottom:1.5rem}.form-label{color:#475569;margin-bottom:.5rem;font-weight:600;display:block}.form-input,.form-textarea{border:1px solid var(--border-color);border-radius:12px;outline:none;width:100%;padding:1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus{border-color:#7c3aed}.form-textarea{resize:vertical;min-height:120px}.submit-btn{cursor:pointer;color:#fff;border:none;border-radius:16px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1.25rem;font-size:1.1rem;font-weight:600;transition:all .2s;display:flex}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.submit-btn.leave-btn{background:#7c3aed}.submit-btn.leave-btn:hover:not(:disabled){background:#6d28d9;transform:translateY(-2px);box-shadow:0 4px 15px #7c3aed4d}.submit-btn.resign-btn{background:#ef4444}.submit-btn.resign-btn:hover:not(:disabled){background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 15px #ef44444d}.leave-table{border-collapse:collapse;width:100%}.leave-table th{text-align:left;color:#64748b;border-bottom:2px solid #f1f5f9;padding:1rem;font-size:.9rem;font-weight:500}.leave-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:1rem;font-size:.95rem}.leave-table tr:last-child td{border-bottom:none}.req-type-badge{border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.req-type-badge.leave{color:#7c3aed;background:#f3e8ff}.req-type-badge.resign{color:#ef4444;background:#fee2e2}.status-indicator{border-radius:12px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.status-indicator.pending{color:#d97706;background:#fef3c7}.status-indicator.approved{color:#059669;background:#d1fae5}.status-indicator.rejected{color:#ef4444;background:#fee2e2}@media (width<=1024px){.leave-content-grid{grid-template-columns:1fr}}.req-admin-container{flex-direction:column;gap:2rem;width:100%;animation:.4s ease-out fade-in;display:flex}.req-admin-tabs{border:1px solid var(--border-color);background:#fff;border-radius:20px;gap:1rem;width:fit-content;padding:.5rem;display:flex;box-shadow:0 4px 20px #0000000d}.req-admin-tab-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:14px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.req-admin-tab-btn.active.pending{color:#d97706;background:#fef3c7}.req-admin-tab-btn.active.approved{color:#059669;background:#d1fae5}.req-admin-tab-btn.active.rejected{color:#ef4444;background:#fee2e2}.req-admin-card{border:1px solid var(--border-color);background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 10px 40px -10px #ea580c1a}.req-admin-table{border-collapse:collapse;width:100%}.req-admin-table th{text-align:left;color:#64748b;border-bottom:2px solid #f1f5f9;padding:1rem;font-size:.95rem;font-weight:600}.req-admin-table td{color:#334155;vertical-align:top;border-bottom:1px solid #f1f5f9;padding:1.25rem 1rem;font-size:.95rem}.req-admin-table tr:last-child td{border-bottom:none}.req-admin-user{align-items:center;gap:1rem;display:flex}.req-admin-avatar{background:var(--primary-light);width:40px;height:40px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex;overflow:hidden}.req-admin-name{color:#1e293b;font-weight:600}.req-admin-role{color:#64748b;margin-top:.2rem;font-size:.8rem}.req-admin-actions{gap:.75rem;display:flex}.btn-approve,.btn-reject{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-approve{color:#fff;background:#10b981}.btn-approve:hover{background:#059669}.btn-reject{color:#fff;background:#ef4444}.btn-reject:hover{background:#dc2626}.btn-approve:disabled,.btn-reject:disabled{opacity:.5;cursor:not-allowed}.personnel-container{flex-direction:column;gap:2rem;width:100%;animation:.4s ease-out fade-in;display:flex}.personnel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.personnel-search{border:1px solid var(--border-color);background:#fff;border-radius:16px;align-items:center;gap:.75rem;width:100%;max-width:350px;padding:.75rem 1.25rem;display:flex;box-shadow:0 4px 15px #0000000d}.personnel-search input{width:100%;color:var(--text-primary);border:none;outline:none;font-family:inherit;font-size:1rem}.personnel-tabs{border:1px solid var(--border-color);background:#fff;border-radius:16px;gap:.5rem;padding:.5rem;display:flex;box-shadow:0 4px 15px #0000000d}.personnel-tab-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:12px;padding:.65rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.personnel-tab-btn.active.all{color:#334155;background:#f1f5f9}.personnel-tab-btn.active.admin{color:#ef4444;background:#fee2e2}.personnel-tab-btn.active.medic{color:#4f46e5;background:#e0e7ff}.personnel-tab-btn.active.user{color:#d97706;background:#fef3c7}.personnel-card{border:1px solid var(--border-color);background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 10px 40px -10px #0000000d}.personnel-table{border-collapse:collapse;width:100%}.personnel-table th{text-align:left;color:#64748b;border-bottom:2px solid #f1f5f9;padding:1rem;font-size:.95rem;font-weight:600}.personnel-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:1.25rem 1rem;font-size:.95rem}.personnel-table tr:last-child td{border-bottom:none}.personnel-user{align-items:center;gap:1rem;display:flex}.personnel-avatar{background:var(--primary-light);width:45px;height:45px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex;overflow:hidden}.personnel-name{color:#1e293b;font-size:1.05rem;font-weight:600}.personnel-phone{color:#64748b;margin-top:.25rem;font-size:.85rem}.role-badge{text-transform:capitalize;border-radius:12px;padding:.35rem .85rem;font-size:.85rem;font-weight:600;display:inline-block}.role-badge.admin{color:#ef4444;background:#fee2e2}.role-badge.medic{color:#4f46e5;background:#e0e7ff}.role-badge.user{color:#d97706;background:#fef3c7}.personnel-actions{gap:.5rem;display:flex}.action-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.action-btn.edit{color:#3b82f6}.action-btn.edit:hover{background:#eff6ff}.action-btn.delete{color:#ef4444}.action-btn.delete:hover{background:#fef2f2}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:24px;width:100%;max-width:450px;padding:2.5rem;animation:.3s ease-out slide-up;box-shadow:0 20px 40px #0000001a}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h2{color:#1e293b;margin:0;font-size:1.5rem}.close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:background .2s;display:flex}.close-btn:hover{color:#0f172a;background:#f1f5f9}.modal-form-group{margin-bottom:1.5rem}.modal-form-group label{color:#475569;margin-bottom:.5rem;font-weight:600;display:block}.modal-input,.modal-select{border:1px solid var(--border-color);background:#fff;border-radius:12px;outline:none;width:100%;padding:1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.modal-input:focus,.modal-select:focus{border-color:#7c3aed}.custom-dropdown{width:100%;position:relative}.dropdown-selected{border:1px solid var(--border-color);cursor:pointer;width:100%;color:var(--text-primary);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;font-family:inherit;font-size:1rem;transition:all .2s;display:flex}.dropdown-selected:hover{border-color:#cbd5e1}.dropdown-selected.open{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.dropdown-options{border:1px solid var(--border-color);z-index:100;background:#fff;border-radius:12px;width:100%;animation:.2s ease-out fade-in;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a}.dropdown-option{cursor:pointer;color:var(--text-primary);padding:.75rem 1rem;font-size:.95rem;transition:background .2s}.dropdown-option:hover{background:#f8fafc}.dropdown-option.selected{color:#7c3aed;background:#f3e8ff;font-weight:500}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:12px;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.modal-btn.cancel{color:#475569;background:#f1f5f9}.modal-btn.cancel:hover{background:#e2e8f0}.modal-btn.save{color:#fff;background:#7c3aed}.modal-btn.save:hover:not(:disabled){background:#6d28d9}.modal-btn.save:disabled{opacity:.5;cursor:not-allowed}.salary-container{flex-direction:column;gap:2rem;width:100%;animation:.4s ease-out fade-in;display:flex}.salary-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.salary-filters{border:1px solid var(--border-color);background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;box-shadow:0 4px 15px #0000000d}.filter-group{align-items:center;gap:.75rem;display:flex}.filter-group label{color:var(--text-secondary);font-size:.95rem;font-weight:500}.settings-btn{cursor:pointer;color:#475569;border:none;border:1px solid var(--border-color);background:#f8fafc;border-radius:12px;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 15px #0000000d}.settings-btn:hover{color:#0f172a;background:#f1f5f9}.salary-summary-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.summary-card{border:1px solid var(--border-color);background:#fff;border-radius:20px;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 10px 40px -10px #0000000d}.summary-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.summary-icon.purple{color:#7c3aed;background:#f3e8ff}.summary-icon.green{color:#16a34a;background:#dcfce7}.summary-icon.orange{color:#ea580c;background:#ffedd5}.summary-details h4{color:var(--text-secondary);margin:0 0 .5rem;font-size:.95rem;font-weight:500}.summary-details .summary-value{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.salary-card{border:1px solid var(--border-color);background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 10px 40px -10px #0000000d}.salary-table{border-collapse:collapse;width:100%}.salary-table th{text-align:left;color:#64748b;white-space:nowrap;border-bottom:2px solid #f1f5f9;padding:1rem;font-size:.95rem;font-weight:600}.salary-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:1.25rem 1rem;font-size:.95rem}.salary-table tr:last-child td{border-bottom:none}.amount-text{color:#16a34a;font-size:1.1rem;font-weight:700}.rate-list{flex-direction:column;gap:1rem;max-height:400px;margin-bottom:1.5rem;padding-right:.5rem;display:flex;overflow-y:auto}.rate-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.rate-item-name{color:#1e293b;font-weight:600}.rate-input-group{align-items:center;gap:.5rem;display:flex}.rate-input{text-align:right;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:120px;padding:.5rem .75rem;font-family:inherit;font-size:1rem}.rate-input:focus{border-color:#7c3aed}.adjustment-btn{cursor:pointer;color:#64748b;background:0 0;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.adjustment-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.adj-val-positive{color:#16a34a;font-weight:600}.adj-val-negative{color:#ef4444;font-weight:600}.adjustment-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;max-height:250px;margin-bottom:1.5rem;overflow-y:auto}.adj-item{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.adj-item:last-child{border-bottom:none}.adj-reason{color:#1e293b;font-size:.9rem}.adj-date{color:#94a3b8;font-size:.75rem}.adj-amount.bonus{color:#16a34a;font-weight:600}.adj-amount.deduction{color:#ef4444;font-weight:600}.delete-adj-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;display:flex}.delete-adj-btn:hover{color:#ef4444;background:#fee2e2}.adj-form{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.adj-form-full{grid-column:span 2}.adj-add-btn{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem;font-weight:600;transition:all .2s;display:flex}.adj-add-btn:hover:not(:disabled){background:#1e293b}.adj-add-btn:disabled{opacity:.5;cursor:not-allowed}.settings-container{flex-direction:column;gap:2rem;width:100%;animation:.4s ease-out fade-in;display:flex}.settings-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.settings-tabs{border:1px solid var(--border-color);background:#fff;border-radius:16px;gap:.5rem;padding:.5rem;display:flex;overflow-x:auto;box-shadow:0 4px 15px #0000000d}.settings-tab-btn{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.settings-tab-btn.active{color:#0f172a;background:#f1f5f9}.settings-tab-btn.active.reports{color:#7c3aed;background:#f3e8ff}.settings-tab-btn.active.positions{color:#4f46e5;background:#e0e7ff}.settings-tab-btn.active.general{color:#ea580c;background:#ffedd5}.settings-card{border:1px solid var(--border-color);background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 10px 40px -10px #0000000d}.report-controls{flex-wrap:wrap;align-items:flex-end;gap:1.5rem;margin-bottom:2rem;display:flex}.export-btn{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:12px;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.export-btn:hover{background:#6d28d9}.export-btn:disabled{opacity:.7;cursor:not-allowed}.pdf-preview-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;overflow-x:auto}.pdf-document{color:#000;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:20mm;font-family:Sarabun,Roboto,sans-serif;box-shadow:0 4px 6px #0000001a}.pdf-header{text-align:center;border-bottom:2px solid #000;margin-bottom:2rem;padding-bottom:1rem}.pdf-title{margin:0 0 10px;font-size:24px;font-weight:700}.pdf-subtitle{color:#333;margin:0;font-size:16px}.pdf-table{border-collapse:collapse;width:100%;margin-bottom:2rem}.pdf-table th,.pdf-table td{border:1px solid #000;padding:8px 12px;font-size:14px}.pdf-table th{text-align:center;background-color:#f3f4f6;font-weight:700}.pdf-summary{text-align:right;margin-top:2rem;font-size:16px}.position-list{flex-direction:column;gap:1rem;display:flex}.position-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.position-name{color:#1e293b;font-size:1.1rem;font-weight:600}.announcement-form{flex-direction:column;gap:1.5rem;max-width:600px;display:flex}.toggle-switch{cursor:pointer;align-items:center;gap:1rem;display:flex}.toggle-slider{background-color:#cbd5e1;border-radius:34px;width:50px;height:26px;transition:all .4s;position:relative}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:4px;left:4px}input:checked+.toggle-slider{background-color:#10b981}input:checked+.toggle-slider:before{transform:translate(24px)}
