@charset "UTF-8";@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap);
/*
! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com
*/
/*
! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;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-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{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:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--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:#3b82f680;--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: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.hidden{display:none}.h-12{height:3rem}.w-12{width:3rem}.w-full{width:100%}.max-w-sm{max-width:24rem}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.list-disc{list-style-type:disc}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-5{padding-left:1.25rem}.text-left{text-align:left}.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-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-unimart-pink{--tw-text-opacity:1;color:rgb(247 123 123/var(--tw-text-opacity))}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);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-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.hover\:underline:hover{text-decoration-line:underline}.kop-sidebar{background-color:#e66a6a;box-shadow:none;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;overflow-x:hidden;padding-top:0;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:100}.kop-sidebar.kop-collapsed{width:75px}.kop-sidebar-header,.kop-sidebar-header-small{align-items:center;border-bottom:1px solid #ffffff26;display:flex;flex-shrink:0;min-height:65px;padding:15px 20px}.kop-sidebar-header{justify-content:space-between}.kop-sidebar-header-small{flex-direction:column;gap:12px;justify-content:center;padding:15px 10px}.kop-header-small-container{align-items:center;display:flex;flex-direction:column;position:relative}.kop-logo-wrapper{flex-grow:1;min-width:0;overflow:hidden;white-space:nowrap}.kop-logo-text{align-items:center;color:#fff;display:flex;font-size:1.4rem;font-weight:500;gap:10px;margin:0;max-width:180px;opacity:1;transition:opacity .2s ease-out .1s,max-width .3s ease-out}.kop-collapsed-logo{height:38px;object-fit:contain;width:38px}.kop-env-tag{border-radius:4px;font-size:.6rem;font-weight:600;padding:2px 6px;text-transform:uppercase;vertical-align:middle}.kop-env-tag.kop-testing{background-color:#fff3;color:#fff}.kop-env-tag-small{border:1px solid #e66a6a;border-radius:50%;font-size:.55rem;font-weight:700;padding:1px 4px;position:absolute;right:-6px;top:-6px}.kop-env-tag-small.kop-testing{background-color:#ff9800;color:#fff}.kop-collapse-btn,.kop-expand-btn{border-radius:4px;color:#fffc;cursor:pointer;flex-shrink:0;font-size:1.4rem;padding:5px;transition:transform .2s ease,opacity .3s ease,color .2s ease}.kop-collapse-btn:hover,.kop-expand-btn:hover{background-color:#ffffff1a;color:#fff;transform:scale(1.05)}.kop-menu-list{flex-grow:1;list-style:none;margin:0;overflow-y:auto;padding:15px 0}.kop-menu-item{align-items:center;border-left:4px solid #0000;border-radius:0;border-radius:6px;color:#ffffffd9;cursor:pointer;display:flex;margin:0 10px 4px;overflow:hidden;padding:12px 20px 12px 18px;position:relative;transition:background-color .2s ease,color .2s ease,padding-left .2s ease}.kop-menu-item:hover{background-color:#ffffff14;border-left-color:#ffffff4d;color:#fff}.kop-menu-item.kop-active{background-color:#ffffff26;border-left-color:#fff;color:#fff;font-weight:600}.kop-menu-item.kop-active .kop-menu-icon{color:#fff}.kop-menu-icon{align-items:center;color:#ffffffd9;display:flex;font-size:1.2rem;justify-content:center;margin-right:15px;min-width:24px;transition:margin .3s ease,color .2s ease;width:24px}.kop-menu-item.kop-active .kop-menu-icon,.kop-menu-item:hover .kop-menu-icon{color:#fff}.kop-menu-text-wrapper{flex-grow:1;min-width:0;overflow:hidden;white-space:nowrap}.kop-menu-text{display:inline-block;max-width:170px;opacity:1;transition:opacity .2s ease-out .1s,max-width .3s ease-out;vertical-align:middle}.kop-sidebar.kop-collapsed .kop-logo-text{max-width:0;opacity:0}.kop-sidebar.kop-collapsed .kop-collapse-btn{opacity:0;overflow:hidden;width:0}.kop-sidebar.kop-collapsed .kop-menu-item{border-left-color:#0000!important;justify-content:center;margin:0 5px 4px;padding:12px 0}.kop-sidebar.kop-collapsed .kop-menu-item.kop-active{background-color:#ffffff26}.kop-sidebar.kop-collapsed .kop-menu-icon{color:#ffffffd9;font-size:1.5rem;margin-right:0}.kop-sidebar.kop-collapsed .kop-menu-item.kop-active .kop-menu-icon{color:#fff}.kop-sidebar.kop-collapsed .kop-menu-text{max-width:0;opacity:0}.kop-sidebar-footer{border-top:1px solid #ffffff26;flex-shrink:0;margin-top:auto;padding:15px 20px}.kop-toggle-btn{align-items:center;background-color:initial;border:1px solid #ffffff4d;border-radius:6px;color:#ffffffe6;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;justify-content:center;padding:10px 15px;transition:background-color .2s,color .2s,border-color .2s;width:100%}.kop-toggle-btn:hover{background-color:#ffffff1a;border-color:#ffffff80;color:#fff}.kop-toggle-btn span{display:inline-block;margin-left:10px}.kop-sidebar.kop-collapsed .kop-toggle-btn{border-color:#0000;padding:10px;width:auto}.kop-sidebar.kop-collapsed .kop-toggle-btn:hover{background-color:#ffffff1a;border-color:#0000}.kop-sidebar.kop-collapsed .kop-toggle-btn span{display:none}.kop-menu-parent{list-style:none;margin:0}.kop-menu-header{background-color:#ffffff0d;border-bottom:1px solid #ffffff1a;font-weight:600;position:relative}.kop-menu-header:hover{background-color:#ffffff26}.kop-menu-arrow{color:#ffffffb3;font-size:12px;margin-left:auto;transition:transform .2s ease}.kop-menu-header:hover .kop-menu-arrow{color:#fff}.kop-submenu{background-color:#0000001a;border-left:2px solid #fff3;border-radius:0 0 6px 6px;list-style:none;margin:0 0 0 10px;overflow:hidden;padding:0}.kop-submenu-item{background-color:initial;border-left:2px solid #0000;border-radius:0;font-size:14px;margin:0;padding:10px 20px 10px 30px}.kop-submenu-item:hover{background-color:#ffffff14;border-left-color:#ffffff4d;transform:translateX(1px)}.kop-submenu-item.kop-active{background-color:#ffffff26;border-left-color:#fff;font-weight:500}.kop-sidebar.kop-collapsed .kop-menu-arrow,.kop-sidebar.kop-collapsed .kop-submenu,.kop-submenu-item.kop-active:before{display:none}.user-menu-container{margin-left:auto;position:relative}.user-menu-button{align-items:center;background:none;border:none;border-radius:4px;color:#333;cursor:pointer;display:flex;padding:8px 16px;transition:background-color .2s}.user-menu-button:hover{background-color:#0000000d}.user-icon{color:#555;font-size:1.3rem;margin-right:8px}.user-email{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{animation:fadeIn .2s ease;background-color:#fff;border-radius:4px;box-shadow:0 4px 12px #00000026;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%;width:220px;z-index:100}.user-info{border-bottom:1px solid #eee;padding:12px 16px}.dropdown-email{color:#333;font-weight:500;margin:0;word-break:break-all}.dropdown-role{color:#666;font-size:.9rem;margin:4px 0 0}.logout-button{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.logout-button:hover{background-color:#f5f5f5}.logout-icon{color:#f44336;margin-right:8px}@media (max-width:768px){.user-email{display:none}.user-icon{margin-right:0}}.transaksi-container{background-color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding:24px}.product-input{align-items:center;display:flex;gap:12px;margin-bottom:24px;position:relative}.product-input input[type=text]{border:1px solid #ccc;border-radius:6px;flex-grow:1;font-size:1rem;margin-right:0;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease}.product-input input[type=text]:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.product-input button{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:background-color .15s ease,box-shadow .15s ease;white-space:nowrap}.product-input button:hover{background-color:#45a049;box-shadow:0 2px 4px #0000001a}.scanner-toggle{margin-bottom:0}.scanner-toggle label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:.9em;gap:8px}.unit-display{background-color:#f0f0f0;border-radius:4px;color:#666;font-size:.9em;margin-left:0;padding:4px 10px;white-space:nowrap}.autocomplete-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 6px 12px #0000001a;left:0;margin-top:6px;max-height:300px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:1000}.suggestion-item{align-items:center;border-bottom:1px solid #eee;display:flex;padding:10px 14px;transition:background-color .15s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:#f5f5f5}.suggestion-item.active{background-color:#e3f2fd}.suggestion-content{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.product-name{color:#333;flex-grow:1;font-size:.95rem;font-weight:500}.quantity-unit-display{align-items:center;display:flex;flex-shrink:0;gap:8px}.quantity-card{background:#e3f2fd;border:1px solid #bbdefb;border-radius:16px;box-shadow:none;color:#1976d2;font-size:.85rem;font-weight:600;padding:4px 12px}.unit{color:#757575;font-size:.85rem;margin-right:0}.suggestion-details{background-color:#fafafa;border-top:1px solid #eee;color:#666;font-size:.85em;padding:10px 14px}.suggestion-details div{margin:4px 0}.suggestion-controls{color:#999;display:flex;font-size:.8em;justify-content:space-between;margin-top:8px;padding:0 14px 8px}.autocomplete-dropdown .suggestion-item.disabled{background-color:#f9f9f9;color:#aaa;cursor:not-allowed}.autocomplete-dropdown .suggestion-item.disabled:hover{background-color:#f9f9f9}.already-selected{background-color:#ffebee;border-radius:4px;color:#ef5350;display:none;font-size:.75rem;font-weight:500;margin-left:8px;padding:2px 6px}.autocomplete-dropdown .suggestion-item.disabled:hover .already-selected{display:inline-block}.product-table{border:1px solid #e0e0e0;border-collapse:initial;border-radius:8px;border-spacing:0;font-size:.95rem;margin-bottom:80px;overflow:hidden;width:100%}.product-table td,.product-table th{border-bottom:1px solid #e0e0e0;padding:12px 16px;text-align:left;vertical-align:middle}.product-table th{background-color:#f9f9f9;border-bottom-width:2px;border-top:none;color:#333;font-weight:600}.product-table td{border-left:none;border-right:none;color:#555}.product-table tr:last-child td{border-bottom:none}.product-table .quantity-container{align-items:center;display:flex;gap:6px;justify-content:center}.quantity-container input[type=number]{-moz-appearance:textfield;border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:6px 8px;text-align:center;width:55px}.quantity-container input[type=number]::-webkit-inner-spin-button,.quantity-container input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-button{align-items:center;background-color:#f5f5f5;border:1px solid #ccc;border-radius:50%;color:#555;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;height:28px;justify-content:center;line-height:0;margin:0;transition:all .15s ease;width:28px}.quantity-button:hover{background-color:#e0e0e0;border-color:#bdbdbd}.quantity-button.minus:hover{background-color:#ef5350;border-color:#ef5350;color:#fff}.quantity-button.plus:hover{background-color:#66bb6a;border-color:#66bb6a;color:#fff}.quantity-btn{background-color:#e0e0e0;border:none;border-radius:4px;color:#555;cursor:pointer;font-size:1.1rem;line-height:1;margin:0;padding:6px 10px;transition:background-color .15s ease,color .15s ease}.quantity-btn:hover{background-color:#bdbdbd}.quantity-btn.minus:hover{background-color:#ef5350;color:#fff}.quantity-btn.plus:hover{background-color:#66bb6a;color:#fff}.quantity-input{-moz-appearance:textfield;border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:6px 8px;text-align:center;width:60px}.quantity-input::-webkit-inner-spin-button,.quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.delete-btn,.hapus-button{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;color:#555;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .15s ease}.delete-btn:hover,.hapus-button:hover{background-color:#f44336;border-color:#f44336;color:#fff}.footer{align-items:center;background-color:#fff;border-top:1px solid #eee;bottom:0;box-shadow:0 -3px 8px #00000014;display:flex;justify-content:space-between;left:0;padding:12px 24px;position:sticky;right:0;z-index:10}.footer h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.footer button{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 24px;transition:background-color .15s ease,box-shadow .15s ease}.footer button:hover{background-color:#45a049;box-shadow:0 2px 5px #00000026}.payment-modal-overlay{background-color:#0009;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.payment-modal{background-color:#fff;border-radius:12px;bottom:auto;box-shadow:0 8px 25px #00000026;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;left:50%;max-width:480px;outline:none;padding:24px 30px;position:absolute;right:auto;top:50%;transform:translate(-50%,-50%);width:90%}.payment-modal h2{color:#333;font-size:1.4rem;font-weight:600;margin-bottom:20px;margin-top:0;text-align:center}.modal-content,.payment-modal-content{display:flex;flex-direction:column;gap:16px;margin-top:0;width:100%}.modal-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:0;padding:8px 0}.modal-row:last-of-type{border-bottom:none}.modal-row label{color:#555;flex-shrink:0;font-size:1rem;font-weight:500;margin-right:10px}.modal-input,.modal-row input[type=text]{border:1px solid #ccc;border-radius:6px;flex-basis:150px;flex-grow:1;font-size:1rem;max-width:200px;min-width:120px;padding:8px 12px;text-align:right;transition:border-color .2s ease,box-shadow .2s ease;width:auto}.modal-input:focus,.modal-row input[type=text]:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.modal-value{color:#1976d2;font-size:1rem;font-weight:600;text-align:right;word-break:break-all}.modal-buttons{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.modal-buttons button{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:background-color .15s ease,box-shadow .15s ease}.modal-buttons button:hover{box-shadow:0 2px 5px #00000026}.cancel-button{background-color:#f44336}.cancel-button:hover{background-color:#d32f2f}.complete-button{background-color:#4caf50}.complete-button:hover{background-color:#45a049}.complete-button:disabled{background-color:#bdbdbd;box-shadow:none;color:#757575;cursor:not-allowed}.complete-button:disabled:hover{background-color:#bdbdbd}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #fff6;border-top-color:#fff;height:18px;margin-right:8px;vertical-align:middle;width:18px}.error-message,.processing-message,.success-message{align-items:center;border-left-style:solid;border-left-width:4px;border-radius:6px;display:flex;font-size:.9rem;gap:8px;margin:10px 0;padding:10px 14px;text-align:left}.error-message{border-left-color:#f44336;color:#d32f2f}.processing-message{background-color:#e3f2fd;border-left-color:#2196f3;color:#1976d2}.success-message{border-left-color:#4caf50;color:#388e3c}.snackbar-container{bottom:20px;display:flex;flex-direction:column-reverse;gap:10px;left:50%;max-width:500px;position:fixed;transform:translateX(-50%);width:80%;z-index:1100}.snackbar{animation:slideIn .3s ease-out;box-shadow:0 4px 10px #0003;gap:16px;margin-bottom:8px;padding:14px 20px;width:100%}.snackbar-warning{background-color:#ffc107;color:#000}.low-stock{color:#f44336;font-weight:600}.snackbar-error{background-color:#f44336;color:#fff}.snackbar button{background:none;font-size:1.1em;line-height:1;margin-left:auto;padding:0}.snackbar button:hover{color:#4db6ac}@keyframes slideIn{0%{opacity:0;transform:translateX(-50%) translateY(100px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.pm-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.pm-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-width:480px;overflow:hidden;width:100%}.pm-header{align-items:center;background:#fafbfc;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:18px 24px}.pm-header h2{color:#1e293b;font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin:0}.pm-close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;line-height:1;transition:all .15s;width:32px}.pm-close:hover{background:#e2e8f0;color:#475569}.pm-close:disabled{cursor:not-allowed;opacity:.5}.pm-body{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px 24px}.pm-total-section{background:linear-gradient(135deg,#1e3a5f,#0f2744);border-radius:12px;padding:20px;text-align:center}.pm-total-label{color:#ffffffb3;font-size:.8rem;font-weight:500;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.pm-total-value{color:#fff;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.pm-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.pm-section-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:8px;margin-bottom:14px;padding-bottom:12px}.pm-section-icon{font-size:1rem}.pm-section-title{color:#334155;flex:1 1;font-size:.875rem;font-weight:600}.pm-section-badge{background:#f1f5f9;border-radius:4px;color:#94a3b8;font-size:.7rem;font-weight:500;padding:3px 8px}.pm-field{display:flex;flex-direction:column;gap:6px}.pm-field label{color:#64748b;font-size:.75rem;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.pm-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#1e293b;font-size:.95rem;padding:12px 14px;transition:all .15s;width:100%}.pm-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f;outline:none}.pm-input:disabled{background-color:#f8fafc;color:#94a3b8;cursor:not-allowed}.pm-input::placeholder{color:#94a3b8}.pm-input-error{background-color:#fef2f2;border-color:#ef4444!important}.pm-input-success{background-color:#f0fdf4;border-color:#22c55e!important}.pm-input-group{align-items:center;display:flex;gap:8px}.pm-input-group .pm-input{flex:1 1}.pm-clear-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:500;height:32px;justify-content:center;transition:all .15s;width:32px}.pm-clear-btn:hover:not(:disabled){background:#e2e8f0;color:#475569}.pm-clear-btn:disabled{cursor:not-allowed;opacity:.5}.pm-member-section{background:#fefce8;border-color:#fef08a}.pm-input-member{font-size:1.25rem;font-weight:600;letter-spacing:4px;text-align:center}.pm-member-status{align-items:center;border-radius:8px;display:flex;font-size:.85rem;gap:8px;margin-top:10px;padding:10px 12px}.pm-status-icon{font-size:1rem}.pm-member-checking{background:#fef3c7;color:#b45309}.pm-member-error{background:#fef2f2;color:#dc2626}.pm-member-success{background:#dcfce7;color:#16a34a;flex-wrap:wrap;gap:10px;justify-content:space-between}.pm-member-info{align-items:center;display:flex;gap:8px}.pm-member-check{font-size:1rem;font-weight:700}.pm-member-name{font-weight:600}.pm-points-badge{background:#16a34a;border-radius:6px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 10px}.pm-member-hint{background:#fef9c3;border-radius:8px;color:#854d0e;font-size:.8rem;line-height:1.4;margin-top:10px;padding:10px 12px}.pm-voucher-section{background:#f8fafc}.pm-voucher-input-row{display:flex;gap:8px}.pm-input-voucher{flex:1 1}.pm-check-btn{background:#3b82f6;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:12px 20px;transition:all .15s;white-space:nowrap}.pm-check-btn:hover:not(:disabled){background:#2563eb}.pm-check-btn:disabled{background:#cbd5e1;cursor:not-allowed}.pm-voucher-error{background:#fef2f2;border-left:3px solid #ef4444;border-radius:8px;color:#dc2626;font-size:.85rem;margin-top:10px;padding:10px 12px}.pm-applied-voucher{align-items:center;background:#dcfce7;border:1px solid #bbf7d0;border-radius:10px;display:flex;gap:12px;padding:14px}.pm-voucher-details{flex:1 1;min-width:0}.pm-voucher-name{color:#166534;font-size:.95rem;font-weight:600;margin-bottom:2px}.pm-voucher-member{color:#15803d;font-size:.8rem}.pm-voucher-value{color:#16a34a;font-size:1.1rem;font-weight:700}.pm-remove-voucher{align-items:center;background:#dc26261a;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:500;height:28px;justify-content:center;transition:all .15s;width:28px}.pm-remove-voucher:hover:not(:disabled){background:#dc262633}.pm-remove-voucher:disabled{cursor:not-allowed;opacity:.5}.pm-payment-section{background:#fff;border:2px solid #e2e8f0}.pm-summary-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;padding:10px 0}.pm-summary-discount{border-bottom:1px dashed #e2e8f0;color:#16a34a}.pm-summary-final{border-bottom:1px solid #e2e8f0;margin-bottom:14px;padding:14px 0}.pm-summary-final span:first-child{color:#334155;font-weight:600}.pm-final-total{color:#1e3a5f;font-size:1.25rem;font-weight:700}.pm-input-payment{font-size:1.25rem;font-weight:600;letter-spacing:.5px;text-align:right}.pm-payment-error{background:#fef2f2;border-left:3px solid #ef4444;border-radius:8px;color:#dc2626;font-size:.85rem;margin-top:10px;padding:10px 12px}.pm-change-display{align-items:center;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:10px;display:flex;justify-content:space-between;margin-top:14px;padding:16px}.pm-change-label{color:#047857;font-size:.9rem;font-weight:500}.pm-change-value{color:#059669;font-size:1.5rem;font-weight:700}.pm-processing{align-items:center;background:#eff6ff;border-radius:10px;color:#2563eb;display:flex;font-size:.9rem;font-weight:500;gap:10px;justify-content:center;padding:14px}.pm-spinner{animation:pm-spin .8s linear infinite;border:2px solid #bfdbfe;border-radius:50%;border-top-color:#3b82f6;height:18px;width:18px}@keyframes pm-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pm-footer{background:#fafbfc;border-top:1px solid #f1f5f9;gap:12px;justify-content:flex-end;padding:16px 24px}.pm-btn,.pm-footer{align-items:center;display:flex}.pm-btn{border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .15s}.pm-btn:disabled{cursor:not-allowed;opacity:.5}.pm-btn-primary{background:linear-gradient(135deg,#059669,#047857);color:#fff;min-width:120px}.pm-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);box-shadow:0 4px 12px #0596694d;transform:translateY(-1px)}.pm-btn-secondary{background:#fff;border:1.5px solid #e2e8f0;color:#64748b}.pm-btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.pm-btn-spinner{animation:pm-spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@media (max-width:600px){.pm-overlay{align-items:flex-end;padding:0}.pm-modal{border-radius:20px 20px 0 0;max-height:95vh;max-width:100%}.pm-body{padding:16px 20px}.pm-total-value{font-size:1.5rem}.pm-voucher-input-row{flex-direction:column}.pm-check-btn{width:100%}.pm-btn,.pm-footer{padding:14px 20px}.pm-btn{flex:1 1}.pm-applied-voucher{flex-wrap:wrap}.pm-voucher-details{flex-basis:100%;margin-bottom:8px}.pm-member-success{align-items:flex-start;flex-direction:column}.pm-points-badge{align-self:flex-end}}.account-number-wrapper{display:inline-block;position:relative}.tooltip{animation:tooltipFadeIn .2s,tooltipFadeOut .2s 1.8s;background-color:#333;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;font-size:12px;padding:4px 8px;top:-30px;transform:translateX(-50%);white-space:nowrap;z-index:100}.tooltip,.tooltip:after{left:50%;position:absolute}.tooltip:after{border:5px solid #0000;border-top-color:#333;content:"";margin-left:-5px;top:100%}@keyframes tooltipFadeOut{0%{opacity:1}to{opacity:0}}.account-number-container{align-items:center;display:flex;gap:8px;width:100%}.copy-button{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.copy-button:hover{background-color:#f3f4f6;color:#3b82f6}.copy-button:active{transform:scale(.95)}.field-with-edit{align-items:center;display:flex;gap:2px}.edit-button{align-items:center;background:none;border:none;box-shadow:none;color:#e5e7eb;cursor:pointer;display:inline-flex;font-size:9px;justify-content:center;margin-left:3px;opacity:.4;padding:0;transition:opacity .2s ease}.edit-button:hover{background-color:initial;color:#3b82f6;opacity:.8}.edit-button:active{transform:scale(.95)}.edit-field-container{align-items:center;display:flex;gap:8px;width:100%}.edit-input{border:1px solid #d1d5db;border-radius:4px;flex:1 1;font-size:14px;padding:6px 10px}.edit-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d;outline:none}.edit-actions{display:flex;gap:4px}.edit-actions button{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.edit-actions button:first-child{color:#10b981}.edit-actions button:first-child:hover{background-color:#ecfdf5}.edit-actions button:last-child{color:#ef4444}.edit-actions button:last-child:hover{background-color:#fef2f2}.account-actions{display:flex;gap:4px}.modal-overlay-loanDetailModal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#11182799;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content-loanDetailModal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:90%}.modal-header-loanDetailModal{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.modal-header-loanDetailModal h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0}.modal-close-loanDetailModal{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;transition:color .2s ease}.modal-close-loanDetailModal:hover{color:#1f2937}.modal-body-loanDetailModal{background-color:#f9fafb;flex-grow:1;overflow-y:auto;padding:1.5rem}.detail-section-loanDetailModal{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.detail-section-loanDetailModal:last-child{margin-bottom:0}.detail-section-loanDetailModal h4{border-bottom:1px solid #f3f4f6;color:#111827;font-size:1rem;font-weight:600;margin-bottom:1rem;margin-top:0;padding-bottom:.75rem}.detail-grid-loanDetailModal{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.detail-item-loanDetailModal{font-size:.9rem}.detail-item-loanDetailModal span{color:#6b7280;display:block;font-size:.8rem;margin-bottom:.25rem}.detail-item-loanDetailModal strong{color:#374151;font-weight:500}.status-badge-loanDetailModal{border:1px solid #0000;border-radius:9999px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 12px;white-space:nowrap}.status-badge-loanDetailModal.status-active{background-color:#d1fae5;color:#065f46}.status-badge-loanDetailModal.status-waiting{background-color:#dbeafe;color:#1e40af}.status-badge-loanDetailModal.status-revision{background-color:#fef3c7;color:#92400e}.status-badge-loanDetailModal.status-pending{background-color:#f3f4f6;color:#374151}.status-badge-loanDetailModal.status-rejected{background-color:#fee2e2;color:#991b1b}.status-badge-loanDetailModal.status-completed{background-color:#dbeafe;color:#1e40af}.status-badge-loanDetailModal.status-default{background-color:#f3f4f6;color:#374151}.history-timeline-loanDetailModal{position:relative}.history-timeline-loanDetailModal:before{background-color:#e5e7eb;bottom:10px;content:"";left:12px;position:absolute;top:10px;width:2px}.history-item-loanDetailModal{margin-bottom:1.5rem;padding-left:40px;position:relative}.history-item-loanDetailModal:last-child{margin-bottom:0}.history-item-loanDetailModal:before{background-color:#e5e7eb;content:"";height:2px;left:24px;position:absolute;top:15px;width:16px}.history-marker-loanDetailModal{align-items:center;background-color:#fff;border:2px solid;border-radius:50%;display:flex;font-size:.8rem;height:24px;justify-content:center;left:0;position:absolute;top:4px;width:24px;z-index:1}.history-content-loanDetailModal{background-color:#f9fafb;border-radius:8px;border-style:solid;border-width:2px;padding:1rem;position:relative}.history-content-loanDetailModal p{margin:0}.history-content-loanDetailModal .status-loanDetailModal{color:#1f2937;font-weight:600;margin-bottom:.25rem}.history-content-loanDetailModal .meta-loanDetailModal{color:#6b7280;font-size:.8rem}.history-content-loanDetailModal .notes-loanDetailModal{border-left-style:solid;border-left-width:3px;border-radius:4px;font-size:.85rem;margin-top:.75rem;padding:.75rem}.history-status-approved .history-marker-loanDetailModal{border-color:#10b981;color:#10b981}.history-status-waiting .history-marker-loanDetailModal{border-color:#3b82f6;color:#3b82f6}.history-status-revision .history-marker-loanDetailModal{border-color:#f59e0b;color:#f59e0b}.history-status-pending .history-marker-loanDetailModal{border-color:#4b5563;color:#4b5563}.history-status-rejected .history-marker-loanDetailModal{border-color:#ef4444;color:#ef4444}.history-status-completed .history-marker-loanDetailModal{border-color:#3b82f6;color:#3b82f6}.history-status-payment .history-marker-loanDetailModal{border-color:#8b5cf6;color:#8b5cf6}.history-status-default .history-marker-loanDetailModal{border-color:#6b7280;color:#6b7280}.history-status-approved .history-content-loanDetailModal{border-color:#a7f3d0}.history-status-waiting .history-content-loanDetailModal{border-color:#bfdbfe}.history-status-revision .history-content-loanDetailModal{border-color:#fde68a}.history-status-pending .history-content-loanDetailModal{border-color:#e5e7eb}.history-status-rejected .history-content-loanDetailModal{border-color:#fecaca}.history-status-completed .history-content-loanDetailModal{border-color:#bfdbfe}.history-status-payment .history-content-loanDetailModal{border-color:#ddd6fe}.history-status-default .history-content-loanDetailModal{border-color:#e5e7eb}.history-status-approved .notes-loanDetailModal{background-color:#f0fdf4;border-color:#6ee7b7;color:#065f46}.history-status-waiting .notes-loanDetailModal{background-color:#eff6ff;border-color:#93c5fd;color:#1e40af}.history-status-revision .notes-loanDetailModal{background-color:#fffbeb;border-color:#fcd34d;color:#92400e}.history-status-pending .notes-loanDetailModal{background-color:#f3f4f6;border-color:#d1d5db;color:#374151}.history-status-rejected .notes-loanDetailModal{background-color:#fef2f2;border-color:#fca5a5;color:#991b1b}.history-status-completed .notes-loanDetailModal{background-color:#eff6ff;border-color:#93c5fd;color:#1e40af}.history-status-payment .notes-loanDetailModal{background-color:#f5f3ff;border-color:#c4b5fd;color:#5b21b6}.history-status-default .notes-loanDetailModal{background-color:#f3f4f6;border-color:#d1d5db;color:#374151}.modal-actions-loanDetailModal{align-items:center;background-color:#fff;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:1rem 1.5rem}.action-buttons-loanDetailModal{display:flex;gap:.75rem;justify-content:flex-end}.button-danger-loanDetailModal,.button-info-loanDetailModal,.button-primary-loanDetailModal,.button-secondary-loanDetailModal,.button-success-loanDetailModal{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:all .2s;white-space:nowrap}.button-primary-loanDetailModal{background-color:#3b82f6;color:#fff}.button-primary-loanDetailModal:hover{background-color:#2563eb}.button-secondary-loanDetailModal{background-color:#fff;border-color:#d1d5db;color:#4b5563}.button-secondary-loanDetailModal:hover{background-color:#f3f4f6}.button-success-loanDetailModal{background-color:#10b981;color:#fff}.button-success-loanDetailModal:hover{background-color:#059669}.button-danger-loanDetailModal{background-color:#ef4444;color:#fff}.button-danger-loanDetailModal:hover{background-color:#dc2626}.button-info-loanDetailModal{align-items:center;background-color:#60a5fa;color:#fff;display:flex;gap:.5rem}.button-info-loanDetailModal:hover{background-color:#3b82f6}.whatsapp-link-loanDetailModal{align-items:center;background-color:#e6fffa;border:1px solid #a7f3d0;border-radius:6px;color:#047857;display:inline-flex;font-weight:500;gap:.5rem;padding:6px 12px;text-decoration:none;transition:all .2s ease}.whatsapp-link-loanDetailModal:hover{background-color:#d1fae5;border-color:#6ee7b7;color:#059669}.whatsapp-link-loanDetailModal svg{color:#10b981}.admin-panel{padding:20px}.admin-panel h2{color:#333;margin-bottom:20px}.admin-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 2fr}@media (max-width:768px){.admin-container{grid-template-columns:1fr}}.create-user-section,.users-list-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.create-user-section h3,.users-list-section h3{border-bottom:1px solid #eee;color:#444;font-size:1.2rem;margin-bottom:20px;margin-top:0;padding-bottom:10px}.form-group{margin-bottom:15px}.form-group label{color:#555;margin-bottom:5px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:10px;width:100%}.submit-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:10px;padding:10px;transition:background-color .2s;width:100%}.submit-button:hover{background-color:#3e8e41}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #eee;padding:12px;text-align:left}.users-table th{background-color:#f7f7f7;color:#555;font-weight:600}.delete-button{background-color:#f44336;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;padding:5px 10px}.delete-button:hover{background-color:#d32f2f}.error-message{background-color:#ffebee;padding:10px}.success-message{background-color:#e8f5e9;color:#2e7d32;padding:10px}.no-users{color:#999;padding:20px 0;text-align:center}.tabs{border-bottom:1px solid #eee;display:flex;margin-bottom:20px}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:.9rem;margin-right:5px;padding:10px 20px;transition:all .2s}.tab:hover{color:#2c3e50}.tab.active{border-bottom-color:#3498db;color:#3498db;font-weight:600}.loans-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.loan-card{box-shadow:0 2px 10px #0000001a;overflow:hidden}.loan-card:hover{box-shadow:0 4px 15px #00000026;transform:translateY(-3px)}.loan-header{background:#f8f9fa;border-bottom:1px solid #eee;padding:15px 20px}.loan-header h3{color:#2c3e50;font-size:1rem;margin:0}.loan-details{padding:15px 20px}.detail-row{display:flex;line-height:1.5;margin-bottom:10px}.detail-row:last-child{margin-bottom:0}.detail-row .label{color:#666;flex-shrink:0;font-weight:500;min-width:150px}.detail-row .value{color:#333;flex-grow:1;word-break:break-word}.loan-actions{background:#f8f9fa;border-top:1px solid #eee;flex-wrap:wrap;padding:15px 20px}.approve-btn,.reject-btn,.revise-btn,.secondary-btn{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 15px;transition:all .2s}.approve-btn{background-color:#4caf50;color:#fff}.approve-btn:hover{background-color:#3e8e41}.reject-btn{background-color:#f44336;color:#fff}.reject-btn:hover{background-color:#d32f2f}.revise-btn{background-color:#ff9800;color:#fff}.revise-btn:hover{background-color:#e68a00}.secondary-btn{background-color:#e0e0e0;color:#333}.secondary-btn:hover{background-color:#d0d0d0}.status-badge{padding:3px 8px}.status-badge.success{background-color:#e8f5e9;color:#2e7d32}.status-badge.error{background-color:#ffebee;color:#c62828}.status-badge.warning{background-color:#fff8e1;color:#f57f17}.status-badge.info{background-color:#e3f2fd;color:#1565c0}.modal-overlay{background-color:#00000080;padding:20px}.modal-content{background:#fff;box-shadow:0 5px 20px #0003}.modal-content h3{border-bottom:1px solid #eee;color:#2c3e50;margin-bottom:20px;margin-top:0;padding-bottom:10px}.modal-actions{border-top:1px solid #eee;gap:10px;margin-top:20px;padding-top:15px}@media (max-width:768px){.loans-list{grid-template-columns:1fr}.detail-row{flex-direction:column}.detail-row .label{margin-bottom:5px}.loan-actions{flex-direction:column}.loan-actions button{width:100%}}.loading{padding:40px 0;text-align:center}.no-data{color:#999;font-style:italic;grid-column:1/-1;padding:40px 20px;text-align:center}.table-container{background-color:#fff;box-shadow:0 2px 8px #0000001a;margin-top:20px;width:100%}.loans-table{border-collapse:collapse;font-size:.95rem;width:100%}.loans-table th{background-color:#f7f7f7;border-bottom:2px solid #ddd;color:#333;font-weight:600;padding:12px 15px;text-align:left}.loans-table td{border-bottom:1px solid #eee;padding:10px 15px;vertical-align:middle}.clickable-row{transition:background-color .2s}.clickable-row:hover{background-color:#f5f9ff}.overdue-row{background-color:#fff8f8}.overdue-row:hover{background-color:#fff0f0}.overdue-text{color:#d32f2f;font-weight:500}.loans-table tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:8px;justify-content:center}.filter-section{background-color:#f9f9f9;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:15px 0;padding:15px}.filter-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:10px}.filter-row:last-child{margin-bottom:0}.filter-group{flex:1 1;min-width:200px}.filter-group label{font-size:.85rem;font-weight:500;margin-bottom:5px}.filter-input,.filter-select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:8px 10px}.filter-input:focus,.filter-select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.date-input{flex:1 1}.filter-reset-btn{background-color:#f1f1f1;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:block;font-size:.9rem;margin-left:auto;margin-top:15px;padding:8px 15px;transition:all .2s}.filter-reset-btn:hover{background-color:#e5e5e5}.status-filter-section{background-color:#f5f5f5;border-radius:6px;margin-top:15px;padding:12px}.status-filter-header{margin-bottom:10px}.status-filter-header label{font-weight:500}.filter-action-btn{background-color:#e0e0e0;font-size:.8rem;padding:4px 8px;transition:background-color .2s}.filter-action-btn:hover{background-color:#d0d0d0}.status-checkboxes{display:flex;flex-wrap:wrap;gap:10px}.status-checkbox{align-items:center;background-color:#fff;border:1px solid #eee;border-radius:4px;cursor:pointer;display:inline-flex;gap:6px;padding:4px 8px;transition:all .2s}.status-checkbox:hover{background-color:#f9f9f9}.status-checkbox input[type=checkbox]{margin:0}.date-filter-group{flex:2 1}.date-inputs{align-items:center;display:flex;gap:8px}.date-separator{color:#666;font-weight:700}@media (max-width:768px){.filter-row{flex-direction:column;gap:10px}.filter-group{width:100%}}.table-actions button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:.9rem;gap:5px;justify-content:center;min-width:80px;padding:6px 12px;transition:all .2s;white-space:nowrap}.complete-btn{background-color:#4caf50;color:#fff;padding:5px 12px}.complete-btn:hover{background-color:#43a047}.payment-btn{background-color:#3498db;color:#fff;padding:5px 12px}.payment-btn:hover{background-color:#2980b9}.upload-btn{background-color:#9b59b6;color:#fff;padding:5px 12px}.upload-btn:hover{background-color:#8e44ad}.file-input{border:1px solid #ddd;border-radius:4px;padding:8px;width:100%}.file-help{color:#777;display:block;font-size:.8rem;margin-top:4px}.file-preview{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;margin:15px 0;padding:10px;text-align:center}.file-preview img{border-radius:4px;max-height:200px;max-width:100%}.pdf-preview{align-items:center;display:flex;gap:10px;justify-content:center;padding:15px}.file-icon{font-size:2rem}.payment-proof-container{background-color:#f8f8f8;border-radius:6px;padding:15px;text-align:center}.payment-proof-image{border-radius:6px;box-shadow:0 2px 8px #0000001a}.payment-proof-link{gap:12px;justify-content:center;padding:20px}.payment-proof-link a{color:#3498db;font-weight:500}.payment-proof-link a:hover{text-decoration:underline}.view-proof-link{background-color:#2196f31a;border-radius:4px;color:#2196f3;display:inline-block;font-weight:500;margin-top:8px;padding:4px 10px;text-decoration:none;transition:all .2s}.view-proof-link:hover{background-color:#2196f333;text-decoration:underline}.history-proof-link{margin-top:8px}.loan-summary{background-color:#f7f7f7;border-radius:4px;font-size:.9rem;margin-bottom:15px;padding:12px}.loan-summary p{line-height:1.3;margin:5px 0}.loan-detail-modal{max-height:90vh;max-width:700px;width:90%}.loan-detail-section{margin-bottom:25px}.loan-detail-section h4{border-bottom:1px solid #eee;color:#333;font-size:1.1rem;margin:0 0 15px;padding-bottom:8px}.detail-grid{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.detail-item{flex-direction:column}.detail-label{color:#666;font-size:.85rem}.detail-value{color:#333;font-size:.95rem}.history-timeline:before{background-color:#e0e0e0;left:10px}.history-item{margin-bottom:20px}.history-marker{background-color:#fff;border:2px solid #3498db;height:12px;left:-30px;width:12px;z-index:1}.history-content{background-color:#f9f9f9;border-radius:5px;box-shadow:0 1px 3px #0000000d;padding:12px}.history-status{font-weight:600;margin-bottom:5px}.history-status.success{color:#2e7d32}.history-status.error{color:#c62828}.history-status.warning{color:#f57f17}.history-status.info{color:#1565c0}.history-time{color:#666;font-size:.8rem}.history-notes{font-size:.9rem}.modal-footer{border-top:1px solid #eee;margin-top:20px;padding-top:15px}.modal-close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;position:absolute;right:15px;top:15px}.modal-close-btn:hover{color:#333}@media (max-width:768px){.table-container{overflow-x:auto}.loans-table{min-width:650px}.detail-grid{grid-template-columns:1fr}}.modal-overlay-revisionModal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#11182799;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content-revisionModal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:480px;overflow:hidden;width:90%}.modal-content-revisionModal h3{color:#1f2937;flex-shrink:0;font-size:1.15rem;font-weight:600;margin:0;padding:1.25rem 1.5rem}.loan-summary-revisionModal{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;flex-shrink:0;font-size:.9rem;padding:1rem 1.5rem}.loan-summary-revisionModal p{color:#4b5563;line-height:1.5;margin:0}.loan-summary-revisionModal strong{color:#1f2937;font-weight:600;margin-right:.5rem}.form-body-revisionModal{flex-grow:1;overflow-y:auto;padding:1.5rem}.form-group-revisionModal{margin-bottom:1.25rem}.form-group-revisionModal:last-child{margin-bottom:0}.form-group-revisionModal label{color:#374151;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group-revisionModal input,.form-group-revisionModal select,.form-group-revisionModal textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group-revisionModal input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.form-group-revisionModal select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:1.2em 1.2em;padding-right:2.5rem}.form-group-revisionModal textarea{min-height:80px;resize:vertical}.form-group-revisionModal input:focus,.form-group-revisionModal select:focus,.form-group-revisionModal textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633;outline:none}.modal-actions-revisionModal{background-color:#fff;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.button-primary-revisionModal,.button-secondary-revisionModal{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:background-color .2s,border-color .2s,box-shadow .2s}.button-primary-revisionModal{background-color:#3b82f6;color:#fff}.button-primary-revisionModal:hover{background-color:#2563eb}.button-secondary-revisionModal{background-color:#fff;border-color:#d1d5db;color:#4b5563}.button-secondary-revisionModal:hover{background-color:#f9fafb}.button-primary-revisionModal:focus,.button-secondary-revisionModal:focus{box-shadow:0 0 0 3px #3b82f64d;outline:none}.tenor-chips-container-revisionModal{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-top:8px}.tenor-chip-revisionModal{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.9rem;padding:10px 5px;text-align:center;transition:background-color .2s,border-color .2s,color .2s}.tenor-chip-revisionModal:hover{background-color:#f3f4f6;border-color:#a5b4fc}.tenor-chip-revisionModal.selected{background-color:#60a5fa;border-color:#60a5fa;color:#fff;font-weight:600}.tenor-chip-revisionModal.selected:hover{background-color:#3b82f6}.simpan-pinjam-container{background-color:#f8f9fa;color:#333;display:flex;flex-direction:column;font-family:Arial,sans-serif;gap:24px;padding:24px}.simpan-pinjam-header h1{color:#2c3e50;font-size:28px;margin-bottom:16px}.header-with-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.header-with-actions h2{color:#2c3e50;font-size:24px;margin:0}.export-excel-btn{align-items:center;background-color:#28a745;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:background-color .2s ease,transform .1s ease}.export-excel-btn:hover{background-color:#218838;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.export-excel-btn:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.export-icon{font-size:16px}.filters-section{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014;gap:16px;padding:20px}.filter-group,.filters-section{display:flex;flex-direction:column}.filter-group{gap:8px}.filter-group label{color:#555;font-size:14px;font-weight:700}.filter-inputs,.status-filter-chips{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.filters-section input[type=date],.filters-section input[type=text]{border:1px solid #ced4da;border-radius:6px;font-size:14px;padding:10px 14px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.filters-section input[type=date]:focus,.filters-section input[type=text]:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.status-filter-section{display:flex;flex-direction:column;gap:12px}.status-filter-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.status-filter-header label{color:#555;font-size:14px;font-weight:700}.status-filter-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.filter-action-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:background-color .2s ease,transform .1s ease}.filter-action-btn:hover{background-color:#5a6268;transform:translateY(-1px)}.filter-action-btn:active{transform:translateY(0)}.filter-pending-indicator{animation:pulse 1.5s ease-in-out infinite;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:12px;gap:4px;padding:4px 10px}.filter-pending-indicator,.status-filter-chips .chip{align-items:center;display:inline-flex;font-weight:500}.status-filter-chips .chip{background-color:#e9ecef;border:1px solid #0000;border-radius:20px;color:#495057;cursor:pointer;font-size:13px;padding:8px 16px;transition:background-color .3s ease,color .3s ease,transform .2s ease}.status-filter-chips .chip:hover{background-color:#d3d9df;transform:translateY(-1px)}.status-filter-chips .chip.active{background-color:#007bff;border-color:#0056b3;color:#fff}.status-filter-chips .chip.active:hover{background-color:#0056b3}.status-filter-chips input[type=checkbox]{display:none}.loan-table-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014;overflow-x:auto}.loan-table{border-collapse:collapse;font-size:14px;width:100%}.loan-table td,.loan-table th{border-bottom:1px solid #dee2e6;padding:12px 16px;text-align:left}.loan-table th{background-color:#f1f3f5;color:#343a40;font-size:12px;font-weight:600;text-transform:uppercase}.loan-table tbody tr:hover{background-color:#f8f9fa}.action-button{border:none;border-radius:6px;font-size:13px;font-weight:500;margin-right:6px;padding:8px 14px;transition:background-color .2s ease,transform .1s ease}.action-button:hover{transform:translateY(-1px)}.action-button.approve{background-color:#28a745;color:#fff}.action-button.approve:hover{background-color:#218838}.action-button.reject{background-color:#dc3545;color:#fff}.action-button.reject:hover{background-color:#c82333}.action-button.revise{background-color:#ffc107;color:#212529}.action-button.revise:hover{background-color:#e0a800}.action-button.cicil,.action-button.detail,.action-button.lunas,.action-button.transfer{background-color:#007bff;color:#fff}.action-button.cicil:hover,.action-button.detail:hover,.action-button.lunas:hover,.action-button.transfer:hover{background-color:#0056b3}.action-button.disabled{background-color:#6c757d;color:#fff;cursor:not-allowed}.action-button.disabled:hover{background-color:#5a6268;transform:none}.status-badge{min-width:120px}.status-menunggu-bak{background-color:#ffc107;color:#333}.status-menunggu-wr1{background-color:#fd7e14;color:#fff}.status-menunggu-transfer{background-color:#17a2b8;color:#fff}.status-aktif{background-color:#28a745;color:#fff}.status-lunas{background-color:#007bff;color:#fff}.status-direvisi{background-color:#6f42c1;color:#fff}.status-ditolak{background-color:#dc3545;color:#fff}.pagination-controls{align-items:center;display:flex;gap:8px;justify-content:center;padding:16px 0}.pagination-controls button{background-color:#fff;border:1px solid #007bff;border-radius:4px;color:#007bff;cursor:pointer;padding:8px 12px;transition:background-color .2s ease,color .2s ease}.pagination-controls button:hover:not(:disabled){background-color:#007bff;color:#fff}.pagination-controls button:disabled{border-color:#ced4da;color:#ced4da;cursor:not-allowed}.pagination-controls span{color:#555;font-size:14px}.modal-content{box-shadow:0 5px 15px #0003;max-width:500px;padding:25px;width:90%}.modal-header{border-bottom:1px solid #eee;margin-bottom:15px;padding-bottom:15px}.modal-header h2{color:#2c3e50;font-size:20px;margin:0}.modal-close-button{background:none;border:none;color:#888;cursor:pointer;font-size:24px}.modal-close-button:hover{color:#333}.modal-body{margin-bottom:20px}.modal-footer{display:flex;gap:10px;justify-content:flex-end}.text-center{text-align:center}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}@media (max-width:768px){.filters-section{align-items:stretch;flex-direction:column}.filter-inputs{flex-direction:column;gap:10px}.filters-section input[type=date],.filters-section input[type=text]{width:100%}.loan-table td,.loan-table th{font-size:13px;padding:10px 8px}.action-button{font-size:12px;margin-bottom:5px;padding:7px 10px}.modal-content{width:95%}}.daftar-anggota-container{background-color:#f9fafb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding:24px}.daftar-anggota-container h1{color:#111827;font-size:1.75rem;font-weight:600;margin-bottom:24px}.error,.loading{color:#6b7280}.filter-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;padding:16px}.search-box{flex:2 1 300px;min-width:250px}.search-input{border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;outline:none}.status-filter{flex:1 1 200px;max-width:250px;min-width:180px}.filter-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:1.2em 1.2em;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.9rem;padding:10px 2.5rem 10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;outline:none}.table-container{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000000f;margin-top:1.5rem;overflow-x:auto}.members-table{background-color:#fff;border-collapse:collapse;min-width:600px;width:100%}.members-table td,.members-table th{border-bottom:1px solid #e5e7eb;font-size:.9rem;padding:12px 16px;text-align:left;vertical-align:middle}.members-table th{background-color:#f9fafb;border-bottom-width:1px;color:#374151;font-weight:600;position:sticky;top:0;white-space:nowrap;z-index:10}.members-table td{color:#4b5563}.members-table tr:last-child td{border-bottom:none}.members-table tr:hover{background-color:#f9fafb}.status-badge{border:1px solid #0000;border-radius:12px;font-size:.75rem;line-height:1;padding:5px 10px}.status-badge.approved{background-color:#dcfce7;border-color:#bbf7d0;color:#166534}.status-badge.pending{border-color:#fde68a}.status-badge.inactive{background-color:#e5e7eb;border-color:#d1d5db;color:#4b5563}.status-badge.rejected{background-color:#fee2e2;border-color:#fecaca;color:#991b1b}.status-badge.removed{background-color:#d1d5db;border-color:#9ca3af;color:#1f2937}.member-number{color:#6b7280;font-size:9px;font-style:italic;line-height:1.2;margin-top:4px}.nominal-tabungan-cell{cursor:pointer;position:relative;transition:background-color .15s ease}.nominal-tabungan-container{align-items:center;display:flex;gap:8px}.edit-nominal-tabungan-btn{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;opacity:.7;padding:2px 5px;transition:opacity .2s}.edit-nominal-tabungan-btn:hover{opacity:1}.nominal-tabungan-cell:hover{background-color:#f3f4f6}.nominal-tabungan-amount{background-color:#0478571a;border-radius:4px;color:#047857;display:inline-block;font-weight:600;padding:2px 6px}.nominal-tabungan-inactive{color:#9ca3af;font-style:italic}.header-with-button{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.success-message{animation:fadeOut 3s forwards;animation-delay:2s;background-color:#d4edda;border:1px solid #c3e6cb;color:#155724;margin:10px 0;padding:10px 15px;text-align:center}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.header-buttons{gap:8px}.add-member-button,.delete-members-button,.export-excel-button,.import-csv-button,.tabungan-logs-button{border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .3s}.add-member-button,.export-excel-button,.import-csv-button{background-color:#3b82f6}.add-member-button:hover,.export-excel-button:hover,.import-csv-button:hover{background-color:#2563eb}.tabungan-logs-button{background-color:#047857}.tabungan-logs-button:hover{background-color:#065f46}.delete-members-button{background-color:#ef4444}.delete-members-button:hover{background-color:#dc2626}.checkbox-column{text-align:center;width:40px}.checkbox-column input[type=checkbox]{cursor:pointer;height:16px;width:16px}.delete-button{background-color:#ef4444;border-color:#ef4444;color:#fff;min-width:90px;text-align:center}.delete-button:hover{background-color:#dc2626;border-color:#dc2626;box-shadow:0 1px 2px #0000000d}.delete-modal .delete-warning{color:#ef4444;font-weight:500;margin-bottom:1rem}.members-table td:last-child,.members-table th:last-child{background-color:#fff;box-shadow:-2px 0 4px #0000001a;position:sticky;right:0;z-index:5}.members-table th:last-child{background-color:#f9fafb;z-index:15}.action-buttons{align-items:center;flex-wrap:nowrap;gap:12px}.add-button,.approve-button,.cancel-button,.edit-button,.reject-button,.review-button,.save-button{align-items:center;border:1px solid #0000;border-radius:6px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;justify-content:center;letter-spacing:.01em;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.edit-button{box-shadow:0 2px 6px #00000026}.add-button{align-items:center;background-color:#4f46e5;border-color:#4f46e5;color:#fff;display:inline-flex;gap:6px;justify-content:center;min-width:120px;padding:8px 16px}.add-button:hover{background-color:#4338ca;border-color:#4338ca;box-shadow:0 2px 4px #0000001a}.add-button:active{transform:translateY(1px)}.add-button:before{content:"+";font-size:1rem;font-weight:700;margin-right:4px}.save-button{background-color:#3b82f6;border-color:#3b82f6;min-width:90px;text-align:center}.save-button:hover{background-color:#2563eb;border-color:#2563eb;box-shadow:0 1px 2px #0000000d}.approve-button{background-color:#10b981;border-color:#10b981;color:#fff;min-width:90px;text-align:center}.approve-button:hover{background-color:#059669;border-color:#059669;box-shadow:0 1px 2px #0000000d}.approve-button,.save-button{background-color:#22c55e;border-color:#22c55e;color:#fff}.approve-button:hover,.save-button:hover{background-color:#16a34a;border-color:#16a34a;box-shadow:0 1px 2px #0000000d}.reject-button{background-color:#ef4444;border-color:#ef4444;color:#fff;min-width:90px;text-align:center}.reject-button:hover{background-color:#dc2626;border-color:#dc2626;box-shadow:0 1px 2px #0000000d}.cancel-button{background-color:#fff;border-color:#d1d5db;color:#4b5563;min-width:90px;text-align:center}.cancel-button:hover{background-color:#f9fafb;border-color:#9ca3af}.modal-backdrop{background-color:#11182799;bottom:0;padding:1rem;right:0}.member-modal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:700px;width:100%}.modal-header{flex-shrink:0;padding:.75rem 1rem}.modal-header h3{font-size:1.15rem}.modal-content{flex-grow:1;padding:.5rem 1rem}.member-detail-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:1rem}.detail-item{border-bottom:none;padding:0}.detail-item strong{color:#6b7280;display:block;font-size:.8rem;font-weight:500;margin-bottom:4px;text-transform:uppercase}.detail-item span{color:#374151;font-size:.95rem;line-height:1.4}.payment-proof-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin:1.5rem 0;padding:1rem 1.5rem}.payment-proof-section h4{color:#374151;font-size:1rem;font-weight:600;margin-bottom:12px;margin-top:0}.payment-link{align-items:center;background-color:#3b82f6;border-radius:6px;color:#fff;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 16px;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease}.payment-link:hover{background-color:#2563eb;box-shadow:0 1px 2px #0000000d}.modal-actions{flex-shrink:0;gap:16px;margin-top:1.5rem}.whatsapp-section{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.whatsapp-button{align-items:center;background-color:#25d366;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:8px;justify-content:center;padding:10px 20px;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease}.whatsapp-button:hover{background-color:#1ead56;box-shadow:0 2px 4px #0000001a}.approve-button:disabled,.cancel-button:disabled,.reject-button:disabled,.save-button:disabled,.whatsapp-button:disabled{background-color:#d1d5db;border-color:#d1d5db;box-shadow:none;color:#6b7280;cursor:not-allowed;opacity:.6}.approve-button:disabled,.reject-button:disabled,.save-button:disabled{background-color:#d1d5db;border-color:#d1d5db}.cancel-button:disabled{background-color:#e5e7eb;border-color:#e5e7eb;color:#9ca3af}.whatsapp-button:disabled{background-color:#d1d5db;border-color:#d1d5db}.edit-form{grid-gap:1rem 1.5rem;display:grid;gap:1rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.form-group{margin-bottom:0}.form-group label{color:#374151;font-size:.85rem;margin-bottom:6px}.form-input{border:1px solid #d1d5db;padding:10px 12px}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}@media (max-width:768px){.daftar-anggota-container{padding:16px}.daftar-anggota-container h1{font-size:1.5rem}.filter-container{flex-direction:column;padding:12px}.status-filter{max-width:none}.members-table td,.members-table th{font-size:.85rem;padding:10px 12px}.nominal-tabungan-amount{font-size:.8rem;padding:1px 4px}.add-button,.approve-button,.cancel-button,.edit-button,.reject-button,.review-button,.save-button{font-size:.75rem;min-width:auto;padding:8px 12px}.action-buttons{flex-direction:row;flex-wrap:wrap;gap:8px;gap:6px}.member-modal{margin:1rem auto;max-height:85vh;max-width:95%;width:95%}.modal-header{padding:.75rem 1rem}.modal-header h3{font-size:1.1rem}.modal-content{padding:1rem}.modal-actions{flex-direction:row;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:.75rem 1rem}.modal-actions button{flex:1 0 auto;max-width:160px;min-width:85px;width:auto}.edit-form,.member-detail-grid{grid-template-columns:1fr}.member-detail-grid{gap:1rem}}.modal-backdrop{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.import-modal{background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:90%}.modal-header{background-color:#f8f9fa;border-bottom:1px solid #eaeaea;padding:16px 24px}.modal-header h3{color:#333;font-size:1.2rem}.modal-close{color:#666}.modal-content{flex:1 1;overflow-y:auto;padding:24px}.import-step{display:flex;flex-direction:column;gap:20px}.dropzone{background-color:#f9f9f9;border:2px dashed #ccc;border-radius:8px;cursor:pointer;padding:30px;text-align:center;transition:border-color .2s ease}.dropzone:hover{border-color:#0056b3}.dropzone-content{align-items:center;display:flex;flex-direction:column;gap:10px}.dropzone p{color:#555;margin:0}.dropzone-formats{color:#888;font-size:.8rem}.template-section{background-color:#f5f5f5;border-radius:8px;padding:15px;text-align:center}.template-button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.template-button:hover{background-color:#218838}.validation-step{max-height:500px;overflow-y:auto}.error-list{border:1px solid #f0f0f0;border-radius:4px;max-height:300px;overflow-y:auto;padding:10px}.error-item{border-bottom:1px solid #eee;margin-bottom:15px;padding-bottom:15px}.error-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.general-error{color:#dc3545;font-weight:500}.error-row{color:#dc3545;font-weight:600;margin-bottom:5px}.error-item ul{margin-top:5px;padding-left:25px}.error-item li{color:#666;margin-bottom:3px}.preview-table-container{border:1px solid #eee;border-radius:4px;max-height:300px;overflow-y:auto}.preview-table{border-collapse:collapse;width:100%}.preview-table td,.preview-table th{border-bottom:1px solid #eee;font-size:.9rem;padding:8px 12px;text-align:left}.preview-table th{background-color:#f8f9fa;position:sticky;top:0;z-index:10}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:hover{background-color:#f9f9f9}.importing-step{text-align:center}.import-progress{margin:30px 0}.progress-bar{background-color:#eee;border-radius:5px;height:10px;margin-bottom:10px}.progress-fill{background-color:#0056b3}.progress-text{color:#333;font-size:1rem;font-weight:500}.import-warning{color:#dc3545;font-style:italic;margin-top:20px}.action-buttons{gap:10px;justify-content:flex-end;margin-top:20px}.back-button{background-color:#6c757d;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.back-button:hover{background-color:#5a6268}.import-button{background-color:#0056b3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.import-button:hover{background-color:#004494}.modal-backdrop-viewMemberModal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#11182799;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.member-modal-viewMemberModal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:85vh;max-width:600px;width:90%}.modal-header-viewMemberModal{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:.75rem 1.5rem}.modal-header-viewMemberModal h3{color:#1f2937;font-size:1.15rem;font-weight:600;margin:0}.modal-close-viewMemberModal{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1.5rem;line-height:1;padding:.5rem;transition:color .15s ease}.modal-close-viewMemberModal:hover{color:#4b5563}.modal-content-viewMemberModal{flex-grow:1;overflow-y:auto;padding:1rem 1.5rem}.member-detail-grid-viewMemberModal{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr;margin-bottom:1rem}@media (min-width:640px){.member-detail-grid-viewMemberModal{gap:1.25rem;grid-template-columns:repeat(2,1fr)}.full-width-item-viewMemberModal{grid-column:span 2}}.detail-item-viewMemberModal{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;transition:background-color .2s ease,border-color .2s ease}.detail-item-viewMemberModal:hover{background-color:#f3f4f6;border-color:#d1d5db}.detail-item-viewMemberModal strong{color:#6b7280;display:block;font-size:.75rem;font-weight:500;margin-bottom:2px;text-transform:uppercase}.detail-item-viewMemberModal span{color:#1f2937;font-size:.9rem}.status-badge-viewMemberModal{border-radius:12px;display:inline-block;font-size:.7rem;font-weight:600;line-height:1.2;padding:4px 10px;text-transform:uppercase}.status-badge-viewMemberModal.approved{background-color:#dcfce7;color:#166534}.status-badge-viewMemberModal.pending{background-color:#fef9c3;color:#854d0e}.status-badge-viewMemberModal.rejected{background-color:#fee2e2;color:#991b1b}.payment-proof-section-viewMemberModal{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.payment-proof-section-viewMemberModal h4{color:#374151;font-size:.9rem;font-weight:600;margin-bottom:.75rem;margin-top:0}.payment-link-viewMemberModal{background-color:#3b82f6;border-radius:6px;color:#fff;display:inline-block;font-size:.85rem;font-weight:500;padding:8px 14px;text-decoration:none;transition:background-color .15s ease}.payment-link-viewMemberModal:hover{background-color:#2563eb}.modal-actions-viewMemberModal{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:1rem 1.5rem}.approve-button-viewMemberModal,.reject-button-viewMemberModal{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:background-color .2s}.approve-button-viewMemberModal{background-color:#22c55e;color:#fff}.approve-button-viewMemberModal:hover{background-color:#16a34a}.reject-button-viewMemberModal{background-color:#ef4444;color:#fff}.reject-button-viewMemberModal:hover{background-color:#dc2626}.whatsapp-section-viewMemberModal{border-top:1px solid #e5e7eb;margin-top:1rem;padding:1rem 0;text-align:center}.whatsapp-button-viewMemberModal{align-items:center;background-color:#25d366;border-radius:8px;color:#fff;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 20px;text-decoration:none}.whatsapp-button-viewMemberModal:hover{background-color:#128c7e}.modal-overlay-addMemberModal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#11182799;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content-addMemberModal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:520px;overflow:hidden;width:90%}.modal-header-addMemberModal{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem}.modal-header-addMemberModal h3{color:#1f2937;font-size:1.15rem;font-weight:600;margin:0}.modal-close-addMemberModal{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;transition:color .2s ease}.modal-close-addMemberModal:hover{color:#1f2937}.form-body-addMemberModal{flex-grow:1;overflow-y:auto;padding:1.5rem}.form-group-addMemberModal{margin-bottom:1.25rem}.form-group-addMemberModal:last-child{margin-bottom:0}.form-group-addMemberModal label{color:#374151;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group-addMemberModal .required{color:#ef4444}.form-input-addMemberModal{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input-addMemberModal:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.form-input-addMemberModal[type=select]{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:1.2em 1.2em;padding-right:2.5rem}.form-input-addMemberModal:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633;outline:none}.modal-actions-addMemberModal{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.button-primary-addMemberModal,.button-secondary-addMemberModal{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:all .2s}.button-primary-addMemberModal{background-color:#3b82f6;color:#fff}.button-primary-addMemberModal:hover{background-color:#2563eb}.button-primary-addMemberModal:disabled{background-color:#93c5fd;cursor:not-allowed}.button-secondary-addMemberModal{background-color:#fff;border-color:#d1d5db;color:#4b5563}.button-secondary-addMemberModal:hover{background-color:#f3f4f6;border-color:#9ca3af}.character-count{color:#6b7280}.modal-overlay-editMemberModal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#11182799;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content-editMemberModal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:520px;overflow:hidden;width:90%}.modal-header-editMemberModal{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem}.modal-header-editMemberModal h3{color:#1f2937;font-size:1.15rem;font-weight:600;margin:0}.modal-close-editMemberModal{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;transition:color .2s ease}.modal-close-editMemberModal:hover{color:#1f2937}.form-body-editMemberModal{flex-grow:1;overflow-y:auto;padding:1.5rem}.form-group-editMemberModal{margin-bottom:1.25rem}.form-group-editMemberModal:last-child{margin-bottom:0}.form-group-editMemberModal label{color:#374151;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-input-editMemberModal{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input-editMemberModal:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.form-input-editMemberModal[type=select]{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:1.2em 1.2em;padding-right:2.5rem}.form-input-editMemberModal:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633;outline:none}.modal-actions-editMemberModal{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.button-primary-editMemberModal,.button-secondary-editMemberModal{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:all .2s}.button-primary-editMemberModal{background-color:#3b82f6;color:#fff}.button-primary-editMemberModal:hover{background-color:#2563eb}.button-primary-editMemberModal:disabled{background-color:#93c5fd;cursor:not-allowed}.button-secondary-editMemberModal{background-color:#fff;border-color:#d1d5db;color:#4b5563}.button-secondary-editMemberModal:hover{background-color:#f3f4f6}.nominal-tabungan-tooltip{animation:tooltipFadeIn .15s ease-out forwards;background-color:#1f2937;border-radius:8px;box-shadow:0 10px 25px #0003;color:#fff;font-size:.875rem;line-height:1.4;max-width:280px;min-width:220px;opacity:0;padding:12px 16px;pointer-events:none;position:fixed;z-index:1000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tooltip-content{display:flex;flex-direction:column;gap:8px}.tooltip-title{border-bottom:1px solid #374151;color:#e5e7eb;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding-bottom:6px;text-transform:uppercase}.tooltip-info{display:flex;flex-direction:column;gap:4px}.tooltip-amount{background-color:#0478571a;border-radius:4px;color:#047857;font-size:1rem;font-weight:700;padding:4px 8px;text-align:center}.tooltip-date{color:#d1d5db;font-size:.8rem;text-align:center}.tooltip-description{color:#9ca3af;font-size:.75rem;font-style:italic;text-align:center}.tooltip-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #1f2937;bottom:-6px;height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}@media (max-width:768px){.nominal-tabungan-tooltip{font-size:.8rem;max-width:200px;min-width:180px;padding:10px 12px}.tooltip-amount{font-size:.9rem}.tooltip-date{font-size:.75rem}.tooltip-description{font-size:.7rem}}.editNominalTabungan_overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.editNominalTabungan_modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0003;max-width:400px;overflow:hidden;width:90%}.editNominalTabungan_header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:15px 20px}.editNominalTabungan_header h2{color:#333;font-size:18px;margin:0}.editNominalTabungan_close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:24px}.editNominalTabungan_close-btn:hover{color:#333}.editNominalTabungan_content{padding:20px}.editNominalTabungan_member-info{background-color:#f8f9fa;border-radius:4px;margin-bottom:20px;padding:10px}.editNominalTabungan_member-info p{font-size:14px;margin:5px 0}.editNominalTabungan_form-group{margin-bottom:20px}.editNominalTabungan_form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.editNominalTabungan_input-group{align-items:center;border:1px solid #ccc;border-radius:4px;display:flex;overflow:hidden}.editNominalTabungan_currency-prefix{background-color:#f0f0f0;border-right:1px solid #ccc;color:#333;font-weight:500;padding:8px 12px}.editNominalTabungan_input{border:none;flex:1 1;font-size:16px;outline:none;padding:8px 12px}.editNominalTabungan_input:focus{box-shadow:0 0 0 2px #007bff40}.editNominalTabungan_error{background-color:#f8d7da;border-radius:4px;color:#dc3545;font-size:14px;margin-bottom:15px;padding:8px}.editNominalTabungan_actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.editNominalTabungan_cancel-btn,.editNominalTabungan_save-btn{border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.editNominalTabungan_cancel-btn{background-color:#f8f9fa;border:1px solid #ccc;color:#333}.editNominalTabungan_cancel-btn:hover{background-color:#e9ecef}.editNominalTabungan_save-btn{background-color:#007bff;border:1px solid #007bff;color:#fff}.editNominalTabungan_save-btn:hover{background-color:#0069d9}.editNominalTabungan_cancel-btn:disabled,.editNominalTabungan_save-btn:disabled{cursor:not-allowed;opacity:.65}:root{--stock-primary-color:#e66a6a;--stock-primary-darker:#d35454;--stock-primary-gradient:linear-gradient(135deg,#e66a6a,#d35454);--stock-accent-orange:#e67e22;--stock-accent-orange-darker:#d35400;--stock-text-primary:#343a40;--stock-text-secondary:#6c757d;--stock-background-light:#f8f9fa;--stock-background-white:#fff;--stock-border-color:#e0e0e0;--stock-success-color:#2ecc71;--stock-info-color:#3498db;--stock-warning-color:#f1c40f;--stock-danger-color:#e74c3c;--stock-spacing-xs:4px;--stock-spacing-sm:8px;--stock-spacing-md:16px;--stock-spacing-lg:24px;--stock-spacing-xl:32px;--stock-border-radius-sm:4px;--stock-border-radius-md:8px}.stock-container{background-color:#fff;background-color:var(--stock-background-white);color:#343a40;color:var(--stock-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;padding:24px;padding:var(--stock-spacing-lg)}.stock-container h1{color:#e66a6a;color:var(--stock-primary-color);font-size:2rem;font-weight:700;margin-bottom:24px;margin-bottom:var(--stock-spacing-lg)}.stock-summary-cards{grid-gap:24px;grid-gap:var(--stock-spacing-lg);display:grid;gap:24px;gap:var(--stock-spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:32px;margin-bottom:var(--stock-spacing-xl)}.stock-summary-card{background:#fff;background:var(--stock-background-white);border:1px solid #e0e0e0;border:1px solid var(--stock-border-color);border-radius:8px;border-radius:var(--stock-border-radius-md);box-shadow:0 4px 15px #0000000d;cursor:default;padding:24px;padding:var(--stock-spacing-lg);transition:transform .3s ease,box-shadow .3s ease}.stock-summary-card:hover{box-shadow:0 8px 25px #e66a6a1a;transform:translateY(-5px)}.stock-card-title{color:#6c757d;color:var(--stock-text-secondary);font-size:.9rem;font-weight:600;letter-spacing:0;margin-bottom:8px;margin-bottom:var(--stock-spacing-sm);text-align:left;text-transform:none}.stock-card-value{color:#e66a6a;color:var(--stock-primary-color);font-size:1.75rem;font-weight:700;text-align:left}.stock-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--stock-spacing-md);margin-bottom:24px;margin-bottom:var(--stock-spacing-lg)}.stock-search{border:1px solid #e0e0e0;border:1px solid var(--stock-border-color);border-radius:8px;border-radius:var(--stock-border-radius-md);flex:1 1 300px;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.stock-search:focus{border-color:#e66a6a;border-color:var(--stock-primary-color);box-shadow:0 0 0 3px #e66a6a33;outline:none}.stock-controls-right{display:flex;flex-wrap:wrap;gap:8px;gap:var(--stock-spacing-sm);margin-left:auto}.stock-add-btn,.stock-bulk-btn,.stock-export-btn,.stock-snapshot-btn,.stock-tag-btn{align-items:center;border:none;border-radius:8px;border-radius:var(--stock-border-radius-md);box-shadow:0 2px 5px #0000001a;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;gap:var(--stock-spacing-sm);justify-content:center;letter-spacing:.5px;padding:.75rem 1.25rem;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background .3s ease}.stock-add-btn:hover,.stock-bulk-btn:hover,.stock-discrepancy-btn:hover,.stock-export-btn:hover,.stock-snapshot-btn:hover,.stock-tag-btn:hover{box-shadow:0 4px 10px #00000026;transform:translateY(-2px)}.stock-add-btn:active,.stock-bulk-btn:active,.stock-discrepancy-btn:active,.stock-export-btn:active,.stock-snapshot-btn:active,.stock-tag-btn:active{box-shadow:0 1px 3px #0000001a;transform:translateY(0)}.stock-add-btn{background:linear-gradient(135deg,#e66a6a,#d35454);background:var(--stock-primary-gradient);color:#fff;color:var(--stock-background-white)}.stock-add-btn:hover{background:linear-gradient(135deg,#e66a6a 20%,#d35454)}.stock-bulk-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;color:var(--stock-background-white)}.stock-bulk-btn:hover{background:linear-gradient(135deg,#2980b9,#1f5f8b)}.stock-tag-btn{background:#e67e22;background:var(--stock-accent-orange);color:#fff;color:var(--stock-background-white)}.stock-tag-btn:hover{background:#d35400;background:var(--stock-accent-orange-darker)}.stock-discrepancy-btn{background:linear-gradient(135deg,#f1c40f,#e6b800);background:linear-gradient(135deg,var(--stock-warning-color) 0,#e6b800 100%);border:none;color:#333;font-weight:600;overflow:hidden;position:relative;z-index:1}.stock-discrepancy-btn:before{background:linear-gradient(135deg,#e6b800,#f1c40f);background:linear-gradient(135deg,#e6b800 0,var(--stock-warning-color) 100%);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%;z-index:-1}.stock-discrepancy-btn:hover{box-shadow:0 4px 10px #f1c40f40;color:#222}.stock-discrepancy-btn:hover:before{opacity:1}.stock-discrepancy-btn:active{box-shadow:0 2px 5px #f1c40f33;transform:translateY(0)}.stock-export-btn{background:#fff;background:var(--stock-background-white);border:1px solid #3498db;border:1px solid var(--stock-info-color);box-shadow:none;color:#3498db;color:var(--stock-info-color)}.stock-export-btn:hover{background:#3498db1a;border-color:#2980b9;box-shadow:0 2px 5px #3498db1a;color:#2980b9}.stock-snapshot-btn{background:#fff;background:var(--stock-background-white);border:1px solid #e0e0e0;border:1px solid var(--stock-border-color);box-shadow:none;color:#6c757d;color:var(--stock-text-secondary)}.stock-snapshot-btn:hover{background:#f8f9fa;background:var(--stock-background-light);border-color:#adb5bd;box-shadow:0 2px 5px #0000000d;color:#343a40;color:var(--stock-text-primary)}.stock-table-wrapper{background:#fff;background:var(--stock-background-white);border:none;border-radius:8px;border-radius:var(--stock-border-radius-md);box-shadow:0 4px 15px #00000012;margin-bottom:32px;margin-bottom:var(--stock-spacing-xl);overflow-x:auto}.stock-table{border-collapse:initial;border-spacing:0;color:#343a40;color:var(--stock-text-primary);width:100%}.stock-table td,.stock-table th{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--stock-border-color);font-size:.95rem;padding:16px;padding:var(--stock-spacing-md);text-align:left;vertical-align:middle}.stock-table tbody tr:last-child td{border-bottom:none}.stock-table th{background-color:#f8f9fa;background-color:var(--stock-background-light);border-bottom-width:2px;border-color:#ced4da;color:#6c757d;color:var(--stock-text-secondary);font-size:.9rem;font-weight:600;letter-spacing:0;text-transform:none}.stock-table thead th:first-child{border-top-left-radius:8px;border-top-left-radius:var(--stock-border-radius-md)}.stock-table thead th:last-child{border-top-right-radius:8px;border-top-right-radius:var(--stock-border-radius-md)}.stock-table thead{background-color:#f8f9fa;background-color:var(--stock-background-light);position:sticky;top:0;z-index:10}.stock-table tbody tr:hover{background-color:#fff8f8}.stock-sortable{align-items:center;color:#6c757d;color:var(--stock-text-secondary);cursor:pointer;display:inline-flex;gap:8px;gap:var(--stock-spacing-sm);transition:color .2s ease;-webkit-user-select:none;user-select:none}.stock-sortable:hover{color:#e66a6a;color:var(--stock-primary-color)}.stock-sort-icon{color:inherit;font-size:1rem;transition:transform .2s ease}.stock-sort-active{color:#e66a6a;color:var(--stock-primary-color);font-weight:700}.stock-sort-asc .stock-sort-icon{transform:rotate(180deg)}.stock-sort-desc .stock-sort-icon{transform:rotate(0deg)}.stock-table input[type=checkbox]{accent-color:#e66a6a;accent-color:var(--stock-primary-color);cursor:pointer;height:18px;vertical-align:middle;width:18px}.stock-dropdown{background:#fff;background:var(--stock-background-white);border:1px solid #ccc;border-radius:8px;border-radius:var(--stock-border-radius-md);box-shadow:0 5px 15px #00000026;min-width:160px;opacity:0;padding:8px 0;padding:var(--stock-spacing-sm) 0;pointer-events:none;position:absolute;right:0;top:100%;transform:translateY(-10px) scale(.95);transform-origin:top right;transition:opacity .2s ease,transform .2s ease;z-index:999}.stock-dropdown-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.stock-dropdown-item{align-items:center;color:#343a40;color:var(--stock-text-primary);cursor:pointer;display:flex;font-size:.95rem;gap:8px;gap:var(--stock-spacing-sm);padding:8px 16px;padding:var(--stock-spacing-sm) var(--stock-spacing-md);white-space:nowrap}.stock-dropdown-item:hover{background-color:var(--stock-primary-lighter);color:#d35454;color:var(--stock-primary-darker)}.stock-modal-overlay{align-items:center;background:#212529b3;display:flex;inset:0;justify-content:center;opacity:0;padding:16px;padding:var(--stock-spacing-md);pointer-events:none;position:fixed;transition:opacity .3s ease;z-index:1000}.stock-modal-open{opacity:1;pointer-events:auto}.stock-modal-content{background-color:#fff;background-color:var(--stock-background-white);border-radius:8px;border-radius:var(--stock-border-radius-md);box-shadow:0 8px 30px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:100%;overflow:hidden;padding:0;transform:translateY(20px);transition:transform .3s cubic-bezier(.25,.8,.25,1);width:650px}.stock-modal-open .stock-modal-content{transform:translateY(0)}.stock-modal-header{background:linear-gradient(135deg,#e66a6a,#d35454);background:var(--stock-primary-gradient);border-bottom:none;border-radius:8px 8px 0 0;border-radius:var(--stock-border-radius-md) var(--stock-border-radius-md) 0 0;color:#fff;flex-shrink:0;padding:16px 24px;padding:var(--stock-spacing-md) var(--stock-spacing-lg)}.stock-modal-header h2{font-size:1.4rem;font-weight:600;margin:0}.stock-modal-body{flex-grow:1;overflow-y:auto;padding:24px;padding:var(--stock-spacing-lg)}.stock-dialog-buttons{background-color:#f8f9fa;background-color:var(--stock-background-light);border-radius:0 0 8px 8px;border-radius:0 0 var(--stock-border-radius-md) var(--stock-border-radius-md);border-top:1px solid #e0e0e0;border-top:1px solid var(--stock-border-color);display:flex;flex-shrink:0;gap:16px;gap:var(--stock-spacing-md);justify-content:flex-end;padding:16px 24px;padding:var(--stock-spacing-md) var(--stock-spacing-lg)}.stock-dialog-buttons button{box-shadow:none;font-weight:600;letter-spacing:0;padding:.6rem 1.25rem;text-transform:none}.stock-dialog-buttons button:hover{box-shadow:none;transform:none}.stock-dialog-buttons button:active{transform:scale(.98)}.stock-dialog-buttons button:first-child{background-color:#fff;background-color:var(--stock-background-white);border:1px solid #e0e0e0;border:1px solid var(--stock-border-color);color:#6c757d;color:var(--stock-text-secondary)}.stock-dialog-buttons button:first-child:hover{background-color:#f8f9fa;background-color:var(--stock-background-light);border-color:#adb5bd;color:#343a40;color:var(--stock-text-primary)}.stock-dialog-buttons button:last-child{background:linear-gradient(135deg,#e66a6a,#d35454);background:var(--stock-primary-gradient);border:none;color:#fff}.stock-dialog-buttons button:last-child:hover{background:linear-gradient(135deg,#e66a6a 20%,#d35454)}.form-group{margin-bottom:var(--stock-spacing-lg)}.form-group label{color:var(--stock-text-secondary);margin-bottom:var(--stock-spacing-sm)}.form-group input,.form-group select,.form-group textarea{background-color:var(--stock-background-white);border:1px solid var(--stock-border-color);border-radius:var(--stock-border-radius-md);color:var(--stock-text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--stock-primary-color)}.form-group textarea{min-height:80px;resize:vertical}.currency-prefix{color:var(--stock-text-secondary)}.checkbox-group{gap:var(--stock-spacing-sm)}.pseudo-checkbox{background:#f8f9fa;background:var(--stock-background-light);border:1px solid var(--stock-border-color);border-radius:20px;color:#6c757d;color:var(--stock-text-secondary);padding:var(--stock-spacing-xs) var(--stock-spacing-md)}.pseudo-checkbox:hover{border-color:var(--stock-primary-color);color:#e66a6a;color:var(--stock-primary-color)}.pseudo-checkbox.selected{background:#e66a6a;background:var(--stock-primary-color);border-color:var(--stock-primary-color);color:#fff;color:var(--stock-background-white);font-weight:500}.price-field,.price-field-list{gap:var(--stock-spacing-md)}.price-field span{color:var(--stock-text-secondary)}.price-field .currency-input{flex-grow:1}.stock-snackbar{align-items:center;background:#343a40;background:var(--stock-text-primary);border-radius:8px;border-radius:var(--stock-border-radius-md);bottom:30px;box-shadow:0 5px 15px #0003;color:#fff;display:flex;font-size:1rem;gap:8px;gap:var(--stock-spacing-sm);left:50%;opacity:0;padding:16px;padding:var(--stock-spacing-md);position:fixed;transform:translateX(-50%);transform:translate(-50%,20px);transition:opacity .3s ease,transform .3s ease;z-index:1100}.stock-snackbar-show{opacity:1;transform:translateX(-50%)}.stock-snackbar-success{background-color:#2ecc71;background-color:var(--stock-success-color)}.stock-snackbar-error{background-color:#e74c3c;background-color:var(--stock-danger-color)}.stock-snackbar-info{background-color:#3498db;background-color:var(--stock-info-color)}.stock-date-picker-container{position:relative}.stock-date-picker-popup{background:#fff;background:var(--stock-background-white);border:1px solid #e0e0e0;border:1px solid var(--stock-border-color);border-radius:8px;border-radius:var(--stock-border-radius-md);box-shadow:0 5px 15px #00000026;display:flex;flex-direction:column;gap:16px;gap:var(--stock-spacing-md);left:0;opacity:0;padding:16px;padding:var(--stock-spacing-md);pointer-events:none;position:absolute;top:calc(100% + 8px);transform:translateY(-10px) scale(.95);transform-origin:top left;transition:opacity .2s ease,transform .2s ease;width:280px;z-index:1000}.stock-datepicker-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.stock-date-picker-popup label{color:#6c757d;color:var(--stock-text-secondary);font-size:.85rem;font-weight:500}.stock-date-picker-popup input[type=date]{border:1px solid #e0e0e0;border:1px solid var(--stock-border-color);border-radius:8px;border-radius:var(--stock-border-radius-md);font-size:.95rem;padding:.6rem .8rem;width:100%}.stock-date-picker-popup input[type=date]:focus{border-color:#3498db;border-color:var(--stock-info-color);box-shadow:0 0 0 3px #0d6efd33;outline:none}.stock-date-picker-popup button{align-self:flex-end;background-color:#3498db;background-color:var(--stock-info-color);border:none;color:#fff;font-size:.9rem;font-weight:500;padding:.6rem 1rem}.stock-date-picker-popup button:hover{background-color:#0a58ca}.stock-snapshot-dialog .stock-modal-body{padding-bottom:32px;padding-bottom:var(--stock-spacing-xl);padding-top:32px;padding-top:var(--stock-spacing-xl);text-align:center}.stock-snapshot-dialog p{color:#343a40;color:var(--stock-text-primary);font-size:1.1rem;line-height:1.6;margin:0 0 16px;margin:0 0 var(--stock-spacing-md) 0}:root{--stockmodal-primary-color:#e66a6a;--stockmodal-primary-darker:#d35454;--stockmodal-primary-gradient:linear-gradient(135deg,#e66a6a,#d35454);--stockmodal-accent-orange:#e67e22;--stockmodal-accent-orange-darker:#d35400;--stockmodal-text-primary:#343a40;--stockmodal-text-secondary:#6c757d;--stockmodal-background-light:#f8f9fa;--stockmodal-background-white:#fff;--stockmodal-border-color:#e0e0e0;--stockmodal-success-color:#2ecc71;--stockmodal-info-color:#3498db;--stockmodal-warning-color:#f1c40f;--stockmodal-danger-color:#e74c3c;--stockmodal-spacing-xs:4px;--stockmodal-spacing-sm:8px;--stockmodal-spacing-md:16px;--stockmodal-spacing-lg:24px;--stockmodal-spacing-xl:32px;--stockmodal-border-radius-sm:4px;--stockmodal-border-radius-md:8px}.stockmodal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#212529bf;display:flex;inset:0;justify-content:center;padding:16px;padding:var(--stockmodal-spacing-md);position:fixed;z-index:1000}.stockmodal-content{animation:stockmodal-fadein .3s ease;background-color:#fff;background-color:var(--stockmodal-background-white);border-radius:8px;border-radius:var(--stockmodal-border-radius-md);box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:95vw;overflow:hidden;padding:0;width:650px}@keyframes stockmodal-fadein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stockmodal-content h2{background:linear-gradient(135deg,#e66a6a,#d35454);background:var(--stockmodal-primary-gradient);border-radius:8px 8px 0 0;border-radius:var(--stockmodal-border-radius-md) var(--stockmodal-border-radius-md) 0 0;color:#fff;font-size:1.4rem;font-weight:600;margin:0;padding:16px 24px;padding:var(--stockmodal-spacing-md) var(--stockmodal-spacing-lg)}.stockmodal-body{flex-grow:1;max-height:70vh;overflow-y:auto;padding:24px;padding:var(--stockmodal-spacing-lg)}.stockmodal-buttons{background-color:#f8f9fa;background-color:var(--stockmodal-background-light);border-top:1px solid #e0e0e0;border-top:1px solid var(--stockmodal-border-color);display:flex;flex-shrink:0;gap:16px;gap:var(--stockmodal-spacing-md);justify-content:flex-end;margin:0;padding:16px 24px;padding:var(--stockmodal-spacing-md) var(--stockmodal-spacing-lg)}.stockmodal-buttons button{border-radius:8px;border-radius:var(--stockmodal-border-radius-md);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.stockmodal-buttons button:first-child{background-color:#fff;background-color:var(--stockmodal-background-white);border:1px solid #e0e0e0;border:1px solid var(--stockmodal-border-color);color:#6c757d;color:var(--stockmodal-text-secondary)}.stockmodal-buttons button:first-child:hover{background-color:#f8f9fa;background-color:var(--stockmodal-background-light);border-color:#adb5bd;color:#343a40;color:var(--stockmodal-text-primary)}.stockmodal-buttons button:last-child{background:linear-gradient(135deg,#e66a6a,#d35454);background:var(--stockmodal-primary-gradient);border:none;box-shadow:0 2px 5px #0000001a;color:#fff}.stockmodal-buttons button:last-child:hover{background:linear-gradient(135deg,#e66a6a 20%,#d35454);box-shadow:0 4px 10px #00000026;transform:translateY(-2px)}.stockmodal-buttons button:last-child:active{box-shadow:0 2px 3px #0000001a;transform:translateY(0)}.form-group{margin-bottom:24px;margin-bottom:var(--stockmodal-spacing-lg);position:relative}.form-group label{color:#6c757d;color:var(--stockmodal-text-secondary);font-size:.95rem;margin-bottom:var(--stockmodal-spacing-sm)}.form-group .error-message{animation:error-message-fadein .3s ease;color:#e74c3c;color:var(--stockmodal-danger-color);font-size:.85rem;margin-top:4px}@keyframes error-message-fadein{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-group input.error,.form-group select.error{background-color:#e74c3c0d;border-color:#e74c3c;border-color:var(--stockmodal-danger-color)}.form-group input.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #e74c3c33}.form-group input,.form-group select,.form-group textarea{background-color:#fff;background-color:var(--stockmodal-background-white);border:1px solid #e0e0e0;border:1px solid var(--stockmodal-border-color);border-radius:8px;border-radius:var(--stockmodal-border-radius-md);color:#343a40;color:var(--stockmodal-text-primary);font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#e66a6a;border-color:var(--stockmodal-primary-color);box-shadow:0 0 0 3px #e66a6a33;outline:none}.input-group{display:flex;gap:8px;gap:var(--stockmodal-spacing-sm)}.quantity-input{flex:3 1}.unit-select{flex:1 1}.currency-input{position:relative}.currency-prefix{color:#6c757d;color:var(--stockmodal-text-secondary);font-size:1rem;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.currency-input input{padding-left:45px}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px;gap:var(--stockmodal-spacing-sm)}.pseudo-checkbox{appearance:none;-webkit-appearance:none;background:#fff;background:var(--stockmodal-background-white);border:1px solid #e0e0e0;border:1px solid var(--stockmodal-border-color);border-radius:8px;border-radius:var(--stockmodal-border-radius-md);box-shadow:0 1px 2px #0000000d;cursor:pointer;display:inline-block;font-family:inherit;font-size:.9rem;outline:none;padding:4px 16px;padding:var(--stockmodal-spacing-xs) var(--stockmodal-spacing-md);transition:all .2s ease}.pseudo-checkbox:hover{background-color:#fff8f8;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.pseudo-checkbox.selected,.pseudo-checkbox:hover{border-color:#e66a6a;border-color:var(--stockmodal-primary-color)}.pseudo-checkbox.selected{background:#fff0f0;box-shadow:0 2px 5px #e66a6a33;color:#d35454;color:var(--stockmodal-primary-darker);font-weight:600;transform:scale(1.05)}.pseudo-checkbox:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.price-field-list{flex-direction:column}.price-field,.price-field-list{display:flex;gap:16px;gap:var(--stockmodal-spacing-md)}.price-field{align-items:center}.price-field span{color:#6c757d;color:var(--stockmodal-text-secondary);font-size:.9rem;font-weight:500;text-align:right;width:60px}.stockmodal-body p{font-size:1.1rem;margin:1.5rem 0;text-align:center}@media (max-width:768px){.stockmodal-content{max-height:85vh;width:95vw}.form-group label{font-size:.9rem}.form-group input,.form-group select{font-size:.95rem;padding:.6rem .8rem}.input-group{flex-direction:column}.stockmodal-buttons button{padding:.6rem 1rem}}.stock-discrepancy-modal{color:#333;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}.stock-discrepancy-header{align-items:center;border-bottom:1px solid #eaeaea;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.stock-discrepancy-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.close-button{align-items:center;border-radius:50%;color:#666;display:flex;font-size:1.8rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.close-button:hover{background-color:#0000000d;color:#333}.stock-discrepancy-content{max-height:60vh;overflow-y:auto;padding-right:5px}.no-discrepancies{color:#666;font-size:1rem;padding:40px 20px;text-align:center}.discrepancy-tiles{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:20px}.discrepancy-tile{background-color:#fff9c4;border:1px solid #ffeaa2;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:16px;position:relative;transition:all .3s ease}.discrepancy-tile.resolved{background-color:#e8f5e9;border-color:#c8e6c9}.discrepancy-tile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.discrepancy-tile-header h3{color:#333;flex:1 1;font-size:1.1rem;font-weight:600;margin:0}.resolve-button{align-items:center;background-color:#4caf50;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;margin-left:10px;transition:all .2s;width:28px}.resolve-button:hover{background-color:#388e3c;transform:scale(1.05)}.discrepancy-tile-body{display:flex;flex-direction:column;gap:8px}.discrepancy-detail{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.discrepancy-detail .label{color:#666;font-weight:500}.discrepancy-detail .value{color:#444;font-weight:600}.discrepancy-detail .timestamp{color:#666;font-size:.85rem;font-style:italic}.resolved-badge{background-color:#4caf50;border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:3px 8px;position:absolute;right:10px;top:10px}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:20px}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:30px;width:30px}.load-more-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-size:.9rem;font-weight:500;margin:16px auto;padding:10px 20px;transition:all .2s}.load-more-button:hover{background-color:#1976d2;transform:translateY(-1px)}.load-more-button:disabled{background-color:#bdbdbd;cursor:not-allowed}@media (max-width:600px){.discrepancy-tiles{grid-template-columns:1fr}.discrepancy-detail{font-size:.85rem}.discrepancy-detail .timestamp{font-size:.8rem}}.bulk-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.bulk-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:90%}.bulk-modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.bulk-modal-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.bulk-modal-close{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.2rem;padding:8px;transition:all .2s ease}.bulk-modal-close:hover{background-color:#f0f0f0;color:#333}.bulk-modal-body{flex:1 1;overflow-y:auto;padding:24px}.nota-upload-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:24px;padding:16px}.nota-upload-header h3{color:#2c3e50;font-size:1.1rem;margin:0 0 4px}.nota-upload-header p{color:#6c757d;font-size:.9rem;margin:0}.nota-upload-container{margin-top:12px}.supplier-input-container{margin:12px 0}.supplier-label{color:#2c3e50;display:block;font-size:.9rem;font-weight:500;margin-bottom:6px}.supplier-label .required{color:#dc3545}.supplier-input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:8px 12px;transition:border-color .2s ease;width:100%}.supplier-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.supplier-input::placeholder{color:#6c757d}.nota-upload-btn{align-items:center;background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.nota-upload-btn:hover{background:#0056b3;transform:translateY(-1px)}.nota-upload-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.nota-uploaded{align-items:center;background:#fff;border:1px solid #28a745;border-radius:6px;display:flex;gap:12px;padding:12px}.nota-file-icon{color:#28a745;font-size:1.5rem}.nota-file-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.nota-file-name{color:#2c3e50;font-weight:500}.nota-supplier-name{color:#007bff;font-size:.85rem;font-weight:500}.nota-file-id{color:#6c757d;font-family:Courier New,monospace;font-size:.8rem}.nota-view-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:background .2s ease}.nota-view-btn:hover{background:#1e7e34}.bulk-table-container{margin-bottom:20px;overflow-x:auto}.bulk-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.bulk-table thead{background-color:#f8f9fa}.bulk-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:16px 12px;text-align:left;text-transform:uppercase}.bulk-table td{border-bottom:1px solid #f0f0f0;padding:12px;vertical-align:top}.bulk-row{transition:all .2s ease}.bulk-row:hover{background-color:#f8f9fa}.bulk-row-error{background-color:#fff5f5!important;border-left:4px solid #e53e3e}.bulk-input{background:#fff;border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem;padding:10px 12px;transition:all .2s ease;width:100%}.bulk-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.bulk-input:read-only{background-color:#f8f9fa;color:#666;cursor:not-allowed}.bulk-dropdown-container{position:relative;width:100%}.bulk-dropdown{background:#fff;border:1px solid #d0d0d0;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1001}.bulk-dropdown-item{border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:.9rem;padding:12px;transition:background-color .2s ease}.bulk-dropdown-item:hover{background-color:#f8f9fa}.bulk-dropdown-item:last-child{border-bottom:none}.bulk-dropdown-empty{color:#666;cursor:default;font-style:italic}.bulk-dropdown-empty:hover{background-color:initial}.bulk-error-text{color:#e53e3e;font-size:.75rem;font-weight:500;margin-top:4px}.bulk-actions{display:flex;justify-content:flex-start;margin-bottom:20px}.bulk-add-btn{align-items:center;background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.bulk-add-btn:hover{background-color:#357abd;transform:translateY(-1px)}.bulk-remove-btn{align-items:center;background:#e53e3e;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;justify-content:center;padding:8px;transition:all .2s ease}.bulk-remove-btn:hover{background-color:#c53030;transform:scale(1.05)}.bulk-modal-footer{background-color:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.bulk-cancel-btn{background-color:#f8f9fa;border:1px solid #d0d0d0;border-radius:6px;color:#666;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.bulk-cancel-btn:hover{background-color:#e9ecef;border-color:#adb5bd}.bulk-submit-btn{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.bulk-submit-btn:hover{background-color:#218838;transform:translateY(-1px)}.bulk-submit-btn:disabled{background-color:#6c757d;cursor:not-allowed;transform:none}.submit-button-wrapper{display:inline-block;position:relative}.submit-button-wrapper:hover .submit-tooltip{visibility:visible!important}@media (max-width:768px){.bulk-modal-content{max-height:95vh;width:95%}.bulk-table td,.bulk-table th{font-size:.8rem;padding:8px 6px}.bulk-input{font-size:.8rem;padding:8px 10px}.bulk-modal-header{padding:16px 20px}.bulk-modal-body{padding:20px}.bulk-modal-footer{padding:16px 20px}}.bulk-modal-content{animation:modalSlideIn .3s ease-out}.bulk-summary-section{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:20px}.admin-fee-container{align-items:center;display:flex;gap:12px;margin-bottom:20px}.admin-fee-label{color:#495057;font-weight:600;min-width:140px}.admin-fee-input{background-color:#fff;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:8px 12px;transition:border-color .2s ease;width:150px}.admin-fee-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.total-calculation{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;padding:16px}.total-row{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:8px 0}.total-row:last-child{border-bottom:none}.admin-fee-row{color:#dc3545}.final-total{border-top:2px solid #dee2e6;color:#28a745;font-size:1.1rem;margin-top:8px;padding-top:12px}.final-total span{font-weight:600}@media (max-width:768px){.admin-fee-container{align-items:flex-start;flex-direction:column;gap:8px}.admin-fee-label{min-width:auto}.admin-fee-input{width:100%}.total-row{align-items:flex-start;flex-direction:column;gap:4px}}.supplier-warning{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:.85rem;font-weight:500;margin-top:8px;padding:8px 12px}.nota-upload-status{align-items:center;color:#28a745;display:flex;font-size:.9rem;font-weight:600;gap:4px}.nota-actions{gap:8px}.nota-actions,.nota-remove-btn{align-items:center;display:flex}.nota-remove-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.nota-remove-btn:hover{background-color:#c82333;transform:scale(1.05)}.required{color:#dc3545;font-weight:700}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;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-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.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{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.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){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.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{display:block;margin-left:auto;margin-right:auto;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{font-size:20px;position:relative;top:-1px;width:0}.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{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.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{display:inline-block;margin-left:10px}.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,.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{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;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{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.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{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.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{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.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{background-color:#ff6803;border-radius:.3rem;color:#fff;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{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.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{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected: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{background-color:#bad9f1;border-radius:.3rem;color:#000}.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{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__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__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__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__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__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__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__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){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-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-year-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__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.sejarah-belanja-container{font-family:sans-serif;margin:0 auto;max-width:1100px;padding:20px}.sejarah-belanja-container h1{font-size:1.8rem;margin-bottom:1rem}.filters-row{flex-wrap:wrap;gap:15px;margin-bottom:1rem}.filters-row,.search-options{align-items:center;display:flex}.chips-search{position:relative;width:300px}.chips-row{background-color:#fff;border:1px solid #ccc;border-radius:4px;display:flex;flex-wrap:wrap;padding:5px}.chip,.chips-row{align-items:center}.chip{background-color:#f3f3f3;border-radius:3px;display:inline-flex;margin-bottom:3px;margin-right:5px;padding:3px 6px}.chip-close{cursor:pointer;margin-left:4px}.chips-row input{border:none;flex:1 1;margin:3px;outline:none}.suggestion-dropdown{background:#fff;border:1px solid #ccc;border-radius:0 0 4px 4px;left:0;max-height:200px;overflow-y:auto;position:absolute;top:42px;width:100%;z-index:999}.suggestion-item{cursor:pointer;padding:8px}.suggestion-item:hover{background-color:#eaeaea}.export-button{background-color:#e0f2ff;border:1px solid #1a73e8;border-radius:4px;color:#1a73e8;cursor:pointer;font-size:.9rem;padding:6px 12px}.export-button:hover{background-color:#cfe9ff}.sejarah-belanja-table{border-collapse:collapse;margin-top:1rem;width:100%}.sejarah-belanja-table td,.sejarah-belanja-table th{border:1px solid #ccc;padding:8px}.sejarah-belanja-table th{background-color:#f5f5f5;text-align:left}.warehouse-exit-container{background-color:#f8f9fa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;min-height:100vh;padding:24px}.warehouse-exit-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.warehouse-exit-header h1{color:#333;font-size:2rem;font-weight:700;margin:0}.warehouse-exit-create-btn{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.warehouse-exit-create-btn:hover{background:#218838}.warehouse-exit-loading{align-items:center;color:#666;display:flex;font-size:1.2rem;height:200px;justify-content:center}.warehouse-exit-empty{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:60px 20px;text-align:center}.warehouse-exit-empty p{color:#666;font-size:1.2rem;margin-bottom:20px}.warehouse-exit-records{grid-gap:20px;display:grid;gap:20px}.warehouse-exit-record-tile{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:all .2s ease}.warehouse-exit-record-tile:hover{box-shadow:0 2px 8px #00000026}.record-header{margin-bottom:16px}.record-title-row{align-items:center;display:flex;justify-content:space-between}.customer-name{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0}.status-tag{border-radius:16px;font-size:.8rem;padding:4px 12px}.record-metadata{color:#9ca3af;font-size:.8rem;gap:16px;margin-bottom:4px}.record-date,.record-id{color:#9ca3af}.record-right-side{gap:8px}.total-price-badge{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;display:inline-block;font-size:.95rem;font-weight:700}.action-row{align-items:center;margin-top:16px}.action-btn{border:2px solid;border-radius:6px;overflow:hidden;position:relative;transition:all .2s ease}.action-btn.completed{background:#0000;border-color:#16a34a;color:#16a34a}.action-btn.completed:hover{background:#f0fdf4;transform:translateY(-1px)}.action-btn.active{background:#fbbf24;border-color:#fbbf24;color:#000;position:relative}.action-btn.active:hover{background:#f59e0b;border-color:#f59e0b;transform:translateY(-1px)}.action-btn.active:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.action-btn.disabled{background:#f3f4f6;border-color:#d1d5db;color:#9ca3af}.action-btn.disabled:hover{transform:none}.action-btn.loading{background:#f3f4f6;border-color:#d1d5db;color:#6b7280}.loading-spinner{display:inline-block}@keyframes shimmer{0%{left:-100%}to{left:100%}}@media (max-width:768px){.warehouse-exit-container{padding:16px}.warehouse-exit-header{flex-direction:column;gap:16px;text-align:center}.warehouse-exit-header h1{font-size:1.5rem}.record-title-row{align-items:flex-start;flex-direction:column;gap:8px}.customer-name{font-size:1.3rem}.record-metadata{flex-direction:column;gap:4px}.record-summary{margin-top:8px;text-align:left}.action-row{align-items:stretch;flex-direction:column}.action-btn{justify-content:center}}.warehouse-exit-snackbar{animation:slideUp .3s ease-out;background:#333;border-radius:8px;bottom:20px;box-shadow:0 4px 12px #0000004d;color:#fff;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);z-index:1000}@media (max-width:768px){.warehouse-exit-container{padding:16px}.warehouse-exit-header{flex-direction:column;gap:16px;text-align:center}.warehouse-exit-header h1{font-size:1.5rem}.record-header{align-items:flex-start;gap:12px}.record-header,.record-workflow{flex-direction:column}.workflow-step{min-width:0;min-width:auto}.record-summary{grid-template-columns:1fr}}@media (max-width:480px){.warehouse-exit-record-tile{padding:16px}.workflow-btn{font-size:.8rem;padding:10px 12px}.record-identifier h3{font-size:1.1rem}}.warehouse-exit-pagination{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding:20px}.pagination-btn{align-items:center;background:#007bff;border:none;color:#fff;display:flex;font-weight:500;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#0056b3}.pagination-btn:disabled{background:#6c757d}.pagination-numbers{align-items:center;gap:8px}.pagination-number{color:#333;font-weight:500;padding:8px 14px;transition:all .2s ease}.pagination-number:hover{border-color:#007bff}.pagination-ellipsis{font-weight:500}.warehouse-exit-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.warehouse-exit-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;overflow:hidden;width:95%}.warehouse-exit-modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.warehouse-exit-modal-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.warehouse-exit-modal-close{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.2rem;padding:8px;transition:all .2s ease}.warehouse-exit-modal-close:hover{background-color:#f0f0f0;color:#333}.warehouse-exit-modal-body{flex:1 1;overflow-y:auto;padding:24px}.customer-details-section{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:30px;padding:20px}.customer-details-section h3{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 20px}.customer-details-form{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-size:.9rem;font-weight:500}.form-input{background:#fff;border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem;padding:12px;transition:all .2s ease}.form-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-input.error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.error-text{color:#e53e3e;font-size:.75rem;font-weight:500;margin-top:4px}.warehouse-exit-table-container{margin-bottom:20px;overflow-x:auto}.warehouse-exit-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.warehouse-exit-table thead{background-color:#f8f9fa}.warehouse-exit-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:16px 12px;text-align:left;text-transform:uppercase}.warehouse-exit-table td{border-bottom:1px solid #f0f0f0;padding:12px;vertical-align:top}.warehouse-exit-row{transition:all .2s ease}.warehouse-exit-row:hover{background-color:#f8f9fa}.warehouse-exit-row-error{background-color:#fff5f5!important;border-left:4px solid #e53e3e}.warehouse-exit-input{background:#fff;border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem;padding:10px 12px;transition:all .2s ease;width:100%}.warehouse-exit-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.warehouse-exit-input:read-only{background-color:#f8f9fa;color:#666;cursor:not-allowed}.warehouse-exit-input:not(:read-only){background-color:#fff}.warehouse-exit-dropdown-container{position:relative;width:100%;z-index:2147483646}.warehouse-exit-dropdown{background:#fff;border:1px solid #d0d0d0;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1001}.warehouse-exit-dropdown-item{border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:.9rem;padding:12px;transition:background-color .2s ease}.warehouse-exit-dropdown-item:hover{background-color:#f8f9fa}.warehouse-exit-dropdown-item:last-child{border-bottom:none}.warehouse-exit-dropdown-empty{color:#666;cursor:default;font-style:italic}.warehouse-exit-dropdown-empty:hover{background-color:initial}.warehouse-exit-error-text{color:#e53e3e;font-size:.75rem;font-weight:500;margin-top:4px}.warehouse-exit-actions{display:flex;justify-content:flex-start;margin-bottom:20px}.warehouse-exit-add-btn{align-items:center;background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.warehouse-exit-add-btn:hover{background-color:#357abd;transform:translateY(-1px)}.warehouse-exit-remove-btn{align-items:center;background:#e53e3e;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;justify-content:center;padding:8px;transition:all .2s ease}.warehouse-exit-remove-btn:hover{background-color:#c53030;transform:scale(1.05)}.warehouse-exit-modal-footer{background-color:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.warehouse-exit-cancel-btn{background-color:#f8f9fa;border:1px solid #d0d0d0;border-radius:6px;color:#666;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.warehouse-exit-cancel-btn:hover{background-color:#e9ecef;border-color:#adb5bd}.warehouse-exit-submit-btn{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.warehouse-exit-submit-btn:hover{background-color:#218838;transform:translateY(-1px)}.warehouse-exit-submit-btn:disabled{background-color:#6c757d;cursor:not-allowed;transform:none}@media (max-width:768px){.warehouse-exit-modal-content{max-height:95vh;width:95%}.customer-details-form{grid-template-columns:1fr}.warehouse-exit-table td,.warehouse-exit-table th{font-size:.8rem;padding:8px 6px}.warehouse-exit-input{font-size:.8rem;padding:8px 10px}.warehouse-exit-modal-header{padding:16px 20px}.warehouse-exit-modal-body{padding:20px}.warehouse-exit-modal-footer{padding:16px 20px}}.warehouse-exit-modal-content{animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.sejarah-transaksi-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000000d;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:20px auto;max-width:850px;padding:24px}.items-search-container{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.items-search-input{background-color:#fff;border:1px solid #ccc;border-radius:8px;flex:1 1;font-size:.95rem;padding:10px 16px;transition:border-color .15s ease,box-shadow .15s ease}.items-search-input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.items-count{background-color:#f5f5f5;border-radius:4px;color:#757575;font-size:.9rem;padding:4px 8px}.items-table-container{border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px;overflow-x:auto;width:100%}.items-table{border:1px solid #e0e0e0;border-collapse:initial;border-radius:8px;border-spacing:0;overflow:hidden;width:100%}.items-table td,.items-table th{border-bottom:1px solid #e0e0e0;padding:12px 16px;text-align:left}.items-table th{background-color:#f5f5f5;color:#333;font-weight:600;position:sticky;top:0;z-index:1}.items-table th.sortable{cursor:pointer;padding-right:24px;position:relative;-webkit-user-select:none;user-select:none}.items-table th.sortable:after{content:"▼";font-size:.75em;opacity:.3;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.items-table th.sorted-asc:after{color:#1976d2;content:"▲";opacity:1}.items-table th.sorted-desc:after{color:#1976d2;content:"▼";opacity:1}.items-table tr:last-child td{border-bottom:none}.items-table tr.clickable-row{cursor:pointer}.items-table tr.clickable-row:hover{background-color:#f1f8fe}.items-table td.center,.items-table th.center{text-align:center}.items-table td.right,.items-table th.right{text-align:right}.transaction-type{border-radius:4px;display:inline-block;font-size:.85em;font-weight:500;padding:2px 6px}.transaction-type-pengadaan{background-color:#e8f5e9;color:#2e7d32}.transaction-type-penjualan{background-color:#e1f5fe;color:#0277bd}.transaction-type-pengurangan{background-color:#ffebee;color:#c62828}.item-dialog{max-height:80vh;max-width:700px;overflow-y:auto;width:90%}.item-details{background-color:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:16px}.item-detail-row{display:flex;margin-bottom:10px}.item-detail-row:last-child{margin-bottom:0}.item-detail-label{color:#555;font-weight:600;min-width:120px}.item-detail-value{flex:1 1}.item-dialog h3{font-size:1.1rem;margin-bottom:12px;margin-top:24px}.transactions-table-container{border:1px solid #e0e0e0;border-radius:8px;max-height:300px;overflow-x:auto;overflow-y:auto}.transactions-table{border-collapse:collapse;width:100%}.transactions-table td,.transactions-table th{border-bottom:1px solid #e0e0e0;padding:10px 12px;text-align:left}.transactions-table th{background-color:#f5f5f5;position:sticky;top:0;z-index:1}.transactions-table tr:last-child td{border-bottom:none}.transactions-table tr:nth-child(2n){background-color:#f9f9f9}.chips-container{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.chip{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:100px;color:#555;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 18px;transition:all .15s ease-in-out}.chip:hover{background-color:#e0e0e0;border-color:#bdbdbd;transform:translateY(-1px)}.chip.active{background-color:#1976d2;border-color:#1976d2;box-shadow:0 2px 4px #1976d233;color:#fff;font-weight:600}.chip.active:hover{background-color:#1565c0;transform:translateY(0)}.date-range-header{align-items:center;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.date-range-text{color:#333;font-size:1.15em;font-weight:600}.date-range-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.date-range-filter{align-items:center;display:flex;gap:8px}.date-range-filter .react-datepicker-wrapper{display:inline-block}.date-range-filter input{background-color:#fff;border:1px solid #ccc;border-radius:6px;font-size:.9rem;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease}.date-range-filter input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.export-btn{align-items:center;background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;color:#1976d2;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .15s ease}.export-btn:hover{background-color:#bbdefb;border-color:#90caf9;box-shadow:0 1px 3px #0000001a}.daily-list{display:flex;flex-direction:column;gap:12px}.day-group{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;padding:16px;transition:all .15s ease-in-out}.day-group:hover{background-color:#f9f9f9;border-color:#bdbdbd;box-shadow:0 4px 8px #0000000d;transform:translateY(-2px)}.day-info{align-items:center;color:#333;display:flex;font-size:1rem;justify-content:space-between}.day-info span:last-child{color:#1976d2;font-weight:600}.show-more-btn{background-color:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:.95rem;font-weight:500;margin-left:auto;margin-right:auto;margin-top:24px;padding:10px 24px;transition:all .15s ease;width:-moz-fit-content;width:fit-content}.show-more-btn:hover:not(:disabled){background-color:#1565c0;box-shadow:0 2px 6px #1976d233;transform:translateY(-1px)}.show-more-btn:disabled{background-color:#bdbdbd;box-shadow:none;color:#757575;cursor:not-allowed;opacity:1;transform:none}.dialog-overlay{align-items:center;background:#00000080;display:flex;height:100vh;justify-content:center;left:0;opacity:1;position:fixed;top:0;transition:opacity .2s ease,visibility .2s ease;visibility:visible;width:100vw;z-index:1000}.dialog{background:#fff;border-radius:8px;box-shadow:0 5px 15px #0003;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;max-width:600px;padding:24px;position:relative;transform:scale(1);transition:transform .2s ease;width:calc(100% - 40px)}.dialog-close-btn{align-items:center;background:#f5f5f5;border:none;border-radius:50%;color:#757575;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;line-height:1;position:absolute;right:16px;top:16px;transition:all .15s ease;width:32px}.dialog-close-btn:hover{background:#e0e0e0;color:#333;transform:rotate(90deg)}.breakdown-list{margin-top:20px;max-height:60vh;overflow-y:auto;padding-right:8px}.breakdown-item{grid-column-gap:8px;align-items:center;border-bottom:1px solid #eee;column-gap:8px;display:grid;font-size:.95rem;grid-template-columns:1.5fr auto 1fr;padding:10px 4px}.breakdown-item:last-child{border-bottom:none}.item-name{color:#333;font-weight:500;text-align:left}.quantity-unit{align-items:baseline;color:#555;display:flex;gap:4px;justify-content:flex-end}.item-quantity{display:inline-block;font-weight:500;min-width:40px;text-align:right;width:auto}.item-unit{color:#757575;font-size:.85em}.item-subtotal{color:#1976d2;font-weight:600;text-align:right;white-space:nowrap}.snackbar{align-items:center;background:#333;border-radius:6px;bottom:20px;box-shadow:0 3px 8px #0003;color:#fff;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.95rem;left:50%;opacity:1;padding:12px 20px;position:fixed;transform:translateX(-50%) translateY(0);transition:transform .25s ease,opacity .25s ease,visibility .25s ease;visibility:visible;z-index:1001}.snackbar button{background:#0000;border:none;border-radius:4px;color:#80cbc4;cursor:pointer;font-weight:600;margin-left:16px;padding:4px 8px;transition:background-color .15s ease}.snackbar button:hover{background-color:#ffffff1a}.nota-belanja-b2b-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.nota-belanja-b2b-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.nota-belanja-b2b-header h1{color:#333;font-size:2rem;font-weight:600;margin:0}.nota-belanja-b2b-loading{align-items:center;color:#666;display:flex;font-size:1.1rem;height:200px;justify-content:center}.nota-belanja-b2b-empty{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;padding:60px 20px;text-align:center}.nota-belanja-b2b-empty p{color:#6c757d;font-size:1.1rem;margin:0 0 20px}.nota-belanja-b2b-records{display:flex;flex-direction:column;gap:20px}.nota-belanja-b2b-record-tile{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;position:relative;transition:all .3s ease}.nota-belanja-b2b-record-tile:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-1px)}.record-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.record-main-info{flex:1 1}.record-title-row{margin-bottom:8px}.supplier-name{color:#2c3e50;font-size:1.4rem;font-weight:600;line-height:1.3;margin:0}.record-metadata{display:flex;flex-direction:column;gap:4px}.record-date{color:#6c757d;font-size:.95rem;font-weight:500}.record-id{color:#6c757d;font-family:Courier New,monospace;font-size:.85rem}.record-right-side{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.status-tag{align-items:center;display:flex;font-size:.85rem;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-tag,.total-price-badge{border-radius:20px;font-weight:600}.total-price-badge{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 2px 8px #007bff4d;color:#fff;font-size:1rem;padding:8px 16px}.action-row{border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:12px;padding-top:20px}.action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;min-height:40px;padding:10px 16px;text-decoration:none;transition:all .3s ease}.action-btn.completed{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 8px #28a7454d;color:#fff}.action-btn.completed:hover{box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.action-btn.active{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 2px 8px #007bff4d;color:#fff}.action-btn.active:hover{box-shadow:0 4px 12px #007bff66;transform:translateY(-2px)}.action-btn.loading{background:#6c757d;color:#fff;cursor:not-allowed}.action-btn.disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.action-btn.toggle{background:#f8f9fa;border:1px solid #dee2e6;color:#495057}.action-btn.toggle:hover{background:#e9ecef}.loading-spinner{border:2px solid #0000;border-top-color:currentcolor;height:16px;width:16px}.items-detail{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:20px}.items-detail h4{color:#495057;font-size:1.1rem;font-weight:600;margin:0 0 15px}.items-list{display:flex;flex-direction:column;gap:12px}.item-row{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.item-info{display:flex;flex-direction:column;gap:4px}.item-name{color:#2c3e50;font-size:.95rem;font-weight:600}.item-quantity{color:#6c757d;font-size:.85rem}.item-price{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.unit-price{color:#6c757d;font-size:.85rem}.subtotal{color:#007bff;font-size:.95rem;font-weight:600}.nota-belanja-b2b-pagination{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:30px;padding:20px 0}.pagination-btn{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.pagination-btn:disabled{color:#6c757d;cursor:not-allowed}.pagination-numbers{display:flex;gap:5px}.pagination-number{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:.9rem;min-width:40px;padding:8px 12px;text-align:center;transition:all .3s ease}.pagination-number:hover{background:#e9ecef;border-color:#adb5bd}.pagination-number.active{background:#007bff;border-color:#007bff;color:#fff}.pagination-ellipsis{align-items:center;color:#6c757d;display:flex;padding:8px 4px}.nota-belanja-b2b-snackbar{animation:slideUp .3s ease;background:#28a745;border-radius:8px;bottom:20px;box-shadow:0 4px 12px #0003;color:#fff;font-weight:500;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);z-index:1000}@media (max-width:768px){.nota-belanja-b2b-container{padding:15px}.nota-belanja-b2b-header h1{font-size:1.6rem}.record-header{flex-direction:column;gap:15px}.record-right-side{flex-direction:row;justify-content:space-between;width:100%}.action-btn,.action-row{justify-content:center}.action-btn{flex:1 1;min-width:120px}.item-row{flex-direction:column;gap:8px}.item-price,.item-row{align-items:flex-start}.item-price{width:100%}.pagination-numbers{flex-wrap:wrap}}.printer-settings{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px auto;max-width:800px;padding:20px}.printer-settings h2{color:#333;margin-bottom:10px}.printer-settings p{color:#666;margin-bottom:20px}.printer-settings .form-row{display:flex;gap:20px;margin-bottom:20px}.printer-settings .form-group{flex:1 1;margin-bottom:20px}.printer-settings label{display:block;font-weight:500;margin-bottom:6px}.printer-settings input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px;width:100%}.button-row{display:flex;gap:10px;margin-bottom:20px}.save-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px}.save-button:hover{background-color:#3e8e41}.check-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px}.check-button:hover{background-color:#1976d2}.check-button:disabled{background-color:#90caf9;cursor:not-allowed}.save-message{background-color:#e8f5e9;border-radius:4px;color:#2e7d32;margin:15px 0;padding:10px;text-align:center}.status-box{border-radius:4px;margin:20px 0;padding:15px}.status-box.online{background-color:#e8f5e9;border:1px solid #4caf50}.status-box.offline{background-color:#ffebee;border:1px solid #f44336}.status-box h3{color:#333;margin-bottom:10px;margin-top:0}.status-box p{margin:5px 0}.warning{color:#ff9800;font-weight:500}.error{color:#f44336;font-weight:500}.printer-info{background-color:#f5f5f5;border-radius:4px;margin-top:30px;padding:15px}.printer-info h3{color:#333;margin-bottom:10px}.printer-info ol{padding-left:20px}.printer-info li{color:#555;margin-bottom:8px}@media (max-width:600px){.printer-settings .form-row{flex-direction:column;gap:15px}.button-row{flex-direction:column}}.admin-settings{margin:0 auto;max-width:1000px;padding:20px}.admin-settings h1{color:#333;margin-bottom:24px}.settings-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin-bottom:20px;padding:20px}.settings-card h2{border-bottom:1px solid #eee;color:#444;margin-bottom:16px;margin-top:0;padding-bottom:10px}.environment-toggle{display:flex;flex-direction:column;gap:16px}.environment-badge{border-radius:4px;font-size:14px;font-weight:700;margin-left:10px;padding:5px 10px}.environment-badge.production{background-color:#4caf50;color:#fff}.environment-badge.testing{background-color:#ff9800;color:#fff}.toggle-button{border:none;border-radius:4px;cursor:pointer;font-weight:700;margin-top:10px;max-width:300px;padding:10px 16px;transition:background-color .3s}.toggle-button.production{background-color:#ff9800;color:#fff}.toggle-button.testing{background-color:#4caf50;color:#fff}.toggle-button:hover{opacity:.9}.warning{color:#f44336}.confirm-dialog-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirm-dialog{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:90%;padding:24px;width:450px}.confirm-dialog h3{color:#333;margin-top:0}.confirm-dialog input{border:1px solid #ddd;border-radius:4px;font-size:16px;margin:10px 0;padding:10px;width:100%}.dialog-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.cancel-button,.confirm-button{border-radius:4px;font-weight:700;padding:8px 16px}.cancel-button{background-color:#f5f5f5;color:#333}.confirm-button{background-color:#2196f3}.confirm-button:disabled{background-color:#ccc}.access-denied{background-color:#ffebee;border-left:4px solid #f44336;border-radius:4px;margin-top:16px;padding:16px}.loading{color:#666;font-style:italic;margin-top:20px}.environment-description{line-height:1.5}.brutal-login-container{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:20px;width:100%}.brutal-card{background-color:#fff;background-color:var(--card-bg-color);border:3px solid #000;border:3px solid var(--border-color);border-radius:4px;box-shadow:6px 6px 0 0 #000;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 0 var(--border-color);max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;position:relative;transition:box-shadow .2s ease-out;width:100%}.card-header{border-bottom:2px solid #000;border-bottom:2px solid var(--border-color);margin-bottom:30px;padding-bottom:20px;text-align:center}.card-title{color:#000;color:var(--text-color);font-size:28px;font-weight:900;margin:0;text-transform:uppercase}.form-group{margin-bottom:25px}.form-label{display:block;font-size:14px;font-weight:700;margin-bottom:8px;text-transform:uppercase}.brutal-input,.form-label{color:#000;color:var(--text-color)}.brutal-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-color:var(
    --card-bg-color
  );border:2px solid #000;border:2px solid var(--border-color);border-radius:4px;box-shadow:none;box-sizing:border-box;font-size:16px;font-weight:400;padding:12px 15px;transition:border-color .2s ease-out,box-shadow .2s ease-out;width:100%}.brutal-input:focus{border:3px solid #06d6a0;border:3px solid var(--accent-color);outline:none}.brutal-file-input{background-color:#fff;background-color:var(--card-bg-color);border:2px solid #000;border:2px solid var(--border-color);border-radius:4px;cursor:pointer;font-family:inherit;padding:10px;width:100%}.file-selected{color:#06d6a0;color:var(--accent-color);font-size:14px;font-weight:700;margin-top:8px}.date-input,.select-input{cursor:pointer}.select-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.back-button{background-color:initial;border:none;box-shadow:none;color:#000;color:var(--text-color);font-size:14px;font-weight:700;margin-bottom:20px;padding:8px 15px;text-transform:none}.back-button:focus,.back-button:hover{background-color:#0000000d;box-shadow:none;text-decoration:underline;transform:none}.back-button:active{background-color:#0000001a;box-shadow:none;transform:none}.form-footer{border-top:2px solid #000;border-top:2px solid var(--border-color);margin-top:35px;padding-top:20px;text-align:center}.footer-text{color:#000;color:var(--text-color);font-size:14px;margin-bottom:15px}.success-content{padding:20px 0;text-align:center}.success-message{background-color:#bde0fe;background-color:var(--success-bg);border:2px solid #0077b6;border:2px solid var(--success-border);border-radius:4px;box-shadow:none;font-size:14px;font-weight:700;margin-bottom:20px;padding:12px 15px}.success-message,.success-title{color:#0077b6;color:var(--success-text)}.success-title{font-size:24px;font-weight:900;margin-bottom:15px;text-transform:uppercase}.form-title{font-size:22px;font-weight:900;margin-bottom:10px;text-transform:uppercase}.form-subtitle,.form-title{color:#000;color:var(--text-color);text-align:center}.form-subtitle{font-size:16px;font-weight:400;margin-bottom:30px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:20px}.registration-container{width:100%}.register-header{display:flex;flex-direction:column;margin-bottom:25px}.step-indicator{margin:20px 0}.step,.step-indicator{align-items:center;display:flex;justify-content:center}.step{background-color:#e8e8e8;background-color:var(--step-inactive);border:2px solid #000;border:2px solid var(--border-color);border-radius:50%;font-size:18px;font-weight:900;height:35px;width:35px}.step.active{background-color:#06d6a0;background-color:var(--step-active);color:#fff}.step-line{background-color:#000;background-color:var(--border-color);flex-grow:1;height:3px;margin:0 10px;max-width:60px}.step-navigation{align-items:center;display:flex;justify-content:space-between;margin-top:30px}.step-navigation .back-button{margin-bottom:0}.step-navigation .primary-button{margin-top:0;max-width:180px}.form-terms{background-color:#00000005;border:2px solid #000;border:2px solid var(--border-color);margin-bottom:25px;padding:15px}.terms-title{font-size:18px;font-weight:700;margin-bottom:15px;text-transform:uppercase}.terms-content{margin-bottom:20px}.terms-content p,.terms-content ul{margin-bottom:15px}.terms-content ul{padding-left:20px}.terms-content li{margin-bottom:5px}.checkbox-container,.radio-container{align-items:flex-start;display:flex;margin-top:15px}.brutal-checkbox,.brutal-radio{-webkit-appearance:none;appearance:none;background-color:#fff;background-color:var(--card-bg-color);border:2px solid #000;border:2px solid var(--border-color);border-radius:2px;cursor:pointer;height:22px;margin-right:12px;margin-top:2px;position:relative;width:22px}.brutal-checkbox:checked,.brutal-radio:checked{background-color:#06d6a0;background-color:var(--accent-color);border-color:#000;border-color:var(--border-color)}.brutal-checkbox:checked:after,.brutal-radio:checked:after{color:#fff;color:var(--card-bg-color);content:"✓";font-size:16px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox-label,.radio-label{font-size:14px;font-weight:500;max-width:calc(100% - 34px)}.option-title{font-size:16px;font-weight:700;margin-bottom:10px;margin-top:15px}.membership-options{background-color:#e8e8e8;background-color:var(--secondary-bg);margin-top:15px;padding:15px}.membership-options,.whatsapp-input-container{border:2px solid #000;border:2px solid var(--border-color);border-radius:4px}.whatsapp-input-container{align-items:stretch;background-color:#fff;background-color:var(--card-bg-color);display:flex;overflow:hidden;width:100%}.whatsapp-prefix{align-items:center;background-color:#e8e8e8;background-color:var(--secondary-bg);border-right:2px solid #000;border-right:2px solid var(--border-color);color:#000;color:var(--text-color);display:flex;font-weight:700;justify-content:center;min-width:50px;padding:12px 10px}.whatsapp-input{border:none;border-radius:0;flex-grow:1}.whatsapp-input:focus{border:none;outline:none}.whatsapp-input-container:focus-within{border:3px solid #06d6a0;border:3px solid var(--accent-color)}.member-page-container{align-items:center;background-color:#f0f4f8;background-color:var(--bg-color);justify-content:center;padding:20px}.member-card{background-color:#fff;background-color:var(--card-bg-color);border:3px solid #000;border:3px solid var(--border-color);border-radius:4px;box-shadow:6px 6px 0 0 #000;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 0 var(--border-color);max-width:600px;padding:30px;width:100%}.member-header{border-bottom:2px solid #000;border-bottom:2px solid var(--border-color);margin-bottom:30px;padding-bottom:20px;text-align:center}.member-title{font-size:28px;font-weight:900;margin-bottom:10px;text-transform:uppercase}.member-subtitle{font-size:18px;font-weight:700}.member-content{margin-bottom:30px}.member-info-section{margin-bottom:25px}@media (min-width:768px){.form-grid{grid-template-columns:1fr 1fr}.brutal-card{padding:40px}.step-navigation .primary-button{max-width:200px}}@media (max-width:480px){.brutal-card{box-shadow:4px 4px 0 0 #000;box-shadow:calc(var(--shadow-offset) - 2px) calc(var(--shadow-offset) - 2px) 0 0 var(--border-color);padding:20px}.brutal-button,.brutal-input{font-size:15px;padding:10px 15px}.brutal-button{box-shadow:3px 3px 0 0 #000;box-shadow:calc(var(--button-shadow-offset) - 1px) calc(var(--button-shadow-offset) - 1px) 0 0 var(--border-color)}.primary-button:focus,.primary-button:hover{box-shadow:4px 4px 0 0 #000;box-shadow:var(--button-shadow-offset) var(--button-shadow-offset) 0 0 var(--border-color);transform:translate(-1px,-1px)}.primary-button:active{box-shadow:none;transform:translate(3px,3px);transform:translate(calc(var(--button-shadow-offset) - 1px),calc(var(--button-shadow-offset) - 1px))}.step{font-size:16px;height:30px;width:30px}.step-line{max-width:40px}.step-navigation{flex-direction:column;gap:15px}.step-navigation .back-button,.step-navigation .primary-button{max-width:100%;text-align:center;width:100%}.card-title{font-size:24px}.form-title{font-size:20px}}.modal-overlay-LoanHistoryModal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#11182799;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1050}.modal-content-LoanHistoryModal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:90%}.modal-header-LoanHistoryModal{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.modal-header-LoanHistoryModal h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0}.modal-close-LoanHistoryModal{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;transition:color .2s ease}.modal-close-LoanHistoryModal:hover{color:#1f2937}.modal-body-LoanHistoryModal{background-color:#f9fafb;flex-grow:1;overflow-y:auto;padding:1.5rem}.modal-footer-LoanHistoryModal{background-color:#fff;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.detail-section-LoanHistoryModal{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.detail-section-LoanHistoryModal:last-child{margin-bottom:0}.detail-section-LoanHistoryModal h4{border-bottom:1px solid #f3f4f6;color:#111827;font-size:1rem;font-weight:600;margin-bottom:1rem;margin-top:0;padding-bottom:.75rem}.detail-grid-LoanHistoryModal{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.detail-item-LoanHistoryModal{font-size:.9rem}.detail-item-LoanHistoryModal span{color:#6b7280;display:block;font-size:.8rem;margin-bottom:.25rem}.detail-item-LoanHistoryModal strong{color:#374151;font-weight:500}.status-badge-LoanHistoryModal{border:1px solid #0000;border-radius:9999px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 12px;white-space:nowrap}.status-badge-LoanHistoryModal.status-active{background-color:#d1fae5;color:#065f46}.status-badge-LoanHistoryModal.status-waiting{background-color:#dbeafe;color:#1e40af}.status-badge-LoanHistoryModal.status-revision{background-color:#fef3c7;color:#92400e}.status-badge-LoanHistoryModal.status-pending{background-color:#f3f4f6;color:#374151}.status-badge-LoanHistoryModal.status-rejected{background-color:#fee2e2;color:#991b1b}.status-badge-LoanHistoryModal.status-completed{background-color:#dbeafe;color:#1e40af}.status-badge-LoanHistoryModal.status-default{background-color:#f3f4f6;color:#374151}.payment-proof-container-LoanHistoryModal{margin-top:1rem}.payment-proof-image-LoanHistoryModal{border:1px solid #e5e7eb;border-radius:8px;height:auto;max-width:100%}.payment-proof-link-LoanHistoryModal a{color:#1d4ed8;font-weight:500;text-decoration:none}.payment-proof-link-LoanHistoryModal a:hover{text-decoration:underline}.history-timeline-LoanHistoryModal{margin-top:1rem;position:relative}.history-timeline-LoanHistoryModal:before{background-color:#e5e7eb;bottom:10px;content:"";left:11px;position:absolute;top:10px;width:2px;z-index:0}.history-item-LoanHistoryModal{margin-bottom:1.5rem;padding-left:40px;position:relative}.history-item-LoanHistoryModal:last-child{margin-bottom:0}.history-marker-LoanHistoryModal{align-items:center;background-color:#fff;border-radius:50%;border-style:solid;border-width:2px;display:flex;font-size:.8rem;height:24px;justify-content:center;left:0;position:absolute;top:4px;width:24px;z-index:1}.history-content-LoanHistoryModal{background-color:#f9fafb;border-radius:6px;padding:.75rem 1rem;position:relative}.history-content-LoanHistoryModal p{margin:0}.history-content-LoanHistoryModal .status-LoanHistoryModal{color:#1f2937;font-weight:600;margin-bottom:.25rem}.history-content-LoanHistoryModal .meta-LoanHistoryModal{color:#6b7280;font-size:.8rem}.history-content-LoanHistoryModal .notes-LoanHistoryModal{background-color:#f3f4f6;border-left:3px solid #d1d5db;border-radius:4px;color:#4b5563;font-size:.85rem;margin-top:.75rem;padding:.5rem .75rem}.history-status-approved .history-marker-LoanHistoryModal{border-color:#10b981;color:#10b981}.history-status-waiting .history-marker-LoanHistoryModal{border-color:#3b82f6;color:#3b82f6}.history-status-revision .history-marker-LoanHistoryModal{border-color:#f59e0b;color:#f59e0b}.history-status-pending .history-marker-LoanHistoryModal{border-color:#6b7280;color:#6b7280}.history-status-rejected .history-marker-LoanHistoryModal{border-color:#ef4444;color:#ef4444}.history-status-completed .history-marker-LoanHistoryModal{border-color:#3b82f6;color:#3b82f6}.history-status-payment .history-marker-LoanHistoryModal{border-color:#8b5cf6;color:#8b5cf6}.history-status-default .history-marker-LoanHistoryModal{border-color:#9ca3af;color:#9ca3af}.member-voucher-tile{background:#fff;background:var(--card-bg-color,#fff);border:3px solid #000;border:3px solid var(--border-color,#000);border-radius:0;box-shadow:6px 6px 0 #000;box-shadow:var(--shadow-offset,6px) var(--shadow-offset,6px) 0 var(--border-color,#000);flex-shrink:0;font-family:Inter,sans-serif;margin-bottom:12px;min-width:90%;overflow:hidden;padding:16px;position:relative;transition:all .2s ease;width:90%}.member-voucher-tile:only-child{min-width:100%;width:100%}.member-voucher-tile:hover{box-shadow:8px 8px 0 #000;box-shadow:calc(var(--shadow-offset, 6px) + 2px) calc(var(--shadow-offset, 6px) + 2px) 0 var(--border-color,#000);transform:translate(-2px,-2px)}.voucher-header{align-items:flex-start;gap:12px;margin-bottom:16px}.voucher-name-section{flex:1 1;min-width:0}.voucher-name{word-wrap:break-word;color:#000;color:var(--text-color,#000);font-size:1.1rem;font-weight:900;letter-spacing:.5px;line-height:1.3;margin:0 0 4px;text-transform:uppercase}.voucher-value{color:#0077b6;color:var(--success-text,#0077b6);font-size:.9rem;font-weight:700;margin:0;text-transform:uppercase}.voucher-status{border:2px solid #000;border:2px solid var(--border-color,#000);border-radius:0;box-shadow:3px 3px 0 #000;box-shadow:3px 3px 0 var(--border-color,#000);font-size:.75rem;font-weight:900;letter-spacing:1px;padding:6px 12px;text-align:center;text-transform:uppercase;white-space:nowrap}.voucher-status.active{background-color:#06d6a0;background-color:var(--accent-color,#06d6a0);color:#000;color:var(--text-color,#000)}.voucher-status.claimed{background-color:#bde0fe;background-color:var(--success-bg,#bde0fe);color:#000;color:var(--text-color,#000)}.voucher-status.inactive{background-color:#e8e8e8;background-color:var(--secondary-bg,#e8e8e8);color:#000;color:var(--text-color,#000)}.voucher-status.pending{background-color:#ffd166;background-color:var(--primary-bg,#ffd166);color:#000;color:var(--text-color,#000)}.voucher-status.expired{background-color:#ffadad;background-color:var(--error-bg,#ffadad);color:#000;color:var(--text-color,#000)}.voucher-barcode-section{align-items:center;background-color:#e8e8e8;background-color:var(--secondary-bg,#e8e8e8);border:2px solid #000;border:2px solid var(--border-color,#000);border-radius:0;box-shadow:inset 2px 2px 0 #0000001a;display:flex;justify-content:center;margin:20px 0;min-height:120px;padding:16px}.voucher-barcode{height:auto;margin:5px 0;max-width:100%}.voucher-footer{border-top:2px solid #000;border-top:2px solid var(--border-color,#000);display:flex;gap:16px;justify-content:space-between;margin-top:16px;padding-top:16px}.voucher-date-info{flex:1 1;min-width:0}.date-item{display:flex;flex-direction:column;gap:4px}.date-label{font-size:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.date-label,.date-value{color:#000;color:var(--text-color,#000)}.date-value{font-size:.85rem;font-weight:400;line-height:1.2}@media (max-width:768px){.member-voucher-tile{box-shadow:4px 4px 0 #000;box-shadow:4px 4px 0 var(--border-color,#000);margin-bottom:6px;padding:10px}.member-voucher-tile:hover{box-shadow:5px 5px 0 #000;box-shadow:5px 5px 0 var(--border-color,#000);transform:translate(-1px,-1px)}.voucher-header{margin-bottom:8px}.voucher-name{font-size:1rem;margin:0 0 2px}.voucher-value{font-size:.85rem;margin:0}.voucher-status{box-shadow:2px 2px 0 #000;box-shadow:2px 2px 0 var(--border-color,#000);font-size:.7rem;padding:3px 6px}.voucher-barcode-section{margin:10px 0;min-height:90px;padding:8px}.voucher-footer{gap:8px;margin-top:8px;padding-top:8px}.date-label{font-size:.7rem}.date-value{font-size:.8rem}}@media (max-width:480px){.member-voucher-tile{margin-bottom:4px;padding:8px}.voucher-header{align-items:flex-start;flex-direction:row;gap:6px;margin-bottom:8px;position:relative}.voucher-name-section{flex:1 1;min-width:0;padding-right:6px}.voucher-status{flex-shrink:0;padding:2px 5px;position:absolute;right:0;top:0;z-index:1}.voucher-name{font-size:.95rem;margin-bottom:4px;padding-right:55px}.voucher-value{font-size:.8rem}.voucher-barcode-section{margin:6px 0;min-height:45px;padding:4px}.voucher-footer{flex-direction:column;gap:6px;margin-top:6px;padding-top:6px}.date-item{align-items:center;border-bottom:1px solid #000;border-bottom:1px solid var(--border-color,#000);display:flex;flex-direction:row;justify-content:space-between;padding:8px 0}.date-item:last-child{border-bottom:none}.date-label{font-size:.75rem}.date-value{font-size:.8rem;font-weight:700;text-align:right}}.member-voucher-list{margin-bottom:20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;padding:0 4px}.section-title{font-size:1.2rem;font-weight:900;letter-spacing:1px;margin:0}.section-title,.voucher-count{color:#000;color:var(--text-color,#000)}.voucher-count{background-color:#ffd166;background-color:var(--primary-bg,#ffd166);border:2px solid #000;border:2px solid var(--border-color,#000);border-radius:0;box-shadow:2px 2px 0 #000;box-shadow:2px 2px 0 var(--border-color,#000);font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.vouchers-container{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scroll-behavior:smooth}.vouchers-container::-webkit-scrollbar{height:8px}.vouchers-container::-webkit-scrollbar-track{background:#e8e8e8;background:var(--secondary-bg,#e8e8e8);border:1px solid #000;border:1px solid var(--border-color,#000)}.vouchers-container::-webkit-scrollbar-thumb{background:#000;background:var(--text-color,#000);border:1px solid #000;border:1px solid var(--border-color,#000)}.vouchers-container::-webkit-scrollbar-thumb:hover{background:#ffd166;background:var(--primary-bg,#ffd166)}.loading-state{align-items:center;background:#fff;background:var(--card-bg-color,#fff);border:3px solid #000;border:3px solid var(--border-color,#000);border-radius:0;box-shadow:6px 6px 0 #000;box-shadow:var(--shadow-offset,6px) var(--shadow-offset,6px) 0 var(--border-color,#000);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.loading-spinner{border:4px solid #e8e8e8;border-top:4px solid #06d6a0;border:4px solid var(--secondary-bg,#e8e8e8);border-radius:0;border-top-color:var(--accent-color,#06d6a0);height:32px;margin-bottom:12px;width:32px}.loading-state p{color:#000;color:var(--text-color,#000);font-size:.9rem;font-weight:700;margin:0;text-transform:uppercase}.error-state{align-items:center;background:#ffadad;background:var(--error-bg,#ffadad);border:3px solid #a4161a;border:3px solid var(--error-border,#a4161a);border-radius:0;box-shadow:6px 6px 0 #a4161a;box-shadow:var(--shadow-offset,6px) var(--shadow-offset,6px) 0 var(--error-border,#a4161a);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.error-message{color:var(--error-text,#a4161a);font-size:.9rem;margin-bottom:16px;text-transform:uppercase}.retry-button{background-color:#a4161a;background-color:var(--error-border,#a4161a);border:2px solid #a4161a;border:2px solid var(--error-border,#a4161a);border-radius:0;box-shadow:3px 3px 0 #000;box-shadow:3px 3px 0 var(--border-color,#000);color:var(--card-bg-color,#fff);font-weight:700;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase;transition:all .2s ease}.retry-button:hover{box-shadow:4px 4px 0 #000;box-shadow:4px 4px 0 var(--border-color,#000);transform:translate(-1px,-1px)}.empty-state{align-items:center;background-color:var(--card-bg-color,#fff);border:3px solid #000;border:3px solid var(--border-color,#000);border-radius:0;box-shadow:6px 6px 0 #000;box-shadow:var(--shadow-offset,6px) var(--shadow-offset,6px) 0 var(--border-color,#000);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.8}.empty-state h4{font-size:1.1rem;font-weight:900;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.empty-state h4,.empty-state p{color:#000;color:var(--text-color,#000)}.empty-state p{font-size:.9rem;font-weight:400;line-height:1.4;margin:0}@media (max-width:768px){.member-voucher-list{margin-bottom:16px}.section-header{margin-bottom:12px}.section-title{font-size:1.1rem}.voucher-count{box-shadow:1px 1px 0 #000;box-shadow:1px 1px 0 var(--border-color,#000);font-size:.8rem;padding:4px 10px}.vouchers-container{gap:10px}.error-state,.loading-state{padding:30px 16px}.empty-state,.error-state,.loading-state{box-shadow:4px 4px 0 #000;box-shadow:4px 4px 0 var(--border-color,#000)}.empty-state{padding:40px 16px}.empty-icon{font-size:2.5rem;margin-bottom:12px}.empty-state h4{font-size:1rem}.empty-state p{font-size:.85rem}.retry-button{box-shadow:2px 2px 0 #000;box-shadow:2px 2px 0 var(--border-color,#000)}.retry-button:hover{box-shadow:3px 3px 0 #000;box-shadow:3px 3px 0 var(--border-color,#000)}}@media (max-width:480px){.section-header{align-items:flex-start;flex-direction:column;gap:8px}.voucher-count{align-self:flex-end}.vouchers-container{gap:8px}.empty-state,.error-state,.loading-state{padding:24px 12px}}.barcode-expanded-overlay{background-color:#0009;bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:1000}.barcode-expanded-overlay.desktop{align-items:center;justify-content:center}.barcode-expanded-container{background-color:#fff;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.barcode-expanded-container.modal{box-shadow:0 5px 15px #0000004d;max-height:90vh;max-width:600px;width:90%}.barcode-expanded-overlay.mobile{align-items:flex-end}.barcode-expanded-container.bottom-sheet{animation:slide-up .3s ease-out;border-radius:20px 20px 0 0;height:100%;width:100%}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.barcode-expanded-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px;position:relative}.barcode-expanded-header h3{flex:1 1;font-size:1.2rem;margin:0}.barcode-value{color:#06c;font-size:1.1rem;font-weight:700;margin-right:25px}.close-button{background:none;border:none;color:#555;cursor:pointer;font-size:24px;position:absolute;right:16px;top:12px}.barcode-expanded-content{align-items:center;display:flex;flex:1 1;justify-content:center;padding:20px}.barcode-expanded-content.vertical{align-items:center;display:flex;height:60vh;justify-content:center;margin:100px 0;padding:10px;transform:rotate(90deg)}.barcode-expanded-content.horizontal{padding:30px}.expanded-barcode{height:auto;max-width:100%;width:100%}.bottom-sheet .expanded-barcode{max-height:85vh;width:auto}.barcode-expanded-footer{border-top:1px solid #eee;padding:16px;text-align:center}.scan-instructions{color:#666;font-size:.9rem;margin:0}.campaign-tutorial-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.campaign-tutorial-overlay.mobile{align-items:flex-end;padding:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.campaign-tutorial-modal{animation:slideUp .3s ease-out;background:#fefefe;border:3px solid #1a1a1a;border-radius:16px;box-shadow:6px 6px 0 #1a1a1a;display:flex;flex-direction:column;max-height:85vh;max-width:420px;overflow:hidden;width:100%}.campaign-tutorial-modal.bottom-sheet{animation:slideUpSheet .3s ease-out;border-bottom:none;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #00000026;max-height:90vh;max-width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tutorial-drag-handle{background:#d1d5db;border-radius:2px;flex-shrink:0;height:4px;margin:12px auto 4px;width:40px}.tutorial-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.tutorial-header-content{align-items:center;display:flex;gap:10px}.tutorial-header-icon{font-size:1.5rem}.tutorial-title{color:#1a1a1a;font-size:1.1rem;font-weight:700;margin:0}.tutorial-close-btn{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .15s ease;width:32px}.tutorial-close-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.tutorial-campaign-badge{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-bottom:2px solid #fed7aa;padding:12px 20px}.badge-name{color:#c2410c;font-size:.85rem;font-weight:600}.tutorial-steps{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:16px 20px}.tutorial-step{align-items:flex-start;display:flex;gap:12px}.step-number{align-items:center;background:#1a1a1a;border-radius:50%;color:#fff;display:flex;font-size:.85rem;font-weight:700;height:28px;justify-content:center;margin-top:4px;min-width:28px;width:28px}.step-content{display:flex;flex:1 1;flex-direction:column;gap:10px}.step-image-container{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;height:110px;overflow:hidden;position:relative;width:100%}.step-image{height:100%;object-fit:cover;width:100%}.step-icon-overlay{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;display:flex;font-size:1.5rem;height:36px;justify-content:center;position:absolute;right:8px;top:8px;width:36px}.step-text{padding:0 4px}.step-title{color:#1a1a1a;font-size:.95rem;font-weight:700;margin:0 0 4px}.step-description{color:#4b5563;font-size:.85rem;line-height:1.4;margin:0}.tutorial-footer{background:#fafafa;border-top:2px solid #f0f0f0;flex-shrink:0;padding:16px 20px}.tutorial-got-it-btn{background:#1a1a1a;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:14px 24px;transition:all .15s ease;width:100%}.tutorial-got-it-btn:hover{background:#2d2d2d;transform:translateY(-1px)}.tutorial-got-it-btn:active{transform:translateY(0)}.bottom-sheet .tutorial-header{padding:12px 20px 16px}.bottom-sheet .tutorial-steps{padding:12px 20px}.bottom-sheet .step-image-container{height:110px}.bottom-sheet .tutorial-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}.tutorial-steps::-webkit-scrollbar{width:4px}.tutorial-steps::-webkit-scrollbar-track{background:#0000}.tutorial-steps::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.tutorial-steps::-webkit-scrollbar-thumb:hover{background:#9ca3af}:root{--bg-color:#f0f4f8;--card-bg-color:#fff;--text-color:#000;--border-color:#000;--primary-bg:#ffd166;--primary-hover-bg:#fca311;--primary-text:#000;--secondary-bg:#e8e8e8;--secondary-hover-bg:#d0d0d0;--secondary-text:#000;--accent-color:#06d6a0;--error-bg:#ffadad;--error-text:#a4161a;--error-border:#a4161a;--success-bg:#bde0fe;--success-text:#0077b6;--success-border:#0077b6;--step-active:#06d6a0;--step-inactive:#e8e8e8;--shadow-offset:6px;--button-shadow-offset:4px;--placeholder-text-color:#555;--stamp-text-color:#fff}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f4f8;background-color:var(--bg-color);color:#000;color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;margin:0;padding:0}.member-nav-container{align-items:center;background-color:#fff;background-color:var(--card-bg-color);border-bottom:3px solid #000;border-bottom:3px solid var(--border-color);box-shadow:0 4px 0 0 #0000001a;display:flex;justify-content:space-between;left:0;padding:15px 20px;position:fixed;right:0;top:0;z-index:100}.nav-logo{font-size:24px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.nav-menu-button{background:none;border:none;cursor:pointer;font-size:24px;padding:8px}.nav-menu-button:hover{background-color:#e8e8e8;background-color:var(--secondary-bg);border-radius:4px}.menu-drawer{background-color:#fff;background-color:var(--card-bg-color);border-left:3px solid #000;border-left:3px solid var(--border-color);box-shadow:-6px 0 0 0 #000;box-shadow:calc(var(--shadow-offset)*-1) 0 0 0 var(--border-color);height:100vh;padding:20px;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease-in-out;width:280px;z-index:200}.menu-drawer.open{transform:translateX(0)}.menu-close{background:none;border:none;cursor:pointer;font-size:24px;position:absolute;right:10px;top:10px}.menu-header{border-bottom:2px solid #000;border-bottom:2px solid var(--border-color);margin-top:40px;padding-bottom:20px}.menu-user{font-size:18px;font-weight:700;margin-bottom:5px}.menu-status{border-radius:4px;display:inline-block;font-size:14px;font-weight:700;margin-top:5px;padding:4px 8px}.menu-status.pending{background-color:#ffd166;border:2px solid #000;color:#000}.menu-status.approved{background-color:#06d6a0;border:2px solid #000;color:#000}.menu-items{margin-top:20px}.menu-item{background-color:#fff;background-color:var(--card-bg-color);border:2px solid #000;border:2px solid var(--border-color);border-radius:4px;color:#000;color:var(--text-color);cursor:pointer;display:block;font-size:16px;font-weight:700;margin-bottom:10px;padding:12px 15px;text-decoration:none;transition:all .2s ease}.menu-item:hover{background-color:#e8e8e8;background-color:var(--secondary-bg);box-shadow:4px 4px 0 0 #000;box-shadow:4px 4px 0 0 var(--border-color);transform:translate(-2px,-2px)}.menu-item.active{background-color:#ffd166;background-color:var(--primary-bg)}.menu-logout{background-color:#ffadad;background-color:var(--error-bg);border:2px solid #a4161a;border:2px solid var(--error-border);border-radius:4px;bottom:30px;color:#a4161a;color:var(--error-text);cursor:pointer;font-weight:700;left:20px;padding:12px;position:absolute;right:20px;text-align:center}.menu-logout:hover{background-color:#a4161a;background-color:var(--error-text);color:#fff}.member-page-container{display:flex;flex-direction:column;min-height:100vh;padding-top:70px}.member-content{box-sizing:border-box;margin:0 auto;max-width:800px;padding:20px;width:100%}.page-title{border-bottom:3px solid #000;border-bottom:3px solid var(--border-color);font-size:28px;font-weight:900;margin-bottom:20px;padding-bottom:10px;text-transform:uppercase}.member-info-section{margin-bottom:30px}.section-title{font-size:20px;font-weight:800;margin-bottom:15px;text-transform:uppercase}.info-card{border:3px solid #000;border:3px solid var(--border-color);border-radius:8px;box-shadow:6px 6px 0 0 #000;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 0 var(--border-color);margin-bottom:20px;padding:20px}.info-card,.info-item{background-color:#fff;background-color:var(--card-bg-color)}.info-item{border:2px solid #000;border:2px solid var(--border-color);border-radius:4px;display:flex;justify-content:space-between;margin-bottom:12px;padding:12px 15px}.info-label{font-weight:700}.info-value{font-weight:400}.status-indicator{border-radius:4px;display:inline-block;font-weight:700;letter-spacing:1px;padding:8px 15px;text-transform:uppercase}.status-pending{background-color:#ffd166;border:2px solid #000;color:#000}.status-approved{background-color:#06d6a0;border:2px solid #000;color:#000}.status-inactive{background-color:#ff6b6b;border:2px solid #000;color:#fff}.pending-message{background-color:#ffd166;background-color:var(--primary-bg);border-radius:4px;margin-top:15px;padding:15px}.brutal-button,.pending-message{border:2px solid #000;border:2px solid var(--border-color)}.brutal-button{border-radius:4px;box-shadow:4px 4px 0 0 #000;box-shadow:var(--button-shadow-offset) var(--button-shadow-offset) 0 0 var(--border-color);cursor:pointer;display:inline-block;font-size:16px;font-weight:700;padding:12px 25px;position:relative;text-align:center;text-transform:uppercase;transition:transform .15s ease-out,box-shadow .15s ease-out,background-color .15s ease-out}.primary-button{background-color:#ffd166;background-color:var(--primary-bg);color:#000;color:var(--primary-text);margin-top:20px;width:100%}.primary-button:focus,.primary-button:hover{background-color:#fca311;background-color:var(--primary-hover-bg);box-shadow:6px 6px 0 0 #000;box-shadow:calc(var(--button-shadow-offset) + 2px) calc(var(--button-shadow-offset) + 2px) 0 0 var(--border-color);outline:none;transform:translate(-2px,-2px)}.primary-button:active{box-shadow:none;transform:translate(4px,4px);transform:translate(var(--button-shadow-offset),var(--button-shadow-offset))}.secondary-button{background-color:#e8e8e8;background-color:var(--secondary-bg);color:#000;color:var(--secondary-text);margin-top:15px}.secondary-button:focus,.secondary-button:hover{background-color:#d0d0d0;background-color:var(--secondary-hover-bg);box-shadow:6px 6px 0 0 #000;box-shadow:calc(var(--button-shadow-offset) + 2px) calc(var(--button-shadow-offset) + 2px) 0 0 var(--border-color);outline:none;transform:translate(-2px,-2px)}.secondary-button:active{box-shadow:none;transform:translate(4px,4px);transform:translate(var(--button-shadow-offset),var(--button-shadow-offset))}.button-loading{background-color:#ccc!important;box-shadow:none!important;color:#666!important;cursor:not-allowed;opacity:.7;pointer-events:none;transform:none!important}.member-actions{display:flex;flex-direction:column;gap:15px;margin-top:20px}.error-message{box-shadow:none;font-size:14px;font-weight:700;padding:12px 15px}.loading-message{font-size:18px;font-weight:700;padding:30px;text-align:center}.menu-overlay{background-color:#00000080;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:150}.menu-overlay.open{opacity:1;pointer-events:auto}.tab-container{border:3px solid #000;border:3px solid var(--border-color);border-radius:8px;display:flex;margin-bottom:20px;overflow:hidden}.tab-item{background-color:#fff;background-color:var(--card-bg-color);border-right:3px solid #000;border-right:3px solid var(--border-color);cursor:pointer;flex:1 1;font-size:16px;font-weight:700;padding:15px;text-align:center;text-transform:uppercase;transition:background-color .2s ease}.tab-item:last-child{border-right:none}.tab-item.active{background-color:#ffd166;background-color:var(--primary-bg)}.tab-item:hover:not(.active){background-color:#e8e8e8;background-color:var(--secondary-bg)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:16px;font-weight:700;margin-bottom:8px}.form-input{background-color:#fff;border:2px solid #000;border:2px solid var(--border-color);border-radius:4px;box-sizing:border-box;font-family:Inter,sans-serif;font-size:16px;padding:12px 15px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input:focus{border-color:#06d6a0;border-color:var(--accent-color);box-shadow:0 0 0 3px #06d6a033;outline:none}.input-with-prefix{align-items:center;display:flex;position:relative}.input-prefix{color:#666;font-weight:700;left:15px;position:absolute}.input-with-prefix .form-input{padding-left:40px}textarea.form-input{min-height:100px;resize:vertical}.info-box{background-color:#bde0fe;background-color:var(--success-bg);border:2px solid #0077b6;border:2px solid var(--success-border);border-radius:4px;margin-top:30px;padding:15px}.info-box h4{color:#0077b6;color:var(--success-text);font-weight:700;margin-bottom:10px;margin-top:0}.info-box ul{margin:0;padding-left:20px}.info-box li{margin-bottom:8px}.voucher-list{margin-bottom:25px}.voucher-item{align-items:center;background-color:#fff;background-color:var(--card-bg-color);border:2px solid #000;border:2px solid var(--border-color);border-radius:4px;display:flex;justify-content:space-between;margin-bottom:15px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.voucher-item:hover{box-shadow:5px 5px 0 0 #000;box-shadow:5px 5px 0 0 var(--border-color);transform:translate(-2px,-2px)}.voucher-details{flex:1 1}.voucher-code{color:#000;color:var(--primary-text);font-size:20px;font-weight:900;margin-bottom:5px}.voucher-discount{color:#0077b6;color:var(--success-text);font-size:16px;font-weight:700;margin-bottom:5px}.voucher-expiry{color:#666;font-size:14px}.voucher-info{background-color:#f8f9fa;border:2px solid #000;border:2px solid var(--border-color);border-radius:4px;padding:15px}.voucher-info p{margin-top:0}.welcome-banner{align-items:flex-start;background-color:#fff;background-color:var(--card-bg-color);border:3px solid #000;border:3px solid var(--border-color);border-radius:8px;box-shadow:6px 6px 0 0 #000;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 0 var(--border-color);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:20px;overflow:hidden;padding:20px;position:relative;transition:background-color .3s ease}.welcome-banner.inactive{background-color:#e8e8e8;background-color:var(--secondary-bg)}.welcome-message{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:200px}.welcome-message span{color:#555;color:var(--placeholder-text-color);display:block;font-size:14px}.welcome-message h3{color:#000;color:var(--text-color);font-size:22px;font-weight:900;margin:0}.welcome-message p{color:#555;color:var(--placeholder-text-color);font-size:14px;margin:0;opacity:.7}.right-section{align-items:flex-end;display:flex;flex-direction:column;gap:10px;min-width:150px}.inactive-stamp{background-color:#a4161a;background-color:var(--error-text);border:2px solid #000;border:2px solid var(--border-color);box-shadow:3px 3px 0 0 #0000004d;color:#fff;color:var(--stamp-text-color);display:none;font-size:12px;font-weight:900;letter-spacing:1px;padding:5px 30px;pointer-events:none;position:absolute;right:-25px;text-align:center;text-transform:uppercase;top:10px;transform:rotate(25deg);z-index:2}.welcome-banner.inactive .inactive-stamp{display:block}.loan-list{grid-gap:1.5rem;display:grid;gap:1.5rem;margin-bottom:2rem}.loan-card{background:#fff;background:var(--card-bg-color);border:2px solid #000;box-shadow:6px 6px 0 0 #000;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 0 var(--border-color);padding:1.5rem;transition:transform .2s,box-shadow .2s}.loan-card:hover{box-shadow:8px 8px 0 0 #000;box-shadow:calc(var(--shadow-offset) + 2px) calc(var(--shadow-offset) + 2px) 0 0 var(--border-color)}.loan-header{border-bottom:2px solid #000;border-bottom:2px solid var(--border-color);margin-bottom:1rem;padding-bottom:.75rem}.loan-header h4{font-size:1.1rem}.loan-details{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1.25rem}.loan-detail{gap:1rem}.detail-label{color:#000;color:var(--text-color);flex:0 0 160px;font-weight:600}.detail-value{flex:1 1;word-break:break-word}.loan-actions{border-top:2px solid #000;border-top:2px solid var(--border-color);gap:.75rem;margin-top:1.25rem;padding-top:1rem}.loan-actions .brutal-button{flex:1 1;font-size:.9rem;padding:.5rem;text-align:center}.no-loans{background:#fff;background:var(--card-bg-color);border:2px dashed #000;border:2px dashed var(--border-color);border-radius:8px;margin-bottom:1.5rem;padding:2rem;text-align:center}.no-loans p{color:#555;color:var(--placeholder-text-color);margin:0}.status-badge{border:2px solid #000;border:2px solid var(--border-color);border-radius:999px;font-size:.8rem;padding:.25rem .75rem}.status-badge.success{background-color:#bde0fe;background-color:var(--success-bg);border-color:#0077b6;border-color:var(--success-border);color:#0077b6;color:var(--success-text)}.status-badge.error{background-color:#ffadad;background-color:var(--error-bg);border-color:#a4161a;border-color:var(--error-border);color:#a4161a;color:var(--error-text)}.status-badge.warning{background-color:#fff3cd;border-color:#ffeeba;color:#856404}.status-badge.info{background-color:#cce5ff;border-color:#b8daff;color:#004085}.character-count{color:#555;color:var(--placeholder-text-color);font-size:.8rem;margin-top:.25rem;text-align:right}.error-message{background-color:#ffadad;background-color:var(--error-bg);border:2px solid #a4161a;border:2px solid var(--error-border);border-radius:4px;color:#a4161a;color:var(--error-text);font-weight:500;margin-bottom:1.25rem;padding:.75rem 1rem}.form-note{color:#555;color:var(--placeholder-text-color);font-size:.85rem;line-height:1.4;margin-top:.75rem}@media (max-width:600px){.loan-detail{flex-direction:column;gap:.25rem}.detail-label,.detail-value{flex:1 1;text-align:left}.loan-actions{flex-direction:column}.loan-actions .brutal-button{width:100%}}.balance-card{align-items:flex-end;background-color:#fff;background-color:var(--card-bg-color);border:3px solid #000;border:3px solid var(--border-color);border-radius:6px;box-shadow:3px 3px 0 0 #0000001a;display:flex;flex-direction:column;padding:10px 15px;position:relative;width:100%;z-index:1}.balance-label{color:#555;color:var(--placeholder-text-color);font-size:12px}.balance-amount{color:#000;color:var(--text-color);font-size:20px;font-weight:900}.next-payment-info{border-top:1px solid #000;border-top:1px solid var(--border-color);margin-top:8px;padding-top:8px;width:100%}.next-payment-text{color:#555;color:var(--placeholder-text-color);display:block;font-size:10px;line-height:1.2;text-align:right}.next-payment-amount{color:#0fa320;font-weight:900}.activate-button{background-color:#ffd166;background-color:var(--primary-bg);box-shadow:4px 4px 0 0 #000;box-shadow:var(--button-shadow-offset) var(--button-shadow-offset) 0 0 var(--border-color);color:#000;color:var(--primary-text);transition:transform .1s ease,box-shadow .1s ease,background-color .2s ease}.activate-button:hover{background-color:#fca311;background-color:var(--primary-hover-bg)}.activate-button:active{transform:translate(4px,4px);transform:translate(var(--button-shadow-offset),var(--button-shadow-offset))}.activate-button{background-color:var(--stamp-bg);border:2px solid #000;border:2px solid var(--border-color);border-radius:6px;box-shadow:3px 3px 0 0 #000;box-shadow:3px 3px 0 0 var(--border-color);color:var(--button-text-color);cursor:pointer;font-weight:700;margin-top:10px;max-width:250px;padding:10px 15px;text-align:center;transition:transform .1s ease,box-shadow .1s ease;width:auto}.activate-button:active{box-shadow:none;transform:translate(3px,3px)}@media (max-width:640px){.welcome-banner{gap:15px;padding:15px}.welcome-message{min-width:0;order:1;width:100%}.right-section{align-items:stretch;min-width:0;order:2;width:100%}.balance-card{align-items:flex-start}.activate-button{font-size:14px;max-width:none;padding:12px 10px;width:100%}.inactive-stamp{font-size:10px;padding:4px 25px;right:-20px;top:5px}}.transaction-history{margin-top:10px}.transaction-item{align-items:center;background-color:#fff;background-color:var(--card-bg-color);border:2px solid #000;border:2px solid var(--border-color);border-radius:4px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.transaction-item:hover{box-shadow:4px 4px 0 0 #000;box-shadow:4px 4px 0 0 var(--border-color);transform:translate(-2px,-2px)}.transaction-details{display:flex;flex-direction:column}.transaction-date{font-size:14px;font-weight:700;margin-bottom:5px}.transaction-type{font-size:16px;margin-bottom:5px}.transaction-status{background-color:#bde0fe;background-color:var(--success-bg);border-radius:4px;color:#0077b6;color:var(--success-text);display:inline-block;font-size:12px;font-weight:700;padding:2px 8px}.transaction-amount{font-size:18px;font-weight:900}.btn-link{background:none;border:none;color:#0077b6;color:var(--success-text);cursor:pointer;display:block;font-weight:700;margin-top:10px;padding:10px 0;text-align:center;text-decoration:underline;width:100%}.btn-link:hover{color:#005b8f}.quick-actions{margin-top:20px}.action-buttons{display:flex;gap:15px;justify-content:space-between;margin-top:10px}.action-button{align-items:center;background-color:#fff;background-color:var(--card-bg-color);border:3px solid #000;border:3px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.action-button:hover{box-shadow:5px 5px 0 0 #000;box-shadow:5px 5px 0 0 var(--border-color);transform:translate(-3px,-3px)}.action-icon{font-size:28px;margin-bottom:10px}.action-text{font-size:14px;font-weight:700;text-transform:uppercase}.action-button.simpanan{background-color:#bde0fe}.action-button.pinjaman{background-color:#a2d2ff}.action-button.voucher{background-color:#ffd166}.modal-overlay{background-color:#000000b3}.modal-content{background-color:var(--card-bg-color);border:3px solid #000;border:3px solid var(--border-color);box-shadow:6px 6px 0 0 #000;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 0 var(--border-color);max-width:90%;position:relative;width:500px}.modal-header{border-bottom:2px solid #000;border-bottom:2px solid var(--border-color);padding:10px 20px}.modal-header h3{font-size:20px;font-weight:800}.modal-close{font-size:20px}.modal-body{max-height:70vh;padding:10px 20px 20px}.inactive-message-card{text-align:center}.inactive-message{font-size:16px;margin:20px 0;padding:15px}.registration-info{font-size:16px;margin-bottom:20px}.fee-info,.terms-agreement{margin:20px 0}.fee-info{background-color:#bde0fe;background-color:var(--success-bg);border:2px solid #0077b6;border:2px solid var(--success-border);border-radius:4px;padding:15px}.fee-item{display:flex;justify-content:space-between;margin-bottom:10px}.fee-amount{font-weight:700}@media (max-width:768px){.modal-overlay{align-items:flex-end;justify-content:normal;padding:0}.modal-content{border:none;border-radius:15px 15px 0 0;border-top:3px solid #000;border-top:3px solid var(--border-color,#000);bottom:0;box-shadow:0 -5px 15px #00000026;left:0;margin-left:0;margin-right:0;max-height:80vh;max-width:100%;position:fixed;right:0;width:100%}.modal-header h3{font-size:18px}.modal-body{padding:15px}.brutal-button{font-size:15px;padding:10px 20px}.info-item{flex-direction:column}.info-value{font-weight:700;margin-top:5px}.menu-drawer{width:250px}.voucher-item{align-items:flex-start;flex-direction:column}.voucher-item button{margin-top:15px;width:100%}.welcome-banner{align-items:flex-start;flex-direction:column}.balance-card{align-items:flex-start;margin-top:15px;width:100%}.action-buttons{flex-direction:column}.action-button{flex-direction:row;justify-content:flex-start}.action-icon{margin-bottom:0;margin-right:15px}}.loan-card{background-color:var(--card-bg-color);border:2px solid var(--border-color);border-radius:8px;box-shadow:4px 4px 0 0 var(--border-color);margin-bottom:15px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.loan-card:hover{box-shadow:6px 6px 0 0 var(--border-color);transform:translate(-2px,-2px)}.loan-header h4{font-weight:700;margin:0}.loan-details{flex-direction:column;gap:10px}.loan-detail{align-items:baseline;display:flex;justify-content:space-between}.detail-label{flex-basis:auto;flex-grow:0;flex-shrink:0;font-size:14px;margin-right:10px}.detail-value{flex-basis:0;flex-grow:1;flex-shrink:1;min-width:0;text-align:right}.loan-actions{border-top:1px solid var(--secondary-bg);display:flex;gap:10px;justify-content:flex-end;margin-top:15px;padding-top:15px}.active-loans-list{margin-top:10px}.loan-item{background-color:var(--card-bg-color);border:2px solid var(--border-color);border-radius:8px;box-shadow:4px 4px 0 0 var(--border-color);margin-bottom:15px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.loan-header{align-items:center;border-bottom:1px solid var(--secondary-bg);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.status-badge{font-size:12px;font-weight:700;padding:4px 10px}.status-badge.success{background-color:#e3f9ec;color:#0d6832}.loan-info-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:15px}.loan-info-item{display:flex;flex-direction:column}.loan-info-label{color:var(--placeholder-text-color);font-size:13px;margin-bottom:4px}.loan-info-value{font-size:14px;font-weight:600}.loan-item:hover{box-shadow:6px 6px 0 0 var(--border-color);transform:translate(-2px,-2px)}.loan-details{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.loan-amount{color:var(--text-color);font-size:18px;font-weight:700}.loan-info{align-items:flex-end;display:flex;flex-direction:column}.loan-purpose{color:var(--placeholder-text-color);font-size:14px;margin-bottom:5px}.loan-progress{color:var(--success-text);font-size:13px;font-weight:600}.payment-progress-container{margin-top:5px;width:100%}.payment-progress-bar{background-color:var(--secondary-bg);border:1px solid var(--border-color);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background-color:var(--step-active);border-radius:3px}.empty-state,.loading-state{background-color:var(--card-bg-color);border:2px solid var(--border-color);border-radius:8px;margin:15px 0;padding:20px;text-align:center}.empty-state-text,.loading-text{color:var(--placeholder-text-color);font-size:15px}.loan-detail-modal{max-height:80vh;width:600px}.loan-detail-section{border-bottom:1px solid var(--secondary-bg);margin-bottom:20px;padding-bottom:20px}.loan-detail-section:last-child{border-bottom:none;padding-bottom:0}.loan-detail-section h4{font-size:16px;font-weight:700;margin-bottom:15px;margin-top:0}.detail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.detail-item{background-color:var(--card-bg-color);border:1px solid var(--secondary-bg);border-radius:4px;padding:12px}.detail-item.wide{grid-column:span 2}.detail-label{color:var(--placeholder-text-color);font-size:12px;margin-bottom:4px}.detail-value{color:var(--text-color)}.payment-proof-container{display:flex;justify-content:center;margin-top:10px}.payment-proof-image{border:1px solid var(--border-color);border-radius:4px;max-height:300px;max-width:100%}.payment-proof-link{align-items:center;background-color:var(--secondary-bg);border-radius:4px;display:flex;font-weight:600;padding:10px 15px}.payment-proof-link,.payment-proof-link a{color:var(--text-color);text-decoration:none}.payment-proof-link .file-icon{font-size:20px;margin-right:8px}.history-timeline{margin-left:20px;padding-left:30px;position:relative}.history-timeline:before{background-color:var(--secondary-bg);bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.history-item{margin-bottom:25px;position:relative}.history-item:last-child{margin-bottom:0}.history-marker{background-color:var(--primary-bg);border:2px solid var(--border-color);border-radius:50%;height:16px;left:-38px;position:absolute;top:0;width:16px}.history-content{background-color:var(--card-bg-color);border:1px solid var(--secondary-bg);border-radius:4px;padding:15px}.history-status{border-radius:4px;display:inline-block;font-size:12px;font-weight:700;margin-bottom:8px;padding:4px 8px}.history-status.status-badge.success{background-color:#e3f9ec;color:#0d6832}.history-status.status-badge.error{background-color:#fee;color:#cf0000}.history-status.status-badge.info{background-color:#e6f4ff;color:#0050b3}.history-status.status-badge.warning{background-color:#fff8e6;color:#ad5700}.history-time{color:var(--placeholder-text-color);font-size:12px;margin-bottom:8px}.history-notes{font-size:14px}@media (max-width:768px){.detail-grid{grid-template-columns:1fr}.detail-item.wide{grid-column:auto}.loan-detail-modal{width:100%}}.campaign-section{margin-bottom:25px}.campaign-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:15px}.campaign-section-title{color:#000;color:var(--text-color,#000);font-size:18px;font-weight:900;letter-spacing:.5px;margin:0;text-transform:uppercase}.campaign-tutorial-btn{align-items:center;background:#fff;border:2px solid #1a1a1a;border-radius:24px;box-shadow:3px 3px 0 0 #1a1a1a;color:#1a1a1a;cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:6px;padding:8px 14px;transition:all .15s ease;white-space:nowrap}.campaign-tutorial-btn:hover{background:#ffd166;box-shadow:5px 5px 0 0 #1a1a1a;transform:translate(-2px,-2px)}.campaign-tutorial-btn:active{box-shadow:1px 1px 0 0 #1a1a1a;transform:translate(2px,2px)}.tutorial-btn-icon{align-items:center;background:#1a1a1a;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:800;height:18px;justify-content:center;width:18px}.tutorial-btn-text{letter-spacing:.3px;text-transform:uppercase}.campaign-cards-container{display:flex;flex-direction:column;gap:15px}.campaign-card{background-color:#fff;background-color:var(--card-bg-color,#fff);border:3px solid #000;border:3px solid var(--border-color,#000);border-radius:8px;box-shadow:6px 6px 0 0 #000;box-shadow:var(--shadow-offset,6px) var(--shadow-offset,6px) 0 0 var(--border-color,#000);overflow:hidden;padding:20px;position:relative;transition:transform .2s ease,box-shadow .2s ease}.campaign-card:before{background:linear-gradient(90deg,#ffd166,#06d6a0,#118ab2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.campaign-card:hover{box-shadow:8px 8px 0 0 #000;box-shadow:calc(var(--shadow-offset, 6px) + 2px) calc(var(--shadow-offset, 6px) + 2px) 0 0 var(--border-color,#000);transform:translate(-2px,-2px)}.campaign-card.claimed{background-color:#f0fdf4}.campaign-card.claimed:before{background:linear-gradient(90deg,#06d6a0,#06d6a0,#06d6a0)}.campaign-card.can-claim{animation:pulse-border 2s infinite}@keyframes pulse-border{0%,to{box-shadow:6px 6px 0 0 #000;box-shadow:var(--shadow-offset,6px) var(--shadow-offset,6px) 0 0 var(--border-color,#000)}50%{box-shadow:6px 6px 0 0 #06d6a0;box-shadow:var(--shadow-offset,6px) var(--shadow-offset,6px) 0 0 #06d6a0}}.campaign-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.campaign-badge{background-color:#ffd166;border:2px solid #000;border:2px solid var(--border-color,#000);border-radius:4px;color:#000;display:inline-block;font-size:11px;font-weight:800;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.campaign-card.claimed .campaign-badge{background-color:#06d6a0}.campaign-expiry{color:#666;font-size:12px;font-weight:700}.campaign-name{color:#000;color:var(--text-color,#000);font-size:20px;font-weight:900;margin:0 0 15px}.campaign-reward{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #000;border:2px solid var(--border-color,#000);border-radius:6px;display:flex;flex-direction:column;gap:2px;margin-bottom:20px;padding:12px 15px}.campaign-reward-label{color:#9a3412;font-size:12px;font-weight:700;text-transform:uppercase}.campaign-reward-value{color:#c2410c;font-size:24px;font-weight:900}.campaign-progress-section{margin-bottom:15px}.campaign-progress-labels{color:#000;color:var(--text-color,#000);display:flex;font-size:13px;font-weight:700;justify-content:space-between;margin-bottom:8px}.campaign-progress-bar{background-color:#e5e5e5;border:2px solid #000;border:2px solid var(--border-color,#000);border-radius:6px;height:12px;margin-bottom:8px;overflow:hidden}.campaign-progress-fill{background:linear-gradient(90deg,#ffd166,#06d6a0);border-radius:4px;height:100%;transition:width .5s ease}.campaign-card.can-claim .campaign-progress-fill{background:linear-gradient(90deg,#06d6a0,#059669)}.campaign-progress-text{color:#666;font-size:13px;font-weight:600;text-align:center}.campaign-card.can-claim .campaign-progress-text{color:#059669;font-weight:700}.campaign-claim-btn{border:3px solid #000;border:3px solid var(--border-color,#000);border-radius:6px;box-shadow:4px 4px 0 0 #000;box-shadow:4px 4px 0 0 var(--border-color,#000);cursor:pointer;font-size:15px;font-weight:800;letter-spacing:.5px;padding:14px 20px;text-transform:uppercase;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;width:100%}.campaign-claim-btn.active{background-color:#06d6a0;color:#000}.campaign-claim-btn.active:hover{background-color:#059669;box-shadow:6px 6px 0 0 #000;box-shadow:6px 6px 0 0 var(--border-color,#000);transform:translate(-2px,-2px)}.campaign-claim-btn.active:active{box-shadow:none;transform:translate(4px,4px)}.campaign-claim-btn.disabled{background-color:#e5e5e5;box-shadow:2px 2px 0 0 #ccc;color:#999;cursor:not-allowed}.campaign-claimed-info{align-items:center;background-color:#dcfce7;border:2px solid #000;border:2px solid var(--border-color,#000);border-radius:6px;color:#166534;display:flex;font-size:14px;font-weight:700;justify-content:center;padding:12px 15px}@media (max-width:640px){.campaign-section-header{align-items:flex-start;flex-direction:column;gap:10px}.campaign-section-title{font-size:16px}.campaign-tutorial-btn{font-size:11px;padding:6px 12px}.tutorial-btn-icon{font-size:10px;height:16px;width:16px}.campaign-card{padding:15px}.campaign-name{font-size:18px}.campaign-reward-value{font-size:20px}.campaign-claim-btn{font-size:14px;padding:12px 16px}}.tabungan-logs{background-color:#f9fafb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh;padding:24px}.header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.header-buttons{display:flex;gap:12px}.tabungan-logs h2{color:#111827;font-size:1.75rem;font-weight:600;margin:0}.refresh-button,.reset-button,.trigger-button{border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.refresh-button{background-color:#3b82f6}.refresh-button:hover:not(:disabled){background-color:#2563eb}.trigger-button{background-color:#dc2626}.trigger-button:hover:not(:disabled){background-color:#b91c1c}.reset-button{background-color:#7c2d12}.reset-button:hover:not(:disabled){background-color:#991b1b}.refresh-button:disabled,.reset-button:disabled,.trigger-button:disabled{cursor:not-allowed;opacity:.6}.error,.loading{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;font-size:1rem;margin-top:1.5rem;padding:3rem;text-align:center}.loading{color:#6b7280}.error{background-color:#fee2e2;border-left:4px solid #ef4444;color:#dc2626;padding:1rem 1.5rem;text-align:left}.empty-state{background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;margin-top:1.5rem;padding:3rem 1.5rem}.empty-state p{color:#6b7280}.logs-container{display:flex;flex-direction:column;gap:16px}.log-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000000f;overflow:hidden;transition:box-shadow .2s ease}.log-item:hover{box-shadow:0 4px 8px #0000001a}.log-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:20px 24px 16px}.log-date{color:#1f2937;font-size:1.25rem;font-weight:600}.log-stats{display:flex;flex-wrap:wrap;gap:16px}.stat-item{color:#6b7280;font-size:.875rem}.stat-item.error{color:#dc2626}.stat-item strong{color:#1f2937;font-weight:600}.log-details{grid-gap:12px;background-color:#f9fafb;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:16px 24px}.detail-item{align-items:center;display:flex;justify-content:space-between}.detail-label{color:#6b7280;font-size:.875rem;font-weight:500}.detail-value{color:#1f2937;font-size:.875rem;font-weight:600}.log-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:16px 24px}.pdf-button,.rollback-button{align-items:center;border:1px solid #0000;border-radius:6px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;justify-content:center;min-width:100px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.pdf-button{background-color:#22c55e;border-color:#22c55e;color:#fff}.pdf-button:hover{background-color:#16a34a;border-color:#16a34a;box-shadow:0 2px 4px #0000001a}.rollback-button{background-color:#ef4444;border-color:#ef4444;color:#fff}.rollback-button:hover{background-color:#dc2626;border-color:#dc2626;box-shadow:0 2px 4px #0000001a}@media (max-width:768px){.tabungan-logs{padding:16px}.header-section{align-items:flex-start;flex-direction:column;gap:16px}.tabungan-logs h2{font-size:1.5rem}.log-header{align-items:flex-start;flex-direction:column;padding:16px 20px 12px}.log-date{font-size:1.125rem}.log-details{grid-template-columns:1fr;padding:12px 20px}.log-actions{justify-content:stretch;padding:12px 20px}.pdf-button,.rollback-button{flex:1 1;min-width:auto}}@media (max-width:480px){.log-actions{flex-direction:column}.pdf-button,.rollback-button{width:100%}}.modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1.5rem;line-height:1;padding:4px;transition:color .15s ease}.modal-close:hover{color:#4b5563}.modal-body{flex-grow:1;overflow-y:auto;padding:1.5rem}.modal-actions{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:1rem 1.5rem}.trigger-modal{max-width:700px}.warning-section{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;display:flex;gap:16px;margin-bottom:20px;padding:20px}.warning-icon{flex-shrink:0;font-size:2rem}.warning-text h4{color:#92400e;font-size:1.1rem;font-weight:600;margin:0 0 12px}.warning-text p{color:#92400e;line-height:1.5;margin:0 0 12px}.warning-text ul{color:#92400e;margin:0;padding-left:20px}.warning-text li{line-height:1.4;margin-bottom:6px}.confirmation-section{margin-top:20px}.confirmation-section label{color:#374151;display:block;font-weight:500;margin-bottom:8px}.confirmation-input{border:2px solid #d1d5db;border-radius:6px;font-size:1rem;padding:12px;transition:border-color .2s ease;width:100%}.confirmation-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.cancel-button,.confirm-button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.cancel-button{background-color:#f3f4f6;color:#374151}.cancel-button:hover{background-color:#e5e7eb}.confirm-button{background-color:#dc2626;color:#fff}.confirm-button:hover:not(:disabled){background-color:#b91c1c}.confirm-button:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.reset-confirm{background-color:#7c2d12!important;font-weight:700;text-transform:uppercase}.reset-confirm:hover:not(:disabled){background-color:#991b1b!important}.progress-modal{max-width:500px}.progress-info{display:flex;flex-direction:column;gap:16px}.progress-stats{align-items:center;color:#374151;display:flex;font-weight:600;justify-content:space-between}.progress-count{font-size:1.1rem}.progress-percentage{color:#3b82f6;font-size:1.5rem}.progress-bar{background-color:#e5e7eb;border-radius:6px;height:12px;overflow:hidden;width:100%}.progress-fill{background-color:#3b82f6;border-radius:6px;height:100%;transition:width .3s ease}.progress-details{display:flex;flex-direction:column;gap:8px}.current-user,.progress-status{background-color:#f9fafb;border-radius:6px;font-size:.9rem;line-height:1.4;padding:12px}.current-user strong,.progress-status strong{color:#374151}@media (max-width:768px){.modal-content{margin:0;max-height:85vh;max-width:95%}.modal-actions,.modal-body,.modal-header{padding:1rem}.warning-section{flex-direction:column;gap:12px}.warning-icon{align-self:flex-start;font-size:1.5rem}.modal-actions{flex-direction:column}.cancel-button,.confirm-button{width:100%}}.vm-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.vm-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-width:560px;overflow:hidden;width:100%}.vm-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px 24px}.vm-header h2{color:#111;font-size:1.25rem;font-weight:600;margin:0}.vm-close{align-items:center;background:#f5f5f5;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;transition:all .15s;width:32px}.vm-close:hover{background:#eee;color:#333}.vm-close:disabled{cursor:not-allowed;opacity:.5}.vm-steps{background:#fafafa;border-bottom:1px solid #f0f0f0;padding:16px 24px}.vm-steps-progress{background:#e5e5e5;border-radius:2px;height:4px;margin-bottom:12px;overflow:hidden}.vm-steps-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:2px;height:100%;transition:width .3s ease}.vm-steps-info{align-items:center;display:flex;justify-content:space-between}.vm-steps-current{color:#333;font-size:.875rem;font-weight:500}.vm-steps-count{color:#888;font-size:.75rem}.vm-body{flex:1 1;overflow-y:auto;padding:24px}.vm-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:.875rem;margin-bottom:20px;padding:12px 16px}.vm-form{display:flex;flex-direction:column;gap:24px}.vm-type-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.vm-type-selector.vm-type-selector-three{grid-template-columns:1fr 1fr 1fr}.vm-type-btn{align-items:center;background:#fff;border:2px solid #e5e5e5;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px 16px;text-align:center;transition:all .2s}.vm-type-btn:hover{background:#fafafa;border-color:#d0d0d0}.vm-type-btn.active{background:#eff6ff;border-color:#3b82f6}.vm-type-btn-campaign.active{background:#fff7ed;border-color:#f97316}.vm-type-btn-campaign.active .vm-type-label{color:#ea580c}.vm-type-icon{font-size:1.75rem}.vm-type-label{color:#333;font-size:.9rem;font-weight:600}.vm-type-desc{color:#888;font-size:.75rem}.vm-type-btn.active .vm-type-label{color:#2563eb}.vm-campaign-info{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;border-radius:10px;color:#9a3412;display:flex;font-size:.85rem;gap:12px;padding:14px 16px}.vm-campaign-info-icon{flex-shrink:0;font-size:1.25rem}.vm-campaign-info strong{display:block;font-weight:600;margin-bottom:4px}.vm-campaign-info p{color:#c2410c;font-size:.8rem;line-height:1.4;margin:0}.vm-fields{gap:16px}.vm-field,.vm-fields{display:flex;flex-direction:column}.vm-field{gap:6px}.vm-field label{color:#555;font-size:.8rem;font-weight:500}.vm-field input[type=datetime-local],.vm-field input[type=number],.vm-field input[type=text],.vm-field select{background:#fff;border:1px solid #e0e0e0;border-radius:10px;color:#333;font-size:.9rem;padding:12px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.vm-field input:focus,.vm-field select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.vm-field input::placeholder{color:#aaa}.vm-field-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.vm-field-row .vm-field{min-width:0}.vm-checkbox{align-items:center;color:#444;cursor:pointer;display:flex;font-size:.875rem;gap:10px}.vm-checkbox input{accent-color:#3b82f6;cursor:pointer;height:18px;width:18px}.vm-members{gap:16px}.vm-members,.vm-members-toolbar{display:flex;flex-direction:column}.vm-members-toolbar{gap:12px}.vm-search input{border:1px solid #e0e0e0;border-radius:10px;font-size:.9rem;padding:12px 14px;width:100%}.vm-search input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.vm-filters{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.vm-filters select{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:.85rem;padding:10px 12px;width:100%}.vm-filters select:focus{border-color:#3b82f6;outline:none}.vm-members-summary{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 0}.vm-select-all{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.85rem;font-weight:500;padding:0}.vm-select-all:hover{text-decoration:underline}.vm-selected-count{color:#666;font-size:.85rem}.vm-selected-count strong{color:#3b82f6}.vm-members-list{border:1px solid #e5e5e5;border-radius:10px;max-height:320px;overflow-y:auto}.vm-member-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:background .1s}.vm-member-item:last-child{border-bottom:none}.vm-member-item:hover{background:#fafafa}.vm-member-item.selected{background:#eff6ff}.vm-member-check input{accent-color:#3b82f6;height:16px;pointer-events:none;width:16px}.vm-member-info{display:flex;flex-direction:column;gap:2px;min-width:0}.vm-member-name{color:#222;font-size:.9rem;font-weight:500}.vm-member-detail,.vm-member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vm-member-detail{color:#888;font-size:.75rem}.vm-empty,.vm-loading{color:#888;font-size:.9rem}.vm-empty,.vm-loading,.vm-progress{padding:40px 20px;text-align:center}.vm-progress{flex-direction:column}.vm-progress,.vm-progress-icon{align-items:center;display:flex}.vm-progress-icon{animation:pulse 1.5s ease-in-out infinite;background:#f5f5f5;border-radius:50%;font-size:1.75rem;height:64px;justify-content:center;margin-bottom:20px;width:64px}.vm-progress-icon.complete{animation:none;background:#dcfce7;color:#16a34a}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.vm-progress h4{color:#222;font-size:1.1rem;font-weight:600;margin:0 0 8px}.vm-progress p{color:#666;font-size:.875rem;margin:0 0 24px}.vm-progress-bar{background:#e5e5e5;border-radius:3px;height:6px;margin-bottom:12px;max-width:280px;overflow:hidden;width:100%}.vm-progress-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:3px;height:100%;transition:width .2s ease}.vm-progress-percent{color:#888;font-size:.8rem;font-weight:500}.vm-footer{align-items:center;background:#fafafa;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 24px}.vm-footer-right{margin-left:auto}.vm-btn{border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 24px;transition:all .15s}.vm-btn:disabled{cursor:not-allowed;opacity:.5}.vm-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.vm-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.vm-btn-secondary{background:#fff;border:1px solid #ddd;color:#555}.vm-btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}@media (max-width:600px){.vm-overlay{align-items:flex-end;padding:0}.vm-modal{border-radius:20px 20px 0 0;max-height:90vh;max-width:100%}.vm-field-row,.vm-filters,.vm-type-selector,.vm-type-selector.vm-type-selector-three{grid-template-columns:1fr}.vm-members-summary{align-items:flex-start;flex-direction:column;gap:8px}.vm-footer{flex-direction:column;gap:10px}.vm-footer-right{margin:0;width:100%}.vm-btn{width:100%}}.vd-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.vd-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-width:520px;overflow:hidden;width:100%}.vd-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px 24px}.vd-header-info{flex:1 1;min-width:0}.vd-header h2{color:#111;font-size:1.125rem;font-weight:600;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-header-meta{align-items:center;display:flex;gap:8px}.vd-status{border-radius:100px;display:inline-block;font-size:.7rem;font-weight:500;letter-spacing:.02em;padding:3px 10px;text-transform:uppercase}.vd-status--active{background:#ecfdf5;color:#059669}.vd-status--pending{background:#fef3c7;color:#b45309}.vd-status--expired{background:#fef2f2;color:#dc2626}.vd-status--inactive{background:#f3f4f6;color:#6b7280}.vd-type-badge{border-radius:4px;font-size:.7rem;padding:3px 8px}.vd-close,.vd-type-badge{background:#f5f5f5;color:#888}.vd-close{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:32px;justify-content:center;margin-left:12px;transition:all .15s;width:32px}.vd-close:hover{background:#eee;color:#333}.vd-body{flex:1 1;overflow-y:auto;padding:20px 24px 24px}.vd-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.85rem;margin-bottom:16px;padding:10px 14px}.vd-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));margin-bottom:16px}.vd-stat{background:#fafafa;border-radius:10px;padding:12px 8px;text-align:center}.vd-stat-value{color:#222;display:block;font-size:1rem;font-weight:600;margin-bottom:2px}.vd-stat-label{color:#888;font-size:.7rem;letter-spacing:.03em;text-transform:uppercase}.vd-dates{align-items:center;background:#fafafa;border-radius:10px;display:flex;gap:16px;justify-content:center;margin-bottom:20px;padding:14px}.vd-date-item{text-align:center}.vd-date-label{color:#888;display:block;font-size:.7rem;letter-spacing:.03em;margin-bottom:2px;text-transform:uppercase}.vd-date-value{color:#333;font-size:.85rem;font-weight:500}.vd-date-divider{color:#ccc;font-size:.85rem}.vd-pdf-section{background:#fafafa;border-radius:12px;margin-bottom:20px;padding:24px 20px;text-align:center}.vd-pdf-btn{align-items:center;background:#222;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:10px;justify-content:center;padding:14px 28px;transition:all .15s}.vd-pdf-btn:hover:not(:disabled){background:#333;transform:translateY(-1px)}.vd-pdf-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.vd-pdf-btn svg{flex-shrink:0}.vd-pdf-hint{color:#888;font-size:.75rem;margin:10px 0 0}.vd-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.vd-section{background:#fff;border:1px solid #eee;border-radius:12px;margin-bottom:16px;overflow:hidden}.vd-section:last-child{margin-bottom:0}.vd-section-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:14px 16px}.vd-section-header h3{color:#333;font-size:.85rem;font-weight:600;margin:0}.vd-link-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 8px;transition:all .15s}.vd-link-btn:hover:not(:disabled){background:#f5f5f5;color:#333}.vd-link-btn:disabled{cursor:not-allowed;opacity:.5}.vd-edit-actions{display:flex;gap:8px}.vd-save-btn{background:#222;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 14px;transition:background .15s}.vd-save-btn:hover:not(:disabled){background:#333}.vd-save-btn:disabled{background:#ccc;cursor:not-allowed}.vd-add-members{padding:16px}.vd-search{border:1px solid #e0e0e0;border-radius:8px;font-size:.85rem;margin-bottom:12px;padding:10px 12px;width:100%}.vd-search:focus{border-color:#999;outline:none}.vd-member-list{border:1px solid #eee;border-radius:8px;margin-bottom:12px;max-height:200px;overflow-y:auto}.vd-member-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:12px;padding:10px 12px;transition:background .1s}.vd-member-item:last-child{border-bottom:none}.vd-member-item:hover{background:#fafafa}.vd-member-item input{accent-color:#222;height:16px;width:16px}.vd-member-info{flex:1 1;min-width:0}.vd-member-name{color:#222;display:block;font-size:.85rem;font-weight:500}.vd-member-detail{color:#888;display:block;font-size:.75rem}.vd-add-btn{background:#222;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:10px;transition:background .15s;width:100%}.vd-add-btn:hover:not(:disabled){background:#333}.vd-add-btn:disabled{background:#ccc;cursor:not-allowed}.vd-voucher-list{max-height:280px;overflow-y:auto}.vd-voucher-item{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:12px 16px}.vd-voucher-item:last-child{border-bottom:none}.vd-voucher-info{min-width:0}.vd-voucher-name{color:#222;display:block;font-size:.85rem;font-weight:500}.vd-voucher-detail{color:#888;display:block;font-size:.75rem}.vd-voucher-status{flex-shrink:0}.vd-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:500;padding:3px 8px}.vd-badge--available{background:#f0f0f0;color:#666}.vd-badge--claimed{background:#ecfdf5;color:#059669}.vd-badge--ready{background:#dbeafe;color:#1d4ed8}.vd-badge--redeemed{background:#f3e8ff;color:#7c3aed}.vd-badge--progress{background:#fef3c7;color:#b45309}.vd-type-badge--campaign{background:#fff7ed;color:#c2410c}.vd-section--settings{background:#0000;border:none}.vd-section--settings .vd-section-header{border-bottom:1px solid #eee;padding:14px 0}.vd-settings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;padding:16px 0}.vd-field{display:flex;flex-direction:column;gap:4px}.vd-field label{color:#888;font-size:.7rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.vd-field span{color:#333;font-size:.9rem}.vd-field input,.vd-field select{border:1px solid #e0e0e0;border-radius:8px;color:#333;font-size:.85rem;padding:10px 12px}.vd-field input:focus,.vd-field select:focus{border-color:#999;outline:none}.vd-danger{border-top:1px solid #f0f0f0;margin-top:8px;padding-top:16px}.vd-danger-btn{background:none;border:none;color:#999;cursor:pointer;font-size:.8rem;padding:8px 0;transition:color .15s}.vd-danger-btn:hover:not(:disabled){color:#dc2626}.vd-danger-btn:disabled{cursor:not-allowed;opacity:.5}.vd-empty,.vd-loading{color:#888;font-size:.85rem;padding:32px 16px;text-align:center}.vd-confirm-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}.vd-confirm{background:#fff;border-radius:12px;max-width:360px;padding:24px;text-align:center;width:90%}.vd-confirm h4{color:#222;font-size:1rem;font-weight:600;margin:0 0 12px}.vd-confirm p{color:#666;font-size:.85rem;line-height:1.5;margin:0 0 20px}.vd-confirm-actions{display:flex;gap:10px}.vd-confirm-cancel,.vd-confirm-delete{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:12px;transition:all .15s}.vd-confirm-cancel{background:#f0f0f0;color:#666}.vd-confirm-cancel:hover:not(:disabled){background:#e5e5e5}.vd-confirm-delete{background:#dc2626;color:#fff}.vd-confirm-delete:hover:not(:disabled){background:#b91c1c}.vd-confirm-cancel:disabled,.vd-confirm-delete:disabled{cursor:not-allowed;opacity:.5}@media (max-width:600px){.vd-overlay{align-items:flex-end;padding:0}.vd-modal{border-radius:20px 20px 0 0;max-height:90vh;max-width:100%}.vd-stats{grid-template-columns:repeat(3,1fr)}.vd-settings-grid{grid-template-columns:1fr}.vd-dates{flex-direction:column;gap:8px}.vd-date-divider{transform:rotate(90deg)}}@media (max-width:400px){.vd-stats{grid-template-columns:repeat(2,1fr)}}.voucher-page{margin:0 auto;max-width:1200px;padding:20px}.table-responsive{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow-x:auto;width:100%}.voucher-table{border-collapse:collapse;min-width:800px;width:100%}.voucher-table td,.voucher-table th{border-bottom:1px solid #eee;font-size:14px;padding:16px;text-align:left}.voucher-table th{background-color:#f8f9fa;color:#495057;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.clickable-row{cursor:pointer;transition:background-color .2s ease}.clickable-row:hover{background-color:#f1f7ff}.fw-bold{color:#333;font-weight:600}.text-muted{color:#999;font-size:12px}.status-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;min-width:80px;padding:4px 8px;text-align:center}.status-badge.active{background-color:#d1fae5;color:#065f46}.status-badge.inactive{background-color:#f3f4f6;color:#374151}.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-badge.expired{background-color:#fee2e2;color:#991b1b}.type-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;min-width:70px;padding:4px 10px;text-align:center}.type-badge.member{background-color:#e0e7ff;color:#3730a3}.type-badge.print{background-color:#fce7f3;color:#9d174d}.type-badge.campaign{background-color:#fef3c7;color:#b45309}.voucher-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.voucher-header h1{color:#333;font-size:2.5rem;font-weight:600;margin:0}.btn-create-voucher{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:500;padding:15px 30px;transition:all .3s ease}.btn-create-voucher:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.btn-create-voucher:active{transform:translateY(0)}.loading-container{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{align-items:center;background:#ffebee;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.retry-button{background:#c62828;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px}.retry-button:hover{background:#b71c1c}.empty-state{color:#666;padding:80px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state h3{color:#333;font-size:1.5rem;margin-bottom:10px}.empty-state p{color:#666;font-size:1rem}.voucher-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.voucher-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 20px #00000014;cursor:pointer;padding:25px;transition:all .3s ease}.voucher-card:hover{border-color:#4caf50;box-shadow:0 8px 30px #0000001f;transform:translateY(-5px)}.voucher-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.voucher-card-header h3{color:#333;flex:1 1;font-size:1.3rem;font-weight:600;margin:0 15px 0 0}.status-badge{border-radius:20px;font-size:.85rem;font-weight:500;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-badge.active{background:#e8f5e8;color:#2e7d32}.status-badge.pending{background:#fff3e0;color:#f57c00}.status-badge.expired{background:#ffebee;color:#c62828}.status-badge.inactive{background:#f5f5f5;color:#757575}.voucher-card-content{margin-bottom:20px}.voucher-info{display:flex;flex-direction:column;gap:12px}.voucher-info-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.voucher-info-item:last-child{border-bottom:none}.voucher-info-label{color:#666;font-size:.9rem;font-weight:500}.voucher-info-value{color:#333;font-weight:600;text-align:right}.voucher-card-footer{border-top:1px solid #f0f0f0;color:#999;font-size:.85rem;padding-top:15px}@media (max-width:768px){.voucher-page{padding:15px}.voucher-header{align-items:stretch;flex-direction:column;gap:15px}.voucher-header h1{font-size:2rem;text-align:center}.btn-create-voucher{padding:18px;width:100%}.voucher-grid{gap:20px;grid-template-columns:1fr}.voucher-card{padding:20px}.voucher-card-header{flex-direction:column;gap:15px}.voucher-card-header h3{margin-right:0;text-align:center}.status-badge{align-self:center}}
/*# sourceMappingURL=main.f65f9beb.css.map*/