*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.-mt-6{margin-top:-1.5rem}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[14px\]{height:14px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-24{width:6rem}.w-32{width:8rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.min-w-\[14px\]{min-width:14px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-sky-300{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-black\/40{background-color:#0006}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-sky-100{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity))}.bg-sky-50{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-800{--tw-gradient-to: #1e40af var(--tw-gradient-to-position)}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.pb-24{padding-bottom:6rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 37%,#e5e7eb 63%);background-size:400% 100%}body{margin:0;background:#f7f8fa;font-family:Segoe UI,sans-serif}main{min-height:calc(100vh - 160px)}.preloader{position:fixed;inset:0;background:#fff;z-index:9999}body{margin:0;background:#f7f8fa;font-family:Segoe UI,sans-serif}.app-header{height:56px;background:linear-gradient(135deg,#4f46e5,#6366f1);display:flex;justify-content:center;align-items:center}.app-content{padding:12px 12px 80px}.bottom-nav{position:fixed;bottom:0;width:100%;display:flex;justify-content:space-around;background:#fff}.bottom-nav button{background:none;border:none}.bottom-nav .center{background:#4f46e5;color:#fff;width:48px;height:48px;border-radius:50%;margin-top:-24px}.modal-overlay{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center}.modal-card{width:100%;max-width:420px;background:#fff;border-radius:16px}.modal-header{padding:12px 14px;font-weight:600;display:flex;gap:6px;border-bottom:1px solid #e5e7eb}.modal-body{padding:12px 14px;display:flex;flex-direction:column;gap:12px}.section{background:#f8fafc;padding:10px;border-radius:12px;display:flex;flex-direction:column;gap:6px}.section.accent{background:#f0f9ff}.section-title{font-size:12px;font-weight:600;color:#0369a1;display:flex;gap:6px}label{font-size:11px;color:#64748b}input,select{border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;font-size:13px}.durasi{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal-footer{padding:12px 14px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:8px}.btn{padding:8px 14px;border-radius:10px}.btn.primary{background:#0ea5e9;color:#fff}.btn.ghost{background:#f1f5f9}.form-error{background:#e0f2fe;color:#0369a1;padding:8px 10px;border-radius:10px;font-size:12px}*{scrollbar-width:none}*::-webkit-scrollbar{display:none}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.modal-overlay{position:fixed;inset:0;background:#fff;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s ease}.modal-overlay.show{opacity:1;pointer-events:auto}.modal-card.fullscreen{width:100%;height:100dvh;display:flex;flex-direction:column;background:#fff;transform:translateY(24px) scale(.98);opacity:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.modal-card.enter{transform:translateY(0) scale(1);opacity:1}.modal-card.exit{transform:translateY(24px) scale(.98);opacity:0}.modal-header{position:sticky;top:0;z-index:2;height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;font-weight:600;background:#fff}.modal-header button{background:none;border:none;padding:6px;opacity:.6}.modal-body{flex:1;padding:14px 16px;overflow-y:auto}.modal-body>*{animation:contentFadeUp .3s ease both}@keyframes contentFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section{margin-bottom:16px}.section.accent{background:#f5fbfe;padding:12px;border-radius:14px}.section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;margin-bottom:6px}.section-title svg{color:#49dbf5}label{font-size:11px;color:#475569;margin-bottom:2px;display:block}input,select{width:100%;padding:8px 10px;font-size:14px;border-radius:10px;border:1px solid #e2e8f0;margin-bottom:10px}input:focus,select:focus{outline:none;border-color:#49dbf5;box-shadow:0 0 0 2px #49dbf533}input[inputmode=numeric]{text-align:right;font-weight:600}.durasi{display:flex;gap:8px}.durasi select{flex:1}.form-error{background:#fef2f2;color:#b91c1c;border-radius:10px;padding:8px 10px;font-size:12px}.modal-footer{position:sticky;bottom:0;z-index:2;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e5e7eb;background:#fff;display:flex;gap:10px}.btn{flex:1;border-radius:14px;padding:10px;font-size:14px;font-weight:600;border:none}.btn.primary{background:#49dbf5;color:#fff}.btn.primary:disabled{opacity:.6}.btn.ghost{background:#f1f5f9;color:#334155}.swal2-popup{border-radius:16px!important;font-size:14px}.swal2-confirm{background-color:#49dbf5!important;color:#fff!important;border-radius:10px!important;padding:8px 20px!important;font-weight:600!important}.swal2-confirm:focus{box-shadow:none!important}.swal2-actions{margin-top:16px!important}body.modal-open{overflow:hidden;height:100vh;touch-action:none}.modal-open .space-y-4>:not([hidden])~:not([hidden]){margin:0!important}.modal-open .space-y-5>:not([hidden])~:not([hidden]){margin:0!important}.fixed.inset-0{animation:overlayFade .25s ease}.fixed.inset-0>div{animation:modalScale .25s ease}button{transition:all .15s ease}button:hover{opacity:.85}button:active{transform:scale(.97)}button.text-red-600:hover{color:#b91c1c}button svg{font-size:18px}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes modalScale{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px){.fixed.inset-0>div{border-radius:16px}}button.bg-red-50 svg{font-size:16px}*{-webkit-tap-highlight-color:transparent}body{background-color:#f6f8fb;color:#0f172a}.bg-sky-500{background:#ffffffc7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(73,219,245,.25);box-shadow:0 8px 22px #0f172a14}.bg-sky-500 *{color:#0f172a;text-shadow:none}.bg-sky-500 .text-\[11px\]{opacity:.75}.bg-sky-500 .rounded-full{background:#49dbf51f;box-shadow:inset 0 0 0 1px #49dbf540}.bg-white.rounded-xl.shadow{background:#fff;box-shadow:0 6px 16px #0f172a0f}.bg-white.rounded-xl.shadow.p-4,.bg-white.rounded-xl.shadow.p-3{transition:transform .15s ease,box-shadow .15s ease}.bg-white.rounded-xl.shadow:active{transform:scale(.985)}.text-xs{letter-spacing:.2px}.text-sm{letter-spacing:.15px}.text-sky-600{color:#0ea5e9}.text-green-600{color:#16a34a}.text-red-500{color:#ef4444}select{border-color:#e2e8f0}select:focus{outline:none;border-color:#49dbf5;box-shadow:0 0 0 2px #49dbf533}.bg-white.rounded-xl.shadow.p-3{box-shadow:0 5px 12px #0f172a0d}.bg-white.rounded-xl.shadow.p-4 .grid button{transition:transform .15s ease,opacity .15s ease}.bg-white.rounded-xl.shadow.p-4 .grid button:active{transform:scale(.94);opacity:.85}.w-12.h-12.rounded-full{box-shadow:0 6px 14px #0f172a29}.bg-sky-100{background:linear-gradient(123deg,#0036a5,#38bdf8)}.bg-sky-500,.bg-sky-400{background:linear-gradient(135deg,#7dd3fc,#38bdf8)}.bg-amber-400{background:linear-gradient(135deg,#fde68a,#fbbf24)}.bg-red-400{background:linear-gradient(135deg,#fca5a5,#f87171)}.bg-green-500{background:linear-gradient(135deg,#86efac,#22c55e)}.bg-sky-100{background-color:#49dbf526;color:#0284c7}.bg-green-100{background-color:#22c55e26;color:#166534}.bg-purple-100{background-color:#a855f726;color:#6b21a8}.bg-slate-100{background-color:#f1f5f9;color:#475569}.animate-pulse{background:linear-gradient(90deg,#e5edf4 25%,#f1f5f9 37%,#e5edf4 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite}button{-webkit-tap-highlight-color:transparent}hr{border-color:#e5e7eb}.absen-alert{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c;padding:8px 12px;border-radius:10px;font-size:12px;line-height:1.3;cursor:pointer}.absen-alert b{font-weight:600}.absen-alert:hover{background:#fecaca}.riwayat-list{display:flex;flex-direction:column;gap:8px}.riwayat-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .15s ease}.riwayat-item:hover{background:#f8fafc;border-color:#cbd5f5;transform:translateY(-1px)}.riwayat-left{display:flex;flex-direction:column;gap:2px}.riwayat-username{font-size:13px;font-weight:600;color:#0f172a;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.riwayat-meta{font-size:11px;color:#64748b}.riwayat-badge{padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600}.riwayat-normal{background:#dcfce7;color:#15803d}.riwayat-kurang{background:#fee2e2;color:#b91c1c}.riwayat-diamond{font-size:14px;font-weight:700;color:#0284c7;display:flex;align-items:center;gap:4px}.riwayat-empty{text-align:center;font-size:13px;color:#94a3b8;padding:16px 0}.riwayat-skeleton{height:44px;border-radius:12px;background:linear-gradient(90deg,#e5e7eb 25%,#f1f5f9 37%,#e5e7eb 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.breakdown-list{display:flex;flex-direction:column;gap:10px}.breakdown-item{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px}.breakdown-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.breakdown-date{font-size:13px;font-weight:600;color:#0f172a}.breakdown-meta{font-size:12px;color:#475569;display:flex;flex-wrap:wrap;gap:6px}.breakdown-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid}.breakdown-badge.normal{color:#166534;border-color:#16a34a;background:#ecfdf5}.breakdown-badge.kurang{color:#9a3412;border-color:#fb923c;background:#fff7ed}.breakdown-summary{margin-top:14px;padding:10px 12px;border-radius:12px;background:#f8fafc;font-size:14px;font-weight:600;display:flex;justify-content:space-between}.breakdown-warning{margin-top:10px;background:#fff7ed;color:#9a3412;border:1px dashed #fb923c;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:600}.breakdown-skeleton{height:56px;border-radius:14px;background:linear-gradient(90deg,#e5e7eb 25%,#f1f5f9 37%,#e5e7eb 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite}.breakdown-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e5e7eb;background:#fff}.breakdown-footer button{width:100%;height:44px;border-radius:14px;font-size:14px;font-weight:600;border:none;background:#f1f5f9;color:#0f172a}.breakdown-item{background:#fff;border:1px solid #00deff;border-radius:16px;padding:14px;box-shadow:0 2px 6px #0000000a;transition:transform .15s ease,box-shadow .15s ease}.breakdown-item:active{transform:scale(.98);box-shadow:0 4px 10px #00000014}.breakdown-header{margin-bottom:6px}.breakdown-date{font-size:14px;font-weight:700;color:#0f172a}.breakdown-meta{font-size:13px;color:#334155;line-height:1.4}.breakdown-badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;border:none}.breakdown-badge.normal{background:#dcfce7;color:#166534}.breakdown-badge.kurang{background:#fee2e2;color:#991b1b}.breakdown-list{display:flex;flex-direction:column;gap:12px}.rekap-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.rekap-title h1{font-size:16px;font-weight:700;margin:0;color:#0f172a}.rekap-title p{font-size:12px;margin-top:2px;color:#64748b}.rekap-filter.small{width:auto;min-width:140px;padding:6px 10px;font-size:13px;border-radius:10px;border:1px solid #e2e8f0;background:#fff}.rekap-filter.small:focus{outline:none;border-color:#49dbf5;box-shadow:0 0 0 2px #49dbf526}.summary-wrapper{background:#fff;border-radius:16px;padding:14px;box-shadow:0 6px 18px #0f172a14}.summary-top{display:flex;gap:12px;margin-bottom:12px}.summary-box{flex:1;border-radius:14px;padding:12px 0;text-align:center}.summary-box.valid{background:#ecfdf5;color:#166534}.summary-box.invalid{background:#fef2f2;color:#991b1b}.summary-value{font-size:22px;font-weight:700}.summary-label{font-size:12px;margin-top:4px;opacity:.85}.summary-bottom{border-top:1px dashed #e5e7eb;padding-top:10px}.summary-row{display:flex;justify-content:space-between;font-size:14px;margin:4px 0}.summary-row span{color:#64748b}.history-card{position:relative;cursor:pointer;margin-bottom:10px;border-radius:14px;padding:14px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 6px #0f172a0a;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.history-card:active{transform:scale(.985);box-shadow:0 4px 12px #0f172a14;border-color:#49dbf5}.history-card:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:2px;background:transparent}.history-card:active:before{background:#49dbf5}.history-header{display:flex;justify-content:space-between;align-items:center}.history-header h6{margin:0;font-size:14px;font-weight:600;line-height:1.3}.history-header p{margin-top:2px;font-size:13px;color:#475569}.status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid;background:transparent;white-space:nowrap}.status-belum{background:#fee2e2;color:#991b1b;border-color:#dc2626}.status-sudah{background:#dcfce7;color:#166534;border-color:#16a34a}:root{--bg: #f5f7fb;--card: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e5e7eb;--green-bg: #ecfdf5;--green-text: #15803d;--red-bg: #fff1f2;--red-text: #be123c;--blue: #2563eb;--radius: 16px}*{box-sizing:border-box}.page{padding:16px;max-width:720px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h1{margin:0;font-size:1.1rem;color:var(--text)}.page-header p{margin:2px 0 0;font-size:.8rem;color:var(--muted)}.page-header select{width:unset!important;padding:8px 12px;border-radius:12px;border:1px solid var(--border);background:#fff}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:14px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.summary-item{border-radius:14px;padding:16px;text-align:center}.summary-item strong{display:block;font-size:1.4rem;margin-bottom:4px}.summary-item span{font-size:.8rem}.summary-item.valid{background:var(--green-bg);color:var(--green-text)}.summary-item.invalid{background:var(--red-bg);color:var(--red-text)}.total-row{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted);margin-top:6px}.total-row strong{color:var(--text)}.card input[type=date]{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--border);margin-bottom:10px}.card button{width:100%;padding:10px;border-radius:12px;border:none;background:var(--blue);color:#fff;font-weight:500}.card button:disabled{opacity:.6}.list-card{background:var(--card);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.list-left h4{margin:0 0 6px;font-size:.9rem;color:var(--text)}.list-left span{font-size:.8rem;color:var(--muted)}.badge{padding:6px 12px;font-size:.75rem;border-radius:999px;background:var(--green-bg);color:var(--green-text);font-weight:500;cursor:pointer}.empty{padding:24px 0;text-align:center;font-size:.85rem;color:var(--muted)}@media(min-width:640px){.summary-grid{grid-template-columns:repeat(2,1fr)}}.form-info:before{content:"ℹ️ "}.form-info{margin:8px 0 12px;font-size:.8rem;color:#b45309}.card button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.card button:disabled:hover{box-shadow:none;transform:none}.form-label{display:block;font-size:.8rem;font-weight:500;color:var(--muted);margin-bottom:6px}.status{display:inline-block;font-size:.75rem;margin-top:4px}.status.upcoming{color:var(--blue)}.status.past{color:var(--muted)}.btn-cancel{background:none;border:none;font-size:.75rem;color:var(--danger);cursor:pointer;padding:6px 8px;border-radius:8px}.btn-cancel:hover{background:#fff1f2}.badge.done{background:#f1f5f9;color:var(--muted)}.status{margin-top:4px;font-size:.7rem;padding:2px 8px;border-radius:999px}.status.upcoming{background:#eef2ff;color:#3730a3}.status.past{background:#f1f5f9;color:var(--muted)}.section-riwayat{width:100%;margin:24px 0 12px}.section-title-riwayat{display:block;width:100%;text-align:center;font-size:1rem;font-weight:600;color:var(--muted);position:relative}.section-title-riwayat:before,.section-title-riwayat:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:var(--border)}.section-title-riwayat:before{left:0}.section-title-riwayat:after{right:0}.gaji-page{display:flex;flex-direction:column;gap:12px}.gaji-card{background:#fff;border-radius:14px;box-shadow:0 4px 12px #0000000f;overflow:hidden}.gaji-head{width:100%;border:none;background:none;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.gaji-head .left{display:flex;flex-direction:column;gap:4px}.gaji-head .bulan{font-size:14px;font-weight:800}.status{font-size:11px;padding:3px 8px;border-radius:999px;width:-moz-fit-content;width:fit-content;font-weight:700}.status.ok{background:#dcfce7;color:#166534}.status.pending{background:#fef3c7;color:#92400e}.arrow{font-size:18px;transition:transform .2s ease}.arrow.open{transform:rotate(180deg)}.gaji-body{padding:12px 14px;border-top:1px solid #e5e7eb;animation:fadeUp .2s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.user-row{margin-bottom:10px}.user-row strong{display:block;font-size:13px}.user-row span{font-size:11px;color:#64748b}.bank-box{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f8fafc;border-radius:10px;padding:10px;margin-bottom:10px}.bank-box small{font-size:11px;color:#64748b}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.metric-grid div{background:#f8fafc;border-radius:12px;padding:10px;border:1px solid #e5e7eb}.metric-grid small{font-size:11px;color:#64748b}.metric-grid strong{font-size:15px;font-weight:800}.salary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.salary-grid small{font-size:11px;color:#64748b}.salary-grid .minus{color:#ef4444}.salary-grid .total{grid-column:span 2;background:#f0fdf4;border-radius:10px;padding:8px;font-weight:800;color:#166534}.btn-slip{margin-top:10px;width:100%;height:36px;border-radius:10px;border:none;background:#49dbf5;color:#fff;font-size:13px;font-weight:700}.empty{text-align:center;font-size:13px;color:#94a3b8}.gaji-skeleton{height:64px;border-radius:14px;background:linear-gradient(90deg,#e5e7eb 25%,#f1f5f9 37%,#e5e7eb 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite}@keyframes skeleton{0%{background-position:100% 50%}to{background-position:0 50%}}.profile-page{display:flex;flex-direction:column;gap:14px}.profile-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 4px 12px #0000000f}.profile-card h3{font-size:14px;font-weight:800;margin-bottom:12px}.profile-card.header{display:flex;align-items:center;gap:14px}.avatar-section img{width:72px;height:72px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #e5e7eb}.user-info h2{font-size:16px;font-weight:800;margin:0}.user-info p{font-size:12px;color:#64748b;margin:2px 0 6px}.role-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:#e0f2fe;color:#0369a1}.tiktok{margin-top:6px;font-size:12px;color:#0f172a;font-weight:600}.profile-card input{width:100%;height:42px;border-radius:10px;border:1px solid #e2e8f0;padding:0 12px;font-size:13px;margin-bottom:8px}.profile-card input:focus{outline:none;border-color:#49dbf5;box-shadow:0 0 0 2px #49dbf533}.profile-card .utama{width:100%;height:38px;border-radius:10px;border:none;background:#49dbf5;color:#fff;font-size:13px;font-weight:700}.profile-card button:disabled{background:#bae6fd;color:#0369a1}.match-info{font-size:12px;margin-bottom:8px}.match-info.ok{color:#16a34a}.match-info.bad{color:#dc2626}.avatar-icon{width:72px;height:72px;border-radius:50%;background:#e2e8f0;color:#475569;display:flex;align-items:center;justify-content:center}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){background-color:#6e7881!important}.profile-card h3{margin-bottom:12px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed #e5e7eb;font-size:13px}.info-row:last-child{border-bottom:none}.info-row span{color:#64748b}.info-row strong{color:#0f172a;font-weight:600}.card-head{display:flex;justify-content:space-between;align-items:center}.edit-btn{background:none;border:none;padding:2px 4px;font-size:12px;font-weight:600;color:#0ea5e9;cursor:pointer;line-height:1}.edit-btn:hover{text-decoration:underline}.edit-btn:active{opacity:.6}.edit-btn.small{min-width:auto}.leaderboard{max-width:560px;margin:0 auto;padding:16px 12px;font-family:system-ui,sans-serif}.leaderboard__header{text-align:center;margin-bottom:14px}.leaderboard__header h1{margin:0;font-size:20px}.leaderboard__header p{margin-top:4px;font-size:12px;color:#777}.leaderboard__filter{display:flex;justify-content:center;margin-bottom:12px}.leaderboard__filter select{padding:6px 10px;font-size:12px;border-radius:6px;border:1px solid #ddd}.leaderboard__content{display:flex;flex-direction:column;gap:8px}.state{text-align:center;padding:12px;font-size:12px;color:#777}.state.error{color:#d32f2f}.leaderboard-card{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #eee}.leaderboard-card__left{display:flex;align-items:center;gap:8px}.rank{width:24px;height:24px;font-size:12px;border-radius:50%;display:grid;place-items:center;font-weight:600;background:#e0e0e0}.leaderboard-card__left strong{font-size:13px;display:block}.leaderboard-card__left small{font-size:11px;color:#777}.leaderboard-card__right{font-size:13px;font-weight:600}.top-1 .rank{background:gold}.top-2 .rank{background:silver}.top-3 .rank{background:#cd7f32}.calendar-wrapper{border:1px solid #eee;border-radius:8px;overflow:hidden;margin-bottom:16px;background:#fff}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:#f6f6f6;font-size:11px;font-weight:600;text-align:center;padding:6px 0;color:#666}.calendar-container{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{height:46px;border:1px solid #f1f1f1;font-size:12px;padding:4px;cursor:pointer;position:relative}.calendar-day.empty{background:#fafafa;cursor:default}.calendar-day .date{font-weight:600}.calendar-day .count{font-size:10px;color:#d32f2f}.calendar-day.today{background:#e3f2fd;border-color:#90caf9}.calendar-day.libur{background:#fff5f5}.calendar-day.libur:hover{background:#ffecec}.libur-section{margin-bottom:16px}.libur-section h6{font-size:13px;margin-bottom:6px;border-bottom:1px solid #eee;padding-bottom:4px}.libur-item{font-size:12px;padding:8px 10px;border-radius:6px;margin-bottom:6px;background:#fafafa}.libur-item strong{display:block;font-size:12px;margin-bottom:4px}.libur-item ol{padding-left:18px;margin:0}.libur-item.highlight{background:#fff3cd;transition:background .3s ease}
