@import "https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.grid{display:grid}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-right{text-align:right}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\(--toggles-inner-moon--duration\){--tw-duration:var(--toggles-inner-moon--duration);transition-duration:var(--toggles-inner-moon--duration)}.\[transition-duration\:calc\(var\(--toggles-inner-moon--duration\)\/1\.5\)\]{transition-duration:calc(var(--toggles-inner-moon--duration) / 1.5)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.\[transition-timing-function\:cubic-bezier\(0\,0\,0\.15\,1\.25\)\]{transition-timing-function:cubic-bezier(0,0,.15,1.25)}.\[transition-timing-function\:cubic-bezier\(0\.4\,0\,0\.2\,1\)\]{transition-timing-function:cubic-bezier(.4,0,.2,1)}.dark\:translate-x-\[15\%\]:where(.dark,.dark *){--tw-translate-x:15%;translate:var(--tw-translate-x) var(--tw-translate-y)}.dark\:rotate-180:where(.dark,.dark *){rotate:180deg}}:root{--violet:#7c6af7;--violet-hover:#6a58e8;--violet-light:#a99cf9;--violet-dim:#2d1f6e;--violet-pale:#ede9ff;--fire:#ff6b35;--fire-dim:#3d1a08;--fire-light:#ff9e70;--teal:#1cd4a7;--teal-dim:#0d3028;--teal-light:#5bddba;--red:#ff4d6d;--red-dim:#3d0a18;--red-pale:#ffe5ea;--fire-pale:#fff0e8;--teal-pale:#e5fbf4;--white:#fff;--surface:#f8f7ff;--surface-card:#fff;--border:#e8e6f8;--text:#0d0f1a;--muted:#6b6e8e;--night:#0d0f1a;--night-card:#13162a;--night-border:#1e2240;--night-muted:#6b7094;--night-sub:#9b9bb8;--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0}body{min-height:100vh;color:var(--text);background:var(--surface);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:color .3s var(--ease-spring), background-color .3s var(--ease-spring);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.65}h1,h2,h3,h4,h5,h6{letter-spacing:-.03em;font-family:Plus Jakarta Sans,Inter,sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;min-height:100vh}.login-logo{width:64px;height:64px;margin:0 auto 1rem;display:block}.topbar-logo{width:48px;height:48px;margin:0 auto;display:block}html.dark{--surface:var(--night);--surface-card:var(--night-card);--border:var(--night-border);--text:#e2e8f0;--muted:var(--night-muted);--red-pale:var(--red-dim);--fire-pale:var(--fire-dim);--teal-pale:var(--teal-dim);--violet-pale:#2d1f6e}html.dark .layout{background:var(--night)}html.dark .topbar{background:var(--night-card);box-shadow:0 1px 4px #0000004d}html.dark .topbar-nav a{color:var(--night-muted)}html.dark .topbar-nav a.router-link-active{color:var(--violet-light);border-bottom-color:var(--violet)}html.dark .user-name,html.dark .dd-name{color:#e2e8f0}html.dark .dropdown-trigger:hover{background:var(--night-border)}html.dark .dropdown-menu{background:var(--night-card);border-color:var(--night-border)}html.dark .dropdown-header{background:var(--night)}html.dark .dropdown-item{color:var(--night-sub)}html.dark .dropdown-item:hover{background:var(--night-border)}html.dark hr{border-color:var(--night-border)}html.dark label{color:var(--night-muted)}html.dark input,html.dark select,html.dark textarea{border-color:var(--night-border);color:#e2e8f0;background:#1e2240}html.dark input:focus,html.dark select:focus,html.dark textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #7c6af733}html.dark input:disabled,html.dark select:disabled{background:var(--night-card);color:var(--night-muted)}html.dark input::placeholder{color:var(--night-muted)}html.dark .an-badge-red,html.dark .tag-notfound,html.dark .badge.not_found{color:var(--red)!important}html.dark .an-badge-amber,html.dark .tag-borrowed,html.dark .badge.borrowed,html.dark .konfirm-badge.pending,html.dark .status-badge.active{color:var(--fire-light)!important}html.dark .an-badge-green,html.dark .tag-returned,html.dark .badge.found,html.dark .badge.returned,html.dark .status-badge.completed{color:var(--teal-light)!important}html.dark .role-badge.admin{color:var(--violet-light)!important}html.dark .role-badge.staff{color:var(--teal-light)!important}html.dark .row-overdue{background:var(--red-dim)}html.dark .overdue-label,html.dark .overdue-tag{background:var(--red-dim);color:var(--red)}html.dark .alert-overdue{background:var(--fire-dim);color:var(--fire-light)}html.dark .status-banner.connected{background:var(--teal-dim);color:var(--teal-light);border-color:var(--teal)}html.dark .status-banner.disconnected{background:var(--red-dim);color:var(--red);border-color:var(--red)}html.dark .stat-card{background:var(--night-card);border-color:var(--night-border)}html.dark .stat-info h3{color:#e2e8f0}html.dark .stat-card.blue .stat-icon{background:var(--violet-dim);color:var(--violet-light)}html.dark .stat-card.orange .stat-icon{background:var(--fire-dim);color:var(--fire-light)}html.dark .stat-card.red .stat-icon{background:var(--red-dim);color:var(--red)}html.dark .stat-card.green .stat-icon{background:var(--teal-dim);color:var(--teal-light)}html.dark .stat-card.yellow .stat-icon{background:var(--fire-dim);color:var(--fire-light)}html.dark .card{background:var(--night-card);border-color:var(--night-border)}html.dark .card h3{color:#e2e8f0;border-color:var(--night-border)}html.dark .warning-box{background:var(--fire-dim);color:var(--fire-light);border-color:var(--fire)}html.dark .login-container,html.dark .register-container{background:var(--night)}html.dark .login-box,html.dark .register-box{background:var(--night-card);border-color:var(--night-border)}html.dark .login-box h2,html.dark .register-box h2{color:#e2e8f0}html.dark .home{background:var(--night)}html.dark .navbar,html.dark .feature-card{background:var(--night-card);border-color:var(--night-border)}html.dark .feature-card h3{color:#e2e8f0}html.dark .feature-card p{color:var(--night-muted)}html.dark footer{background:var(--night-card);border-color:var(--night-border);color:var(--night-muted)}html.dark .table-card,html.dark .table-container,html.dark .table-wrapper,html.dark .premium-table th{background:var(--night-card);border-color:var(--night-border)}html.dark .premium-table td,html.dark .data-table td{border-color:var(--night-border)}html.dark .data-table th{background:var(--night);border-color:var(--night-border)}html.dark .scan-card,html.dark .manual-card,html.dark .search-card,html.dark .result-card,html.dark .not-found,html.dark .session-card,html.dark .info-box,html.dark .modal,html.dark .modal-content,html.dark .modal-box{background:var(--night-card);border-color:var(--night-border)}html.dark .session-card.active{background:var(--teal-dim);border-color:var(--teal)}html.dark .active-badge{background:var(--teal-dim);color:var(--teal-light);border-color:var(--teal)}html.dark .active-info{background:var(--fire-dim);border-color:var(--fire)}html.dark .qr-container{background:var(--night);border-color:var(--night-border)}html.dark .qr-loading{background:var(--night-card);border-color:var(--night-border)}html.dark .qr-error{background:var(--red-dim);color:var(--red)}html.dark .search-box{background:var(--night-card);border-color:var(--night-border)}html.dark .search-box input{color:#e2e8f0;background:0 0}html.dark .modal-overlay{background:#000000b3}html.dark .btn-cancel,html.dark .btn-secondary,html.dark .btn-change,html.dark .btn-manual,html.dark .btn-refresh-qr{background:var(--night);border-color:var(--night-border);color:var(--night-sub)}html.dark .btn-qr{background:var(--violet-dim);color:var(--violet-light);border-color:var(--violet)}html.dark .btn-logout{background:var(--red-dim);color:var(--red);border-color:var(--red)}html.dark .user-avatar,html.dark .avatar-sm{background:var(--violet-dim);color:var(--violet-light)}html.dark .per-page-select,html.dark .per-page select,html.dark .page-btn,html.dark .page-nav,html.dark .page-numbers button{background:var(--night);border-color:var(--night-border);color:#e2e8f0}html.dark .page-btn.active,html.dark .page-numbers button.active{background:var(--violet);border-color:var(--violet);color:#fff}html.dark .info-box{background:var(--violet-dim);border-color:var(--violet)}html.dark .info-steps{color:var(--night-sub)}html.dark h2,html.dark h3,html.dark h4{color:#e2e8f0}html.dark .subtitle,html.dark .header-subtitle,html.dark .track-sub{color:var(--night-muted)}html.dark .active-label,html.dark .info-label{color:var(--fire-light)}html.dark .overdue-tag{background:var(--red-dim);color:var(--red)}html.dark .konfirm-badge.pending{background:var(--fire-dim);color:var(--fire-light);border-color:var(--fire)}html.dark .konfirm-badge.found{background:var(--teal-dim);color:var(--teal-light)}html.dark .konfirm-badge.not_found{background:var(--red-dim);color:var(--red)}html.dark .history-table th{color:var(--violet-light);border-color:var(--night-border)}html.dark .history-table td{color:#e2e8f0;border-color:var(--night-border)}html.dark .kode{color:var(--violet-light)}html.dark .location-cell{color:#e2e8f0}html.dark .hak-number{color:var(--violet-light)}html.dark .per-page,html.dark .per-page span,html.dark .pagination-info{color:var(--night-sub)}html.dark .user-name{color:#e2e8f0}html.dark .user-email{color:var(--night-muted)}html.dark .unit-text{color:var(--night-sub)}html.dark .return-msg.success{background:var(--teal-dim);color:var(--teal-light)}html.dark .return-msg.error{background:var(--red-dim);color:var(--red)}html.dark .no-history,html.dark .empty{color:var(--night-muted)}html.dark .scan-card{background:var(--night-card);border-color:var(--night-border)}html.dark .scanner-frame{border-color:var(--teal)}html.dark .result-kode,html.dark .info-value.kode{color:var(--violet-light)}html.dark .session-name{color:#e2e8f0}html.dark .session-meta{color:var(--night-muted)}html.dark input[readonly]{background:var(--night-card)!important;color:var(--night-muted)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}.home[data-v-b4e148ca]{background:var(--surface);flex-direction:column;width:100%;min-height:100vh;font-family:Inter,sans-serif;display:flex}.login-logo[data-v-b4e148ca]{width:64px;height:64px;margin:0 auto 1rem;display:block}.navbar[data-v-b4e148ca]{background:var(--surface-card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;width:100%;padding:1rem 3rem;display:flex;position:sticky;top:0}.brand[data-v-b4e148ca]{color:var(--violet);font-family:Plus Jakarta Sans,sans-serif;font-size:1.3rem;font-weight:700}.navbar button[data-v-b4e148ca]{background:var(--violet);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;padding:10px 24px;font-size:14px;font-weight:600}.navbar button[data-v-b4e148ca]:hover{background:var(--violet-hover);transform:translateY(-1px)}.hero[data-v-b4e148ca]{background:linear-gradient(135deg, var(--violet) 0%, #5340c8 100%);color:#fff;text-align:center;width:100%;padding:8rem 3rem}.hero-content[data-v-b4e148ca]{max-width:700px;margin:0 auto}.hero h1[data-v-b4e148ca]{letter-spacing:-.03em;margin-bottom:1rem;font-family:Plus Jakarta Sans,sans-serif;font-size:2.8rem;font-weight:800;line-height:1.2}.hero p[data-v-b4e148ca]{opacity:.9;margin-bottom:2rem;font-size:1.15rem;line-height:1.65}.hero button[data-v-b4e148ca]{color:var(--violet);cursor:pointer;transition:all .2s var(--ease-spring);background:#fff;border:none;border-radius:14px;padding:14px 36px;font-size:15px;font-weight:600}.hero button[data-v-b4e148ca]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.features[data-v-b4e148ca]{background:var(--surface);flex-wrap:wrap;justify-content:center;gap:1.5rem;width:100%;padding:5rem 3rem;display:flex}.feature-card[data-v-b4e148ca]{background:var(--surface-card);text-align:center;border:1px solid var(--border);width:290px;transition:all .2s var(--ease-spring);border-radius:20px;padding:2rem;box-shadow:0 1px 3px #7c6af70f}.feature-card[data-v-b4e148ca]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #7c6af71a}.feature-card span[data-v-b4e148ca]{font-size:2.5rem}.feature-card h3[data-v-b4e148ca]{color:var(--text);margin:1rem 0 .5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.feature-card p[data-v-b4e148ca]{color:var(--muted);font-size:.875rem;line-height:1.65}footer[data-v-b4e148ca]{text-align:center;background:var(--surface-card);color:var(--muted);border-top:1px solid var(--border);width:100%;padding:1.5rem;font-size:.875rem}.login-container[data-v-45f5edd7]{background:var(--surface);justify-content:center;align-items:center;height:100vh;display:flex}.login-box[data-v-45f5edd7]{background:var(--surface-card);border:1px solid var(--border);border-radius:24px;width:380px;padding:2.5rem;box-shadow:0 4px 24px #7c6af714}.login-box h2[data-v-45f5edd7]{color:var(--text);text-align:center;margin-bottom:1.5rem;font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.field[data-v-45f5edd7]{flex-direction:column;gap:6px;margin-bottom:1rem;display:flex}.field label[data-v-45f5edd7]{color:var(--muted);font-size:13px;font-weight:500}.input-wrapper[data-v-45f5edd7]{align-items:center;display:flex;position:relative}.input-wrapper input[data-v-45f5edd7]{box-sizing:border-box;width:100%;padding-right:2.5rem}.toggle-password[data-v-45f5edd7]{cursor:pointer;color:var(--muted);width:auto;transition:color .2s var(--ease-spring);background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute;right:10px}.toggle-password[data-v-45f5edd7]:hover{color:var(--violet)}input[data-v-45f5edd7]{border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px}input[data-v-45f5edd7]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale);outline:none}input[data-v-45f5edd7]::placeholder{color:var(--muted)}button[type=submit][data-v-45f5edd7]{background:var(--violet);color:#fff;cursor:pointer;width:100%;transition:all .2s var(--ease-spring);border:none;border-radius:14px;margin-top:.5rem;padding:12px;font-family:Inter,sans-serif;font-size:15px;font-weight:600}button[type=submit][data-v-45f5edd7]:hover{background:var(--violet-hover);transform:translateY(-1px)}button[type=submit][data-v-45f5edd7]:disabled{opacity:.5;cursor:not-allowed;transform:none}.error[data-v-45f5edd7]{color:var(--red);margin-bottom:.5rem;font-size:13px}.register-link[data-v-45f5edd7]{text-align:center;color:var(--muted);margin-top:1rem;font-size:13px}.register-link a[data-v-45f5edd7]{color:var(--violet);font-weight:600;text-decoration:none}.register-link a[data-v-45f5edd7]:hover{text-decoration:underline}.app-layout[data-v-6f6437fc]{background:var(--surface);min-height:100vh;display:flex}.sidebar[data-v-6f6437fc]{background:var(--surface-card,#fff);border-right:1px solid var(--border);z-index:100;width:230px;min-width:230px;height:100vh;transition:width .25s var(--ease-spring), min-width .25s var(--ease-spring);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.sidebar.collapsed[data-v-6f6437fc]{width:64px;min-width:64px}.sidebar-brand[data-v-6f6437fc]{border-bottom:1px solid var(--border);white-space:nowrap;padding:1.25rem .875rem;overflow:hidden}.brand-link[data-v-6f6437fc]{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-logo[data-v-6f6437fc]{object-fit:contain;border-radius:10px;flex-shrink:0;width:34px;height:34px}.brand-name[data-v-6f6437fc]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:700}.brand-sub[data-v-6f6437fc]{color:var(--muted);margin:0;font-size:10px}.sidebar-user[data-v-6f6437fc]{border-bottom:1px solid var(--border);white-space:nowrap;align-items:center;gap:10px;padding:1rem .875rem;display:flex;overflow:hidden}.user-avatar[data-v-6f6437fc]{background:linear-gradient(135deg, var(--violet) 0%, #9b8afb 100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.user-info[data-v-6f6437fc]{overflow:hidden}.user-name[data-v-6f6437fc]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:600;overflow:hidden}.user-role[data-v-6f6437fc]{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;overflow:hidden}.sidebar-nav[data-v-6f6437fc]{flex:1;padding:.5rem 0;overflow:hidden}.nav-group[data-v-6f6437fc]{padding:0}.nav-group-label[data-v-6f6437fc]{color:var(--violet);letter-spacing:.1em;white-space:nowrap;text-transform:uppercase;margin:0;padding:.875rem 1rem .25rem;font-family:Inter,sans-serif;font-size:11px;font-weight:500;overflow:hidden}.nav-group-divider[data-v-6f6437fc]{background:var(--border);height:1px;margin:.5rem .75rem}.nav-item[data-v-6f6437fc]{color:var(--muted);transition:all .2s var(--ease-spring);white-space:nowrap;border-radius:0;align-items:center;gap:10px;margin:1px 0;padding:.6rem .875rem;font-size:13px;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-item[data-v-6f6437fc]:hover{background:var(--violet-pale);color:var(--violet)}.nav-item.router-link-active[data-v-6f6437fc]{background:var(--violet-pale);color:var(--violet);border-right:3px solid var(--violet);font-weight:600}.nav-icon[data-v-6f6437fc]{text-align:center;width:24px;min-width:24px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.nav-icon i[data-v-6f6437fc]{font-size:18px;line-height:1}.nav-label[data-v-6f6437fc]{transition:opacity .2s;overflow:hidden}.sidebar.collapsed .nav-label[data-v-6f6437fc]{opacity:0;pointer-events:none;width:0}.nav-badge[data-v-6f6437fc]{background:var(--violet);color:#fff;text-align:center;border-radius:999px;min-width:18px;margin-left:auto;padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.nav-badge-mini[data-v-6f6437fc]{background:var(--red);border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:8px}.sidebar-footer[data-v-6f6437fc]{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:.75rem;display:flex}.btn-collapse[data-v-6f6437fc]{width:100%;color:var(--muted);cursor:pointer;transition:all .2s var(--ease-spring);white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px;font-size:13px;display:flex;overflow:hidden}.btn-collapse[data-v-6f6437fc]:hover{background:var(--violet-pale);color:var(--violet)}.collapse-icon[data-v-6f6437fc]{text-align:center;width:24px;min-width:24px;transition:transform .25s var(--ease-spring);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.collapse-icon.flipped[data-v-6f6437fc]{transform:rotate(180deg)}.btn-logout[data-v-6f6437fc]{width:100%;color:var(--red);cursor:pointer;transition:background .2s var(--ease-spring);white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px;font-size:13px;display:flex;overflow:hidden}.btn-logout[data-v-6f6437fc]:hover{background:var(--red-pale)}.btn-logout i[data-v-6f6437fc]{text-align:center;flex-shrink:0;width:24px;min-width:24px;font-size:18px}.main[data-v-6f6437fc]{min-height:100vh;transition:margin-left .25s var(--ease-spring);flex-direction:column;flex:1;margin-left:230px;display:flex}.app-layout.sidebar-collapsed .main[data-v-6f6437fc]{margin-left:64px}.topbar[data-v-6f6437fc]{border-bottom:1px solid var(--border);z-index:50;background:#fff;justify-content:space-between;align-items:center;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.topbar-left[data-v-6f6437fc]{align-items:center;gap:10px;min-width:0;display:flex}.page-title[data-v-6f6437fc]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;overflow:hidden}.topbar-right[data-v-6f6437fc]{align-items:center;gap:1rem;display:flex}.topbar-date[data-v-6f6437fc]{color:var(--muted);font-size:12px}.hamburger[data-v-6f6437fc]{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:4px 6px;font-size:22px;display:none}.hamburger[data-v-6f6437fc]:hover{background:var(--violet-pale);color:var(--violet)}.sidebar-backdrop[data-v-6f6437fc]{display:none}.dark-toggle[data-v-6f6437fc]{cursor:pointer;align-items:center;display:flex}.toggle-track[data-v-6f6437fc]{background:var(--border);width:44px;height:24px;transition:background .3s var(--ease-spring);border-radius:999px;position:relative}.toggle-track.active[data-v-6f6437fc]{background:var(--violet)}.toggle-thumb[data-v-6f6437fc]{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.toggle-track.active .toggle-thumb[data-v-6f6437fc]{transform:translate(20px)}.notif-wrapper[data-v-6f6437fc]{position:relative}.notif-btn[data-v-6f6437fc]{cursor:pointer;transition:all .2s var(--ease-spring);background:0 0;border:none;border-radius:10px;align-items:center;padding:4px 6px;display:flex;position:relative}.notif-btn[data-v-6f6437fc]:hover{background:var(--violet-pale)}.notif-icon[data-v-6f6437fc]{font-size:18px;display:inline-block}.notif-icon.notif-shake[data-v-6f6437fc]{animation:.5s ease-in-out shake-6f6437fc}@keyframes shake-6f6437fc{0%{transform:rotate(0)}20%{transform:rotate(-20deg)}40%{transform:rotate(20deg)}60%{transform:rotate(-15deg)}80%{transform:rotate(10deg)}to{transform:rotate(0)}}.notif-dot[data-v-6f6437fc]{background:var(--red);color:#fff;text-align:center;border:2px solid #fff;border-radius:999px;min-width:16px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;position:absolute;top:0;right:0}.notif-dropdown[data-v-6f6437fc]{z-index:200;border:1px solid var(--border);background:#fff;border-radius:20px;width:340px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #7c6af71f}.notif-header[data-v-6f6437fc]{background:var(--surface);border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.socket-status[data-v-6f6437fc]{font-size:10px;font-weight:600}.socket-status.connected[data-v-6f6437fc]{color:var(--teal)}.socket-status.disconnected[data-v-6f6437fc]{color:var(--red)}.notif-clear[data-v-6f6437fc]{color:var(--red);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:11px;font-weight:500}.notif-clear[data-v-6f6437fc]:hover{text-decoration:underline}.notif-empty[data-v-6f6437fc]{text-align:center;color:var(--muted);padding:1.5rem;font-size:13px}.notif-list[data-v-6f6437fc]{max-height:360px;overflow-y:auto}.notif-item[data-v-6f6437fc]{border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s var(--ease-spring);align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.notif-item[data-v-6f6437fc]:last-child{border-bottom:none}.notif-item[data-v-6f6437fc]:hover{background:var(--violet-pale)}.notif-item-icon[data-v-6f6437fc]{background:var(--violet-pale);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.notif-item-body[data-v-6f6437fc]{flex:1;min-width:0}.notif-item-title[data-v-6f6437fc]{color:var(--text);margin:0;font-size:12px;font-weight:600}.notif-item-sub[data-v-6f6437fc]{color:var(--muted);margin:2px 0 0;font-size:11px}.notif-item-time[data-v-6f6437fc]{color:var(--muted);margin:3px 0 0;font-family:JetBrains Mono,monospace;font-size:10px}.notif-item-close[data-v-6f6437fc]{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 4px;font-size:12px}.notif-item-close[data-v-6f6437fc]:hover{background:var(--red-pale);color:var(--red)}.badge-mini[data-v-6f6437fc]{border-radius:20px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.badge-mini.prioritas[data-v-6f6437fc]{background:var(--violet-pale);color:var(--violet)}.badge-mini.rutin[data-v-6f6437fc]{background:var(--teal-pale);color:#0d6b4f}.dropdown[data-v-6f6437fc]{cursor:pointer;position:relative}.dropdown-trigger[data-v-6f6437fc]{align-items:center;gap:6px;display:flex}.avatar[data-v-6f6437fc]{background:var(--violet);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.chevron[data-v-6f6437fc]{color:var(--muted);transition:transform .2s var(--ease-spring);font-size:11px}.chevron.open[data-v-6f6437fc]{transform:rotate(180deg)}.dropdown-menu[data-v-6f6437fc]{z-index:200;border:1px solid var(--border);background:#fff;border-radius:16px;min-width:200px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 24px #7c6af71f}.dropdown-header[data-v-6f6437fc]{background:var(--surface);padding:12px 16px}.dd-name[data-v-6f6437fc]{color:var(--text);font-size:13px;font-weight:600}.dd-role[data-v-6f6437fc]{color:var(--muted);margin-top:1px;font-size:11px}hr[data-v-6f6437fc]{border:none;border-top:1px solid var(--border)}.dropdown-item[data-v-6f6437fc]{color:var(--text);transition:all .2s var(--ease-spring);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;text-decoration:none;display:flex}.dropdown-item[data-v-6f6437fc]:hover{background:var(--violet-pale);color:var(--violet)}.dropdown-item.logout[data-v-6f6437fc]{color:var(--red)}.dropdown-item.logout[data-v-6f6437fc]:hover{background:var(--red-pale)}.content[data-v-6f6437fc]{flex:1;padding:1.5rem}.fade-enter-active[data-v-6f6437fc],.fade-leave-active[data-v-6f6437fc]{transition:opacity .15s}.fade-enter-from[data-v-6f6437fc],.fade-leave-to[data-v-6f6437fc]{opacity:0}@media (width<=768px){.hamburger[data-v-6f6437fc]{display:inline-flex}.sidebar[data-v-6f6437fc],.sidebar.collapsed[data-v-6f6437fc]{transform:translate(-100%);box-shadow:4px 0 24px #7c6af726;width:260px!important;min-width:260px!important}.sidebar.mobile-open[data-v-6f6437fc]{transform:translate(0)}.sidebar.collapsed .nav-label[data-v-6f6437fc]{opacity:1;pointer-events:auto;width:auto}.main[data-v-6f6437fc],.app-layout.sidebar-collapsed .main[data-v-6f6437fc]{margin-left:0}.sidebar-backdrop[data-v-6f6437fc]{z-index:99;background:#0d0f1a80;display:block;position:fixed;inset:0}.btn-collapse[data-v-6f6437fc]{display:none}.topbar[data-v-6f6437fc]{padding:0 .875rem}.topbar-date[data-v-6f6437fc]{display:none}.topbar-right[data-v-6f6437fc]{gap:.6rem}.content[data-v-6f6437fc]{padding:1rem}.notif-dropdown[data-v-6f6437fc]{width:calc(100vw - 24px);right:-8px}}@media (width<=400px){.page-title[data-v-6f6437fc]{font-size:12px}.avatar[data-v-6f6437fc],.user-avatar[data-v-6f6437fc]{width:28px;height:28px}}html.dark .sidebar[data-v-6f6437fc]{background:var(--night-card);border-right-color:var(--night-border)}html.dark .sidebar-brand[data-v-6f6437fc]{border-bottom-color:var(--night-border)}html.dark .brand-name[data-v-6f6437fc]{color:#e2e8f0}html.dark .sidebar-user[data-v-6f6437fc]{border-bottom-color:var(--night-border)}html.dark .user-name[data-v-6f6437fc]{color:#e2e8f0}html.dark .nav-group-label[data-v-6f6437fc]{color:var(--violet-light)}html.dark .nav-group-divider[data-v-6f6437fc]{background:var(--night-border)}html.dark .nav-item[data-v-6f6437fc]{color:var(--night-sub)}html.dark .nav-item[data-v-6f6437fc]:hover{color:var(--violet-light);background:#7c6af71a}html.dark .nav-item.router-link-active[data-v-6f6437fc]{color:var(--violet-light);border-right-color:var(--violet);background:#7c6af726}html.dark .sidebar-footer[data-v-6f6437fc]{border-top-color:var(--night-border)}html.dark .btn-collapse[data-v-6f6437fc]{color:var(--night-muted)}html.dark .btn-collapse[data-v-6f6437fc]:hover{color:var(--violet-light);background:#7c6af71a}html.dark .btn-logout[data-v-6f6437fc]:hover{background:#ff4d6d1a}html.dark .nav-badge[data-v-6f6437fc]{background:var(--violet)}html.dark .nav-badge-mini[data-v-6f6437fc]{border-color:var(--night-card)}html.dark .main[data-v-6f6437fc]{background:var(--night)}html.dark .topbar[data-v-6f6437fc]{background:var(--night-card);border-bottom-color:var(--night-border);box-shadow:none}html.dark .page-title[data-v-6f6437fc]{color:#e2e8f0}html.dark .notif-dropdown[data-v-6f6437fc]{background:var(--night-card);border-color:var(--night-border)}html.dark .notif-header[data-v-6f6437fc]{background:var(--night);color:#e2e8f0;border-color:var(--night-border)}html.dark .notif-item[data-v-6f6437fc]{border-color:var(--night-border)}html.dark .notif-item[data-v-6f6437fc]:hover{background:#7c6af714}html.dark .notif-item-title[data-v-6f6437fc]{color:#e2e8f0}html.dark .notif-btn[data-v-6f6437fc]:hover{background:#7c6af71a}html.dark .dropdown-menu[data-v-6f6437fc]{background:var(--night-card);border-color:var(--night-border)}html.dark .dropdown-header[data-v-6f6437fc]{background:var(--night)}html.dark .dd-name[data-v-6f6437fc]{color:#e2e8f0}html.dark .dropdown-item[data-v-6f6437fc]{color:var(--night-sub)}html.dark .dropdown-item[data-v-6f6437fc]:hover{color:var(--violet-light);background:#7c6af71a}html.dark hr[data-v-6f6437fc]{border-color:var(--night-border)}.btn-surat[data-v-f1fbbe65]{background:var(--violet);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;padding:8px 14px;font-family:Inter,sans-serif;font-size:14px;font-weight:600}.btn-surat[data-v-f1fbbe65]:hover{background:var(--violet-hover);transform:translateY(-1px)}.modal-overlay[data-v-f1fbbe65]{z-index:1000;background:#0d0f1a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal[data-v-f1fbbe65]{background:var(--surface);border:1px solid var(--border);border-radius:24px;flex-direction:column;width:90vw;max-width:900px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #7c6af726}.modal-header[data-v-f1fbbe65]{background:var(--surface-card);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-header h3[data-v-f1fbbe65]{color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.btn-close[data-v-f1fbbe65]{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:18px;transition:color .2s}.btn-close[data-v-f1fbbe65]:hover{color:var(--red)}.modal-inputs[data-v-f1fbbe65]{background:var(--surface-card);border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 1.5rem;display:grid}.input-group[data-v-f1fbbe65]{flex-direction:column;gap:.5rem;display:flex}.field[data-v-f1fbbe65]{flex-direction:column;gap:3px;display:flex}.field label[data-v-f1fbbe65]{color:var(--muted);font-size:11px}.field input[data-v-f1fbbe65]{border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;outline:none;padding:6px 10px;font-family:Inter,sans-serif;font-size:13px}.field input[data-v-f1fbbe65]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.field-static[data-v-f1fbbe65]{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;margin:0;padding:6px 10px;font-size:13px}.preview-wrapper[data-v-f1fbbe65]{background:var(--border);flex:1;padding:1rem;overflow-y:auto}.preview-iframe[data-v-f1fbbe65]{background:#fff;border:none;width:794px;min-height:1123px;margin:0 auto;display:block;box-shadow:0 2px 8px #00000026}.modal-footer[data-v-f1fbbe65]{background:var(--surface-card);border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;display:flex}.btn-cancel[data-v-f1fbbe65]{background:var(--surface);color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:14px;padding:8px 20px;font-family:Inter,sans-serif}.btn-cancel[data-v-f1fbbe65]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-print[data-v-f1fbbe65]{background:var(--teal);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;padding:8px 20px;font-family:Inter,sans-serif;font-weight:600}.btn-print[data-v-f1fbbe65]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-download[data-v-f1fbbe65]{background:var(--violet);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;padding:8px 20px;font-family:Inter,sans-serif;font-weight:600}.btn-download[data-v-f1fbbe65]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c6af740}.btn-download[data-v-f1fbbe65]:disabled{opacity:.6;cursor:not-allowed;transform:none}.export-wrap[data-v-e658199e]{display:inline-block;position:relative}.btn-export[data-v-e658199e]{background:var(--teal);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:10px;padding:7px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.btn-export[data-v-e658199e]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-export[data-v-e658199e]:disabled{opacity:.6;transform:none}.export-overlay[data-v-e658199e]{z-index:29;position:fixed;inset:0}.export-panel[data-v-e658199e]{z-index:30;background:var(--surface-card);border:1px solid var(--border);border-radius:14px;width:260px;max-width:calc(100vw - 32px);padding:14px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #7c6af71f}.panel-title[data-v-e658199e]{color:var(--text);margin:0;font-size:13px;font-weight:600}.panel-sub[data-v-e658199e]{color:var(--muted);margin:2px 0 10px;font-size:11px}.date-row[data-v-e658199e]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.date-row label[data-v-e658199e]{width:48px;color:var(--muted);font-size:12px}.date-row input[data-v-e658199e]{border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;outline:none;flex:1;padding:6px 8px;font-family:Inter,sans-serif;font-size:12px}.date-row input[data-v-e658199e]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.preset-row[data-v-e658199e]{gap:6px;margin:4px 0 8px;display:flex}.preset[data-v-e658199e]{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:10px;flex:1;padding:5px 4px;font-family:Inter,sans-serif;font-size:11px}.preset[data-v-e658199e]:hover{background:var(--violet-pale);color:var(--violet);border-color:var(--violet-light)}.range-hint[data-v-e658199e]{color:var(--violet);margin:0 0 10px;font-size:11px}.btn-download[data-v-e658199e]{background:var(--teal);color:#fff;cursor:pointer;width:100%;transition:all .2s var(--ease-spring);border:none;border-radius:10px;padding:8px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.btn-download[data-v-e658199e]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-download[data-v-e658199e]:disabled{opacity:.6;transform:none}.dashboard[data-v-336c5134]{flex-direction:column;gap:1.25rem;display:flex}.alert-overdue[data-v-336c5134]{background:var(--fire-pale);border:1px solid var(--fire);color:#92400e;border-radius:14px;align-items:center;gap:8px;padding:.75rem 1.25rem;font-size:13px;display:flex}.stats[data-v-336c5134]{flex-wrap:wrap;gap:1rem;display:flex}.stat-card[data-v-336c5134]{background:var(--surface-card);border:1px solid var(--border);min-width:140px;transition:all .2s var(--ease-spring);border-left:4px solid #0000;border-radius:20px;flex:1;align-items:center;gap:1rem;padding:1.25rem;display:flex;box-shadow:0 1px 3px #7c6af70f}.stat-card[data-v-336c5134]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c6af71a}.stat-card.clickable[data-v-336c5134]{cursor:pointer}.stat-card.active[data-v-336c5134]{border-color:var(--violet);box-shadow:0 0 0 2px var(--violet-pale), 0 8px 24px #7c6af71f}.stat-card.yellow[data-v-336c5134],.stat-card.orange[data-v-336c5134]{border-left-color:var(--fire)}.stat-card.red[data-v-336c5134]{border-left-color:var(--red)}.stat-card.green[data-v-336c5134]{border-left-color:var(--teal)}.stat-card.blue[data-v-336c5134]{border-left-color:var(--violet)}.stat-icon[data-v-336c5134]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex}.stat-card.yellow .stat-icon[data-v-336c5134],.stat-card.orange .stat-icon[data-v-336c5134]{background:var(--fire-pale);color:var(--fire)}.stat-card.red .stat-icon[data-v-336c5134]{background:var(--red-pale);color:var(--red)}.stat-card.green .stat-icon[data-v-336c5134]{background:var(--teal-pale);color:#0d9373}.stat-card.blue .stat-icon[data-v-336c5134]{background:var(--violet-pale);color:var(--violet)}.stat-info h3[data-v-336c5134]{color:var(--text);margin:0;font-family:JetBrains Mono,monospace;font-size:1.75rem;font-weight:700}.stat-info p[data-v-336c5134]{color:var(--muted);margin:2px 0 0;font-size:12px}.tabs[data-v-336c5134]{gap:.5rem;display:flex}.tab[data-v-336c5134]{border:1px solid var(--border);background:var(--surface-card);color:var(--muted);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:14px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:500;display:flex}.tab[data-v-336c5134]:hover{border-color:var(--violet-light);color:var(--violet)}.tab.active[data-v-336c5134]{background:var(--violet);color:#fff;border-color:var(--violet)}.tab-badge[data-v-336c5134]{background:var(--red);color:#fff;border-radius:999px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.tab.active .tab-badge[data-v-336c5134]{background:#ffffff4d}.analytics-panel[data-v-336c5134]{flex-direction:column;gap:1.25rem;display:flex}.an-section-label[data-v-336c5134]{color:var(--violet);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:500}.an-metric-grid[data-v-336c5134]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.an-metric-card[data-v-336c5134]{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:4px;padding:.9rem 1rem;display:flex}.an-metric-val[data-v-336c5134]{color:var(--text);font-family:JetBrains Mono,monospace;font-size:28px;font-weight:700;line-height:1}.an-metric-val.an-val-red[data-v-336c5134]{color:var(--red)}.an-metric-val.an-val-green[data-v-336c5134]{color:var(--teal)}.an-metric-val.an-val-blue[data-v-336c5134]{color:var(--violet)}.an-metric-label[data-v-336c5134]{color:var(--muted);font-size:12px}.an-metric-delta[data-v-336c5134]{margin-top:2px;font-size:11px}.an-metric-delta.up[data-v-336c5134]{color:var(--teal)}.an-metric-delta.down[data-v-336c5134]{color:var(--red)}.an-metric-delta.neutral[data-v-336c5134]{color:var(--muted)}.an-charts-row[data-v-336c5134]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.an-charts-row[data-v-336c5134]{grid-template-columns:1fr}}.an-chart-card[data-v-336c5134]{background:var(--surface-card);border:1px solid var(--border);border-radius:20px;padding:1.25rem;box-shadow:0 1px 3px #7c6af70f}.an-chart-title[data-v-336c5134]{color:var(--text);margin-bottom:.75rem;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700}.an-legend-row[data-v-336c5134]{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.an-legend-item[data-v-336c5134]{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.an-legend-item strong[data-v-336c5134]{color:var(--text);font-weight:600}.an-legend-dot[data-v-336c5134]{border-radius:3px;flex-shrink:0;width:9px;height:9px}.an-tab-group[data-v-336c5134]{gap:4px;display:flex}.an-tab-btn[data-v-336c5134]{border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all .2s var(--ease-spring);background:0 0;border-radius:10px;padding:4px 12px;font-size:11px}.an-tab-btn.active[data-v-336c5134]{background:var(--violet);color:#fff;border-color:var(--violet)}.an-badge[data-v-336c5134]{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.an-badge-red[data-v-336c5134]{background:var(--red-pale);color:#b91c1c}.an-badge-amber[data-v-336c5134]{background:var(--fire-pale);color:#92400e}.an-badge-green[data-v-336c5134]{background:var(--teal-pale);color:#0d6b4f}.table-actions[data-v-336c5134]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.table-title[data-v-336c5134]{color:var(--text);align-items:center;gap:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:700;display:flex}.table-count[data-v-336c5134]{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:400}.filter-reset[data-v-336c5134]{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.filter-reset[data-v-336c5134]:hover{border-color:var(--red);color:var(--red)}.dash-search-group[data-v-336c5134]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dash-search-field[data-v-336c5134]{border:1px solid var(--border);background:var(--surface-card,var(--surface));color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;outline:none;padding:.45rem .7rem;font-family:Inter,sans-serif;font-size:13px}input.dash-search-field[data-v-336c5134]{width:150px}select.dash-search-field[data-v-336c5134]{cursor:pointer}.dash-search-field[data-v-336c5134]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.dash-search-field[data-v-336c5134]::placeholder{color:var(--muted)}.dash-search-clear[data-v-336c5134]{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:13px;line-height:1}.dash-search-clear[data-v-336c5134]:hover{color:var(--red)}.action-buttons[data-v-336c5134]{gap:.5rem;display:flex}.btn-action[data-v-336c5134]{cursor:pointer;color:#fff;transition:all .2s var(--ease-spring);border:none;border-radius:14px;padding:8px 16px;font-size:12px;font-weight:600}.btn-action[data-v-336c5134]:hover{transform:translateY(-1px)}.btn-action.orange[data-v-336c5134]{background:var(--fire)}.btn-action.blue[data-v-336c5134]{background:var(--violet)}.btn-action.green[data-v-336c5134]{background:var(--teal)}.table-wrapper[data-v-336c5134]{background:var(--surface-card);border:1px solid var(--border);border-radius:20px;overflow-x:auto;box-shadow:0 1px 3px #7c6af70f}.loan-table[data-v-336c5134]{border-collapse:collapse;width:100%;font-size:13px}.loan-table th[data-v-336c5134]{text-align:left;color:var(--violet);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:500}.loan-table td[data-v-336c5134]{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.loan-table tr:last-child td[data-v-336c5134]{border-bottom:none}.row-overdue[data-v-336c5134]{background:var(--red-pale)}.loan-kode[data-v-336c5134]{color:var(--red);margin:0;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.loan-name[data-v-336c5134]{color:var(--text);margin:2px 0 0;font-size:13px;font-weight:500}.loan-unit[data-v-336c5134]{color:var(--muted);margin:2px 0 0;font-size:11px}.badge-layanan[data-v-336c5134]{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-layanan.prioritas[data-v-336c5134]{background:var(--violet-pale);color:var(--violet)}.badge-layanan.rutin[data-v-336c5134]{background:var(--teal-pale);color:#0d6b4f}.badge-layanan.none[data-v-336c5134]{background:var(--surface);color:var(--muted)}.loan-keperluan[data-v-336c5134]{color:var(--muted);margin:4px 0 0;font-size:11px}.bt-count[data-v-336c5134]{color:var(--text);margin:0;font-family:JetBrains Mono,monospace;font-weight:700}.bt-detail[data-v-336c5134]{color:var(--muted);margin:2px 0 0;font-size:11px}.durasi[data-v-336c5134]{color:var(--text);font-size:13px;font-weight:500}.durasi.overdue[data-v-336c5134]{color:var(--red);font-weight:700}.overdue-label[data-v-336c5134]{background:var(--red-pale);color:var(--red);border-radius:20px;width:fit-content;margin-top:2px;padding:1px 6px;font-size:10px;display:block}.status-badge[data-v-336c5134]{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.status-badge.active[data-v-336c5134]{background:var(--fire-pale);color:#92400e}.status-badge.completed[data-v-336c5134]{background:var(--teal-pale);color:#0d6b4f}.aksi-buttons[data-v-336c5134]{align-items:center;gap:6px;display:flex}.btn-aksi[data-v-336c5134]{cursor:pointer;color:#fff;white-space:nowrap;transition:all .2s var(--ease-spring);border:none;border-radius:10px;padding:6px 14px;font-size:12px;font-weight:600}.btn-aksi[data-v-336c5134]:hover{transform:translateY(-1px)}.btn-aksi.green[data-v-336c5134]{background:var(--teal)}.btn-aksi.gray[data-v-336c5134]{background:var(--muted)}.btn-aksi.purple[data-v-336c5134]{background:var(--violet)}.btn-aksi.red[data-v-336c5134]{background:var(--red)}.empty[data-v-336c5134],.loading[data-v-336c5134]{text-align:center;color:var(--muted);padding:2rem}.pagination-bar[data-v-336c5134]{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.pagination-left[data-v-336c5134]{align-items:center;gap:1rem;display:flex}.pagination-info[data-v-336c5134]{color:var(--muted);font-size:12px}.per-page-select[data-v-336c5134]{border:1px solid var(--border);color:var(--text);background:var(--surface);cursor:pointer;border-radius:10px;outline:none;padding:5px 10px;font-size:12px}.pagination-right[data-v-336c5134]{align-items:center;gap:4px;display:flex}.page-btn[data-v-336c5134]{border:1px solid var(--border);background:var(--surface-card);width:32px;height:32px;color:var(--text);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:10px;justify-content:center;align-items:center;font-size:12px;display:flex}.page-btn[data-v-336c5134]:hover:not(:disabled){background:var(--violet-pale);border-color:var(--violet-light);color:var(--violet)}.page-btn.active[data-v-336c5134]{background:var(--violet);color:#fff;border-color:var(--violet)}.page-btn[data-v-336c5134]:disabled{opacity:.4;cursor:not-allowed}.modal-overlay[data-v-336c5134]{z-index:1000;background:#0d0f1a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-konfirmasi[data-v-336c5134]{background:var(--surface-card);border:1px solid var(--border);border-radius:24px;flex-direction:column;width:100%;max-width:560px;max-height:85vh;display:flex;box-shadow:0 16px 48px #7c6af726}.modal-header[data-v-336c5134]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h3[data-v-336c5134]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.modal-header button[data-v-336c5134]{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:18px;transition:color .2s}.modal-header button[data-v-336c5134]:hover{color:var(--red)}.modal-body[data-v-336c5134]{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.konfirmasi-kode[data-v-336c5134]{color:var(--muted);margin-bottom:4px;font-size:13px}.konfirmasi-kode strong[data-v-336c5134]{font-family:JetBrains Mono,monospace}.konfirmasi-sub[data-v-336c5134]{color:var(--text);margin-bottom:1rem;font-size:13px}.konfirmasi-list[data-v-336c5134]{flex-direction:column;gap:.75rem;display:flex}.konfirmasi-item[data-v-336c5134]{border:1px solid var(--border);transition:all .2s var(--ease-spring);border-radius:14px;align-items:flex-start;gap:1rem;padding:.75rem 1rem;display:flex}.konfirmasi-item.item-found[data-v-336c5134]{border-color:var(--teal);background:var(--teal-pale)}.konfirmasi-item.item-not-found[data-v-336c5134]{border-color:var(--red);background:var(--red-pale)}.konfirmasi-check[data-v-336c5134]{flex-direction:column;flex-shrink:0;gap:6px;padding-top:2px;display:flex}.check-option[data-v-336c5134]{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.check-found[data-v-336c5134]{color:var(--teal);font-weight:600}.check-notfound[data-v-336c5134]{color:var(--red);font-weight:600}.konfirmasi-info[data-v-336c5134]{flex:1}.k-nomer[data-v-336c5134]{color:var(--text);margin:0;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600}.k-detail[data-v-336c5134]{color:var(--muted);margin:2px 0 0;font-size:12px}.k-prev[data-v-336c5134]{color:var(--muted);margin:4px 0 0;font-size:11px}.k-prev .found[data-v-336c5134]{color:var(--teal);font-weight:600}.k-prev .not-found[data-v-336c5134]{color:var(--red);font-weight:600}.konfirmasi-note[data-v-336c5134]{margin-top:1rem}.konfirmasi-note label[data-v-336c5134]{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.konfirmasi-note textarea[data-v-336c5134]{border:1px solid var(--border);resize:vertical;background:var(--surface);width:100%;color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px}.konfirmasi-note textarea[data-v-336c5134]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.modal-footer[data-v-336c5134]{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.btn-cancel[data-v-336c5134]{background:var(--surface);color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:14px;padding:8px 20px;font-weight:500}.btn-cancel[data-v-336c5134]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-confirm[data-v-336c5134]{background:var(--violet);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;padding:8px 20px;font-weight:600}.btn-confirm[data-v-336c5134]:hover{background:var(--violet-hover);transform:translateY(-1px)}.btn-confirm[data-v-336c5134]:disabled{opacity:.5;transform:none}.konfirm-badge[data-v-336c5134]{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:600}.konfirm-badge.pending[data-v-336c5134]{background:var(--fire-pale);color:#92400e}.btn-select-all[data-v-336c5134]{background:var(--teal-pale);color:#0d6b4f;border:1px solid var(--teal);cursor:pointer;white-space:nowrap;transition:all .2s var(--ease-spring);border-radius:10px;margin-bottom:.75rem;padding:6px 14px;font-size:12px;font-weight:600;display:block}.btn-select-all[data-v-336c5134]:hover{background:var(--teal);color:#fff}.lainnya-wrapper[data-v-336c5134]{margin-top:5px;display:inline-block;position:relative}.lainnya-tag[data-v-336c5134]{background:var(--violet-pale);color:var(--violet);border:1px solid var(--violet-light);cursor:default;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.lainnya-tooltip[data-v-336c5134]{background:var(--night-card);color:#fff;z-index:100;border:1px solid var(--night-border);border-radius:14px;flex-direction:column;gap:6px;min-width:220px;padding:12px 14px;display:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0d0f1a4d}.lainnya-wrapper:hover .lainnya-tooltip[data-v-336c5134]{display:flex}.tooltip-row[data-v-336c5134]{align-items:flex-start;gap:8px;font-size:11px;display:flex}.tooltip-label[data-v-336c5134]{color:var(--night-muted);flex-shrink:0;min-width:48px}.lainnya-tooltip[data-v-336c5134]:before{content:"";background:var(--night-card);border-left:1px solid var(--night-border);border-top:1px solid var(--night-border);width:10px;height:10px;position:absolute;top:-5px;left:10px;transform:rotate(45deg)}.register-container[data-v-bf0653ef]{background:var(--surface);justify-content:center;align-items:center;min-height:100vh;display:flex}.register-box[data-v-bf0653ef]{background:var(--surface-card);border:1px solid var(--border);border-radius:24px;width:420px;padding:2.5rem;box-shadow:0 4px 24px #7c6af714}.register-box h2[data-v-bf0653ef]{color:var(--text);text-align:center;margin-bottom:1.5rem;font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.field[data-v-bf0653ef]{flex-direction:column;gap:6px;margin-bottom:1rem;display:flex}.field label[data-v-bf0653ef]{color:var(--muted);font-size:13px;font-weight:500}input[data-v-bf0653ef],select[data-v-bf0653ef]{border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px}input[data-v-bf0653ef]:focus,select[data-v-bf0653ef]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale);outline:none}input[data-v-bf0653ef]::placeholder{color:var(--muted)}button[data-v-bf0653ef]{background:var(--violet);color:#fff;cursor:pointer;width:100%;transition:all .2s var(--ease-spring);border:none;border-radius:14px;margin-top:8px;padding:12px;font-family:Inter,sans-serif;font-size:15px;font-weight:600}button[data-v-bf0653ef]:hover{background:var(--violet-hover);transform:translateY(-1px)}button.back[data-v-bf0653ef]{background:var(--muted)}button.back[data-v-bf0653ef]:hover{background:var(--night-muted)}button[data-v-bf0653ef]:disabled{opacity:.5;cursor:not-allowed;transform:none}.error[data-v-bf0653ef]{color:var(--red);margin-bottom:.5rem;font-size:13px}.success[data-v-bf0653ef]{color:var(--teal);margin-bottom:.5rem;font-size:13px}.profile-page[data-v-0e7a7305]{max-width:700px}.profile-page h2[data-v-0e7a7305]{color:var(--text);margin-bottom:1.5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.5rem;font-weight:700}.warning-box[data-v-0e7a7305]{background:var(--fire-pale);border:1px solid var(--fire);color:#92400e;border-radius:14px;margin-bottom:1.5rem;padding:12px 16px;font-size:13px}.card[data-v-0e7a7305]{background:var(--surface-card);border:1px solid var(--border);border-radius:20px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #7c6af70f}.card h3[data-v-0e7a7305]{color:var(--text);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.form-grid-2[data-v-0e7a7305]{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.field[data-v-0e7a7305]{flex-direction:column;gap:6px;display:flex}label[data-v-0e7a7305]{color:var(--muted);font-size:13px;font-weight:500}.required[data-v-0e7a7305]{color:var(--red)}input[data-v-0e7a7305]{border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px}input[data-v-0e7a7305]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale);outline:none}.select-wrapper[data-v-0e7a7305]{align-items:center;display:flex;position:relative}.select-wrapper select[data-v-0e7a7305]{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);appearance:none;cursor:pointer;transition:border-color .2s var(--ease-spring);border-radius:10px;padding:10px 32px 10px 14px;font-family:Inter,sans-serif;font-size:14px}.select-wrapper select[data-v-0e7a7305]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale);outline:none}.select-wrapper select[data-v-0e7a7305]:disabled{background:var(--surface);color:var(--muted);cursor:not-allowed}.select-wrapper.disabled[data-v-0e7a7305]{opacity:.5}.select-arrow[data-v-0e7a7305]{color:var(--muted);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;position:absolute;right:10px}button[data-v-0e7a7305]{background:var(--violet);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;margin-top:8px;padding:12px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600}button[data-v-0e7a7305]:hover{background:var(--violet-hover);transform:translateY(-1px)}button[data-v-0e7a7305]:disabled{opacity:.5;cursor:not-allowed;transform:none}.success[data-v-0e7a7305]{color:var(--teal);font-size:13px}.error[data-v-0e7a7305]{color:var(--red);font-size:13px}.autocomplete[data-v-3161f7b1]{position:relative}input[data-v-3161f7b1]{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px}input[data-v-3161f7b1]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.dropdown[data-v-3161f7b1]{background:var(--surface-card);border:1px solid var(--border);z-index:999;border-radius:10px;max-height:200px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #7c6af71f}.dropdown li[data-v-3161f7b1]{cursor:pointer;color:var(--text);transition:background .2s var(--ease-spring);padding:8px 14px;font-size:13px}.dropdown li[data-v-3161f7b1]:hover,.dropdown li.active[data-v-3161f7b1]{background:var(--violet-pale);color:var(--violet)}.kec-hint[data-v-3161f7b1]{color:var(--muted);font-size:11px}[data-v-5c5fe6c1]{box-sizing:border-box}.page[data-v-5c5fe6c1]{background:var(--surface);flex-direction:column;min-height:100vh;display:flex}.navbar[data-v-5c5fe6c1]{background:var(--surface-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 2rem;display:flex}.nav-brand[data-v-5c5fe6c1]{color:var(--violet);align-items:center;gap:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.nav-logo[data-v-5c5fe6c1]{height:32px}.nav-subtitle[data-v-5c5fe6c1]{color:var(--muted);font-size:12px}.hero[data-v-5c5fe6c1]{background:linear-gradient(135deg, var(--violet), #5340c8);color:#fff;text-align:center;padding:2.5rem 1rem}.hero h1[data-v-5c5fe6c1]{letter-spacing:-.03em;margin-bottom:.5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.6rem;font-weight:800}.hero p[data-v-5c5fe6c1]{opacity:.85;font-size:.9rem}.loan-create[data-v-5c5fe6c1]{flex:1;width:100%;max-width:720px;margin:2rem auto;padding:0 1rem}.card[data-v-5c5fe6c1]{background:var(--surface-card);border:1px solid var(--border);border-radius:24px;padding:2rem;box-shadow:0 4px 24px #7c6af714}.form-section[data-v-5c5fe6c1]{margin-bottom:1.5rem}.section-title[data-v-5c5fe6c1]{color:var(--text);align-items:center;gap:10px;margin-bottom:1.25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;display:flex}.step-badge[data-v-5c5fe6c1]{background:var(--violet);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;display:flex}.divider[data-v-5c5fe6c1]{border-top:1px solid var(--border);margin:1.5rem 0}.form-grid-2[data-v-5c5fe6c1]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.req[data-v-5c5fe6c1]{color:var(--red)}.field[data-v-5c5fe6c1]{flex-direction:column;gap:6px;display:flex}label[data-v-5c5fe6c1]{color:var(--muted);font-size:12px;font-weight:500}.input-icon[data-v-5c5fe6c1]{border:1px solid var(--border);background:var(--surface-card);border-radius:10px;align-items:center;display:flex;overflow:hidden}.input-icon span[data-v-5c5fe6c1]{background:var(--surface);border-right:1px solid var(--border);align-items:center;height:100%;padding:0 10px;font-size:16px;display:flex}.input-icon input[data-v-5c5fe6c1]{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:10px 14px;font-size:14px}input[data-v-5c5fe6c1],select[data-v-5c5fe6c1]{border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px}input[data-v-5c5fe6c1]:focus,select[data-v-5c5fe6c1]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.btn-lainnya[data-v-5c5fe6c1]{background:var(--surface-card);border:1.5px dashed var(--border);cursor:pointer;text-align:left;width:100%;transition:all .2s var(--ease-spring);border-radius:14px;align-items:center;gap:12px;margin-top:1rem;padding:14px 16px;display:flex}.btn-lainnya[data-v-5c5fe6c1]:hover{border-color:var(--violet-light);background:var(--violet-pale)}.btn-lainnya.active[data-v-5c5fe6c1]{border-color:var(--violet);background:var(--violet-pale);border-style:solid}.lainnya-icon[data-v-5c5fe6c1]{flex-shrink:0;font-size:1.1rem}.lainnya-text[data-v-5c5fe6c1]{flex-direction:column;flex:1;gap:2px;display:flex}.lainnya-main[data-v-5c5fe6c1]{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.btn-lainnya.active .lainnya-main[data-v-5c5fe6c1]{color:var(--violet)}.lainnya-badge[data-v-5c5fe6c1]{background:var(--teal-pale);color:#0d6b4f;border:1px solid var(--teal);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:500}.lainnya-sub[data-v-5c5fe6c1]{color:var(--muted);font-size:11px;font-weight:400}.lainnya-chevron[data-v-5c5fe6c1]{color:var(--muted);flex-shrink:0;font-size:10px}.lainnya-section[data-v-5c5fe6c1]{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:.75rem;padding:1.25rem}.lainnya-title[data-v-5c5fe6c1]{color:var(--violet);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem;font-size:11px;font-weight:500}.keperluan-grid[data-v-5c5fe6c1]{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.keperluan-card[data-v-5c5fe6c1]{background:var(--surface-card);border:1.5px solid var(--border);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:14px;align-items:center;gap:10px;padding:.75rem 1rem;display:flex}.keperluan-card[data-v-5c5fe6c1]:hover{border-color:var(--violet-light);background:var(--violet-pale)}.keperluan-card.active[data-v-5c5fe6c1]{border-color:var(--violet);background:var(--violet-pale)}.kep-icon[data-v-5c5fe6c1]{flex-shrink:0;font-size:1.2rem}.kep-label[data-v-5c5fe6c1]{color:var(--text);margin:0;font-size:13px;font-weight:600}.kep-sub[data-v-5c5fe6c1]{color:var(--muted);margin:0;font-size:11px}.info-hint[data-v-5c5fe6c1]{background:var(--violet-pale);border:1px solid var(--violet-light);color:var(--violet);border-radius:10px;margin-top:.75rem;padding:10px 14px;font-size:13px}.land-book-item[data-v-5c5fe6c1]{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:.75rem;padding:1rem}.land-book-header[data-v-5c5fe6c1]{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:13px;font-weight:600;display:flex}.btn-remove[data-v-5c5fe6c1]{background:var(--red-pale);color:#b91c1c;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600}.btn-remove[data-v-5c5fe6c1]:hover{background:var(--red);color:#fff}.land-book-fields[data-v-5c5fe6c1]{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.land-book-fields .field[data-v-5c5fe6c1]{flex:1;min-width:140px}.btn-add[data-v-5c5fe6c1]{background:var(--violet-pale);color:var(--violet);border:1px solid var(--violet-light);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:10px;margin-left:auto;padding:6px 14px;font-size:12px;font-weight:600}.btn-add[data-v-5c5fe6c1]:hover{background:var(--violet);color:#fff}.btn-submit[data-v-5c5fe6c1]{background:linear-gradient(135deg, var(--violet), #5340c8);color:#fff;cursor:pointer;width:100%;transition:all .2s var(--ease-spring);border:none;border-radius:14px;margin-top:1.5rem;padding:14px;font-family:Inter,sans-serif;font-size:15px;font-weight:600}.btn-submit[data-v-5c5fe6c1]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c6af740}.btn-submit[data-v-5c5fe6c1]:disabled{opacity:.5;box-shadow:none;transform:none}.error[data-v-5c5fe6c1]{color:var(--red);background:var(--red-pale);border-radius:10px;margin-top:.5rem;padding:8px 12px;font-size:13px}.result[data-v-5c5fe6c1]{text-align:center}.result-header[data-v-5c5fe6c1]{margin-bottom:1.5rem}.success-icon[data-v-5c5fe6c1]{margin-bottom:.75rem;font-size:3rem}.result h3[data-v-5c5fe6c1]{color:var(--text);margin-bottom:.25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.3rem;font-weight:700}.result-sub[data-v-5c5fe6c1]{color:var(--muted);font-size:13px}.kode-box[data-v-5c5fe6c1]{background:var(--teal-pale);border:1px solid var(--teal);border-radius:16px;margin-bottom:1.5rem;padding:1.25rem}.kode-label[data-v-5c5fe6c1]{color:var(--muted);margin-bottom:4px;font-size:12px}.kode-value[data-v-5c5fe6c1]{color:var(--teal-light);letter-spacing:4px;font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:700}.qr-box[data-v-5c5fe6c1]{margin-bottom:1.5rem}.qr-label[data-v-5c5fe6c1]{color:var(--muted);margin-bottom:.75rem;font-size:13px}.qr-wrapper[data-v-5c5fe6c1]{border:1px solid var(--border);background:#fff;border-radius:16px;padding:1rem;display:inline-block;box-shadow:0 2px 8px #7c6af714}.result-actions[data-v-5c5fe6c1]{justify-content:center;gap:1rem;display:flex}.btn-print[data-v-5c5fe6c1]{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:14px;padding:10px 24px;font-weight:600}.btn-print[data-v-5c5fe6c1]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-new[data-v-5c5fe6c1]{background:var(--violet);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;padding:10px 24px;font-weight:600}.btn-new[data-v-5c5fe6c1]:hover{background:var(--violet-hover);transform:translateY(-1px)}.footer[data-v-5c5fe6c1]{text-align:center;color:var(--muted);padding:1.5rem;font-size:12px}.slide-enter-active[data-v-5c5fe6c1],.slide-leave-active[data-v-5c5fe6c1]{transition:all .25s var(--ease-spring);overflow:hidden}.slide-enter-from[data-v-5c5fe6c1],.slide-leave-to[data-v-5c5fe6c1]{opacity:0;transform:translateY(-6px)}.label-with-toggle[data-v-5c5fe6c1]{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.label-with-toggle label[data-v-5c5fe6c1]{margin-bottom:0}@media (width<=600px){.form-grid-2[data-v-5c5fe6c1]{grid-template-columns:1fr}.land-book-fields[data-v-5c5fe6c1],.keperluan-grid[data-v-5c5fe6c1]{grid-template-columns:1fr 1fr}.nav-subtitle[data-v-5c5fe6c1]{display:none}}.return-page[data-v-f7f6bf25]{max-width:1100px;min-height:100vh;padding:1.5rem 2rem}.state-center[data-v-f7f6bf25]{text-align:center;min-height:60vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.state-icon[data-v-f7f6bf25]{font-size:3rem}.state-center h3[data-v-f7f6bf25]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1.2rem;font-weight:700}.state-center p[data-v-f7f6bf25]{margin:0;font-size:14px}.spinner[data-v-f7f6bf25]{border:3px solid var(--border);border-top-color:var(--violet);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin-f7f6bf25}.page-header[data-v-f7f6bf25]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header-left[data-v-f7f6bf25]{flex-direction:column;gap:.5rem;display:flex}.btn-back-header[data-v-f7f6bf25]{color:var(--muted);cursor:pointer;transition:color .2s var(--ease-spring);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex}.btn-back-header[data-v-f7f6bf25]:hover{color:var(--violet)}.page-title-group h1[data-v-f7f6bf25]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:700}.page-title-group p[data-v-f7f6bf25]{color:var(--muted);margin:2px 0 0;font-size:13px}.status-pill[data-v-f7f6bf25]{white-space:nowrap;border-radius:20px;margin-top:4px;padding:5px 14px;font-size:12px;font-weight:600}.status-pill.active[data-v-f7f6bf25]{background:var(--violet-pale);color:var(--violet)}.status-pill.completed[data-v-f7f6bf25]{background:var(--teal-pale);color:#0d6b4f}.grid-layout[data-v-f7f6bf25]{grid-template-columns:1fr 320px;align-items:start;gap:1.25rem;display:grid}.card[data-v-f7f6bf25]{background:var(--surface-card);border:1px solid var(--border);border-radius:20px;margin-bottom:1.25rem;overflow:hidden;box-shadow:0 1px 3px #7c6af70f}.card-header[data-v-f7f6bf25]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.card-label[data-v-f7f6bf25]{color:var(--violet);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:500}.book-count[data-v-f7f6bf25]{color:var(--muted);background:var(--surface);border-radius:20px;padding:2px 10px;font-family:JetBrains Mono,monospace;font-size:12px}.info-grid[data-v-f7f6bf25]{grid-template-columns:1fr 1fr;gap:0;display:grid}.info-item[data-v-f7f6bf25]{border-bottom:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;gap:3px;padding:.85rem 1.25rem;display:flex}.info-item[data-v-f7f6bf25]:nth-child(2n){border-right:none}.info-label[data-v-f7f6bf25]{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.info-val[data-v-f7f6bf25]{color:var(--text);font-size:14px;font-weight:500}.info-val.kode[data-v-f7f6bf25]{letter-spacing:2px;color:var(--violet);font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.text-danger[data-v-f7f6bf25]{color:var(--red)!important}.overdue-chip[data-v-f7f6bf25]{background:var(--red-pale);color:#b91c1c;border-radius:20px;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-block}.select-all-bar[data-v-f7f6bf25]{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.select-all-label[data-v-f7f6bf25]{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.select-all-label input[data-v-f7f6bf25]{cursor:pointer;width:16px;height:16px}.selected-count[data-v-f7f6bf25]{color:var(--violet);background:var(--violet-pale);border-radius:20px;padding:2px 10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.books-list[data-v-f7f6bf25]{padding:.5rem 1.25rem 1rem}.book-item[data-v-f7f6bf25]{border:1.5px solid var(--border);transition:all .2s var(--ease-spring);background:var(--surface-card);border-radius:14px;align-items:center;gap:12px;margin-bottom:.5rem;padding:.85rem 1rem;display:flex}.book-item[data-v-f7f6bf25]:hover{border-color:var(--violet-light)}.book-item.is-returned[data-v-f7f6bf25]{opacity:.55;background:var(--surface);border-color:var(--border)}.book-item.is-not-found[data-v-f7f6bf25]{opacity:.6;background:var(--red-pale);border-color:var(--red)}.book-item.is-selected[data-v-f7f6bf25]{border-color:var(--violet);background:var(--violet-pale)}.book-check input[data-v-f7f6bf25]{cursor:pointer;flex-shrink:0;width:16px;height:16px}.book-body[data-v-f7f6bf25]{flex:1;min-width:0}.book-number[data-v-f7f6bf25]{color:var(--text);font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.book-meta[data-v-f7f6bf25]{color:var(--muted);align-items:center;gap:5px;margin-top:2px;font-size:12px;display:flex}.book-jenis[data-v-f7f6bf25]{background:var(--violet-pale);color:var(--violet);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600}.meta-dot[data-v-f7f6bf25]{color:var(--border)}.book-returned-date[data-v-f7f6bf25]{color:var(--teal);margin-top:3px;font-size:11px}.tag[data-v-f7f6bf25]{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.tag-borrowed[data-v-f7f6bf25]{background:var(--fire-pale);color:#92400e}.tag-returned[data-v-f7f6bf25]{background:var(--teal-pale);color:#0d6b4f}.tag-notfound[data-v-f7f6bf25]{background:var(--red-pale);color:#b91c1c}.action-card[data-v-f7f6bf25]{position:sticky;top:1.5rem}.action-hint[data-v-f7f6bf25]{color:var(--muted);margin:0;padding:.75rem 1.25rem 0;font-size:13px;line-height:1.6}.action-summary[data-v-f7f6bf25]{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:0;margin:.75rem 1.25rem;display:flex;overflow:hidden}.summary-row[data-v-f7f6bf25]{border-bottom:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.summary-row[data-v-f7f6bf25]:last-child{border-bottom:none}.summary-row strong[data-v-f7f6bf25]{color:var(--text);font-family:JetBrains Mono,monospace}.text-success[data-v-f7f6bf25]{color:var(--teal)!important}.text-primary[data-v-f7f6bf25]{color:var(--violet)!important}.return-msg[data-v-f7f6bf25]{border-radius:10px;margin:0 1.25rem .75rem;padding:8px 12px;font-size:13px;font-weight:500}.return-msg.success[data-v-f7f6bf25]{background:var(--teal-pale);color:#0d6b4f}.return-msg.error[data-v-f7f6bf25]{background:var(--red-pale);color:#b91c1c}.btn-confirm[data-v-f7f6bf25]{background:var(--teal);color:#fff;cursor:pointer;width:calc(100% - 2.5rem);transition:all .2s var(--ease-spring);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin:0 1.25rem 1.25rem;padding:12px;font-size:14px;font-weight:600;display:flex}.btn-confirm[data-v-f7f6bf25]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1cd4a74d}.btn-confirm[data-v-f7f6bf25]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-spinner[data-v-f7f6bf25]{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin-f7f6bf25}.completed-card[data-v-f7f6bf25]{text-align:center;padding:2rem 1.25rem}.completed-icon[data-v-f7f6bf25]{margin-bottom:.75rem;font-size:2.5rem}.completed-card h3[data-v-f7f6bf25]{color:var(--text);margin:0 0 6px;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.completed-card p[data-v-f7f6bf25]{color:var(--muted);margin:0 0 1.25rem;font-size:13px;line-height:1.6}.btn-back-dashboard[data-v-f7f6bf25]{background:var(--violet);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;padding:10px 24px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.btn-back-dashboard[data-v-f7f6bf25]:hover{background:var(--violet-hover)}.login-card[data-v-f7f6bf25],.staff-card[data-v-f7f6bf25]{text-align:center;padding:2rem 1.25rem}.login-icon[data-v-f7f6bf25],.staff-icon[data-v-f7f6bf25]{margin-bottom:.75rem;font-size:2rem}.login-card h3[data-v-f7f6bf25],.staff-card p[data-v-f7f6bf25]{color:var(--muted);margin:0 0 1rem;font-size:13px}.btn-login[data-v-f7f6bf25]{background:var(--violet);color:#fff;transition:all .2s var(--ease-spring);border-radius:14px;padding:10px 24px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.btn-login[data-v-f7f6bf25]:hover{background:var(--violet-hover)}.btn-back[data-v-f7f6bf25]{background:var(--violet);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;margin-top:.5rem;padding:8px 20px;font-size:13px;font-weight:600}.btn-back[data-v-f7f6bf25]:hover{background:var(--violet-hover)}@keyframes spin-f7f6bf25{to{transform:rotate(360deg)}}@media (width<=768px){.return-page[data-v-f7f6bf25]{padding:1rem}.grid-layout[data-v-f7f6bf25],.info-grid[data-v-f7f6bf25]{grid-template-columns:1fr}.info-item[data-v-f7f6bf25]{border-right:none}.action-card[data-v-f7f6bf25]{position:static}}.wa-page[data-v-98b366fc]{max-width:900px;margin:0 auto;padding:2rem}.page-header[data-v-98b366fc]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.header-left[data-v-98b366fc]{align-items:center;gap:1rem;display:flex}.wa-icon[data-v-98b366fc]{color:#fff;background:#25d366;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.wa-icon svg[data-v-98b366fc]{width:26px;height:26px}.page-title[data-v-98b366fc]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:700}.page-sub[data-v-98b366fc]{color:var(--muted);margin:2px 0 0;font-size:13px}.btn-add[data-v-98b366fc]{background:var(--teal);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;display:flex}.btn-add svg[data-v-98b366fc]{width:18px;height:18px}.btn-add[data-v-98b366fc]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-add[data-v-98b366fc]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-change[data-v-98b366fc]{background:var(--surface);color:var(--muted);border:1.5px solid var(--border);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:14px;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;display:flex}.btn-change svg[data-v-98b366fc]{width:16px;height:16px}.btn-change[data-v-98b366fc]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-change[data-v-98b366fc]:disabled{opacity:.5;cursor:not-allowed}.status-banner[data-v-98b366fc]{border-radius:14px;align-items:center;gap:10px;margin-bottom:1.5rem;padding:12px 16px;font-size:14px;display:flex}.status-banner.connected[data-v-98b366fc]{background:var(--teal-pale);color:#0d6b4f;border:1px solid var(--teal)}.status-banner.disconnected[data-v-98b366fc]{background:var(--red-pale);color:#b91c1c;border:1px solid var(--red)}.status-dot[data-v-98b366fc]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.connected .status-dot[data-v-98b366fc]{background:var(--teal);box-shadow:0 0 0 3px #1cd4a740}.disconnected .status-dot[data-v-98b366fc]{background:var(--red)}.loading-state[data-v-98b366fc]{text-align:center;color:var(--muted);padding:4rem}.loading-ring[data-v-98b366fc]{border:3px solid var(--border);border-top-color:var(--violet);border-radius:50%;width:40px;height:40px;margin:0 auto 1rem;animation:.8s linear infinite spin-98b366fc}.empty-state[data-v-98b366fc]{text-align:center;color:var(--muted);padding:4rem}.empty-icon[data-v-98b366fc]{background:var(--surface);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;display:flex}.empty-icon svg[data-v-98b366fc]{width:32px;height:32px}.empty-state h3[data-v-98b366fc]{color:var(--text);margin:0 0 4px;font-family:Plus Jakarta Sans,sans-serif}.empty-state p[data-v-98b366fc]{margin:0;font-size:14px}.sessions-grid[data-v-98b366fc]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.session-card[data-v-98b366fc]{background:var(--surface-card);border:1.5px solid var(--border);transition:all .2s var(--ease-spring);border-radius:20px;padding:1.25rem}.session-card[data-v-98b366fc]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #7c6af71a}.session-card.active[data-v-98b366fc]{border-color:var(--teal);background:var(--teal-pale)}.active-badge[data-v-98b366fc]{color:#0d6b4f;background:var(--teal-pale);border:1px solid var(--teal);border-radius:20px;align-items:center;gap:6px;margin-bottom:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.pulse[data-v-98b366fc]{background:var(--teal);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse-98b366fc}.session-name[data-v-98b366fc]{color:var(--text);word-break:break-all;align-items:center;gap:8px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.phone-icon[data-v-98b366fc]{color:#25d366;flex-shrink:0;width:16px;height:16px}.session-meta[data-v-98b366fc]{color:var(--muted);margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:12px}.session-actions[data-v-98b366fc]{align-items:center;gap:8px;display:flex}.btn-qr[data-v-98b366fc]{background:var(--violet-pale);color:var(--violet);border:1px solid var(--violet-light);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;display:flex}.btn-qr svg[data-v-98b366fc]{width:14px;height:14px}.btn-qr[data-v-98b366fc]:hover{background:var(--violet);color:#fff;border-color:var(--violet)}.btn-logout[data-v-98b366fc]{background:var(--red-pale);color:var(--red);border:1px solid var(--red);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:10px;justify-content:center;align-items:center;padding:8px 10px;display:flex}.btn-logout svg[data-v-98b366fc]{width:16px;height:16px}.btn-logout[data-v-98b366fc]:hover{background:var(--red);color:#fff}.btn-logout[data-v-98b366fc]:disabled{opacity:.5;cursor:not-allowed}.qr-container[data-v-98b366fc]{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:14px;margin-top:14px;padding:16px}.qr-label[data-v-98b366fc]{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.6}.qr-loading[data-v-98b366fc]{background:var(--surface-card);border:1px dashed var(--border);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:240px;height:240px;margin:0 auto;display:flex}.qr-loading p[data-v-98b366fc]{color:var(--muted);margin:0;font-size:12px}.qr-spinner[data-v-98b366fc]{border:3px solid var(--border);border-top-color:var(--violet);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-98b366fc}.qr-img-wrapper[data-v-98b366fc]{border:1px solid var(--border);border-radius:14px;width:240px;height:240px;margin:0 auto;overflow:hidden}.qr-img[data-v-98b366fc]{object-fit:contain;width:100%;height:100%;display:block}.qr-error[data-v-98b366fc]{background:var(--red-pale);color:#b91c1c;border-radius:10px;justify-content:center;align-items:center;width:240px;height:80px;margin:0 auto;font-size:13px;font-weight:500;display:flex}.qr-note[data-v-98b366fc]{color:var(--muted);margin:10px 0 8px;font-size:11px}.btn-refresh-qr[data-v-98b366fc]{background:var(--surface);color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:10px;padding:6px 14px;font-size:12px}.btn-refresh-qr[data-v-98b366fc]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-refresh-qr[data-v-98b366fc]:disabled{opacity:.5;cursor:not-allowed}.info-box[data-v-98b366fc]{background:var(--violet-pale);border:1px solid var(--violet-light);border-radius:20px;gap:14px;padding:1.25rem;display:flex}.info-icon[data-v-98b366fc]{color:var(--violet);flex-shrink:0;margin-top:2px}.info-icon svg[data-v-98b366fc]{width:20px;height:20px}.info-title[data-v-98b366fc]{color:var(--text);margin:0 0 8px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700}.info-steps[data-v-98b366fc]{color:var(--text);margin:0;padding-left:18px;font-size:13px;line-height:2}.modal-overlay[data-v-98b366fc]{z-index:1000;background:#0d0f1a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-98b366fc]{background:var(--surface-card);text-align:center;border:1px solid var(--border);border-radius:24px;width:380px;padding:2rem;box-shadow:0 20px 60px #7c6af726}.modal-icon[data-v-98b366fc]{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 1rem;display:flex}.modal-icon.danger[data-v-98b366fc]{background:var(--red-pale);color:var(--red)}.modal-icon.warning[data-v-98b366fc]{background:var(--fire-pale);color:var(--fire)}.modal-icon svg[data-v-98b366fc]{width:26px;height:26px}.modal h3[data-v-98b366fc]{color:var(--text);margin:0 0 8px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:700}.modal p[data-v-98b366fc]{color:var(--muted);margin:0 0 1.5rem;font-size:14px;line-height:1.6}.modal-actions[data-v-98b366fc]{gap:10px;display:flex}.btn-cancel[data-v-98b366fc]{background:var(--surface);color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:14px;flex:1;padding:10px;font-family:Inter,sans-serif;font-size:14px}.btn-cancel[data-v-98b366fc]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-danger[data-v-98b366fc]{background:var(--red);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;flex:1;padding:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:600}.btn-danger[data-v-98b366fc]:hover{transform:translateY(-1px)}.btn-danger[data-v-98b366fc]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-warning[data-v-98b366fc]{background:var(--fire);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;display:flex}.btn-warning[data-v-98b366fc]:hover{transform:translateY(-1px)}.btn-warning[data-v-98b366fc]:disabled{opacity:.5;cursor:not-allowed;transform:none}.settings-section[data-v-98b366fc]{margin-top:1.5rem}.section-title[data-v-98b366fc]{color:var(--text);margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:700}.setting-card[data-v-98b366fc]{background:var(--surface-card);border:1.5px solid var(--border);border-radius:18px;margin-bottom:1rem;padding:1.1rem 1.25rem}.setting-row[data-v-98b366fc]{justify-content:space-between;align-items:center;gap:1rem;padding:6px 0;display:flex}.setting-row+.setting-row[data-v-98b366fc]{border-top:1px solid var(--border);margin-top:6px;padding-top:14px}.setting-row.disabled[data-v-98b366fc]{opacity:.45}.setting-label[data-v-98b366fc]{color:var(--text);margin:0;font-size:14px;font-weight:600}.setting-hint[data-v-98b366fc]{color:var(--muted);margin:2px 0 0;font-size:12px}.switch[data-v-98b366fc]{flex-shrink:0;width:46px;height:26px;display:inline-block;position:relative}.switch input[data-v-98b366fc]{opacity:0;width:0;height:0}.slider[data-v-98b366fc]{background:var(--border);cursor:pointer;transition:background .2s var(--ease-spring);border-radius:999px;position:absolute;inset:0}.slider[data-v-98b366fc]:before{content:"";width:20px;height:20px;transition:transform .2s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch input:checked+.slider[data-v-98b366fc]{background:var(--teal)}.switch input:checked+.slider[data-v-98b366fc]:before{transform:translate(20px)}.time-input[data-v-98b366fc]{border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;outline:none;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:14px}.time-input[data-v-98b366fc]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.time-input[data-v-98b366fc]:disabled{cursor:not-allowed;opacity:.6}.tpl-section-label[data-v-98b366fc]{color:var(--text);margin:1.5rem 0 2px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:700}.tpl-section-hint[data-v-98b366fc]{color:var(--muted);margin:0 0 1rem;font-size:12px}.var-chips[data-v-98b366fc]{flex-wrap:wrap;gap:6px;margin:8px 0 10px;display:flex}.chip[data-v-98b366fc]{background:var(--violet-pale);color:var(--violet);border:1px solid var(--violet-light);cursor:pointer;transition:all .15s var(--ease-spring);border-radius:8px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px}.chip[data-v-98b366fc]:hover{background:var(--violet);color:#fff}.tpl-textarea[data-v-98b366fc]{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);resize:vertical;transition:border-color .2s var(--ease-spring);border-radius:12px;outline:none;padding:12px 14px;font-family:JetBrains Mono,Inter,monospace;font-size:13px;line-height:1.6}.tpl-textarea[data-v-98b366fc]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.settings-actions[data-v-98b366fc]{justify-content:flex-end;gap:10px;margin-top:1rem;display:flex}.btn-reset-settings[data-v-98b366fc]{background:var(--surface);color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease-spring);border-radius:14px;padding:10px 18px;font-family:Inter,sans-serif;font-size:14px}.btn-reset-settings[data-v-98b366fc]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-reset-settings[data-v-98b366fc]:disabled{opacity:.5;cursor:not-allowed}.btn-save-settings[data-v-98b366fc]{background:var(--teal);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;align-items:center;gap:8px;padding:10px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;display:flex}.btn-save-settings[data-v-98b366fc]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-save-settings[data-v-98b366fc]:disabled{opacity:.6;cursor:not-allowed;transform:none}.toast[data-v-98b366fc]{z-index:9999;border-radius:14px;max-width:320px;padding:12px 20px;font-size:14px;font-weight:500;position:fixed;bottom:2rem;right:2rem;box-shadow:0 8px 24px #0d0f1a4d}.toast.success[data-v-98b366fc]{background:var(--night);color:#fff}.toast.error[data-v-98b366fc]{background:var(--red);color:#fff}.toast-enter-active[data-v-98b366fc],.toast-leave-active[data-v-98b366fc]{transition:all .3s var(--ease-spring)}.toast-enter-from[data-v-98b366fc],.toast-leave-to[data-v-98b366fc]{opacity:0;transform:translateY(10px)}.spinner[data-v-98b366fc]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin-98b366fc;display:inline-block}.spinner.sm[data-v-98b366fc]{width:12px;height:12px}.spinner.dark[data-v-98b366fc]{border-color:#fff #00000026 #00000026}@keyframes spin-98b366fc{to{transform:rotate(360deg)}}@keyframes pulse-98b366fc{0%,to{opacity:1}50%{opacity:.4}}.track-page[data-v-4c5884e1]{max-width:900px}.track-header[data-v-4c5884e1]{margin-bottom:1.5rem}.track-header h2[data-v-4c5884e1]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:700}.track-sub[data-v-4c5884e1]{color:var(--muted);margin:4px 0 0;font-size:13px}.search-card[data-v-4c5884e1]{background:var(--surface-card);border:1px solid var(--border);border-radius:20px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #7c6af70f}.search-grid[data-v-4c5884e1]{grid-template-columns:1fr 1fr 1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.field[data-v-4c5884e1]{flex-direction:column;gap:4px;display:flex}label[data-v-4c5884e1]{color:var(--muted);font-size:12px;font-weight:500}.required[data-v-4c5884e1]{color:var(--red)}input[data-v-4c5884e1],select[data-v-4c5884e1]{border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s var(--ease-spring);border-radius:10px;outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px}input[data-v-4c5884e1]:focus,select[data-v-4c5884e1]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.btn-search[data-v-4c5884e1]{background:var(--violet);color:#fff;cursor:pointer;transition:all .2s var(--ease-spring);border:none;border-radius:14px;padding:10px 28px;font-family:Inter,sans-serif;font-size:14px;font-weight:600}.btn-search[data-v-4c5884e1]:hover{background:var(--violet-hover);transform:translateY(-1px)}.btn-search[data-v-4c5884e1]:disabled{opacity:.5;transform:none}.not-found[data-v-4c5884e1]{text-align:center;background:var(--surface-card);border:1px solid var(--border);border-radius:20px;padding:3rem}.not-found p[data-v-4c5884e1]{color:var(--text);margin:0 0 4px;font-size:1.1rem}.not-found span[data-v-4c5884e1]{color:var(--muted);font-size:13px}.result-card[data-v-4c5884e1]{background:var(--surface-card);border:1px solid var(--border);border-radius:20px;margin-bottom:1rem;padding:1.5rem;box-shadow:0 1px 3px #7c6af70f}.bt-identity[data-v-4c5884e1]{margin-bottom:1rem}.bt-identity h3[data-v-4c5884e1]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:700}.bt-identity p[data-v-4c5884e1]{color:var(--muted);margin:4px 0 0;font-size:13px}.status-banner[data-v-4c5884e1]{border-radius:14px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.status-banner .banner-icon[data-v-4c5884e1]{font-size:1.25rem;line-height:1}.status-banner div[data-v-4c5884e1]{flex-direction:column;gap:2px;display:flex}.status-banner strong[data-v-4c5884e1]{font-size:.95rem;font-weight:700}.status-banner span[data-v-4c5884e1]{font-size:13px}.status-banner.available[data-v-4c5884e1]{background:var(--teal-pale)}.status-banner.available strong[data-v-4c5884e1],.status-banner.available span[data-v-4c5884e1]{color:#0d6b4f}.status-banner.borrowed[data-v-4c5884e1]{background:var(--red-pale)}.status-banner.borrowed strong[data-v-4c5884e1]{color:#b91c1c}.status-banner.borrowed span[data-v-4c5884e1]{color:#d6d6d6}html.dark,html.dark{color:var(--red)}.overdue-tag[data-v-4c5884e1]{color:#fff;background:#b91c1c;border-radius:20px;margin-left:4px;padding:1px 8px;font-size:10px;font-weight:600}.active-list[data-v-4c5884e1]{grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0 0 1rem;display:grid}.active-list div[data-v-4c5884e1]{flex-direction:column;gap:2px;display:flex}.active-list dt[data-v-4c5884e1]{color:var(--muted);font-size:11px}.active-list dd[data-v-4c5884e1]{color:var(--text);margin:0;font-size:13px;font-weight:500}.active-list dd.kode[data-v-4c5884e1]{color:var(--violet);letter-spacing:1px;font-family:JetBrains Mono,monospace;font-weight:700}.history-toggle[data-v-4c5884e1]{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--text);border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;display:flex}.history-toggle[data-v-4c5884e1]:hover{border-color:var(--violet)}.history-toggle .chevron[data-v-4c5884e1]{color:var(--muted);font-size:10px}.history-table[data-v-4c5884e1]{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:12px}.history-table th[data-v-4c5884e1]{text-align:left;color:var(--violet);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px;font-weight:600}.history-table td[data-v-4c5884e1]{border-bottom:1px solid var(--border);color:var(--text);padding:8px 10px}.history-table tr:last-child td[data-v-4c5884e1]{border-bottom:none}.kode[data-v-4c5884e1]{color:var(--violet);font-family:JetBrains Mono,monospace;font-weight:600}.badge[data-v-4c5884e1]{border-radius:20px;padding:2px 8px;font-size:10px;font-weight:600}.badge.returned[data-v-4c5884e1]{background:var(--teal-pale);color:#0d6b4f}.badge.borrowed[data-v-4c5884e1]{background:var(--fire-pale);color:#92400e}.no-history[data-v-4c5884e1]{color:var(--muted);text-align:center;padding:1rem;font-size:12px}@media (width<=768px){.search-grid[data-v-4c5884e1],.active-list[data-v-4c5884e1]{grid-template-columns:1fr 1fr}}
