@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";@layer components;@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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--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;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--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 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}.hidden{display:none}.inline{display:inline}.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}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,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{--background:#f7f8fa;--foreground:#17212b;--card:#fff;--card-foreground:#17212b;--popover:#fff;--popover-foreground:#17212b;--primary:#176b87;--primary-foreground:#fff;--secondary:#eaf2f4;--secondary-foreground:#245466;--muted:#eef2f4;--muted-foreground:#687984;--accent:#dff1f3;--accent-foreground:#155568;--destructive:#c2414b;--destructive-foreground:#fff;--border:#dbe4e8;--input:#cdd9de;--ring:#43a7b5;--radius:.75rem;--shadow-sm:0 1px 2px #17212b0a, 0 4px 14px #17212b08;--shadow-md:0 14px 34px #17212b17;--violet:#176b87;--violet-hover:#12566d;--violet-light:#53b4bf;--violet-dim:#dff1f3;--violet-pale:#edf8f8;--fire:#b7791f;--fire-dim:#fff5df;--fire-light:#d99a36;--teal:#27856c;--teal-dim:#e4f5ef;--teal-light:#54b798;--red:var(--destructive);--red-dim:#fff0f1;--red-pale:#fff4f4;--fire-pale:#fff8e9;--teal-pale:#eefaf6;--white:#fff;--surface:var(--background);--surface-card:var(--card);--text:var(--foreground);--muted-text:var(--muted-foreground);--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1)}html.dark{--background:#10181d;--foreground:#edf4f5;--card:#172228;--card-foreground:#edf4f5;--popover:#1b2930;--popover-foreground:#edf4f5;--primary:#66c2c7;--primary-foreground:#0c3038;--secondary:#24363e;--secondary-foreground:#d9eff0;--muted:#223239;--muted-foreground:#9cafb5;--accent:#21434b;--accent-foreground:#dff8f8;--border:#2c4149;--input:#3c555f;--ring:#66c2c7;--surface:var(--background);--surface-card:var(--card);--text:var(--foreground);--violet-pale:#193b42;--red-pale:#412126;--fire-pale:#41351f;--teal-pale:#1c3d35}*,:before,:after{box-sizing:border-box;margin:0}html,body,#app{width:100%;min-height:100vh}body{color:var(--foreground);background:var(--background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;font-family:Plus Jakarta Sans,Inter,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}::selection{color:#114856;background:#bce4e5}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--ring);outline-offset:2px}body{color:var(--foreground);background:var(--background)}label,.subtitle,.header-subtitle,.nav-subtitle,.page-sub,.track-sub{color:var(--muted-foreground)}input,select,textarea{color:var(--foreground);background:var(--card);border:1px solid var(--input);border-radius:var(--radius)}input::placeholder,textarea::placeholder{color:#91a0a8;opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--ring);outline:none;box-shadow:0 0 0 3px #43a7b529}.sidebar,.topbar,.card,.table-wrapper,.table-container,.table-card,.search-card,.result-card,.session-card,.modal,.modal-content,.modal-box,.scan-card,.manual-card,.feature-card,.an-chart-card,.an-metric-card{background:var(--card);border-color:var(--border);box-shadow:var(--shadow-sm)}.card,.table-wrapper,.table-container,.table-card,.search-card,.result-card,.session-card,.scan-card,.manual-card,.feature-card,.an-chart-card,.an-metric-card{border:1px solid var(--border);border-radius:var(--radius)}.btn-primary,.submit-btn,.btn-confirm,.btn-login{background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius);box-shadow:none}.btn-primary:hover,.submit-btn:hover:not(:disabled),.btn-confirm:hover,.btn-login:hover{background:var(--violet-hover);transform:translateY(-1px)}.btn-ghost,.btn-secondary,.btn-cancel,.btn-change,.btn-manual,.btn-refresh-qr{background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius)}.btn-ghost:hover,.btn-secondary:hover,.btn-cancel:hover{background:var(--accent)}.app-layout{background:var(--background)}.sidebar{border-right:1px solid var(--border)}.sidebar-brand,.sidebar-user,.sidebar-footer{border-color:var(--border)}.brand-name,.user-name,.page-title,.dd-name{color:var(--foreground)}.brand-sub,.user-role,.topbar-date,.nav-group-label,.nav-item{color:var(--muted-foreground)}.nav-item{border-radius:var(--radius);margin:2px 8px;padding:.6rem .75rem}.nav-item:hover,.nav-item.router-link-active{background:var(--accent);color:var(--accent-foreground);border-right:0}.nav-item.router-link-active{box-shadow:inset 3px 0 var(--primary);font-weight:600}.nav-group-label{letter-spacing:.12em;font-size:10px;font-weight:700}.topbar{background:var(--card);height:64px}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--card) 88%, transparent)}}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.content{width:100%;max-width:1600px;margin:0 auto;padding:1.75rem}.notif-btn:hover,.hamburger:hover,.btn-collapse:hover{background:var(--accent);color:var(--accent-foreground)}.notif-dropdown,.dropdown-menu{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.table-wrapper,.table-container,.table-card{overflow-x:auto}.loan-table,.data-table,.premium-table{border-collapse:collapse;width:100%}.loan-table th,.data-table th,.premium-table th{background:var(--muted);color:var(--muted-foreground);letter-spacing:.04em;font-size:11px;font-weight:700}.loan-table td,.loan-table th,.data-table td,.data-table th,.premium-table td,.premium-table th{border-color:var(--border);padding:.8rem 1rem}.loan-table tbody tr:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.loan-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 55%, transparent)}}.stat-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.tabs{border-bottom:1px solid var(--border)}.tab{color:var(--muted-foreground)}.tab.active{color:var(--foreground);border-bottom-color:var(--primary)}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#09161b9e}.modal-header,.modal-footer{border-color:var(--border)}html.dark .btn-ghost,html.dark .btn-secondary,html.dark .btn-cancel{background:var(--card);color:var(--foreground);border-color:var(--border)}html.dark .loan-table th,html.dark .data-table th,html.dark .premium-table th{background:var(--muted)}html.dark .loan-table tbody tr:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){html.dark .loan-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 55%, transparent)}}@media (width<=768px){.content{padding:1rem}.topbar{padding:0 1rem}}@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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@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-98216f90]{background:radial-gradient(circle at 70% -10%, #43a7b529, transparent 36%), var(--background);flex-direction:column;min-height:100vh;font-family:Inter,sans-serif;display:flex}.navbar[data-v-98216f90]{z-index:20;background:color-mix(in srgb, var(--card) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 3rem;display:flex;position:sticky;top:0}.brand-lockup[data-v-98216f90]{align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand-logo-box[data-v-98216f90]{background:var(--violet-pale);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.brand-logo-img[data-v-98216f90]{width:26px;height:26px;display:block}.brand-name[data-v-98216f90]{letter-spacing:-.02em;color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:1.2rem;font-weight:800}.brand-badge[data-v-98216f90]{letter-spacing:.08em;color:#0b0f1e;background:#d6a83a;border-radius:999px;padding:.18rem .5rem;font-size:.66rem;font-weight:700}.btn-login[data-v-98216f90]{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;transition:all .2s var(--ease-spring);border:none;justify-content:center;align-items:center;padding:9px 22px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 6px 16px #7c6af74d}.btn-login[data-v-98216f90]:hover{background:linear-gradient(135deg,#12566d 0%,#176b87 100%);transform:translateY(-1px);box-shadow:0 10px 22px #7c6af761}.hero[data-v-98216f90]{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:2rem;width:100%;max-width:1180px;margin:0 auto;padding:7rem 3rem 5.5rem;display:grid}.hero-inner[data-v-98216f90]{max-width:560px}.hero-badge[data-v-98216f90]{color:var(--primary);background:var(--violet-pale);border:1px solid color-mix(in srgb, var(--violet) 22%, transparent);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .8rem;font-size:.78rem;font-weight:600;display:inline-flex}.hero h1[data-v-98216f90]{letter-spacing:-.035em;color:var(--text);margin-top:1.25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(2.2rem,4.2vw,3.1rem);font-weight:800;line-height:1.12}.hero p[data-v-98216f90]{color:var(--muted);max-width:46ch;margin-top:1.1rem;font-size:1.08rem;line-height:1.7}.hero-actions[data-v-98216f90]{flex-wrap:wrap;gap:.9rem;margin-top:2rem;display:flex}.btn-primary[data-v-98216f90],.btn-ghost[data-v-98216f90]{cursor:pointer;transition:all .2s var(--ease-spring);border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:12px 26px;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary[data-v-98216f90]{color:#fff;background:linear-gradient(135deg,#176b87 0%,#258c99 100%);border:none;box-shadow:0 8px 20px #7c6af759}.btn-primary[data-v-98216f90]:hover{background:linear-gradient(135deg,#12566d 0%,#176b87 100%);transform:translateY(-2px);box-shadow:0 14px 28px #7c6af76b}.btn-ghost[data-v-98216f90]{background:var(--surface-card);color:var(--text);border:1px solid var(--border)}.btn-ghost[data-v-98216f90]:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.hero-art[data-v-98216f90]{aspect-ratio:1/.95;background:radial-gradient(600px 400px at 20% 10%,#7c6af780,#0000 60%),radial-gradient(500px 380px at 90% 90%,#fcc1342e,#0000 55%),linear-gradient(160deg,#0b0f1e 0%,#171240 55%,#2f1f7a 100%);border-radius:28px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 60px #17124059}.hero-art-grid[data-v-98216f90]{background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 25%,#0000 75%);mask-image:radial-gradient(80% 80%,#000 25%,#0000 75%)}.hero-art-orb[data-v-98216f90]{border-radius:50%;position:absolute}.hero-art-orb-1[data-v-98216f90]{background:radial-gradient(circle,#7c6af78c,#0000 70%);width:300px;height:300px;top:-90px;right:-70px}.hero-art-orb-2[data-v-98216f90]{background:radial-gradient(circle,#1cd4a733,#0000 70%);width:260px;height:260px;bottom:-90px;left:-60px}.hero-art-logo[data-v-98216f90]{z-index:1;filter:drop-shadow(0 24px 48px #00000073);width:min(46%,260px);height:auto;position:relative}.features[data-v-98216f90]{width:100%;max-width:1180px;margin:0 auto;padding:2rem 3rem 5rem}.section-head[data-v-98216f90]{text-align:center;margin-bottom:2.75rem}.section-head h2[data-v-98216f90]{letter-spacing:-.03em;color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:1.9rem;font-weight:800}.section-head p[data-v-98216f90]{color:var(--muted);margin-top:.5rem;font-size:.98rem}.feature-grid[data-v-98216f90]{grid-template-columns:repeat(3,1fr);gap:1.4rem;display:grid}.feature-card[data-v-98216f90]{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);transition:all .22s var(--ease-spring);padding:1.75rem 1.6rem;box-shadow:0 1px 2px #0f172a0a}.feature-card[data-v-98216f90]:hover{border-color:color-mix(in srgb, var(--violet) 30%, var(--border));transform:translateY(-4px);box-shadow:0 14px 32px #7c6af71f}.feature-icon[data-v-98216f90]{width:46px;height:46px;color:var(--primary);background:var(--violet-pale);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.feature-card h3[data-v-98216f90]{color:var(--text);letter-spacing:-.01em;margin-top:1.1rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.02rem;font-weight:700}.feature-card p[data-v-98216f90]{color:var(--muted);margin-top:.4rem;font-size:.88rem;line-height:1.65}footer[data-v-98216f90]{text-align:center;background:var(--surface-card);color:var(--muted);border-top:1px solid var(--border);margin-top:auto;padding:1.5rem;font-size:.85rem}@media (width<=900px){.navbar[data-v-98216f90]{padding:.75rem 1.25rem}.hero[data-v-98216f90]{grid-template-columns:1fr;padding:3.5rem 1.25rem 3rem}.hero-art[data-v-98216f90]{aspect-ratio:16/10;width:100%;max-width:520px;margin:0 auto}.feature-grid[data-v-98216f90]{grid-template-columns:1fr;max-width:420px;margin:0 auto}.features[data-v-98216f90]{padding:2rem 1.25rem 4rem}}@media (width<=480px){.navbar[data-v-98216f90]{padding:.7rem 1rem}.brand-badge[data-v-98216f90]{display:none}.hero[data-v-98216f90]{padding:3.25rem 1rem 2.5rem}.hero h1[data-v-98216f90]{font-size:2rem}.hero p[data-v-98216f90]{font-size:.95rem}.hero-actions[data-v-98216f90]{flex-direction:column}.btn-primary[data-v-98216f90],.btn-ghost[data-v-98216f90]{width:100%}.hero-art[data-v-98216f90]{border-radius:18px}.feature-card[data-v-98216f90]{padding:1.25rem}}.login-page[data-v-92ca3026]{background:var(--background);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.brand-panel[data-v-92ca3026]{background:radial-gradient(1200px 600px at -10% -10%,#3097a76b,#0000 60%),radial-gradient(900px 500px at 110% 110%,#d6a83a29,#0000 55%),linear-gradient(160deg,#0b2028 0%,#123945 55%,#176b87 100%);align-items:center;display:flex;position:relative;overflow:hidden}.brand-grid[data-v-92ca3026]{pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 80% at 50% 40%,#000 30%,#0000 75%);mask-image:radial-gradient(90% 80% at 50% 40%,#000 30%,#0000 75%)}.brand-orb[data-v-92ca3026]{filter:blur(2px);pointer-events:none;border-radius:50%;position:absolute}.brand-orb-1[data-v-92ca3026]{background:radial-gradient(circle,#7c6af780,#0000 70%);width:420px;height:420px;top:-140px;right:-120px}.brand-orb-2[data-v-92ca3026]{background:radial-gradient(circle,#1cd4a738,#0000 70%);width:340px;height:340px;bottom:-120px;left:-100px}.brand-panel-inner[data-v-92ca3026]{z-index:1;flex-direction:column;width:100%;max-width:560px;min-height:100vh;margin:0 auto;padding:3rem 3.5rem;display:flex;position:relative}.brand-lockup[data-v-92ca3026]{cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;padding:0;font-family:inherit;display:inline-flex}.brand-logo-box[data-v-92ca3026]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff24;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex;box-shadow:0 8px 24px #00000040}.brand-logo-img[data-v-92ca3026]{width:30px;height:30px;display:block}.brand-name[data-v-92ca3026]{letter-spacing:-.02em;color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:1.35rem;font-weight:800}.brand-badge[data-v-92ca3026]{letter-spacing:.08em;color:#0b0f1e;background:#f8c134;border-radius:999px;padding:.2rem .55rem;font-size:.68rem;font-weight:700}.brand-copy[data-v-92ca3026]{margin-top:4.5rem}.brand-copy h1[data-v-92ca3026]{letter-spacing:-.03em;color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.9rem,3vw,2.6rem);font-weight:800;line-height:1.18}.brand-copy p[data-v-92ca3026]{color:#ffffffad;max-width:42ch;margin-top:1rem;font-size:1.02rem;line-height:1.7}.feature-list[data-v-92ca3026]{flex-direction:column;gap:1.15rem;margin-top:3rem;list-style:none;display:flex}.feature-item[data-v-92ca3026]{align-items:flex-start;gap:.9rem;display:flex}.feature-icon[data-v-92ca3026]{color:#cfc7ff;background:#ffffff14;border:1px solid #ffffff24;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.feature-item h3[data-v-92ca3026]{color:#fff;letter-spacing:-.01em;font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:700}.feature-item p[data-v-92ca3026]{color:#ffffff94;margin-top:.15rem;font-size:.85rem;line-height:1.55}.brand-footer[data-v-92ca3026]{color:#ffffff6b;margin-top:auto;padding-top:3rem;font-size:.82rem}.form-panel[data-v-92ca3026]{background:var(--background);justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.form-card[data-v-92ca3026]{width:100%;max-width:400px}.mobile-brand[data-v-92ca3026]{margin-bottom:2rem;display:none}.mobile-brand .brand-logo-box[data-v-92ca3026]{background:var(--violet-pale);border:1px solid var(--border);width:42px;height:42px;box-shadow:none;border-radius:12px}.mobile-brand .brand-logo-img[data-v-92ca3026]{width:26px;height:26px}.mobile-brand .brand-name[data-v-92ca3026]{color:var(--text);font-size:1.2rem}.form-card h2[data-v-92ca3026]{letter-spacing:-.02em;color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:1.6rem;font-weight:800}.form-subtitle[data-v-92ca3026]{color:var(--muted);margin-top:.4rem;font-size:.92rem}form[data-v-92ca3026]{flex-direction:column;gap:1.1rem;margin-top:1.75rem;display:flex}.field[data-v-92ca3026]{flex-direction:column;gap:.4rem;display:flex}.field label[data-v-92ca3026]{color:var(--text);font-size:.82rem;font-weight:600}.input-wrap[data-v-92ca3026]{align-items:center;display:flex;position:relative}.input-icon[data-v-92ca3026]{color:var(--muted);pointer-events:none;position:absolute;left:13px}.input-wrap input[data-v-92ca3026]{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-card);width:100%;color:var(--text);transition:border-color .18s var(--ease-spring), box-shadow .18s var(--ease-spring);border-radius:12px;padding:11px 14px 11px 40px;font-family:Inter,sans-serif;font-size:.92rem}.input-wrap input[data-v-92ca3026]::placeholder{color:var(--muted)}.input-wrap input[data-v-92ca3026]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--violet-pale);outline:none}.input-wrap.has-toggle input[data-v-92ca3026]{padding-right:2.6rem}.toggle-password[data-v-92ca3026]{cursor:pointer;color:var(--muted);transition:color .18s var(--ease-spring);background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute;right:12px}.toggle-password[data-v-92ca3026]:hover{color:var(--primary)}.error-box[data-v-92ca3026]{color:var(--red);background:var(--red-pale);border:1px solid #ff4d6d40;border-radius:12px;align-items:center;gap:.55rem;padding:.7rem .85rem;font-size:.83rem;font-weight:500;display:flex}.error-box svg[data-v-92ca3026]{flex-shrink:0}.submit-btn[data-v-92ca3026]{border-radius:var(--radius);cursor:pointer;color:#fff;width:100%;transition:all .2s var(--ease-spring);background:linear-gradient(135deg,#176b87 0%,#258c99 100%);border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.35rem;padding:12px 16px;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;display:inline-flex;box-shadow:0 8px 20px #7c6af759}.submit-btn[data-v-92ca3026]:hover:not(:disabled){background:linear-gradient(135deg,#12566d 0%,#176b87 100%);transform:translateY(-1px);box-shadow:0 12px 26px #7c6af766}.submit-btn[data-v-92ca3026]:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-btn .spinner[data-v-92ca3026]{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin-92ca3026}@keyframes spin-92ca3026{to{transform:rotate(360deg)}}.form-footer[data-v-92ca3026]{justify-content:center;margin-top:1.4rem;display:flex}.back-link[data-v-92ca3026]{color:var(--muted);transition:color .18s var(--ease-spring);align-items:center;gap:.35rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.back-link[data-v-92ca3026]:hover{color:var(--primary)}@media (width<=1023px){.login-page[data-v-92ca3026]{grid-template-columns:1fr}.brand-panel[data-v-92ca3026]{display:none}.form-panel[data-v-92ca3026]{align-items:flex-start;min-height:100vh;padding:2.5rem 1.25rem}.form-card[data-v-92ca3026]{max-width:420px;margin:0 auto}.mobile-brand[data-v-92ca3026]{display:block}}@media (width<=480px){.form-panel[data-v-92ca3026]{padding:1.25rem .9rem}.form-card h2[data-v-92ca3026]{font-size:1.35rem}.form-subtitle[data-v-92ca3026]{font-size:.85rem}.form-card[data-v-92ca3026]{max-width:none}}.app-layout[data-v-7eae4f6b]{letter-spacing:-.005em}.sidebar[data-v-7eae4f6b]{background:var(--card);border-right:1px solid var(--border)}.sidebar-brand[data-v-7eae4f6b]{border-bottom:1px solid var(--border);padding:1.15rem 1rem}.brand-logo[data-v-7eae4f6b]{border-radius:10px}.brand-name[data-v-7eae4f6b]{letter-spacing:-.04em}.sidebar-user[data-v-7eae4f6b]{border-bottom:1px solid var(--border);padding:.9rem 1rem}.nav-group-label[data-v-7eae4f6b]{color:#374151;letter-spacing:.12em;font-size:10px;font-weight:700}.nav-item[data-v-7eae4f6b]{color:#374151;border-radius:8px;margin:2px 8px;padding:.62rem .75rem}.nav-item.router-link-active[data-v-7eae4f6b]{background:var(--accent);color:var(--accent-foreground);border-right:0}.sidebar-footer[data-v-7eae4f6b]{padding:.75rem}.btn-collapse[data-v-7eae4f6b],.btn-logout[data-v-7eae4f6b]{border-radius:8px}.main[data-v-7eae4f6b]{background:var(--background)}.topbar[data-v-7eae4f6b]{background:color-mix(in srgb, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:64px;padding:0 1.75rem}.page-title[data-v-7eae4f6b]{font-size:14px}.content[data-v-7eae4f6b]{width:100%;max-width:1600px;margin:0 auto;padding:1.75rem}.notif-btn[data-v-7eae4f6b]:hover,.hamburger[data-v-7eae4f6b]:hover{background:var(--accent);color:var(--accent-foreground)}.notif-dropdown[data-v-7eae4f6b],.dropdown-menu[data-v-7eae4f6b]{border-radius:var(--radius);box-shadow:0 16px 40px #0f172a1f}@media (width<=768px){.content[data-v-7eae4f6b]{padding:1rem}.topbar[data-v-7eae4f6b]{padding:0 1rem}}.app-layout[data-v-7eae4f6b]{background:var(--surface);min-height:100vh;display:flex}.sidebar[data-v-7eae4f6b]{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-7eae4f6b]{width:64px;min-width:64px}.sidebar-brand[data-v-7eae4f6b]{border-bottom:1px solid var(--border);white-space:nowrap;padding:1.25rem .875rem;overflow:hidden}.brand-link[data-v-7eae4f6b]{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-logo[data-v-7eae4f6b]{object-fit:contain;border-radius:10px;flex-shrink:0;width:34px;height:34px}.brand-name[data-v-7eae4f6b]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:700}.brand-sub[data-v-7eae4f6b]{color:var(--muted);margin:0;font-size:10px}.sidebar-user[data-v-7eae4f6b]{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-7eae4f6b]{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-7eae4f6b]{overflow:hidden}.user-name[data-v-7eae4f6b]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:600;overflow:hidden}.user-role[data-v-7eae4f6b]{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;overflow:hidden}.sidebar-nav[data-v-7eae4f6b]{flex:1;padding:.5rem 0;overflow:hidden}.nav-group[data-v-7eae4f6b]{padding:0}.nav-group-label[data-v-7eae4f6b]{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-7eae4f6b]{background:var(--border);height:1px;margin:.5rem .75rem}.nav-item[data-v-7eae4f6b]{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-7eae4f6b]:hover{background:var(--violet-pale);color:var(--violet)}.nav-item.router-link-active[data-v-7eae4f6b]{background:var(--violet-pale);color:var(--violet);border-right:3px solid var(--violet);font-weight:600}.nav-icon[data-v-7eae4f6b]{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-7eae4f6b]{font-size:18px;line-height:1}.nav-label[data-v-7eae4f6b]{transition:opacity .2s;overflow:hidden}.sidebar.collapsed .nav-label[data-v-7eae4f6b]{opacity:0;pointer-events:none;width:0}.nav-badge[data-v-7eae4f6b]{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-7eae4f6b]{background:var(--red);border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:8px}.sidebar-footer[data-v-7eae4f6b]{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:.75rem;display:flex}.btn-collapse[data-v-7eae4f6b]{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-7eae4f6b]:hover{background:var(--violet-pale);color:var(--violet)}.collapse-icon[data-v-7eae4f6b]{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-7eae4f6b]{transform:rotate(180deg)}.btn-logout[data-v-7eae4f6b]{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-7eae4f6b]:hover{background:var(--red-pale)}.btn-logout i[data-v-7eae4f6b]{text-align:center;flex-shrink:0;width:24px;min-width:24px;font-size:18px}.main[data-v-7eae4f6b]{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-7eae4f6b]{margin-left:64px}.topbar[data-v-7eae4f6b]{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-7eae4f6b]{align-items:center;gap:10px;min-width:0;display:flex}.page-title[data-v-7eae4f6b]{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-7eae4f6b]{align-items:center;gap:1rem;display:flex}.topbar-date[data-v-7eae4f6b]{color:var(--muted);font-size:12px}.hamburger[data-v-7eae4f6b]{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-7eae4f6b]:hover{background:var(--violet-pale);color:var(--violet)}.sidebar-backdrop[data-v-7eae4f6b],.dark-toggle[data-v-7eae4f6b]{display:none}.toggle-track[data-v-7eae4f6b]{background:var(--border);width:44px;height:24px;transition:background .3s var(--ease-spring);border-radius:999px;position:relative}.toggle-track.active[data-v-7eae4f6b]{background:var(--violet)}.toggle-thumb[data-v-7eae4f6b]{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-7eae4f6b]{transform:translate(20px)}.notif-wrapper[data-v-7eae4f6b]{position:relative}.notif-btn[data-v-7eae4f6b]{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-7eae4f6b]:hover{background:var(--violet-pale)}.notif-icon[data-v-7eae4f6b]{font-size:18px;display:inline-block}.notif-icon.notif-shake[data-v-7eae4f6b]{animation:.5s ease-in-out shake-7eae4f6b}@keyframes shake-7eae4f6b{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-7eae4f6b]{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-7eae4f6b]{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-7eae4f6b]{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-7eae4f6b]{font-size:10px;font-weight:600}.socket-status.connected[data-v-7eae4f6b]{color:var(--teal)}.socket-status.disconnected[data-v-7eae4f6b]{color:var(--red)}.notif-clear[data-v-7eae4f6b]{color:var(--red);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:11px;font-weight:500}.notif-clear[data-v-7eae4f6b]:hover{text-decoration:underline}.notif-empty[data-v-7eae4f6b]{text-align:center;color:var(--muted);padding:1.5rem;font-size:13px}.notif-list[data-v-7eae4f6b]{max-height:360px;overflow-y:auto}.notif-item[data-v-7eae4f6b]{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-7eae4f6b]:last-child{border-bottom:none}.notif-item[data-v-7eae4f6b]:hover{background:var(--violet-pale)}.notif-item-icon[data-v-7eae4f6b]{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-7eae4f6b]{flex:1;min-width:0}.notif-item-title[data-v-7eae4f6b]{color:var(--text);margin:0;font-size:12px;font-weight:600}.notif-item-sub[data-v-7eae4f6b]{color:var(--muted);margin:2px 0 0;font-size:11px}.notif-item-time[data-v-7eae4f6b]{color:var(--muted);margin:3px 0 0;font-family:JetBrains Mono,monospace;font-size:10px}.notif-item-close[data-v-7eae4f6b]{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-7eae4f6b]:hover{background:var(--red-pale);color:var(--red)}.badge-mini[data-v-7eae4f6b]{border-radius:20px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.badge-mini.prioritas[data-v-7eae4f6b]{background:var(--violet-pale);color:var(--violet)}.badge-mini.rutin[data-v-7eae4f6b]{background:var(--teal-pale);color:#0d6b4f}.dropdown[data-v-7eae4f6b]{cursor:pointer;position:relative}.dropdown-trigger[data-v-7eae4f6b]{align-items:center;gap:6px;display:flex}.avatar[data-v-7eae4f6b]{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-7eae4f6b]{color:var(--muted);transition:transform .2s var(--ease-spring);font-size:11px}.chevron.open[data-v-7eae4f6b]{transform:rotate(180deg)}.dropdown-menu[data-v-7eae4f6b]{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-7eae4f6b]{background:var(--surface);padding:12px 16px}.dd-name[data-v-7eae4f6b]{color:var(--text);font-size:13px;font-weight:600}.dd-role[data-v-7eae4f6b]{color:var(--muted);margin-top:1px;font-size:11px}hr[data-v-7eae4f6b]{border:none;border-top:1px solid var(--border)}.dropdown-item[data-v-7eae4f6b]{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-7eae4f6b]:hover{background:var(--violet-pale);color:var(--violet)}.dropdown-item.logout[data-v-7eae4f6b]{color:var(--red)}.dropdown-item.logout[data-v-7eae4f6b]:hover{background:var(--red-pale)}.content[data-v-7eae4f6b]{flex:1;padding:1.5rem}.fade-enter-active[data-v-7eae4f6b],.fade-leave-active[data-v-7eae4f6b]{transition:opacity .15s}.fade-enter-from[data-v-7eae4f6b],.fade-leave-to[data-v-7eae4f6b]{opacity:0}@media (width<=768px){.hamburger[data-v-7eae4f6b]{display:inline-flex}.sidebar[data-v-7eae4f6b],.sidebar.collapsed[data-v-7eae4f6b]{transform:translate(-100%);box-shadow:4px 0 24px #7c6af726;width:260px!important;min-width:260px!important}.sidebar.mobile-open[data-v-7eae4f6b]{transform:translate(0)}.sidebar.collapsed .nav-label[data-v-7eae4f6b]{opacity:1;pointer-events:auto;width:auto}.main[data-v-7eae4f6b],.app-layout.sidebar-collapsed .main[data-v-7eae4f6b]{margin-left:0}.sidebar-backdrop[data-v-7eae4f6b]{z-index:99;background:#0d0f1a80;display:block;position:fixed;inset:0}.btn-collapse[data-v-7eae4f6b]{display:none}.topbar[data-v-7eae4f6b]{padding:0 .875rem}.topbar-date[data-v-7eae4f6b]{display:none}.topbar-right[data-v-7eae4f6b]{gap:.6rem}.content[data-v-7eae4f6b]{padding:1rem}.notif-dropdown[data-v-7eae4f6b]{width:calc(100vw - 24px);right:-8px}}@media (width<=400px){.page-title[data-v-7eae4f6b]{font-size:12px}.avatar[data-v-7eae4f6b],.user-avatar[data-v-7eae4f6b]{width:28px;height:28px}}@media (width<=640px){.topbar[data-v-7eae4f6b]{height:58px}.topbar-right[data-v-7eae4f6b]{gap:.25rem}.notif-btn[data-v-7eae4f6b]{padding:5px}.content[data-v-7eae4f6b]{padding:.75rem;overflow-x:hidden}.page-title[data-v-7eae4f6b]{max-width:210px}}html.dark .sidebar[data-v-7eae4f6b]{background:var(--night-card);border-right-color:var(--night-border)}html.dark .sidebar-brand[data-v-7eae4f6b]{border-bottom-color:var(--night-border)}html.dark .brand-name[data-v-7eae4f6b]{color:#e2e8f0}html.dark .sidebar-user[data-v-7eae4f6b]{border-bottom-color:var(--night-border)}html.dark .user-name[data-v-7eae4f6b]{color:#e2e8f0}html.dark .nav-group-label[data-v-7eae4f6b]{color:var(--violet-light)}html.dark .nav-group-divider[data-v-7eae4f6b]{background:var(--night-border)}html.dark .nav-item[data-v-7eae4f6b]{color:var(--night-sub)}html.dark .nav-item[data-v-7eae4f6b]:hover{color:var(--violet-light);background:#7c6af71a}html.dark .nav-item.router-link-active[data-v-7eae4f6b]{color:var(--violet-light);border-right-color:var(--violet);background:#7c6af726}html.dark .sidebar-footer[data-v-7eae4f6b]{border-top-color:var(--night-border)}html.dark .btn-collapse[data-v-7eae4f6b]{color:var(--night-muted)}html.dark .btn-collapse[data-v-7eae4f6b]:hover{color:var(--violet-light);background:#7c6af71a}html.dark .btn-logout[data-v-7eae4f6b]:hover{background:#ff4d6d1a}html.dark .nav-badge[data-v-7eae4f6b]{background:var(--violet)}html.dark .nav-badge-mini[data-v-7eae4f6b]{border-color:var(--night-card)}html.dark .main[data-v-7eae4f6b]{background:var(--night)}html.dark .topbar[data-v-7eae4f6b]{background:var(--night-card);border-bottom-color:var(--night-border);box-shadow:none}html.dark .page-title[data-v-7eae4f6b]{color:#e2e8f0}html.dark .notif-dropdown[data-v-7eae4f6b]{background:var(--night-card);border-color:var(--night-border)}html.dark .notif-header[data-v-7eae4f6b]{background:var(--night);color:#e2e8f0;border-color:var(--night-border)}html.dark .notif-item[data-v-7eae4f6b]{border-color:var(--night-border)}html.dark .notif-item[data-v-7eae4f6b]:hover{background:#7c6af714}html.dark .notif-item-title[data-v-7eae4f6b]{color:#e2e8f0}html.dark .notif-btn[data-v-7eae4f6b]:hover{background:#7c6af71a}html.dark .dropdown-menu[data-v-7eae4f6b]{background:var(--night-card);border-color:var(--night-border)}html.dark .dropdown-header[data-v-7eae4f6b]{background:var(--night)}html.dark .dd-name[data-v-7eae4f6b]{color:#e2e8f0}html.dark .dropdown-item[data-v-7eae4f6b]{color:var(--night-sub)}html.dark .dropdown-item[data-v-7eae4f6b]:hover{color:var(--violet-light);background:#7c6af71a}html.dark hr[data-v-7eae4f6b]{border-color:var(--night-border)}.btn-surat[data-v-a8c4d9af]{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-a8c4d9af]:hover{background:var(--violet-hover);transform:translateY(-1px)}.modal-overlay[data-v-a8c4d9af]{z-index:1000;background:#0d0f1a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal[data-v-a8c4d9af]{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-a8c4d9af]{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-a8c4d9af]{color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.btn-close[data-v-a8c4d9af]{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:18px;transition:color .2s}.btn-close[data-v-a8c4d9af]:hover{color:var(--red)}.modal-inputs[data-v-a8c4d9af]{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-a8c4d9af]{flex-direction:column;gap:.5rem;display:flex}.field[data-v-a8c4d9af]{flex-direction:column;gap:3px;display:flex}.field label[data-v-a8c4d9af]{color:var(--muted);font-size:11px}.field input[data-v-a8c4d9af]{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-a8c4d9af]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.field-static[data-v-a8c4d9af]{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;margin:0;padding:6px 10px;font-size:13px}.sort-bar[data-v-a8c4d9af]{background:var(--surface-card);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex}.sort-label[data-v-a8c4d9af]{color:var(--muted);font-size:12px;font-weight:600}.sort-select[data-v-a8c4d9af]{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .2s var(--ease-spring);border-radius:10px;outline:none;padding:6px 10px;font-family:Inter,sans-serif;font-size:13px}.sort-select[data-v-a8c4d9af]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.sort-select[data-v-a8c4d9af]:disabled{opacity:.5;cursor:not-allowed}.preview-wrapper[data-v-a8c4d9af]{background:var(--border);flex:1;padding:1rem;overflow-y:auto}.preview-iframe[data-v-a8c4d9af]{background:#fff;border:none;width:794px;min-height:1123px;margin:0 auto;display:block;box-shadow:0 2px 8px #00000026}.modal-footer[data-v-a8c4d9af]{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-a8c4d9af]{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-a8c4d9af]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-print[data-v-a8c4d9af]{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-a8c4d9af]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-download[data-v-a8c4d9af]{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-a8c4d9af]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c6af740}.btn-download[data-v-a8c4d9af]:disabled{opacity:.6;cursor:not-allowed;transform:none}.export-wrap[data-v-68c6748c]{display:inline-block;position:relative}.btn-export[data-v-68c6748c]{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-68c6748c]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-export[data-v-68c6748c]:disabled{opacity:.6;transform:none}.export-overlay[data-v-68c6748c]{z-index:29;position:fixed;inset:0}.export-panel[data-v-68c6748c]{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-68c6748c]{color:var(--text);margin:0;font-size:13px;font-weight:600}.panel-sub[data-v-68c6748c]{color:var(--muted);margin:2px 0 10px;font-size:11px}.date-row[data-v-68c6748c]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.date-row label[data-v-68c6748c]{width:48px;color:var(--muted);font-size:12px}.date-row input[data-v-68c6748c]{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-68c6748c]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.preset-row[data-v-68c6748c]{gap:6px;margin:4px 0 8px;display:flex}.preset[data-v-68c6748c]{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-68c6748c]:hover{background:var(--violet-pale);color:var(--violet);border-color:var(--violet-light)}.range-hint[data-v-68c6748c]{color:var(--violet);margin:0 0 10px;font-size:11px}.btn-download[data-v-68c6748c]{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-68c6748c]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-download[data-v-68c6748c]:disabled{opacity:.6;transform:none}.dashboard[data-v-73dff9e8]{flex-direction:column;gap:1.25rem;display:flex}.alert-overdue[data-v-73dff9e8]{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}.notif-bar[data-v-73dff9e8]{align-self:flex-end;position:relative}.notif-toggle-btn[data-v-73dff9e8]{background:var(--surface-card);border:1px solid var(--border);color:var(--text-secondary,#555);cursor:pointer;transition:all .16s var(--ease-spring);border-radius:12px;align-items:center;gap:6px;padding:.5rem .85rem;font-size:13px;font-weight:600;display:inline-flex}.notif-toggle-btn[data-v-73dff9e8]:hover{border-color:var(--violet)}.notif-toggle-btn.on[data-v-73dff9e8]{color:var(--violet);border-color:var(--violet-pale)}.notif-panel[data-v-73dff9e8]{z-index:20;background:var(--surface-card);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:.6rem;width:280px;padding:1rem;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #7c6af729}.notif-switch[data-v-73dff9e8]{cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.notif-file[data-v-73dff9e8]{color:var(--text-secondary,#666);background:var(--violet-pale);word-break:break-all;border-radius:8px;padding:6px 10px;font-size:12px}.notif-actions[data-v-73dff9e8]{flex-wrap:wrap;gap:6px;display:flex}.notif-mini[data-v-73dff9e8]{border:1px solid var(--border);background:var(--surface-card);color:var(--text-secondary,#555);cursor:pointer;white-space:nowrap;transition:all .14s var(--ease-spring);border-radius:9px;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 8px;font-size:12px;font-weight:600;display:inline-flex}.notif-mini[data-v-73dff9e8]:hover{border-color:var(--violet);color:var(--violet)}.notif-mini.upload[data-v-73dff9e8]{cursor:pointer}.notif-hint[data-v-73dff9e8]{color:var(--text-muted,#999);font-size:11px;line-height:1.4}.stats[data-v-73dff9e8]{flex-wrap:wrap;gap:1rem;display:flex}.stat-card[data-v-73dff9e8]{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-73dff9e8]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c6af71a}.stat-card.clickable[data-v-73dff9e8]{cursor:pointer}.stat-card.active[data-v-73dff9e8]{border-color:var(--violet);box-shadow:0 0 0 2px var(--violet-pale), 0 8px 24px #7c6af71f}.stat-card.yellow[data-v-73dff9e8],.stat-card.orange[data-v-73dff9e8]{border-left-color:var(--fire)}.stat-card.red[data-v-73dff9e8]{border-left-color:var(--red)}.stat-card.green[data-v-73dff9e8]{border-left-color:var(--teal)}.stat-card.blue[data-v-73dff9e8]{border-left-color:var(--violet)}.stat-icon[data-v-73dff9e8]{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-73dff9e8],.stat-card.orange .stat-icon[data-v-73dff9e8]{background:var(--fire-pale);color:var(--fire)}.stat-card.red .stat-icon[data-v-73dff9e8]{background:var(--red-pale);color:var(--red)}.stat-card.green .stat-icon[data-v-73dff9e8]{background:var(--teal-pale);color:#0d9373}.stat-card.blue .stat-icon[data-v-73dff9e8]{background:var(--violet-pale);color:var(--violet)}.stat-info h3[data-v-73dff9e8]{color:var(--text);margin:0;font-family:JetBrains Mono,monospace;font-size:1.75rem;font-weight:700}.stat-info p[data-v-73dff9e8]{color:var(--muted);margin:2px 0 0;font-size:12px}.tabs[data-v-73dff9e8]{gap:.5rem;display:flex}.tab[data-v-73dff9e8]{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-73dff9e8]:hover{border-color:var(--violet-light);color:var(--violet)}.tab.active[data-v-73dff9e8]{background:var(--violet);color:#fff;border-color:var(--violet)}.tab-badge[data-v-73dff9e8]{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-73dff9e8]{background:#ffffff4d}.analytics-panel[data-v-73dff9e8]{flex-direction:column;gap:1.25rem;display:flex}.an-section-label[data-v-73dff9e8]{color:var(--violet);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:500}.an-metric-grid[data-v-73dff9e8]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.an-metric-card[data-v-73dff9e8]{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-73dff9e8]{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-73dff9e8]{color:var(--red)}.an-metric-val.an-val-green[data-v-73dff9e8]{color:var(--teal)}.an-metric-val.an-val-blue[data-v-73dff9e8]{color:var(--violet)}.an-metric-label[data-v-73dff9e8]{color:var(--muted);font-size:12px}.an-metric-delta[data-v-73dff9e8]{margin-top:2px;font-size:11px}.an-metric-delta.up[data-v-73dff9e8]{color:var(--teal)}.an-metric-delta.down[data-v-73dff9e8]{color:var(--red)}.an-metric-delta.neutral[data-v-73dff9e8]{color:var(--muted)}.an-charts-row[data-v-73dff9e8]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.an-charts-row[data-v-73dff9e8]{grid-template-columns:1fr}.dashboard[data-v-73dff9e8]{width:100%}.alert-overdue[data-v-73dff9e8]{padding:10px 12px;font-size:12px}.stats[data-v-73dff9e8]{grid-template-columns:1fr 1fr;gap:8px}.stat-card[data-v-73dff9e8]{min-width:0;padding:12px 10px}.stat-info h3[data-v-73dff9e8]{font-size:20px}.stat-info p[data-v-73dff9e8]{font-size:10px;line-height:1.3}.tabs[data-v-73dff9e8]{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.tab[data-v-73dff9e8]{white-space:nowrap;flex-shrink:0}.table-actions[data-v-73dff9e8]{flex-direction:column;align-items:stretch;gap:10px;display:flex}.table-title[data-v-73dff9e8]{width:100%}.dash-search-group[data-v-73dff9e8]{grid-template-columns:1fr 1fr;width:100%;display:grid}input.dash-search-field[data-v-73dff9e8]{width:100%;min-width:0}.action-buttons[data-v-73dff9e8]{grid-template-columns:1fr;display:grid}.action-buttons button[data-v-73dff9e8]{width:100%}.table-wrapper[data-v-73dff9e8]{-webkit-overflow-scrolling:touch;overflow-x:auto}.loan-table[data-v-73dff9e8]{min-width:980px}.pagination-bar[data-v-73dff9e8]{flex-direction:column;align-items:stretch;gap:10px}.pagination-right[data-v-73dff9e8]{justify-content:center}.modal-konfirmasi[data-v-73dff9e8],.modal-due-date[data-v-73dff9e8]{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}}.an-chart-card[data-v-73dff9e8]{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-73dff9e8]{color:var(--text);margin-bottom:.75rem;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700}.an-legend-row[data-v-73dff9e8]{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.an-legend-item[data-v-73dff9e8]{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.an-legend-item strong[data-v-73dff9e8]{color:var(--text);font-weight:600}.an-legend-dot[data-v-73dff9e8]{border-radius:3px;flex-shrink:0;width:9px;height:9px}.an-tab-group[data-v-73dff9e8]{gap:4px;display:flex}.an-tab-btn[data-v-73dff9e8]{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-73dff9e8]{background:var(--violet);color:#fff;border-color:var(--violet)}.an-badge[data-v-73dff9e8]{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.an-badge-red[data-v-73dff9e8]{background:var(--red-pale);color:#b91c1c}.an-badge-amber[data-v-73dff9e8]{background:var(--fire-pale);color:#92400e}.an-badge-green[data-v-73dff9e8]{background:var(--teal-pale);color:#0d6b4f}.table-actions[data-v-73dff9e8]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.table-title[data-v-73dff9e8]{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-73dff9e8]{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:400}.filter-reset[data-v-73dff9e8]{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-73dff9e8]:hover{border-color:var(--red);color:var(--red)}.dash-search-group[data-v-73dff9e8]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dash-search-field[data-v-73dff9e8]{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-73dff9e8]{width:150px}select.dash-search-field[data-v-73dff9e8]{cursor:pointer}.dash-search-field[data-v-73dff9e8]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.dash-search-field[data-v-73dff9e8]::placeholder{color:var(--muted)}.dash-search-clear[data-v-73dff9e8]{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:13px;line-height:1}.dash-search-clear[data-v-73dff9e8]:hover{color:var(--red)}.action-buttons[data-v-73dff9e8]{gap:.5rem;display:flex}.btn-action[data-v-73dff9e8]{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-73dff9e8]:hover{transform:translateY(-1px)}.btn-action.orange[data-v-73dff9e8]{background:var(--fire)}.btn-action.blue[data-v-73dff9e8]{background:var(--violet)}.btn-action.green[data-v-73dff9e8]{background:var(--teal)}.table-wrapper[data-v-73dff9e8]{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-73dff9e8]{border-collapse:collapse;width:100%;font-size:13px}.loan-table th[data-v-73dff9e8]{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-73dff9e8]{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.loan-table tr:last-child td[data-v-73dff9e8]{border-bottom:none}.row-overdue[data-v-73dff9e8]{background:var(--red-pale)}.loan-kode[data-v-73dff9e8]{color:var(--red);margin:0;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.loan-name[data-v-73dff9e8]{color:var(--text);margin:2px 0 0;font-size:13px;font-weight:500}.loan-unit[data-v-73dff9e8]{color:var(--muted);margin:2px 0 0;font-size:11px}.badge-layanan[data-v-73dff9e8]{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-layanan.prioritas[data-v-73dff9e8]{background:var(--violet-pale);color:var(--violet)}.badge-layanan.rutin[data-v-73dff9e8]{background:var(--teal-pale);color:#0d6b4f}.badge-layanan.none[data-v-73dff9e8]{background:var(--surface);color:var(--muted)}.loan-keperluan[data-v-73dff9e8]{color:var(--muted);margin:4px 0 0;font-size:11px}.bt-count[data-v-73dff9e8]{color:var(--text);margin:0;font-family:JetBrains Mono,monospace;font-weight:700}.bt-detail[data-v-73dff9e8]{color:var(--muted);margin:2px 0 0;font-size:11px}.durasi[data-v-73dff9e8]{color:var(--text);font-size:13px;font-weight:500}.durasi.overdue[data-v-73dff9e8]{color:var(--red);font-weight:700}.overdue-label[data-v-73dff9e8]{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-73dff9e8]{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.status-badge.active[data-v-73dff9e8]{background:var(--fire-pale);color:#92400e}.status-badge.completed[data-v-73dff9e8]{background:var(--teal-pale);color:#0d6b4f}.aksi-buttons[data-v-73dff9e8]{align-items:center;gap:6px;display:flex}.btn-aksi[data-v-73dff9e8]{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-73dff9e8]:hover{transform:translateY(-1px)}.btn-aksi.green[data-v-73dff9e8]{background:var(--teal)}.btn-aksi.gray[data-v-73dff9e8]{background:var(--muted)}.btn-aksi.purple[data-v-73dff9e8]{background:var(--violet)}.btn-aksi.red[data-v-73dff9e8]{background:var(--red)}.btn-aksi.blue[data-v-73dff9e8]{background:#2563eb}.empty[data-v-73dff9e8],.loading[data-v-73dff9e8]{text-align:center;color:var(--muted);padding:2rem}.pagination-bar[data-v-73dff9e8]{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-73dff9e8]{align-items:center;gap:1rem;display:flex}.pagination-info[data-v-73dff9e8]{color:var(--muted);font-size:12px}.per-page-select[data-v-73dff9e8]{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-73dff9e8]{align-items:center;gap:4px;display:flex}.page-btn[data-v-73dff9e8]{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-73dff9e8]:hover:not(:disabled){background:var(--violet-pale);border-color:var(--violet-light);color:var(--violet)}.page-btn.active[data-v-73dff9e8]{background:var(--violet);color:#fff;border-color:var(--violet)}.page-btn[data-v-73dff9e8]:disabled{opacity:.4;cursor:not-allowed}.modal-overlay[data-v-73dff9e8]{z-index:1000;background:#0d0f1a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-konfirmasi[data-v-73dff9e8]{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-due-date[data-v-73dff9e8]{background:var(--surface-card);border:1px solid var(--border);border-radius:24px;flex-direction:column;width:100%;max-width:420px;display:flex;box-shadow:0 16px 48px #7c6af726}.due-date-label[data-v-73dff9e8]{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.due-date-input[data-v-73dff9e8]{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:12px;padding:10px 14px;font-size:14px}.modal-header[data-v-73dff9e8]{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-73dff9e8]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.modal-header button[data-v-73dff9e8]{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:18px;transition:color .2s}.modal-header button[data-v-73dff9e8]:hover{color:var(--red)}.modal-body[data-v-73dff9e8]{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.konfirmasi-kode[data-v-73dff9e8]{color:var(--muted);margin-bottom:4px;font-size:13px}.konfirmasi-kode strong[data-v-73dff9e8]{font-family:JetBrains Mono,monospace}.konfirmasi-sub[data-v-73dff9e8]{color:var(--text);margin-bottom:1rem;font-size:13px}.konfirmasi-list[data-v-73dff9e8]{flex-direction:column;gap:.75rem;display:flex}.konfirmasi-item[data-v-73dff9e8]{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-73dff9e8]{border-color:var(--teal);background:var(--teal-pale)}.konfirmasi-item.item-not-found[data-v-73dff9e8]{border-color:var(--red);background:var(--red-pale)}.konfirmasi-check[data-v-73dff9e8]{flex-direction:column;flex-shrink:0;gap:6px;padding-top:2px;display:flex}.check-option[data-v-73dff9e8]{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.check-found[data-v-73dff9e8]{color:var(--teal);font-weight:600}.check-notfound[data-v-73dff9e8]{color:var(--red);font-weight:600}.konfirmasi-info[data-v-73dff9e8]{flex:1}.k-nomer[data-v-73dff9e8]{color:var(--text);margin:0;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600}.k-detail[data-v-73dff9e8]{color:var(--muted);margin:2px 0 0;font-size:12px}.k-prev[data-v-73dff9e8]{color:var(--muted);margin:4px 0 0;font-size:11px}.k-prev .found[data-v-73dff9e8]{color:var(--teal);font-weight:600}.k-prev .not-found[data-v-73dff9e8]{color:var(--red);font-weight:600}.konfirmasi-note[data-v-73dff9e8]{margin-top:1rem}.konfirmasi-note label[data-v-73dff9e8]{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.konfirmasi-note textarea[data-v-73dff9e8]{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-73dff9e8]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.modal-footer[data-v-73dff9e8]{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.btn-cancel[data-v-73dff9e8]{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-73dff9e8]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-confirm[data-v-73dff9e8]{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-73dff9e8]:hover{background:var(--violet-hover);transform:translateY(-1px)}.btn-confirm[data-v-73dff9e8]:disabled{opacity:.5;transform:none}.konfirm-badge[data-v-73dff9e8]{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:600}.konfirm-badge.pending[data-v-73dff9e8]{background:var(--fire-pale);color:#92400e}.btn-select-all[data-v-73dff9e8]{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-73dff9e8]:hover{background:var(--teal);color:#fff}.lainnya-wrapper[data-v-73dff9e8]{margin-top:5px;display:inline-block;position:relative}.lainnya-tag[data-v-73dff9e8]{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-73dff9e8]{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-73dff9e8]{display:flex}.tooltip-row[data-v-73dff9e8]{align-items:flex-start;gap:8px;font-size:11px;display:flex}.tooltip-label[data-v-73dff9e8]{color:var(--night-muted);flex-shrink:0;min-width:48px}.lainnya-tooltip[data-v-73dff9e8]: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-3f52554c]{background:var(--surface);justify-content:center;align-items:center;min-height:100vh;display:flex}.register-box[data-v-3f52554c]{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-3f52554c]{color:var(--text);text-align:center;margin-bottom:1.5rem;font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.field[data-v-3f52554c]{flex-direction:column;gap:6px;margin-bottom:1rem;display:flex}.field label[data-v-3f52554c]{color:var(--muted);font-size:13px;font-weight:500}input[data-v-3f52554c],select[data-v-3f52554c]{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-3f52554c]:focus,select[data-v-3f52554c]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale);outline:none}input[data-v-3f52554c]::placeholder{color:var(--muted)}button[data-v-3f52554c]{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-3f52554c]:hover{background:var(--violet-hover);transform:translateY(-1px)}button.back[data-v-3f52554c]{background:var(--muted)}button.back[data-v-3f52554c]:hover{background:var(--night-muted)}button[data-v-3f52554c]:disabled{opacity:.5;cursor:not-allowed;transform:none}.error[data-v-3f52554c]{color:var(--red);margin-bottom:.5rem;font-size:13px}.success[data-v-3f52554c]{color:var(--teal);margin-bottom:.5rem;font-size:13px}.profile-page[data-v-dfeee48b]{max-width:700px}.profile-page h2[data-v-dfeee48b]{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-dfeee48b]{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-dfeee48b]{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-dfeee48b]{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-dfeee48b]{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.field[data-v-dfeee48b]{flex-direction:column;gap:6px;display:flex}label[data-v-dfeee48b]{color:var(--muted);font-size:13px;font-weight:500}@media (width<=640px){.profile-page[data-v-dfeee48b]{width:100%}.profile-card[data-v-dfeee48b]{padding:1rem}.form-grid[data-v-dfeee48b]{grid-template-columns:1fr}}.required[data-v-dfeee48b]{color:var(--red)}input[data-v-dfeee48b]{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-dfeee48b]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale);outline:none}.select-wrapper[data-v-dfeee48b]{align-items:center;display:flex;position:relative}.select-wrapper select[data-v-dfeee48b]{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-dfeee48b]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale);outline:none}.select-wrapper select[data-v-dfeee48b]:disabled{background:var(--surface);color:var(--muted);cursor:not-allowed}.select-wrapper.disabled[data-v-dfeee48b]{opacity:.5}.select-arrow[data-v-dfeee48b]{color:var(--muted);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;position:absolute;right:10px}button[data-v-dfeee48b]{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-dfeee48b]:hover{background:var(--violet-hover);transform:translateY(-1px)}button[data-v-dfeee48b]:disabled{opacity:.5;cursor:not-allowed;transform:none}.success[data-v-dfeee48b]{color:var(--teal);font-size:13px}.error[data-v-dfeee48b]{color:var(--red);font-size:13px}.autocomplete[data-v-62faa79a]{position:relative}input[data-v-62faa79a]{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-62faa79a]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.dropdown[data-v-62faa79a]{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-62faa79a]{cursor:pointer;color:var(--text);transition:background .2s var(--ease-spring);padding:8px 14px;font-size:13px}.dropdown li[data-v-62faa79a]:hover,.dropdown li.active[data-v-62faa79a]{background:var(--violet-pale);color:var(--violet)}.kec-hint[data-v-62faa79a]{color:var(--muted);font-size:11px}[data-v-bd442c65]{box-sizing:border-box}.page[data-v-bd442c65]{background:var(--surface);flex-direction:column;min-height:100vh;display:flex}.navbar[data-v-bd442c65]{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-bd442c65]{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-bd442c65]{height:32px}.nav-subtitle[data-v-bd442c65]{color:var(--muted);font-size:12px}.hero[data-v-bd442c65]{background:linear-gradient(135deg, var(--violet), #5340c8);color:#fff;text-align:center;padding:2.5rem 1rem}.hero h1[data-v-bd442c65]{letter-spacing:-.03em;margin-bottom:.5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.6rem;font-weight:800}.hero p[data-v-bd442c65]{opacity:.85;font-size:.9rem}.loan-create[data-v-bd442c65]{flex:1;width:100%;max-width:720px;margin:2rem auto;padding:0 1rem}.card[data-v-bd442c65]{background:var(--surface-card);border:1px solid var(--border);border-radius:24px;padding:2rem;box-shadow:0 4px 24px #7c6af714}.form-section[data-v-bd442c65]{margin-bottom:1.5rem}.section-title[data-v-bd442c65]{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-bd442c65]{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-bd442c65]{border-top:1px solid var(--border);margin:1.5rem 0}.form-grid-2[data-v-bd442c65]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.req[data-v-bd442c65]{color:var(--red)}.field[data-v-bd442c65]{flex-direction:column;gap:6px;display:flex}label[data-v-bd442c65]{color:var(--muted);font-size:12px;font-weight:500}.input-icon[data-v-bd442c65]{border:1px solid var(--border);background:var(--surface-card);border-radius:10px;align-items:center;display:flex;overflow:hidden}.input-icon span[data-v-bd442c65]{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-bd442c65]{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:10px 14px;font-size:14px}input[data-v-bd442c65],select[data-v-bd442c65]{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-bd442c65]:focus,select[data-v-bd442c65]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.keperluan-combo[data-v-bd442c65]{position:relative}.keperluan-combo>input[data-v-bd442c65]{box-sizing:border-box;width:100%}.keperluan-options[data-v-bd442c65]{z-index:30;background:var(--surface-card);border:1px solid var(--border);border-radius:10px;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.keperluan-options li[data-v-bd442c65]{color:var(--text);cursor:pointer;border-radius:8px;padding:9px 12px;font-size:14px}.keperluan-options li[data-v-bd442c65]:hover{background:var(--surface)}.keperluan-options li.active[data-v-bd442c65]{background:var(--violet-pale);color:var(--violet);font-weight:600}.keperluan-options li.keperluan-empty[data-v-bd442c65]{color:var(--muted);cursor:default}.keperluan-options li.keperluan-empty[data-v-bd442c65]:hover{background:0 0}.btn-lainnya[data-v-bd442c65]{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-bd442c65]:hover{border-color:var(--violet-light);background:var(--violet-pale)}.btn-lainnya.active[data-v-bd442c65]{border-color:var(--violet);background:var(--violet-pale);border-style:solid}.lainnya-icon[data-v-bd442c65]{flex-shrink:0;font-size:1.1rem}.lainnya-text[data-v-bd442c65]{flex-direction:column;flex:1;gap:2px;display:flex}.lainnya-main[data-v-bd442c65]{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.btn-lainnya.active .lainnya-main[data-v-bd442c65]{color:var(--violet)}.lainnya-badge[data-v-bd442c65]{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-bd442c65]{color:var(--muted);font-size:11px;font-weight:400}.lainnya-chevron[data-v-bd442c65]{color:var(--muted);flex-shrink:0;font-size:10px}.lainnya-section[data-v-bd442c65]{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:.75rem;padding:1.25rem}.lainnya-title[data-v-bd442c65]{color:var(--violet);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem;font-size:11px;font-weight:500}.keperluan-grid[data-v-bd442c65]{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.keperluan-card[data-v-bd442c65]{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-bd442c65]:hover{border-color:var(--violet-light);background:var(--violet-pale)}.keperluan-card.active[data-v-bd442c65]{border-color:var(--violet);background:var(--violet-pale)}.kep-icon[data-v-bd442c65]{flex-shrink:0;font-size:1.2rem}.kep-label[data-v-bd442c65]{color:var(--text);margin:0;font-size:13px;font-weight:600}.kep-sub[data-v-bd442c65]{color:var(--muted);margin:0;font-size:11px}.info-hint[data-v-bd442c65]{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-bd442c65]{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:.75rem;padding:1rem}.land-book-header[data-v-bd442c65]{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-bd442c65]{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-bd442c65]:hover{background:var(--red);color:#fff}.land-book-fields[data-v-bd442c65]{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.land-book-fields .field[data-v-bd442c65]{flex:1;min-width:140px}.btn-add[data-v-bd442c65]{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-bd442c65]:hover{background:var(--violet);color:#fff}.btn-submit[data-v-bd442c65]{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-bd442c65]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c6af740}.book-check[data-v-bd442c65]{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:6px;font-size:11px;font-weight:600;display:flex}.book-check-label[data-v-bd442c65]{border-radius:20px;padding:2px 8px}.book-check-sub[data-v-bd442c65]{opacity:.85;font-weight:500}.book-check.ok .book-check-label[data-v-bd442c65]{background:var(--teal-pale);color:#0d6b4f}.book-check.warn .book-check-label[data-v-bd442c65]{color:#92400e;background:#fef3c7}.book-check.err .book-check-label[data-v-bd442c65]{background:var(--red-pale);color:#b91c1c}.book-check-loading[data-v-bd442c65]{color:var(--muted);margin-top:4px;font-size:11px;display:block}.btn-submit[data-v-bd442c65]:disabled{opacity:.5;box-shadow:none;transform:none}.error[data-v-bd442c65]{color:var(--red);background:var(--red-pale);border-radius:10px;margin-top:.5rem;padding:8px 12px;font-size:13px}.result[data-v-bd442c65]{text-align:center}.result-header[data-v-bd442c65]{margin-bottom:1.5rem}.success-icon[data-v-bd442c65]{margin-bottom:.75rem;font-size:3rem}.result h3[data-v-bd442c65]{color:var(--text);margin-bottom:.25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.3rem;font-weight:700}.result-sub[data-v-bd442c65]{color:var(--muted);font-size:13px}.kode-box[data-v-bd442c65]{background:var(--teal-pale);border:1px solid var(--teal);border-radius:16px;margin-bottom:1.5rem;padding:1.25rem}.kode-label[data-v-bd442c65]{color:var(--muted);margin-bottom:4px;font-size:12px}.kode-value[data-v-bd442c65]{color:var(--teal-light);letter-spacing:4px;font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:700}.qr-box[data-v-bd442c65]{margin-bottom:1.5rem}.qr-label[data-v-bd442c65]{color:var(--muted);margin-bottom:.75rem;font-size:13px}.qr-wrapper[data-v-bd442c65]{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-bd442c65]{justify-content:center;gap:1rem;display:flex}.btn-print[data-v-bd442c65]{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-bd442c65]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-new[data-v-bd442c65]{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-bd442c65]:hover{background:var(--violet-hover);transform:translateY(-1px)}.footer[data-v-bd442c65]{text-align:center;color:var(--muted);padding:1.5rem;font-size:12px}.slide-enter-active[data-v-bd442c65],.slide-leave-active[data-v-bd442c65]{transition:all .25s var(--ease-spring);overflow:hidden}.slide-enter-from[data-v-bd442c65],.slide-leave-to[data-v-bd442c65]{opacity:0;transform:translateY(-6px)}.label-with-toggle[data-v-bd442c65]{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.label-with-toggle label[data-v-bd442c65]{margin-bottom:0}@media (width<=600px){.form-grid-2[data-v-bd442c65]{grid-template-columns:1fr}.land-book-fields[data-v-bd442c65]{grid-template-columns:1fr;display:grid}.land-book-fields .field[data-v-bd442c65]{min-width:0}.keperluan-grid[data-v-bd442c65]{grid-template-columns:1fr}.nav-subtitle[data-v-bd442c65]{display:none}.navbar[data-v-bd442c65]{padding:.65rem 1rem}.hero[data-v-bd442c65]{padding:1.75rem 1rem}.hero h1[data-v-bd442c65]{font-size:1.3rem}.loan-create[data-v-bd442c65]{margin:1rem auto;padding:0 .75rem}.card[data-v-bd442c65]{border-radius:16px;padding:1.1rem}.result-actions[data-v-bd442c65]{flex-direction:column;gap:.6rem}.result-actions button[data-v-bd442c65]{width:100%}.qr-wrapper canvas[data-v-bd442c65],.qr-wrapper img[data-v-bd442c65]{max-width:100%;height:auto}}.return-page[data-v-e3c17f70]{max-width:1100px;min-height:100vh;padding:1.5rem 2rem}.state-center[data-v-e3c17f70]{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-e3c17f70]{font-size:3rem}.state-center h3[data-v-e3c17f70]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1.2rem;font-weight:700}.state-center p[data-v-e3c17f70]{margin:0;font-size:14px}.spinner[data-v-e3c17f70]{border:3px solid var(--border);border-top-color:var(--violet);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin-e3c17f70}.page-header[data-v-e3c17f70]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header-left[data-v-e3c17f70]{flex-direction:column;gap:.5rem;display:flex}.btn-back-header[data-v-e3c17f70]{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-e3c17f70]:hover{color:var(--violet)}.page-title-group h1[data-v-e3c17f70]{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-e3c17f70]{color:var(--muted);margin:2px 0 0;font-size:13px}.status-pill[data-v-e3c17f70]{white-space:nowrap;border-radius:20px;margin-top:4px;padding:5px 14px;font-size:12px;font-weight:600}.status-pill.active[data-v-e3c17f70]{background:var(--violet-pale);color:var(--violet)}.status-pill.completed[data-v-e3c17f70]{background:var(--teal-pale);color:#0d6b4f}.grid-layout[data-v-e3c17f70]{grid-template-columns:1fr 320px;align-items:start;gap:1.25rem;display:grid}.card[data-v-e3c17f70]{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-e3c17f70]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.card-label[data-v-e3c17f70]{color:var(--violet);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:500}.book-count[data-v-e3c17f70]{color:var(--muted);background:var(--surface);border-radius:20px;padding:2px 10px;font-family:JetBrains Mono,monospace;font-size:12px}.info-grid[data-v-e3c17f70]{grid-template-columns:1fr 1fr;gap:0;display:grid}.info-item[data-v-e3c17f70]{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-e3c17f70]:nth-child(2n){border-right:none}.info-label[data-v-e3c17f70]{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.info-val[data-v-e3c17f70]{color:var(--text);font-size:14px;font-weight:500}.info-val.kode[data-v-e3c17f70]{letter-spacing:2px;color:var(--violet);font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.text-danger[data-v-e3c17f70]{color:var(--red)!important}.overdue-chip[data-v-e3c17f70]{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-e3c17f70]{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-e3c17f70]{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.select-all-label input[data-v-e3c17f70]{cursor:pointer;width:16px;height:16px}.selected-count[data-v-e3c17f70]{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-e3c17f70]{padding:.5rem 1.25rem 1rem}.book-item[data-v-e3c17f70]{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-e3c17f70]:hover{border-color:var(--violet-light)}.book-item.is-returned[data-v-e3c17f70]{opacity:.55;background:var(--surface);border-color:var(--border)}.book-item.is-not-found[data-v-e3c17f70]{opacity:.6;background:var(--red-pale);border-color:var(--red)}.book-item.is-selected[data-v-e3c17f70]{border-color:var(--violet);background:var(--violet-pale)}.book-check input[data-v-e3c17f70]{cursor:pointer;flex-shrink:0;width:16px;height:16px}.book-body[data-v-e3c17f70]{flex:1;min-width:0}.book-number[data-v-e3c17f70]{color:var(--text);font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.book-meta[data-v-e3c17f70]{color:var(--muted);align-items:center;gap:5px;margin-top:2px;font-size:12px;display:flex}.book-jenis[data-v-e3c17f70]{background:var(--violet-pale);color:var(--violet);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600}.meta-dot[data-v-e3c17f70]{color:var(--border)}.book-returned-date[data-v-e3c17f70]{color:var(--teal);margin-top:3px;font-size:11px}.tag[data-v-e3c17f70]{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.tag-borrowed[data-v-e3c17f70]{background:var(--fire-pale);color:#92400e}.tag-returned[data-v-e3c17f70]{background:var(--teal-pale);color:#0d6b4f}.tag-notfound[data-v-e3c17f70]{background:var(--red-pale);color:#b91c1c}.action-card[data-v-e3c17f70]{position:sticky;top:1.5rem}.action-hint[data-v-e3c17f70]{color:var(--muted);margin:0;padding:.75rem 1.25rem 0;font-size:13px;line-height:1.6}.action-summary[data-v-e3c17f70]{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-e3c17f70]{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-e3c17f70]:last-child{border-bottom:none}.summary-row strong[data-v-e3c17f70]{color:var(--text);font-family:JetBrains Mono,monospace}.text-success[data-v-e3c17f70]{color:var(--teal)!important}.text-primary[data-v-e3c17f70]{color:var(--violet)!important}.return-msg[data-v-e3c17f70]{border-radius:10px;margin:0 1.25rem .75rem;padding:8px 12px;font-size:13px;font-weight:500}.return-msg.success[data-v-e3c17f70]{background:var(--teal-pale);color:#0d6b4f}.return-msg.error[data-v-e3c17f70]{background:var(--red-pale);color:#b91c1c}.btn-confirm[data-v-e3c17f70]{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-e3c17f70]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1cd4a74d}.btn-confirm[data-v-e3c17f70]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-spinner[data-v-e3c17f70]{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin-e3c17f70}.completed-card[data-v-e3c17f70]{text-align:center;padding:2rem 1.25rem}.completed-icon[data-v-e3c17f70]{margin-bottom:.75rem;font-size:2.5rem}.completed-card h3[data-v-e3c17f70]{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-e3c17f70]{color:var(--muted);margin:0 0 1.25rem;font-size:13px;line-height:1.6}.btn-back-dashboard[data-v-e3c17f70]{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-e3c17f70]:hover{background:var(--violet-hover)}.login-card[data-v-e3c17f70],.staff-card[data-v-e3c17f70]{text-align:center;padding:2rem 1.25rem}.login-icon[data-v-e3c17f70],.staff-icon[data-v-e3c17f70]{margin-bottom:.75rem;font-size:2rem}.login-card h3[data-v-e3c17f70],.staff-card p[data-v-e3c17f70]{color:var(--muted);margin:0 0 1rem;font-size:13px}.btn-login[data-v-e3c17f70]{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-e3c17f70]:hover{background:var(--violet-hover)}.btn-back[data-v-e3c17f70]{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-e3c17f70]:hover{background:var(--violet-hover)}@keyframes spin-e3c17f70{to{transform:rotate(360deg)}}@media (width<=768px){.return-page[data-v-e3c17f70]{padding:1rem}.grid-layout[data-v-e3c17f70],.info-grid[data-v-e3c17f70]{grid-template-columns:1fr}.info-item[data-v-e3c17f70]{border-right:none}.action-card[data-v-e3c17f70]{position:static}}.wa-page[data-v-04a4b2eb]{max-width:900px;margin:0 auto;padding:2rem}.page-header[data-v-04a4b2eb]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.header-left[data-v-04a4b2eb]{align-items:center;gap:1rem;display:flex}.wa-icon[data-v-04a4b2eb]{color:#fff;background:#25d366;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.wa-icon svg[data-v-04a4b2eb]{width:26px;height:26px}.page-title[data-v-04a4b2eb]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:700}.page-sub[data-v-04a4b2eb]{color:var(--muted);margin:2px 0 0;font-size:13px}.btn-add[data-v-04a4b2eb]{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-04a4b2eb]{width:18px;height:18px}.btn-add[data-v-04a4b2eb]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-add[data-v-04a4b2eb]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-change[data-v-04a4b2eb]{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-04a4b2eb]{width:16px;height:16px}.btn-change[data-v-04a4b2eb]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-change[data-v-04a4b2eb]:disabled{opacity:.5;cursor:not-allowed}.status-banner[data-v-04a4b2eb]{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-04a4b2eb]{background:var(--teal-pale);color:#0d6b4f;border:1px solid var(--teal)}.status-banner.disconnected[data-v-04a4b2eb]{background:var(--red-pale);color:#b91c1c;border:1px solid var(--red)}.status-dot[data-v-04a4b2eb]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.connected .status-dot[data-v-04a4b2eb]{background:var(--teal);box-shadow:0 0 0 3px #1cd4a740}.disconnected .status-dot[data-v-04a4b2eb]{background:var(--red)}.loading-state[data-v-04a4b2eb]{text-align:center;color:var(--muted);padding:4rem}.loading-ring[data-v-04a4b2eb]{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-04a4b2eb}.empty-state[data-v-04a4b2eb]{text-align:center;color:var(--muted);padding:4rem}.empty-icon[data-v-04a4b2eb]{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-04a4b2eb]{width:32px;height:32px}.empty-state h3[data-v-04a4b2eb]{color:var(--text);margin:0 0 4px;font-family:Plus Jakarta Sans,sans-serif}.empty-state p[data-v-04a4b2eb]{margin:0;font-size:14px}.sessions-grid[data-v-04a4b2eb]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.session-card[data-v-04a4b2eb]{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-04a4b2eb]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #7c6af71a}.session-card.active[data-v-04a4b2eb]{border-color:var(--teal);background:var(--teal-pale)}.active-badge[data-v-04a4b2eb]{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}.active-badge.st-pending[data-v-04a4b2eb]{color:#8a5a00;background:#fff7e0;border-color:#f0b429}.active-badge.st-error[data-v-04a4b2eb]{color:#b91c1c;background:#fdecec;border-color:#f87171}.pulse[data-v-04a4b2eb]{background:var(--teal);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse-04a4b2eb}.session-name[data-v-04a4b2eb]{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-04a4b2eb]{color:#25d366;flex-shrink:0;width:16px;height:16px}.session-meta[data-v-04a4b2eb]{color:var(--muted);margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:12px}.session-actions[data-v-04a4b2eb]{align-items:center;gap:8px;display:flex}.btn-qr[data-v-04a4b2eb]{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-04a4b2eb]{width:14px;height:14px}.btn-qr[data-v-04a4b2eb]:hover{background:var(--violet);color:#fff;border-color:var(--violet)}.btn-logout[data-v-04a4b2eb]{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-04a4b2eb]{width:16px;height:16px}.btn-logout[data-v-04a4b2eb]:hover{background:var(--red);color:#fff}.btn-logout[data-v-04a4b2eb]:disabled{opacity:.5;cursor:not-allowed}.qr-container[data-v-04a4b2eb]{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:14px;margin-top:14px;padding:16px}.qr-label[data-v-04a4b2eb]{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.6}.qr-loading[data-v-04a4b2eb]{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-04a4b2eb]{color:var(--muted);margin:0;font-size:12px}.qr-spinner[data-v-04a4b2eb]{border:3px solid var(--border);border-top-color:var(--violet);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-04a4b2eb}.qr-img-wrapper[data-v-04a4b2eb]{border:1px solid var(--border);border-radius:14px;width:240px;height:240px;margin:0 auto;overflow:hidden}.qr-img[data-v-04a4b2eb]{object-fit:contain;width:100%;height:100%;display:block}.qr-error[data-v-04a4b2eb]{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-04a4b2eb]{color:var(--muted);margin:10px 0 8px;font-size:11px}.btn-refresh-qr[data-v-04a4b2eb]{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-04a4b2eb]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-refresh-qr[data-v-04a4b2eb]:disabled{opacity:.5;cursor:not-allowed}.info-box[data-v-04a4b2eb]{background:var(--violet-pale);border:1px solid var(--violet-light);border-radius:20px;gap:14px;padding:1.25rem;display:flex}.info-icon[data-v-04a4b2eb]{color:var(--violet);flex-shrink:0;margin-top:2px}.info-icon svg[data-v-04a4b2eb]{width:20px;height:20px}.info-title[data-v-04a4b2eb]{color:var(--text);margin:0 0 8px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700}.info-steps[data-v-04a4b2eb]{color:var(--text);margin:0;padding-left:18px;font-size:13px;line-height:2}.modal-overlay[data-v-04a4b2eb]{z-index:1000;background:#0d0f1a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-04a4b2eb]{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-04a4b2eb]{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 1rem;display:flex}.modal-icon.danger[data-v-04a4b2eb]{background:var(--red-pale);color:var(--red)}.modal-icon.warning[data-v-04a4b2eb]{background:var(--fire-pale);color:var(--fire)}.modal-icon svg[data-v-04a4b2eb]{width:26px;height:26px}.modal h3[data-v-04a4b2eb]{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-04a4b2eb]{color:var(--muted);margin:0 0 1.5rem;font-size:14px;line-height:1.6}.modal-actions[data-v-04a4b2eb]{gap:10px;display:flex}.btn-cancel[data-v-04a4b2eb]{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-04a4b2eb]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-danger[data-v-04a4b2eb]{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-04a4b2eb]:hover{transform:translateY(-1px)}.btn-danger[data-v-04a4b2eb]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-warning[data-v-04a4b2eb]{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-04a4b2eb]:hover{transform:translateY(-1px)}.btn-warning[data-v-04a4b2eb]:disabled{opacity:.5;cursor:not-allowed;transform:none}.settings-section[data-v-04a4b2eb]{margin-top:1.5rem}.section-title[data-v-04a4b2eb]{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-04a4b2eb]{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-04a4b2eb]{justify-content:space-between;align-items:center;gap:1rem;padding:6px 0;display:flex}.setting-row+.setting-row[data-v-04a4b2eb]{border-top:1px solid var(--border);margin-top:6px;padding-top:14px}.setting-row.disabled[data-v-04a4b2eb]{opacity:.45}.setting-label[data-v-04a4b2eb]{color:var(--text);margin:0;font-size:14px;font-weight:600}.setting-hint[data-v-04a4b2eb]{color:var(--muted);margin:2px 0 0;font-size:12px}.switch[data-v-04a4b2eb]{flex-shrink:0;width:46px;height:26px;display:inline-block;position:relative}.switch input[data-v-04a4b2eb]{opacity:0;width:0;height:0}.slider[data-v-04a4b2eb]{background:var(--border);cursor:pointer;transition:background .2s var(--ease-spring);border-radius:999px;position:absolute;inset:0}.slider[data-v-04a4b2eb]: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-04a4b2eb]{background:var(--teal)}.switch input:checked+.slider[data-v-04a4b2eb]:before{transform:translate(20px)}.time-input[data-v-04a4b2eb]{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-04a4b2eb]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.time-input[data-v-04a4b2eb]:disabled{cursor:not-allowed;opacity:.6}.tpl-section-label[data-v-04a4b2eb]{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-04a4b2eb]{color:var(--muted);margin:0 0 1rem;font-size:12px}.var-chips[data-v-04a4b2eb]{flex-wrap:wrap;gap:6px;margin:8px 0 10px;display:flex}.chip[data-v-04a4b2eb]{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-04a4b2eb]:hover{background:var(--violet);color:#fff}.tpl-textarea[data-v-04a4b2eb]{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-04a4b2eb]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.settings-actions[data-v-04a4b2eb]{justify-content:flex-end;gap:10px;margin-top:1rem;display:flex}.btn-reset-settings[data-v-04a4b2eb]{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-04a4b2eb]:hover{border-color:var(--violet-light);color:var(--violet)}.btn-reset-settings[data-v-04a4b2eb]:disabled{opacity:.5;cursor:not-allowed}.btn-save-settings[data-v-04a4b2eb]{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-04a4b2eb]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1cd4a740}.btn-save-settings[data-v-04a4b2eb]:disabled{opacity:.6;cursor:not-allowed;transform:none}.toast[data-v-04a4b2eb]{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-04a4b2eb]{background:var(--night);color:#fff}.toast.error[data-v-04a4b2eb]{background:var(--red);color:#fff}.toast-enter-active[data-v-04a4b2eb],.toast-leave-active[data-v-04a4b2eb]{transition:all .3s var(--ease-spring)}.toast-enter-from[data-v-04a4b2eb],.toast-leave-to[data-v-04a4b2eb]{opacity:0;transform:translateY(10px)}.spinner[data-v-04a4b2eb]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin-04a4b2eb;display:inline-block}.spinner.sm[data-v-04a4b2eb]{width:12px;height:12px}.spinner.dark[data-v-04a4b2eb]{border-color:#fff #00000026 #00000026}@keyframes spin-04a4b2eb{to{transform:rotate(360deg)}}@keyframes pulse-04a4b2eb{0%,to{opacity:1}50%{opacity:.4}}@media (width<=640px){.wa-page[data-v-04a4b2eb]{padding:.75rem}.page-header[data-v-04a4b2eb]{flex-direction:column;align-items:stretch;gap:12px}.page-header button[data-v-04a4b2eb]{justify-content:center;width:100%}.sessions-grid[data-v-04a4b2eb]{grid-template-columns:1fr}.session-card[data-v-04a4b2eb]{padding:1rem}.qr-loading[data-v-04a4b2eb],.qr-img-wrapper[data-v-04a4b2eb]{aspect-ratio:1;width:min(240px,100%);height:auto}.modal-overlay[data-v-04a4b2eb]{padding:12px}.modal[data-v-04a4b2eb]{width:100%;max-height:calc(100vh - 24px);padding:1.25rem;overflow-y:auto}.toast[data-v-04a4b2eb]{max-width:none;bottom:12px;left:12px;right:12px}}.track-page[data-v-45b16121]{max-width:900px}.track-header[data-v-45b16121]{margin-bottom:1.5rem}.track-header h2[data-v-45b16121]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:700}.track-sub[data-v-45b16121]{color:var(--muted);margin:4px 0 0;font-size:13px}.search-card[data-v-45b16121]{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-45b16121]{grid-template-columns:1fr 1fr 1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.field[data-v-45b16121]{flex-direction:column;gap:4px;display:flex}label[data-v-45b16121]{color:var(--muted);font-size:12px;font-weight:500}.required[data-v-45b16121]{color:var(--red)}input[data-v-45b16121],select[data-v-45b16121]{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-45b16121]:focus,select[data-v-45b16121]:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-pale)}.btn-search[data-v-45b16121]{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-45b16121]:hover{background:var(--violet-hover);transform:translateY(-1px)}.btn-search[data-v-45b16121]:disabled{opacity:.5;transform:none}.not-found[data-v-45b16121]{text-align:center;background:var(--surface-card);border:1px solid var(--border);border-radius:20px;padding:3rem}.not-found p[data-v-45b16121]{color:var(--text);margin:0 0 4px;font-size:1.1rem}.not-found span[data-v-45b16121]{color:var(--muted);font-size:13px}.result-card[data-v-45b16121]{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-45b16121]{margin-bottom:1rem}.bt-identity h3[data-v-45b16121]{color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:700}.bt-identity p[data-v-45b16121]{color:var(--muted);margin:4px 0 0;font-size:13px}.status-banner[data-v-45b16121]{border-radius:14px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.status-banner .banner-icon[data-v-45b16121]{font-size:1.25rem;line-height:1}.status-banner div[data-v-45b16121]{flex-direction:column;gap:2px;display:flex}.status-banner strong[data-v-45b16121]{font-size:.95rem;font-weight:700}.status-banner span[data-v-45b16121]{font-size:13px}.status-banner.available[data-v-45b16121]{background:var(--teal-pale)}.status-banner.available strong[data-v-45b16121],.status-banner.available span[data-v-45b16121]{color:#0d6b4f}.status-banner.returned[data-v-45b16121]{background:var(--teal-pale)}.status-banner.returned strong[data-v-45b16121],.status-banner.returned span[data-v-45b16121]{color:#0d6b4f}.status-banner.borrowed[data-v-45b16121]{background:var(--red-pale)}.status-banner.borrowed strong[data-v-45b16121]{color:#b91c1c}.status-banner.borrowed span[data-v-45b16121]{color:#d6d6d6}.status-banner.missing[data-v-45b16121]{background:var(--red-pale)}.status-banner.missing strong[data-v-45b16121]{color:#b91c1c}.status-banner.missing span[data-v-45b16121]{color:#d6d6d6}.status-banner.reserved[data-v-45b16121]{background:#fef3c7}.status-banner.reserved strong[data-v-45b16121],.status-banner.reserved span[data-v-45b16121]{color:#92400e}html.dark{background:#3a2e0a}html.dark,html.dark{color:#fcd34d}.overdue-tag[data-v-45b16121]{color:#fff;background:#b91c1c;border-radius:20px;margin-left:4px;padding:1px 8px;font-size:10px;font-weight:600}.active-list[data-v-45b16121]{grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0 0 1rem;display:grid}.active-list div[data-v-45b16121]{flex-direction:column;gap:2px;display:flex}.active-list dt[data-v-45b16121]{color:var(--muted);font-size:11px}.active-list dd[data-v-45b16121]{color:var(--text);margin:0;font-size:13px;font-weight:500}.active-list dd.kode[data-v-45b16121]{color:var(--violet);letter-spacing:1px;font-family:JetBrains Mono,monospace;font-weight:700}.history-toggle[data-v-45b16121]{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-45b16121]:hover{border-color:var(--violet)}.history-toggle .chevron[data-v-45b16121]{color:var(--muted);font-size:10px}.history-table[data-v-45b16121]{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:12px}.history-table th[data-v-45b16121]{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-45b16121]{border-bottom:1px solid var(--border);color:var(--text);padding:8px 10px}.history-table tr:last-child td[data-v-45b16121]{border-bottom:none}.history-table .keperluan-cell[data-v-45b16121]{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.kode[data-v-45b16121]{color:var(--violet);font-family:JetBrains Mono,monospace;font-weight:600}.badge[data-v-45b16121]{border-radius:20px;padding:2px 8px;font-size:10px;font-weight:600}.badge.returned[data-v-45b16121]{background:var(--teal-pale);color:#0d6b4f}.badge.borrowed[data-v-45b16121]{background:var(--fire-pale);color:#92400e}.badge.not-found[data-v-45b16121]{background:var(--red-pale);color:var(--red)}.no-history[data-v-45b16121]{color:var(--muted);text-align:center;padding:1rem;font-size:12px}@media (width<=768px){.search-grid[data-v-45b16121],.active-list[data-v-45b16121]{grid-template-columns:1fr 1fr}}
