@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--primary-900:#1e0d2b;--primary-800:#2e1a3d;--primary-700:#3b1e4d;--primary-600:#b12a9c;--primary-500:#7b2cbf;--primary-400:#9d4edd;--primary-300:#c77dff;--primary-200:#e0aaff;--primary-100:#f3e8ff;--primary-50:#faf5ff;--white:#fff;--cream:#fdf8f0;--cream-dark:#f5efe3;--text-primary:#0f2420;--text-secondary:#3d5a52;--text-muted:#7a9991;--coral:#e0825a;--coral-light:#faeae0;--amber:#d4a24c;--amber-light:#fdf3dc;--surface:#fff;--border:#d5ebe0;--shadow:0 2px 20px #0d2b2514;--shadow-lg:0 8px 40px #0d2b2524}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--cream);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif}h1,h2,h3,h4{font-family:Fraunces,serif}.sidebar-nav-item{color:var(--text-secondary);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-nav-item:hover{color:var(--primary-600);background:#2d7d5a14}.sidebar-nav-item.active{background:var(--primary-600);color:#fff;box-shadow:0 4px 12px #2d7d5a4d}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px}.btn-primary{background:var(--primary-600);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--primary-500);transform:translateY(-1px);box-shadow:0 4px 16px #2d7d5a59}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{color:var(--text-secondary);border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-ghost:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-600)}.btn-danger{color:#fff;cursor:pointer;background:#e57373;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-danger:hover{background:#ef5350;box-shadow:0 4px 16px #e5737359}.input-field{border:1.5px solid var(--border);background:var(--cream);width:100%;color:var(--text-primary);border-radius:12px;outline:none;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .2s}.input-field:focus{border-color:var(--primary-500);background:#fff;box-shadow:0 0 0 3px #2d7d5a1f}.input-field::placeholder{color:var(--text-muted)}.input-field.input-error{border-color:#e57373!important;box-shadow:0 0 0 3px #e573731f!important}.badge{border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.badge-menunggu{background:var(--amber-light);color:#9a6c1a}.badge-progress{color:#1d4ed8;background:#3b82f61f}.badge-selesai{background:var(--primary-100);color:var(--primary-700)}.badge-reschedule{background:var(--coral-light);color:#9a3a1a}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d2b2580;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);width:100%;max-width:520px;box-shadow:var(--shadow-lg);border-radius:20px;padding:28px;animation:.25s slideUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.35s forwards pageEnter}.rbc-calendar{border-radius:16px;font-family:DM Sans,sans-serif;overflow:hidden;border:1px solid var(--border)!important}.rbc-header{background:var(--primary-50)!important;color:var(--text-secondary)!important;border-color:var(--border)!important;padding:10px!important;font-size:12px!important;font-weight:600!important}.rbc-today{background:#2d7d5a0d!important}.rbc-event{background:var(--primary-600)!important;border:none!important;border-radius:6px!important;padding:2px 6px!important;font-size:11px!important}.rbc-btn-group button{border-color:var(--border)!important;color:var(--text-secondary)!important;font-family:DM Sans,sans-serif!important}.rbc-btn-group button:hover{background:var(--primary-50)!important;color:var(--primary-600)!important}.rbc-active{background:var(--primary-600)!important;color:#fff!important}.rbc-toolbar-label{color:var(--text-primary)!important;font-family:Fraunces,serif!important;font-size:16px!important;font-weight:600!important}.rbc-off-range-bg{background:var(--cream)!important}.rbc-date-cell{color:var(--text-secondary)!important;font-size:13px!important}.rbc-date-cell.rbc-now{color:var(--primary-600)!important;font-weight:700!important}.rbc-show-more{color:var(--primary-600)!important;font-weight:600!important}.rbc-month-view,.rbc-day-bg+.rbc-day-bg,.rbc-month-row+.rbc-month-row{border-color:var(--border)!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--primary-200);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary-300)}.mobile-menu-btn{display:none}@media (max-width:1024px){.mobile-menu-btn{z-index:60;border:1px solid var(--border);background:#fff;border-radius:10px;padding:8px;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 2px 10px #00000014}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
