.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:#000000e6;fill:#000000e6;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#000000e6;fill:#000000e6}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:#0000001a}.numInputWrapper span:active{background:#0003}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:#0000000d}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:#0000000d}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch�;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:#00000080;background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:#0000000d}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:#0000008a;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}:root{--color-primary: #49263d;--color-primary-light: #5e3350;--color-primary-dark: #3a1e31;--color-bg: #f5f6fa;--color-white: #ffffff;--color-text-dark: #1a1a1a;--color-text: #3a3a3a;--color-text-muted: #7a7a7a;--color-text-light: #9e9e9e;--color-border: #e8e8e8;--color-border-light: #f0f0f0;--color-error: #d32f2f;--color-error-light: #fef2f2;--color-success: #2e7d32;--color-success-light: #f0fdf4;--color-warning: #ed6c02;--color-warning-light: #fffbeb;--color-info: #0288d1;--sidebar-width: 260px;--header-height: 64px;--radius: 8px;--radius-lg: 12px;--font-heading: "Quicksand", sans-serif;--font-body: "Poppins", sans-serif;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .1);--shadow-card: 0 2px 8px rgba(73, 38, 61, .06)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-dark);font-weight:700;line-height:1.3}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-light)}button{cursor:pointer;font-family:var(--font-body)}input,select,textarea{font-family:var(--font-body)}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);position:relative;overflow:hidden}.auth-layout:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(73,38,61,.06) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.auth-container{width:100%;max-width:440px;padding:1.5rem;position:relative;z-index:1}.auth-brand{text-align:center;margin-bottom:2rem}.auth-brand h1{font-family:var(--font-heading);font-size:2.2rem;font-weight:700;color:var(--color-primary);letter-spacing:-.02em}.auth-brand p{font-family:var(--font-body);color:var(--color-text-muted);font-size:.875rem;font-weight:400;margin-top:.35rem}.auth-form-wrapper{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg)}.login-page h2{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;margin-bottom:1.5rem;text-align:center;color:var(--color-text-dark)}.login-type-toggle{display:flex;margin-bottom:1.75rem;border-radius:var(--radius);overflow:hidden;background:var(--color-bg);padding:4px;gap:4px}.toggle-btn{flex:1;padding:.55rem 1rem;font-size:.85rem;font-weight:500;font-family:var(--font-body);background:transparent;color:var(--color-text-muted);border:none;border-radius:6px;transition:all .25s ease}.toggle-btn.active{background:var(--color-primary);color:var(--color-white);box-shadow:0 2px 6px #49263d40}.toggle-btn:not(.active):hover{color:var(--color-text-dark);background:var(--color-white)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.8rem;font-weight:500;color:var(--color-text);margin-bottom:.4rem;letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.7rem .85rem;font-size:.9rem;background:var(--color-white);color:var(--color-text-dark);border:1.5px solid var(--color-border);border-radius:var(--radius);outline:none;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #49263d14}.flatpickr-calendar{font-family:var(--font-body);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.flatpickr-months .flatpickr-month{background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{fill:var(--color-white);color:var(--color-white)}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:var(--color-white)}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#fffc}.flatpickr-current-month .flatpickr-monthDropdown-months{background:var(--color-primary);color:var(--color-white)}.flatpickr-current-month input.cur-year{color:var(--color-white)}span.flatpickr-weekday{color:var(--color-text-muted);font-weight:600;font-size:.75rem}.flatpickr-day{border-radius:6px;color:var(--color-text-dark)}.flatpickr-day:hover{background:#49263d14;border-color:transparent}.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.flatpickr-day.today{border-color:var(--color-primary)}.flatpickr-day.today:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.flatpickr-time input,.flatpickr-time .flatpickr-am-pm{font-family:var(--font-body);color:var(--color-text-dark)}.flatpickr-time input:focus,.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time .flatpickr-am-pm:focus{background:#49263d0f}.flatpickr-input[readonly]{cursor:pointer;background:var(--color-white)}.submit-btn{width:100%;padding:.75rem;font-size:.95rem;font-weight:600;background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius);transition:background .2s,box-shadow .2s,transform .15s;margin-top:.5rem}.submit-btn:hover{background:var(--color-primary-light);box-shadow:0 4px 14px #49263d33}.submit-btn:active{transform:scale(.98)}.submit-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.dashboard-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-white);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;box-shadow:var(--shadow-sm)}.sidebar-brand{padding:1.35rem 1.5rem;border-bottom:1px solid var(--color-border-light)}.sidebar-brand h2{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:var(--color-primary);letter-spacing:-.01em}.sidebar-nav{flex:1;padding:1rem .85rem;display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:.65rem;padding:.7rem 1rem;border-radius:var(--radius);color:var(--color-text-muted);font-size:.875rem;font-weight:500;transition:all .2s ease;text-decoration:none}.nav-link:hover{background:var(--color-bg);color:var(--color-text-dark);text-decoration:none}.nav-link.active{background:var(--color-primary);color:var(--color-white);box-shadow:0 2px 8px #49263d26}.sidebar-footer{padding:1rem .85rem;border-top:1px solid var(--color-border-light)}.logout-btn{width:100%;padding:.6rem 1rem;font-size:.85rem;font-weight:500;font-family:var(--font-body);background:var(--color-white);color:var(--color-error);border:1.5px solid var(--color-error);border-radius:var(--radius);transition:all .2s ease}.logout-btn:hover{background:var(--color-error-light)}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.top-header{height:var(--header-height);background:var(--color-white);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;padding:0 1.75rem;position:sticky;top:0;z-index:50}.header-info{display:flex;align-items:center;gap:.75rem}.header-role{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--color-primary);color:var(--color-white);padding:.2rem .6rem;border-radius:4px}.header-name{font-size:.875rem;color:var(--color-text-dark);font-weight:500}.page-content{flex:1;padding:1.75rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1.75rem}.stat-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card);transition:box-shadow .2s,transform .2s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card h3{font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.65rem}.stat-value{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--color-primary)}.not-found-page,.unauthorized-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;background:var(--color-bg)}.not-found-page h1,.unauthorized-page h1{font-family:var(--font-heading);font-size:5rem;color:var(--color-primary);line-height:1}.not-found-page p,.unauthorized-page p{color:var(--color-text-muted);margin-bottom:1rem;font-size:.95rem}.not-found-page a,.unauthorized-page a{font-weight:500;font-size:.9rem;color:var(--color-primary);border:1.5px solid var(--color-primary);padding:.5rem 1.25rem;border-radius:var(--radius);transition:all .2s}.not-found-page a:hover,.unauthorized-page a:hover{background:var(--color-primary);color:var(--color-white)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.page-header h1{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text-dark)}.page-header p{color:var(--color-text-muted);font-size:.875rem;margin-top:.2rem}.dashboard-page h1{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text-dark)}.dashboard-page>p{color:var(--color-text-muted);font-size:.875rem;margin-top:.25rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:500;font-family:var(--font-body);border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary-light);box-shadow:0 4px 12px #49263d33}.btn-secondary{background:var(--color-bg);color:var(--color-text);border:1.5px solid var(--color-border)}.btn-secondary:hover{background:var(--color-white);border-color:var(--color-text-muted)}.btn-danger{background:var(--color-error);color:var(--color-white)}.btn-danger:hover{background:#c62828;box-shadow:0 4px 12px #d32f2f33}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-link{background:none;border:none;padding:0;cursor:pointer}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-white);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.btn-icon:hover{color:var(--color-primary);border-color:var(--color-primary);background:#49263d0a}.btn-icon-danger:hover{color:var(--color-error);border-color:var(--color-error);background:var(--color-error-light)}.badge{display:inline-block;padding:.2rem .65rem;font-size:.75rem;font-weight:600;border-radius:20px;text-transform:capitalize}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-error{background:var(--color-error-light);color:var(--color-error)}.badge-info{background:#e8f4fd;color:var(--color-info)}.badge-default{background:var(--color-bg);color:var(--color-text-muted)}.filter-tabs{display:flex;gap:4px;margin-bottom:1.25rem;background:var(--color-bg);padding:4px;border-radius:var(--radius);width:fit-content}.filter-tab{padding:.45rem 1rem;font-size:.8rem;font-weight:500;font-family:var(--font-body);background:transparent;color:var(--color-text-muted);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.filter-tab:hover{color:var(--color-text-dark);background:var(--color-white)}.filter-tab.active{background:var(--color-primary);color:var(--color-white);box-shadow:0 2px 6px #49263d33}.table-container{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:.85rem 1rem;font-size:.72rem;font-weight:600;font-family:var(--font-body);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.data-table td{padding:.8rem 1rem;font-size:.875rem;color:var(--color-text);border-bottom:1px solid var(--color-border-light)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#49263d04}.table-actions{display:flex;gap:6px}.table-loading,.table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--color-text-muted);font-size:.9rem}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:.75rem}@keyframes spin{to{transform:rotate(360deg)}}.pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:.85rem 1rem;border-top:1px solid var(--color-border-light)}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 .5rem;font-size:.8rem;font-weight:500;font-family:var(--font-body);background:var(--color-white);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}.pagination-btn.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal-content{background:var(--color-white);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border-light)}.modal-header h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--color-text-dark)}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.modal-close:hover{background:var(--color-bg);color:var(--color-text-dark)}.modal-body{padding:1.25rem 1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.65rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.form-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;max-width:700px;box-shadow:var(--shadow-card)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border-light)}.form-group textarea{resize:vertical}.file-upload-area{width:100%}.file-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.5rem;border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;color:var(--color-text-muted)}.file-upload-placeholder:hover{border-color:var(--color-primary);background:#49263d08;color:var(--color-primary)}.file-upload-placeholder p{font-size:.875rem;font-weight:500;margin:0}.file-upload-placeholder span{font-size:.75rem;color:var(--color-text-light)}.thumbnail-preview{display:flex;align-items:center;gap:1rem}.thumbnail-preview img{width:120px;height:80px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--color-border)}.btn-sm{padding:.35rem .75rem;font-size:.75rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.detail-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow-card)}.detail-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.35rem}.detail-value{font-size:.9rem;font-weight:500;color:var(--color-text-dark)}.detail-actions{display:flex;gap:.75rem;margin-bottom:1.5rem}.upload-result{display:flex;flex-direction:column;gap:.75rem}.result-item{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--color-border-light);font-size:.9rem}.result-not-found{margin-top:.5rem}.result-not-found span{font-size:.8rem;font-weight:600;color:var(--color-text-muted);display:block;margin-bottom:.3rem}.result-not-found ul{list-style:none;padding:0}.result-not-found li{font-size:.825rem;color:var(--color-error);padding:.2rem 0}
