@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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.-ml-px{margin-left:-1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.w-5{width:calc(var(--spacing) * 5)}.border-collapse{border-collapse:collapse}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media(hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media(prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}@media(hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}}:root{--black:#000;--gray-900:#1a1a1a;--gray-700:#4d4d4d;--gray-500:gray;--gray-300:#b3b3b3;--gray-100:#e6e6e6;--white:#fff;--accent:#5c6975;--accent-bg:#eef0f2;--danger-border:#8a5555;--danger-bg:#f3eaea;--radius-sm:6px;--radius:10px;--radius-lg:16px;--shadow:0 2px 10px #0000000f;--shadow-lg:0 12px 32px #00000024;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*,:before,:after{box-sizing:border-box}html,body{height:100%;overflow-x:hidden}body{font-family:var(--font);background:var(--gray-100);color:var(--gray-900);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0 0 4px;font-weight:700}p{margin:0}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit}::selection{background:var(--gray-900);color:var(--white)}:focus-visible{outline:2px solid var(--gray-900);outline-offset:2px}.hidden{display:none!important}.icon{stroke-width:2px;flex-shrink:0;width:18px;height:18px}#loginScreen{background:radial-gradient(circle at 15% 20%,#ffffff0f,transparent 40%),linear-gradient(160deg,var(--black) 0%,var(--gray-900) 55%,var(--gray-700) 100%);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:36px 32px 28px}.login-brand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.login-brand .mark{color:#fff;background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;overflow:hidden}.login-brand .name{font-size:16px;font-weight:800}.login-brand .tag{color:var(--gray-500);font-size:11px;font-weight:500}.role-toggle{background:var(--gray-100);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;padding:4px;display:grid}.role-toggle button{color:var(--gray-700);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.role-toggle button.active{background:var(--black);color:#fff}.field{margin-bottom:14px}.field label{color:var(--gray-700);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);width:100%;color:var(--gray-900);background:#fff;padding:11px 12px;font-size:14px;transition:all .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--black)}.field-hint{color:var(--gray-500);margin-top:4px;font-size:11.5px}.btn{border:1.5px solid var(--black);background:var(--black);color:#fff;border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:7px;min-height:42px;padding:11px 18px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover{background:var(--gray-900)}.btn-block{width:100%}.btn-outline{color:var(--gray-900);border:1.5px solid var(--gray-300);background:#fff}.btn-outline:hover{border-color:var(--gray-900);background:var(--gray-100)}.btn-ghost{color:var(--gray-700);background:0 0;border:1.5px solid #0000;min-height:auto;padding:8px 12px}.btn-ghost:hover{background:var(--gray-100)}.btn-sm{min-height:34px;padding:7px 12px;font-size:12.5px}.btn-danger-outline{color:var(--gray-900);border:1.5px solid var(--danger-border);background:#fff}.btn-danger-outline:hover{background:var(--danger-bg)}.btn:disabled{opacity:.45;cursor:not-allowed}.login-note{background:var(--accent-bg);border:1px solid var(--gray-300);border-radius:var(--radius-sm);color:var(--gray-700);align-items:flex-start;gap:8px;margin-top:16px;padding:10px 12px;font-size:11.5px;display:flex}.login-note .icon{width:15px;height:15px;color:var(--accent);margin-top:1px}.login-actions{flex-direction:column;gap:10px;margin-top:6px;display:flex}.login-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--gray-900);border-radius:var(--radius-sm);margin-bottom:12px;padding:9px 11px;font-size:12.5px;display:none}.app{min-height:100dvh;display:flex}.sidebar{background:var(--black);color:#fff;z-index:40;flex-direction:column;flex-shrink:0;width:252px;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid #ffffff1a;align-items:center;gap:10px;padding:20px 18px;display:flex}.sidebar-header .mark{color:#000;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.sidebar-header .name{font-size:14.5px;font-weight:800}.sidebar-header .tag{color:var(--gray-300);font-size:10.5px}.sidebar-nav{flex:1;padding:14px 10px;overflow-y:auto}.nav-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);padding:14px 10px 6px;font-size:10.5px}.nav-item{color:var(--gray-300);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:11px;width:100%;margin-bottom:2px;padding:10px 12px;font-size:13.5px;font-weight:500;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#000;background:#fff;font-weight:700}.nav-item .icon{width:17px;height:17px}.nav-badge{background:var(--gray-700);color:#fff;text-align:center;border-radius:20px;min-width:18px;margin-left:auto;padding:2px 6px;font-size:10.5px;font-weight:700}.nav-item.active .nav-badge{background:var(--gray-900);color:#fff}.sidebar-footer{border-top:1px solid #ffffff1a;padding:14px}.main-wrap{flex-direction:column;flex:1;min-width:0;margin-left:252px;display:flex}.topbar{border-bottom:1px solid var(--gray-300);z-index:30;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:14px;min-width:0;display:flex}.hamburger{border:1.5px solid var(--gray-300);background:0 0;border-radius:8px;padding:8px;display:none}.page-title{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:800;overflow:hidden}.page-sub{color:var(--gray-500);font-size:11.5px}.topbar-right{align-items:center;gap:14px;display:flex}.user-chip{background:var(--gray-100);border-radius:30px;align-items:center;gap:9px;padding:6px 10px 6px 6px;display:flex}.user-avatar{background:var(--black);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12.5px;font-weight:700;display:flex}.user-meta{line-height:1.25}.user-meta .un{font-size:12.5px;font-weight:700}.user-meta .ur{color:var(--gray-500);font-size:10.5px}.content{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:24px}.sidebar-backdrop{z-index:35;background:#0006;display:none;position:fixed;inset:0}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--gray-300);border-radius:var(--radius);background:#fff;padding:18px}.card-title{margin-bottom:2px;font-size:13px;font-weight:700}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.section-head h2{font-size:17px}.section-head .desc{color:var(--gray-500);margin-top:2px;font-size:12px}.stat-card{flex-direction:column;gap:10px;display:flex}.stat-card .top{justify-content:space-between;align-items:center;display:flex}.stat-card .icon-wrap{background:var(--gray-900);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.stat-card .value{letter-spacing:-.02em;font-size:26px;font-weight:800}.stat-card .label{color:var(--gray-500);font-size:12px;font-weight:500}.balance-hero{background:linear-gradient(135deg,var(--black),var(--gray-900) 60%,var(--gray-700));color:#fff;border-radius:var(--radius-lg);padding:26px 24px;position:relative;overflow:hidden}.balance-hero .label{color:var(--gray-300);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.balance-hero .amount{letter-spacing:-.02em;margin:6px 0 14px;font-size:36px;font-weight:800}.balance-hero .amount.negative{color:#e7c9c9}.balance-hero .sub-row{border-top:1px solid #ffffff24;flex-wrap:wrap;gap:22px;padding-top:14px;display:flex}.balance-hero .sub-row .item .k{color:var(--gray-300);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.balance-hero .sub-row .item .v{margin-top:2px;font-size:15px;font-weight:700}.checkin-panel{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:22px 18px;display:flex}.checkin-clock{color:var(--gray-500);font-size:13px;font-weight:600}.checkin-status-msg{color:var(--gray-500);font-size:12.5px}.checkin-btns{gap:10px;width:100%;display:flex}.checkin-btns .btn{flex:1;padding:15px;font-size:14px}table{border-collapse:collapse;width:100%;font-size:13px}.table-wrap{border:1px solid var(--gray-300);border-radius:var(--radius);overflow-x:auto}thead th{background:var(--gray-900);color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:11px 14px;font-size:11.5px;font-weight:600}tbody td{border-bottom:1px solid var(--gray-100);white-space:nowrap;vertical-align:middle;padding:11px 14px}tbody tr:last-child td{border-bottom:none}.td-wrap{white-space:normal;min-width:140px}.cell-actions{gap:6px;display:flex}.badge{white-space:nowrap;border:1.5px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-solid{background:var(--gray-900);color:#fff}.badge-outline{color:var(--gray-900);border-color:var(--gray-900);background:#fff}.badge-muted{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-300)}.badge-light{color:var(--gray-500);border-color:var(--gray-300);background:#fff}.badge-accent{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.badge-danger{background:var(--danger-bg);color:#5a3a3a;border-color:var(--danger-border)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.search-input{flex:1;min-width:200px;max-width:320px;position:relative}.search-input .icon{color:var(--gray-500);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-input input{padding-left:34px}.tabs{background:var(--gray-100);border-radius:var(--radius-sm);flex-wrap:wrap;gap:4px;width:fit-content;padding:4px;display:flex}.tab-btn{color:var(--gray-700);background:0 0;border:none;border-radius:6px;padding:8px 14px;font-size:12.5px;font-weight:600}.tab-btn.active{background:var(--black);color:#fff}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.filter-row .field{min-width:150px;margin-bottom:0}.empty-state{text-align:center;color:var(--gray-500);padding:48px 20px}.empty-state .icon-wrap{background:var(--gray-100);width:52px;height:52px;color:var(--gray-500);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.empty-state .icon-wrap .icon{width:24px;height:24px}.empty-state .title{color:var(--gray-900);margin-bottom:4px;font-weight:700}.empty-state .desc{font-size:12.5px}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-box{border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:88vh;box-shadow:var(--shadow-lg);background:#fff;overflow-y:auto}.modal-head{border-bottom:1px solid var(--gray-100);background:#fff;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:sticky;top:0}.modal-head h3{font-size:15.5px}.modal-close{background:var(--gray-100);border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.modal-body{padding:20px 22px}.modal-foot{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.form-row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox-row{flex-wrap:wrap;gap:8px;display:flex}.day-chip{border:1.5px solid var(--gray-300);color:var(--gray-700);background:#fff;border-radius:20px;padding:7px 13px;font-size:12px;font-weight:600}.day-chip.active{background:var(--black);color:#fff;border-color:var(--black)}.switch{flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch-track{background:var(--gray-300);cursor:pointer;border-radius:20px;transition:all .15s;position:absolute;inset:0}.switch-track:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .15s;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--black)}.switch input:checked+.switch-track:before{transform:translate(18px)}#toastContainer{z-index:200;flex-direction:column;gap:10px;max-width:320px;display:flex;position:fixed;top:20px;right:20px}.toast{background:var(--gray-900);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;animation:.2s toastIn;display:flex}.toast .icon{flex-shrink:0;width:16px;height:16px}.toast.error{background:#3a2c2c}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.global-tooltip{z-index:1000;color:#fff;letter-spacing:.01em;text-align:center;pointer-events:none;opacity:0;visibility:hidden;background:#111311;border:1px solid #ffffff24;border-radius:7px;max-width:240px;padding:7px 10px;font-size:10.5px;font-weight:650;line-height:1.35;transition:opacity .12s,transform .12s,visibility .12s;position:fixed;transform:translateY(3px)scale(.98);box-shadow:0 8px 24px #00000038}.global-tooltip.show{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.global-tooltip:after{content:"";background:#111311;width:7px;height:7px;position:absolute;left:50%;transform:translate(-50%)rotate(45deg)}.global-tooltip[data-placement=top]:after{border-bottom:1px solid #ffffff24;border-right:1px solid #ffffff24;top:calc(100% - 4px)}.global-tooltip[data-placement=bottom]:after{border-top:1px solid #ffffff24;border-left:1px solid #ffffff24;bottom:calc(100% - 4px)}[data-tooltip]{cursor:help}button[data-tooltip],a[data-tooltip],[role=button][data-tooltip]{cursor:pointer}.divider{background:var(--gray-100);height:1px;margin:18px 0}.muted{color:var(--gray-500)}.small{font-size:12px}.mono{font-variant-numeric:tabular-nums}.text-right{text-align:right}.flex{display:flex}.items-center{align-items:center}.gap-8{gap:8px}.gap-12{gap:12px}.between{justify-content:space-between}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.w-full{width:100%}.progress-bar{background:var(--gray-100);border-radius:20px;height:7px;overflow:hidden}.progress-bar .fill{background:var(--gray-900);border-radius:20px;height:100%}.list-plain{margin:0;padding:0;list-style:none}.list-plain li{border-bottom:1px solid var(--gray-100);justify-content:space-between;padding:9px 0;font-size:13px;display:flex}.list-plain li:last-child{border-bottom:none}@media(max-width:980px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}@media(max-width:860px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block}.main-wrap{margin-left:0}.hamburger{display:flex}.content{padding:16px}.grid-4{grid-template-columns:repeat(2,1fr)}.form-row-2{grid-template-columns:1fr}.filter-row .field{flex:1;min-width:130px}.user-meta{display:none}}@media(max-width:520px){.grid-4,.grid-3{grid-template-columns:1fr 1fr}.checkin-btns{flex-direction:column}}:root{--canvas:#f5f5f2;--surface:#fff;--line:#deded8;--line-strong:#c8c8c0;--ink:#151515;--ink-soft:#5f615e;--brand:#171a18;--success:#345c47;--success-bg:#edf5f0;--warning:#765d22;--warning-bg:#faf4e5;--danger:#7a4141;--danger-bg:#f8eeee;--shadow-soft:0 1px 2px #0000000a,0 12px 32px #0000000a}body{background:var(--canvas);color:var(--ink);font-feature-settings:"cv02","cv03","cv04","cv11"}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.btn{border-radius:9px;min-height:40px;box-shadow:0 1px 1px #0000000f}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px #0000001a}.btn:active{transform:translateY(0)scale(.99)}.btn-outline,.btn-danger-outline,.btn-ghost{box-shadow:none}.btn-icon{width:40px;padding:0;position:relative}.notification-dot{background:#8a5555;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}#loginScreen{background:#111311;padding:20px}.login-shell{background:#fff;border:1px solid #30332f;border-radius:18px;grid-template-columns:1.04fr .96fr;width:min(1060px,100%);display:grid;overflow:hidden;box-shadow:0 24px 70px #00000047}.login-story{color:#fff;background:#151715;border-right:1px solid #30332f;flex-direction:column;justify-content:space-between;min-height:640px;padding:44px 48px 38px;display:flex}.story-brand{align-items:center;gap:11px;display:flex}.story-mark{color:#111;background:0 0;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.story-brand strong{font-size:15px}.story-brand span{color:#949993;margin-top:1px;font-size:10.5px;display:block}.story-copy{max-width:450px}.story-eyebrow{color:#9fa49e;text-transform:uppercase;margin-bottom:18px;font-size:10px;font-weight:700}.story-copy h1{text-wrap:balance;max-width:430px;margin-bottom:18px;font-size:43px;line-height:1.08}.story-copy>p{color:#b9bdb8;text-wrap:pretty;max-width:420px;font-size:13.5px;line-height:1.7}.story-workflow{border-top:1px solid #343734;border-bottom:1px solid #343734;margin-top:30px}.story-workflow-row{border-bottom:1px solid #2b2e2b;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;padding:13px 0;display:grid}.story-workflow-row:last-child{border-bottom:0}.story-workflow-icon{color:#e5e7e3;border:1px solid #3b3e3b;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.story-workflow-icon .icon{width:15px;height:15px}.story-workflow-row b{margin-bottom:2px;font-size:11.5px;display:block}.story-workflow-row p{color:#929791;font-size:10.5px;line-height:1.45}.story-footer{color:#8f948d;align-items:center;gap:8px;font-size:10.5px;display:flex}.story-status-dot{background:#bfc3bd;border-radius:50%;width:6px;height:6px}.login-card{max-width:none;box-shadow:none;border-radius:0;flex-direction:column;justify-content:center;padding:52px 48px;display:flex}.login-brand{display:none}.login-heading{margin-bottom:24px}.login-heading h2{margin-bottom:7px;font-size:26px}.login-heading p{color:var(--ink-soft);font-size:12.5px}.role-toggle{border:1px solid var(--line);background:#f2f2ef;margin-bottom:22px;padding:5px}.role-toggle button{min-height:42px}.role-toggle button.active{box-shadow:0 2px 8px #00000029}.field input,.field select,.field textarea,.search-input input{border:1px solid var(--line-strong);background:#fff;border-radius:9px;outline:none;min-height:42px}.field input:focus,.field select:focus,.field textarea:focus,.search-input input:focus{border-color:#555;box-shadow:0 0 0 3px #00000012}.login-note{border-color:var(--line);background:#f7f7f4;border-radius:10px;line-height:1.55}.login-note b{color:var(--ink);margin-bottom:2px;font-size:11.5px;display:block}.sidebar{background:#171917;border-right:1px solid #ffffff0f;width:264px}.sidebar-header{height:72px;padding:18px 20px}.sidebar-header .mark{border-radius:10px}.sidebar-nav{padding:12px}.nav-section-label{color:#777d76;letter-spacing:.1em;padding:17px 10px 7px;font-size:9.5px}.nav-item{color:#b8bcb6;border-radius:9px;min-height:42px;transition:background .15s,color .15s,transform .15s}.nav-item.active{color:#151615;background:#f4f4f1;box-shadow:0 1px #ffffff14}.main-wrap{margin-left:264px}.topbar{border-color:var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;height:72px;padding:0 28px}.page-title{letter-spacing:-.025em;font-size:17px}.page-sub{color:#747670;margin-top:1px}.topbar-right{gap:9px}.context-pill{border:1px solid var(--line);height:36px;color:var(--ink-soft);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:11px;display:flex}.user-chip{border:1px solid var(--line);background:#fff;padding:5px 10px 5px 5px}.content{max-width:1440px;padding:30px 32px 56px;animation:.18s contentIn}.content>*{min-width:0}@keyframes contentIn{0%{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}.card{border-color:var(--line);box-shadow:var(--shadow-soft);border-radius:14px;padding:20px}.card-title{font-size:13.5px}.section{margin-bottom:22px}.section-head{margin-bottom:13px}.section-head h2{letter-spacing:-.025em;font-size:18px}.stat-card{gap:13px;min-height:152px;position:relative;overflow:hidden}.stat-card:after{content:"";background:#f1f1ed;border-radius:50%;width:70px;height:70px;position:absolute;top:-28px;right:-26px}.stat-card .top{z-index:1;position:relative}.stat-card .icon-wrap{color:#252725;background:#eff0ec;border-radius:11px;width:38px;height:38px}.stat-card .value{font-size:30px;line-height:1}.stat-card .label{color:#696c66;font-size:11.5px}.stat-meta{color:#858780;margin-top:auto;font-size:10.5px}.balance-hero{background:radial-gradient(circle at 88% 10%,#ffffff26,#0000 25%),linear-gradient(140deg,#20231f,#0d0e0d);border-radius:18px;padding:28px;box-shadow:0 18px 40px #00000029}.balance-hero .amount{margin:8px 0 18px;font-size:40px}.checkin-panel{border-style:solid;justify-content:center}.dashboard-intro{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.dashboard-intro h1{letter-spacing:-.04em;margin-bottom:5px;font-size:25px}.dashboard-intro p{color:var(--ink-soft);font-size:12.5px}.quick-actions{flex-wrap:wrap;gap:8px;display:flex}.metric-row{gap:8px;margin-top:18px;display:flex}.metric-segment{background:#222;border-radius:999px;min-width:10px;height:9px}.metric-segment.late{background:#9b854b}.metric-segment.alpha{background:#936060}.metric-segment.empty{background:#dfe0db}.approval-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.approval-item{border:1px solid var(--line);background:#fafaf8;border-radius:11px;align-items:center;gap:11px;padding:11px;display:flex}.approval-icon{background:#ecede9;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.approval-copy{flex:1;min-width:0}.approval-copy b{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;display:block;overflow:hidden}.approval-copy span{color:var(--ink-soft);font-size:10.5px}.table-wrap{border-color:var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:13px}tbody td{border-color:#ecece8;padding:13px 14px}tbody tr:hover{background:#f3f3ef}.badge{padding:4px 9px;font-size:10.5px}.badge-outline{color:var(--success);background:var(--success-bg);border-color:#89a495}.badge-accent{color:var(--warning);background:var(--warning-bg);border-color:#c3ad75}.tabs{border:1px solid var(--line);background:#ecede9;flex-wrap:nowrap;max-width:100%;overflow:auto}.tab-btn{white-space:nowrap;border-radius:7px}.toolbar,.filter-row{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:13px;padding:12px}.toolbar .search-input{max-width:420px}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-box{border:1px solid #ffffff4d;border-radius:18px}.modal-head{z-index:2;border-color:var(--line)}.toast{border:1px solid #ffffff24;border-radius:10px}.negative-text{color:var(--danger)}.calendar-page{flex-direction:column;gap:16px;display:flex}.calendar-toolbar{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.calendar-nav{align-items:center;gap:8px;display:flex}.calendar-period-trigger{appearance:none;min-width:190px;min-height:40px;color:var(--ink);text-align:center;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:7px 11px;font-size:20px;font-weight:750;display:inline-flex}.calendar-period-trigger .icon{color:#777a74;width:16px;height:16px}.calendar-nav .btn-icon{width:36px;height:36px;min-height:36px}.calendar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-picker-current{border:1px solid var(--line);background:#f7f7f4;border-radius:11px;align-items:center;gap:10px;margin-bottom:14px;padding:11px 12px;display:flex}.calendar-picker-current .icon{width:18px;height:18px}.calendar-picker-current b{font-size:13px;display:block}.calendar-picker-current span{color:var(--ink-soft);margin-top:1px;font-size:10.5px;display:block}.calendar-month-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.calendar-month-option{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);background:#fff;border-radius:9px;padding:8px;font-size:12px;font-weight:650}.calendar-month-option:hover{background:#f4f4f1;border-color:#8b8d87}.calendar-month-option.active{background:var(--brand);border-color:var(--brand);color:#fff}.calendar-filterbar{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:13px 14px;display:flex}.calendar-filterbar .field{min-width:180px;margin:0}.calendar-filterbar .field label{text-transform:uppercase;letter-spacing:.06em;font-size:10px}.calendar-filterbar .field select{min-height:38px;padding:8px 32px 8px 10px;font-size:12px}.calendar-filterbar .calendar-type-field{flex:1;min-width:260px;max-width:340px}.calendar-filter-dropdown{position:relative}.calendar-filter-dropdown summary{border:1px solid var(--line-strong);min-height:38px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:9px;align-items:center;gap:9px;padding:8px 10px;list-style:none;display:flex}.calendar-filter-dropdown summary::-webkit-details-marker{display:none}.calendar-filter-dropdown[open] summary{border-color:#555;box-shadow:0 0 0 3px #0000000f}.calendar-filter-summary-icon{background:#f0f1ed;border-radius:8px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.calendar-filter-summary-icon .icon{width:14px;height:14px}.calendar-filter-summary-copy{flex:1;min-width:0}.calendar-filter-summary-copy b{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.calendar-filter-summary-copy span{color:#7a7d77;margin-top:1px;font-size:9px;display:block}.calendar-filter-count{color:#666963;border:1px solid var(--line);white-space:nowrap;background:#f2f2ef;border-radius:999px;padding:3px 7px;font-size:9.5px;font-weight:700}.calendar-filter-chevron{color:#777a74;width:15px;height:15px}.calendar-filter-dropdown[open] .calendar-filter-chevron{transform:rotate(180deg)}.calendar-filter-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:12px;width:min(340px,100vw - 48px);padding:10px;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 16px 36px #00000024}.calendar-filter-menu-head{justify-content:space-between;align-items:center;gap:8px;padding:2px 2px 8px;display:flex}.calendar-filter-menu-head b{font-size:11.5px}.calendar-filter-menu-actions{gap:3px;display:flex}.calendar-filter-link{color:#62655f;background:0 0;border:0;border-radius:7px;min-height:36px;padding:6px 8px;font-size:10px;font-weight:650}.calendar-filter-link:hover{color:var(--ink);background:#f2f2ef}.calendar-filter-options{grid-template-columns:1fr 1fr;gap:5px;display:grid}.calendar-filterbar .field .calendar-filter-option{cursor:pointer;text-transform:none;letter-spacing:normal;background:#fafaf8;border:1px solid #e5e5e0;border-radius:9px;align-items:center;gap:8px;min-width:0;min-height:42px;margin:0;padding:8px 9px;font-size:10.5px;display:flex}.calendar-filter-option:hover{background:#f3f3ef;border-color:#cecec7}.calendar-filter-option input{width:16px;height:16px;min-height:16px;box-shadow:none;accent-color:var(--brand);border:0;border-radius:3px;flex:none;margin:0;padding:0}.calendar-filter-option span:last-child{min-width:0;font-size:10.5px;font-weight:600;line-height:1.25}.calendar-filter-dot{background:#aaa;border-radius:50%;flex:none;width:7px;height:7px}.calendar-filter-dot[data-type=jadwal]{background:#73766f}.calendar-filter-dot[data-type=hadir]{background:#527a62}.calendar-filter-dot[data-type=telat]{background:#9b7c32}.calendar-filter-dot[data-type=cuti]{background:#64778a}.calendar-filter-dot[data-type=libur]{background:#a2a49e}.calendar-filter-dot[data-type=lembur]{background:#66577c}.calendar-filter-dot[data-type=alpha]{background:#925757}.calendar-filter-dot[data-type=pending]{background:#a58a50}.calendar-filter-menu-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:7px;padding:9px 2px 1px;display:flex}.calendar-filter-menu-foot span{color:#777a74;font-size:9.5px}.calendar-filter-menu-foot .btn{min-height:36px;padding:7px 11px;font-size:11px}.calendar-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:16px;display:grid}.calendar-scroll{box-shadow:var(--shadow-soft);border-radius:15px;overflow-x:auto}.calendar-board{border:1px solid var(--line);background:#fff;border-radius:15px;min-width:790px;overflow:hidden}.calendar-weekdays{border-bottom:1px solid var(--line);background:#eeefea;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays div{color:#696c66;text-transform:uppercase;letter-spacing:.08em;text-align:right;padding:11px 12px;font-size:9.5px;font-weight:750}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-day{appearance:none;text-align:left;background:#fff;border:1px solid #e8e9e4;border-top:0;border-left:0;flex-direction:column;gap:7px;min-width:0;min-height:146px;padding:9px;display:flex;position:relative}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day:hover{background:#f8f8f5}.calendar-day.weekend{background:#fbfbf8}.calendar-day.other-month{color:#adaea9;background:#f6f6f3}.calendar-day.selected{z-index:1;box-shadow:inset 0 0 0 2px #262826}.calendar-day.today .calendar-date{color:#fff;background:#191b19}.calendar-date-row{justify-content:space-between;align-items:center;gap:6px;min-height:24px;display:flex}.calendar-date{font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:11px;font-weight:750;display:flex}.calendar-day-mark{color:#8b8d87;white-space:nowrap;text-overflow:ellipsis;max-width:76px;font-size:8.5px;overflow:hidden}.calendar-events{flex-direction:column;gap:4px;min-width:0;display:flex}.cal-event{white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:5px 6px;font-size:9.5px;font-weight:650;line-height:1.2;display:flex;overflow:hidden}.cal-event:before{content:"";background:#777;border-radius:50%;flex:none;width:5px;height:5px}.cal-event.jadwal{color:#555853;background:#f0f1ed;border-color:#d9dad5}.cal-event.jadwal:before{background:#73766f}.cal-event.hadir{color:#345c47;background:#edf5f0;border-color:#d1e3d8}.cal-event.hadir:before{background:#527a62}.cal-event.telat{color:#765d22;background:#faf4e5;border-color:#e9dcae}.cal-event.telat:before{background:#9b7c32}.cal-event.cuti{color:#455a6d;background:#eef1f4;border-color:#d4dce3}.cal-event.cuti:before{background:#64778a}.cal-event.libur{color:#70736d;background:#f2f2f0;border-color:#dfe0dc}.cal-event.libur:before{background:#a2a49e}.cal-event.lembur{color:#594a6d;background:#f2eff5;border-color:#ddd5e5}.cal-event.lembur:before{background:#66577c}.cal-event.alpha{color:#7a4141;background:#f8eeee;border-color:#ecd1d1}.cal-event.alpha:before{background:#925757}.cal-event.pending{color:#7a642e;background:#fbf7ec;border:1px dashed #c8b57c}.cal-event.pending:before{background:#a58a50}.calendar-more{color:#777a74;padding:1px 6px;font-size:9px;font-weight:700}.calendar-side{flex-direction:column;gap:12px;display:flex;position:sticky;top:88px}.calendar-detail-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:14px;padding:17px}.calendar-detail-date{border-bottom:1px solid var(--line);align-items:center;gap:11px;margin-bottom:14px;padding-bottom:14px;display:flex}.calendar-date-tile{color:#fff;background:#1a1c1a;border-radius:11px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:46px;height:50px;display:flex}.calendar-date-tile b{font-size:19px;line-height:1}.calendar-date-tile span{text-transform:uppercase;letter-spacing:.08em;color:#c9ccc7;margin-top:4px;font-size:8px}.calendar-detail-date h3{margin:0;font-size:14px}.calendar-detail-date p{color:var(--ink-soft);margin-top:3px;font-size:10.5px}.calendar-summary{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px;display:grid}.calendar-summary div{background:#f5f5f2;border:1px solid #e5e5e0;border-radius:9px;min-width:0;padding:9px 7px}.calendar-summary b{font-size:15px;display:block}.calendar-summary span{color:#7e807a;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:8px;display:block;overflow:hidden}.calendar-detail-list{flex-direction:column;gap:8px;max-height:340px;display:flex;overflow-y:auto}.calendar-detail-item{border:1px solid var(--line);background:#fafaf8;border-radius:10px;gap:9px;padding:9px;display:flex}.calendar-detail-icon{background:#ecede9;border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.calendar-detail-icon .icon{width:14px;height:14px}.calendar-detail-copy{flex:1;min-width:0}.calendar-detail-copy b{font-size:11.5px;display:block}.calendar-detail-copy span{color:#747670;margin-top:2px;font-size:9.5px;line-height:1.45;display:block}.calendar-note{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.calendar-note textarea{resize:vertical;min-height:82px}.calendar-insight{color:#646760;background:#f3f4f0;border-radius:10px;align-items:flex-start;gap:9px;margin-bottom:12px;padding:10px;font-size:10.5px;line-height:1.5;display:flex}.calendar-insight .icon{width:15px;height:15px;margin-top:1px}.notification-dot.hidden-dot{display:none}.notification-layout{flex-direction:column;gap:16px;display:flex}.notification-compose-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:start;gap:16px;display:grid}.notification-form-card,.notification-preview-panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:14px;padding:20px}.notification-form-card h2,.notification-preview-panel h2{letter-spacing:-.025em;margin-bottom:4px;font-size:16px}.notification-recipient-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.notification-preview{border:1px solid var(--line);background:#f7f7f4;border-radius:13px;flex-direction:column;gap:12px;min-height:170px;padding:16px;display:flex;position:relative;overflow:hidden}.notification-preview:after{content:"";background:#00000009;border-radius:50%;width:100px;height:100px;position:absolute;top:-46px;right:-44px}.notification-preview.urgent{background:#f8eeee;border-color:#d8b8b8}.notification-preview.reminder{background:#faf5e9;border-color:#e3d3a8}.notification-preview.info{background:#f2f4f3}.notification-preview-head{z-index:1;justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.notification-preview-icon{color:#fff;background:#1a1c1a;border-radius:11px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.notification-preview-icon .icon{width:18px;height:18px}.notification-preview h3{z-index:1;margin:0;font-size:15px;position:relative}.notification-preview p{color:#62655f;white-space:pre-line;z-index:1;font-size:12px;line-height:1.65;position:relative}.notification-preview-meta{color:#787b75;z-index:1;border-top:1px solid #00000014;justify-content:space-between;gap:10px;margin-top:auto;padding-top:11px;font-size:9.5px;display:flex;position:relative}.notification-audience-summary{border:1px solid var(--line);color:#686b65;background:#fafaf8;border-radius:10px;align-items:center;gap:9px;margin-top:12px;padding:10px 11px;font-size:11px;display:flex}.notification-audience-summary .icon{width:16px;height:16px}.notification-history-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.notification-feed{flex-direction:column;gap:9px;display:flex}.notification-feed-item{border:1px solid var(--line);text-align:left;background:#fafaf8;border-radius:11px;align-items:flex-start;gap:11px;width:100%;padding:12px;display:flex;position:relative}.notification-feed-item:hover{background:#f3f3ef}.notification-feed-item.unread{background:#fff;border-color:#aeb2ac;box-shadow:inset 3px 0 #1d201d}.notification-feed-item.urgent.unread{box-shadow:inset 3px 0 #8a4a4a}.notification-feed-icon{color:#30332f;background:#ecede9;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notification-feed-item.urgent .notification-feed-icon{color:#744141;background:#f2dede}.notification-feed-item.reminder .notification-feed-icon{color:#715d2d;background:#f3ebd8}.notification-feed-content{flex:1;min-width:0}.notification-feed-content b{font-size:12.5px;display:block}.notification-feed-content p{color:#666963;white-space:normal;margin-top:3px;font-size:10.5px;line-height:1.55}.notification-feed-content span{color:#8a8d87;margin-top:6px;font-size:9px;display:block}.notification-unread-mark{background:#262926;border-radius:50%;width:7px;height:7px;position:absolute;top:12px;right:11px}.notification-feed-item.urgent .notification-unread-mark{background:#8a4a4a}.notification-center-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.notification-read-stat{color:#747770;font-size:10px}.modal-box.modal-wide{width:min(680px,100vw - 40px);min-width:0;max-width:680px}.page-help-row{justify-content:flex-end;margin-bottom:12px;display:flex}.alert-banner{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;align-items:flex-start;gap:11px;margin-bottom:16px;padding:13px 14px;display:flex}.alert-banner .icon{flex:none;width:18px;height:18px;margin-top:1px}.alert-banner b{margin-bottom:3px;font-size:12.5px;display:block}.alert-banner p{color:var(--ink-soft);margin:0;font-size:10.5px;line-height:1.55}.alert-banner.warning{background:var(--warning-bg);color:var(--warning);border-color:#d9c48d}.alert-banner.danger{background:var(--danger-bg);color:var(--danger);border-color:#d7b0b0}.alert-banner.success{background:var(--success-bg);color:var(--success);border-color:#a9c7b5}.income-limit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.income-limit-grid>div{background:#ffffff17;border-radius:9px;min-width:0;padding:10px}.income-limit-grid span{text-transform:uppercase;letter-spacing:.05em;color:#c4c7c1;font-size:8.5px;display:block}.income-limit-grid b{overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.profile-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:16px;display:grid}.profile-identity{align-items:center;gap:13px;display:flex}.profile-avatar{color:#fff;background:#181a18;border-radius:16px;justify-content:center;align-items:center;width:58px;height:58px;font-size:21px;font-weight:800;display:flex}.profile-meta-list{gap:9px;margin-top:16px;display:grid}.profile-meta-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding-bottom:9px;font-size:11.5px;display:flex}.profile-meta-row span{color:var(--ink-soft)}.profile-meta-row b{text-align:right;overflow-wrap:anywhere}.payment-method-card{border:1px solid var(--line);background:#fafaf8;border-radius:11px;margin-top:10px;padding:12px}.payment-method-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.payment-method-card p{color:var(--ink-soft);font-size:10.5px;line-height:1.5}.qr-preview{border:1px dashed var(--line-strong);text-align:center;width:100%;min-height:170px;color:var(--ink-soft);background:#f6f6f3;border-radius:12px;justify-content:center;align-items:center;padding:10px;font-size:11px;display:flex;overflow:hidden}.qr-preview img{object-fit:contain;border-radius:8px;max-width:100%;max-height:260px;display:block}.payment-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.payment-choice{position:relative}.payment-choice input{opacity:0;pointer-events:none;position:absolute}.payment-choice label{border:1px solid var(--line-strong);text-align:center;cursor:pointer;background:#fff;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:7px;height:100%;min-height:84px;padding:11px 8px;font-size:10.5px;font-weight:700;display:flex}.payment-choice label .icon{width:19px;height:19px}.payment-choice input:checked+label{background:#f0f1ed;border-color:#171a18;box-shadow:inset 0 0 0 1px #171a18}.tutorial-shell{grid-template-columns:150px minmax(0,1fr);min-height:380px;display:grid}.tutorial-index{border-right:1px solid var(--line);background:#f3f3ef;padding:15px 12px}.tutorial-index-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em;margin-bottom:9px;font-size:9px}.tutorial-index-item{text-align:left;color:#70736d;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;width:100%;padding:7px 8px;font-size:10px;display:flex}.tutorial-index-item.active{color:#fff;background:#171a18}.tutorial-index-item.done:before{content:"✓";font-weight:800}.tutorial-step{flex-direction:column;padding:24px 26px;display:flex}.tutorial-step-icon{color:#fff;background:#1b1d1b;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:18px;display:flex}.tutorial-step-icon .icon{width:20px;height:20px}.tutorial-step h3{letter-spacing:-.025em;margin-bottom:8px;font-size:19px}.tutorial-step>p{color:var(--ink-soft);font-size:12px;line-height:1.7}.tutorial-points{gap:8px;margin:15px 0 0;padding:0;list-style:none;display:grid}.tutorial-points li{color:#4f524d;gap:8px;font-size:11px;line-height:1.55;display:flex}.tutorial-points li:before{content:"•";color:#171a18;font-weight:900}.tutorial-progress{background:#e3e4df;border-radius:999px;height:5px;margin-top:auto;overflow:hidden}.tutorial-progress span{background:#171a18;border-radius:999px;height:100%;display:block}.tutorial-location{color:#666963;background:#f3f3ef;border-radius:8px;align-items:center;gap:6px;width:fit-content;margin-top:12px;padding:7px 9px;font-size:9.5px;font-weight:650;display:inline-flex}.tutorial-target{outline-offset:3px;z-index:2;position:relative;outline:3px solid #a98d45!important}.modal-box.modal-tutorial{width:min(820px,100vw - 40px);max-width:820px}.field-error{color:var(--danger);margin-top:5px;font-size:10px;display:none}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#b66e6e;box-shadow:0 0 0 3px #7a414114}.field.has-error .field-error{display:block}.payment-snapshot{border:1px solid var(--line);overflow-wrap:anywhere;background:#fafaf8;border-radius:10px;padding:11px;font-size:11px;line-height:1.55}@media(max-width:1100px){.notification-compose-grid{grid-template-columns:1fr}.notification-preview-panel{grid-template-columns:1fr 1fr;gap:16px;display:grid}.notification-preview-panel>div:first-child{grid-column:1/-1}}@media(max-width:1380px){.calendar-layout{grid-template-columns:1fr}.calendar-side{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:static}.calendar-detail-card:last-child{grid-column:span 1}}@media(max-width:980px){.login-shell{grid-template-columns:1fr;max-width:520px}.login-story{display:none}.login-card{padding:42px}.login-brand{display:flex}.topbar-context .context-pill:first-child{display:none}}@media(max-width:860px){.main-wrap{margin-left:0}.topbar{padding:0 16px}.content{padding:22px 16px 86px}.dashboard-intro{flex-direction:column;align-items:flex-start}#employeeApp .sidebar,#employeeApp .hamburger{display:none}}@media(max-width:640px){html{background:var(--canvas)}body{font-size:13px}h1,h2,h3,h4{text-wrap:balance}p{overflow-wrap:anywhere;text-wrap:pretty}.value,.amount,table{font-variant-numeric:tabular-nums}#loginScreen{background:#fff;align-items:stretch;padding:0}.login-shell{border:0;border-radius:0;min-height:100dvh}.login-card{justify-content:center;padding:28px 20px}.login-heading{margin-bottom:20px}.login-heading h2{font-size:23px}.role-toggle{margin-bottom:18px}.role-toggle button{padding:8px 5px;font-size:11px;line-height:1.25}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;height:60px;padding:0 12px}.topbar-left{gap:9px}.page-title{max-width:210px;font-size:15px}.page-sub,.topbar-context,.user-meta{display:none}.topbar .user-chip{cursor:pointer;background:0 0;border:0;padding:3px;display:flex}.topbar .user-chip .user-avatar{width:36px;height:36px}.hamburger,.topbar .btn-icon{justify-content:center;align-items:center;width:40px;height:40px;min-height:40px;padding:0}.content{padding:16px 12px calc(90px + env(safe-area-inset-bottom));animation:none}.sidebar{width:min(286px,86vw)}.sidebar-header{height:64px;padding:14px 16px}.sidebar-nav{padding:8px 10px 12px}.nav-section-label{padding:13px 10px 5px}.nav-item{min-height:44px;padding:10px 12px}.sidebar-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.grid{gap:10px}.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid-2{grid-template-columns:1fr}.section{margin-bottom:14px}.card{border-radius:12px;padding:14px}.section-head{align-items:flex-start;margin-bottom:11px}.section-head h2{font-size:16px}.card-title{font-size:13px}.small{font-size:11px}.divider{margin:14px 0}.list-plain li{gap:12px;padding:8px 0;font-size:12px}.empty-state{padding:28px 14px}.empty-state .icon-wrap{width:44px;height:44px;margin-bottom:10px}.stat-card{gap:7px;min-height:108px;padding:13px}.stat-card:after{width:56px;height:56px;top:-23px;right:-23px}.stat-card .icon-wrap{border-radius:9px;width:32px;height:32px}.stat-card .icon-wrap .icon{width:16px;height:16px}.stat-card .top .badge{text-overflow:ellipsis;max-width:76px;overflow:hidden}.stat-card .value{font-size:24px}.stat-card .label{font-size:10.5px;line-height:1.3}.stat-meta{white-space:nowrap;text-overflow:ellipsis;font-size:9px;line-height:1.3;overflow:hidden}.dashboard-intro{gap:13px;margin-bottom:16px}.dashboard-intro h1{font-size:22px}.dashboard-intro p{font-size:11px}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;display:grid}.quick-actions .btn{white-space:normal;min-width:0;min-height:48px;padding:7px 4px;font-size:10.5px;line-height:1.2}.quick-actions .icon{width:15px;height:15px}.balance-hero{border-radius:15px;padding:20px}.balance-hero .label{font-size:10px}.balance-hero .amount{margin:6px 0 14px;font-size:30px}.balance-hero .sub-row{gap:12px 18px;padding-top:12px}.balance-hero .sub-row .item{min-width:0}.balance-hero .sub-row .item .k{font-size:8.5px}.balance-hero .sub-row .item .v{overflow-wrap:anywhere;font-size:12px}.checkin-panel{gap:11px;padding:16px 14px}.checkin-btns{flex-direction:row;gap:8px}.checkin-btns .btn{min-width:0;min-height:48px;padding:10px 5px;font-size:12px}.approval-item{min-height:54px;padding:10px}.btn{min-height:44px;padding:9px 13px;font-size:12.5px}.btn-sm{min-height:40px;padding:8px 10px;font-size:11.5px}.btn-icon,.cell-actions .btn{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.cell-actions{justify-content:flex-end;gap:8px}.field{margin-bottom:12px}.field label{margin-bottom:5px;font-size:11.5px}.field input,.field select,.field textarea,.search-input input{min-height:44px;font-size:13px}.toolbar{grid-template-columns:1fr;gap:8px;padding:10px;display:grid}.toolbar .search-input{width:100%;min-width:0;max-width:none}.toolbar>.btn{width:100%}.filter-row{gap:9px;padding:10px}.filter-row .field{min-width:100%}.tabs{scrollbar-width:none;width:100%}.tabs::-webkit-scrollbar{display:none}.calendar-legend::-webkit-scrollbar{display:none}.tab-btn,.day-chip{min-height:40px}.tab-btn{padding:8px 12px}.table-wrap.mobile-cards{box-shadow:none;background:0 0;border:0;overflow:visible}.mobile-cards table,.mobile-cards tbody,.mobile-cards tr,.mobile-cards td{width:100%;display:block}.mobile-cards thead{display:none}.mobile-cards tr{border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:12px;margin-bottom:9px;padding:7px 12px;background:#fff!important}.mobile-cards td{white-space:normal;text-align:right;overflow-wrap:anywhere;border-bottom:1px solid #eeefea;grid-template-columns:minmax(82px,36%) minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;display:grid}.mobile-cards td:before{content:attr(data-label);text-transform:uppercase;color:#7b7d77;text-align:left;font-size:8.5px;font-weight:700;line-height:1.25}.mobile-cards td:last-child{border-bottom:0}.mobile-cards .cell-actions{justify-content:flex-end}.mobile-cards td[colspan]{text-align:center;display:block}.mobile-cards td[colspan]:before{display:none}.dense-mobile-cards tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;display:grid}.dense-mobile-cards td{text-align:left;width:auto;min-width:0;display:block}.dense-mobile-cards td:before{margin-bottom:4px;display:block}.dense-mobile-cards td:first-child,.dense-mobile-cards td:last-child,.dense-mobile-cards td[colspan]{grid-column:1/-1}.dense-mobile-cards .cell-actions{justify-content:flex-start;margin-top:5px}.employee-table.dense-mobile-cards td:nth-child(2){grid-area:1/1/auto/-1}.employee-table.dense-mobile-cards td:first-child{grid-area:2/1}.employee-table.dense-mobile-cards td:nth-child(9){grid-area:2/2}.employee-table.dense-mobile-cards td:nth-child(3){grid-area:3/1}.employee-table.dense-mobile-cards td:nth-child(4){grid-area:3/2}.employee-table.dense-mobile-cards td:nth-child(5){grid-area:4/1}.employee-table.dense-mobile-cards td:nth-child(6){grid-area:4/2}.employee-table.dense-mobile-cards td:nth-child(7){grid-area:5/1}.employee-table.dense-mobile-cards td:nth-child(8){grid-area:5/2}.employee-table.dense-mobile-cards td:nth-child(10){grid-area:6/1/auto/-1}.calendar-page{gap:12px}.calendar-toolbar{border-radius:12px;gap:10px;padding:11px}.calendar-nav{grid-template-columns:40px 62px minmax(0,1fr) 40px;gap:6px;width:100%;display:grid}.calendar-period-trigger{white-space:nowrap;width:100%;min-width:0;min-height:40px;padding:5px 4px;font-size:15px;overflow:hidden}.calendar-period-trigger span{text-overflow:ellipsis;overflow:hidden}.calendar-nav .btn-icon{width:40px;height:40px;min-height:40px}.calendar-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;display:grid}.calendar-actions .btn{white-space:normal;width:100%;min-width:0;min-height:44px;padding:7px 4px;font-size:10.5px;line-height:1.2}.calendar-actions .icon{width:15px;height:15px}.calendar-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.calendar-month-option{min-height:44px;padding:7px 4px;font-size:11.5px}.calendar-filterbar{border-radius:12px;gap:8px;padding:10px}.calendar-filterbar .field{min-width:100%}.calendar-filterbar .calendar-type-field{min-width:100%;max-width:none}.calendar-filter-dropdown summary{min-height:44px;padding:7px 9px}.calendar-filter-menu{width:100%}.calendar-filter-link{min-height:40px}.calendar-filterbar .field .calendar-filter-option{min-height:44px}.calendar-filterbar .calendar-filter-option input{width:16px;height:16px;min-height:16px;padding:0}.calendar-filter-menu-foot .btn{min-height:40px}.calendar-scroll{border-radius:12px;overflow:visible}.calendar-board{border-radius:12px;width:100%;min-width:0}.calendar-weekdays div{text-align:center;padding:8px 1px;font-size:7px;overflow:hidden}.calendar-day{align-items:center;gap:4px;min-height:70px;padding:5px 3px}.calendar-date-row{justify-content:center;width:100%;min-height:24px}.calendar-date{width:24px;height:24px;font-size:10px}.calendar-day-mark{display:none}.calendar-events{flex-flow:wrap;place-content:flex-start center;gap:3px;width:100%;min-height:18px}.cal-event{border-width:0;border-radius:50%;width:7px;min-width:7px;height:7px;padding:0;font-size:0;display:block}.cal-event:before,.calendar-more{display:none}.calendar-side{grid-template-columns:1fr;gap:10px}.calendar-detail-card{border-radius:12px;padding:14px}.calendar-detail-card:last-child{grid-column:auto}.calendar-detail-date{margin-bottom:11px;padding-bottom:11px}.calendar-date-tile{width:42px;height:46px}.calendar-summary{margin-bottom:11px}.calendar-summary div{padding:8px 6px}.notification-layout{gap:12px}.notification-recipient-fields{grid-template-columns:1fr;gap:0}.notification-form-card,.notification-preview-panel{border-radius:12px;padding:14px}.notification-preview-panel{display:block}.notification-preview{gap:9px;min-height:142px;padding:13px}.notification-preview-icon{width:34px;height:34px}.notification-preview-meta{flex-wrap:wrap}.notification-form-card>.flex.between{flex-direction:column;align-items:stretch}.notification-form-card>.flex.between .btn{width:100%}.notification-center-toolbar{flex-direction:column;align-items:stretch}.notification-center-toolbar .btn{justify-content:center;width:100%}.notification-feed{gap:8px}.notification-feed-item{gap:9px;padding:10px;overflow:hidden}.notification-feed-icon{width:34px;height:34px}.notification-feed-content b{font-size:11.5px}.notification-feed-content p{font-size:10px}.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-end;padding:0}.modal-box,.modal-box.modal-wide{border:0;border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:92dvh}.modal-box.modal-tutorial{width:100%;max-width:none;max-height:94dvh}.tutorial-shell{grid-template-columns:1fr;min-height:0}.tutorial-index{border-right:0;border-bottom:1px solid var(--line);gap:5px;padding:9px 12px;display:flex;overflow-x:auto}.tutorial-index-label{display:none}.tutorial-index-item{justify-content:center;width:auto;min-width:34px;padding:7px;font-size:0}.tutorial-index-item:after{content:attr(data-step-number);font-size:10px}.tutorial-index-item.done:before{font-size:10px}.tutorial-index-item.done:after{display:none}.tutorial-step{min-height:410px;padding:19px 16px}.tutorial-step h3{font-size:18px}.tutorial-step-icon{margin-bottom:14px}.profile-layout,.payment-choice-grid{grid-template-columns:1fr}.payment-choice label{flex-direction:row;min-height:62px}.income-limit-grid{grid-template-columns:1fr}.page-help-row{margin-bottom:9px}.modal-head,.modal-box.modal-wide .modal-head{padding:15px 16px}.modal-head h3{font-size:15px}.modal-close{width:40px;height:40px}.modal-body,.modal-box.modal-wide .modal-body{padding:15px 16px}.modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:8px}.modal-foot .btn{flex:1}.form-row-2{grid-template-columns:1fr}#toastContainer{top:auto;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));max-width:none;left:12px}.toast{width:100%;padding:11px 13px}}@media(max-width:350px){.content{padding-left:10px;padding-right:10px}.quick-actions .btn,.calendar-actions .btn{font-size:9.5px}.stat-card{padding:11px}.stat-card .value{font-size:22px}}@media(hover:none){.btn:hover{transform:none;box-shadow:0 1px 1px #0000000f}.nav-item:hover{transform:none}}:root{--paper:var(--surface);--canvas:#f5f5f2;--muted:var(--ink-soft);--line:#deded8;--line-strong:#c8c8c0;--radius:12px;--success:#345c47;--warning:#765d22;--danger:#7a4141}html{background:var(--canvas)}body{min-height:100dvh}a{text-decoration:none}svg{pointer-events:none}.skip-link{z-index:300;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff;border-radius:8px;padding:10px 14px;position:fixed;top:-70px;left:16px}.skip-link:focus{top:16px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar-brand{color:#fff;align-items:center;gap:10px;min-width:0;display:flex}.sidebar-brand>span:last-child{min-width:0}.sidebar-brand strong{font-size:14.5px;font-weight:800;line-height:1.2;display:block}.sidebar-brand small{color:var(--gray-300);font-size:10.5px;font-weight:500;line-height:1.4;display:block}.brand-mark{color:#111;background:#111;border-radius:8px;flex:none;place-items:center;width:32px;height:32px;padding:0;font-size:13px;font-weight:800;display:grid;overflow:hidden}.brand-logo{object-fit:cover;width:100%;height:100%;display:block}.sidebar-footer form,.sidebar-footer .nav-item{margin:0}.topbar-context{align-items:center;gap:8px;display:flex}.context-pill{border:1px solid var(--line);min-height:36px;color:var(--ink-soft);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:11px;display:flex}.context-pill .icon{width:14px;height:14px}.user-chip{border:1px solid var(--line);color:var(--ink);background:#fff;text-decoration:none}.topbar .btn-icon{min-width:40px}.main-content{max-width:1360px}.button,.vimobe-button{border:1.5px solid var(--black);background:var(--black);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:10px 16px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex;box-shadow:0 1px 1px #0000000f}.button:hover,.vimobe-button:hover{background:var(--gray-900);transform:translateY(-1px);box-shadow:0 5px 14px #0000001a}.button.secondary{color:var(--ink);border-color:var(--line-strong);box-shadow:none;background:#fff}.button.secondary:hover{border-color:var(--ink);background:#f4f4f1}.button.danger{background:var(--danger);border-color:var(--danger)}.button.danger:hover{background:#653535;border-color:#653535}.button.full{width:100%}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.is-submitting{cursor:wait}.is-submitting :is(button[type=submit],input[type=submit],button:not([type])){pointer-events:none}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;place-items:center;width:40px;height:40px;display:inline-grid}.page-intro,.page-head,.form-between,.summary-row,.list-row,.actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-intro h2,.page-head h2{letter-spacing:-.025em;text-wrap:balance;margin:0 0 3px;font-size:22px}.page-intro p,.page-head p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:12px}.actions{flex-wrap:wrap}.panel,.request-card,.report-card,.metric,.balance-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:12px}.panel{overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.panel-heading h2{margin:0;font-size:13px}.panel-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.panel-heading-actions-only{justify-content:flex-end}.card.panel{padding:0}.card.panel .panel-body{padding:18px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric{flex-direction:column;min-height:156px;padding:18px;display:flex;position:relative;overflow:hidden}.metric:after{content:"";background:#f0f0ec;border-radius:50%;width:72px;height:72px;position:absolute;top:-31px;right:-31px}.metric span{color:var(--ink-soft);font-size:11px;font-weight:600}.metric strong{font-variant-numeric:tabular-nums;margin:9px 0 5px;font-size:29px;line-height:1}.metric small{color:#92958f;margin-top:auto;font-size:10.5px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.summary-row,.list-row{border-bottom:1px solid var(--line);padding:11px 0}.summary-row:last-child,.list-row:last-child{border-bottom:0}.list-row span:first-child{flex-direction:column;gap:2px;display:flex}.list-row small{color:var(--ink-soft)}.holiday-callout{flex-direction:column;gap:5px;display:flex}.holiday-callout time{color:var(--ink-soft);font-size:11px}.holiday-callout strong{font-size:20px}.holiday-callout span{color:var(--success)}.form-stack{flex-direction:column;gap:14px;display:flex}.form-stack label,.form-grid label,.filter-bar label,.filters label{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:11.5px;font-weight:650;display:flex}.form-stack input,.form-stack select,.form-stack textarea,.form-grid input,.form-grid select,.form-grid textarea,.filter-bar input,.filter-bar select,.filters input,.filters select,.filters textarea,input,select,textarea{border:1.5px solid var(--line-strong);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:10px 11px}textarea{resize:vertical;min-height:96px}input:focus,select:focus,textarea:focus{outline-offset:0;border-color:#171917;outline:2px solid #1719171f}.form-stack .checkbox{flex-direction:row;align-items:center;font-weight:500}.checkbox input,.form-grid input[type=checkbox],.filters input[type=checkbox],.filter-bar input[type=checkbox]{width:16px;min-height:16px}.password-field{width:100%;display:block;position:relative}.password-field input{padding-right:46px}.password-toggle{width:34px;height:34px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--ink);background:#f0f0ec}.password-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.password-toggle .icon{width:17px;height:17px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .span-2,.span-2{grid-column:1/-1}.form-actions{justify-content:flex-end;margin:16px 0 24px;display:flex}.form-between a{font-size:12px;font-weight:650}.form-disclosure{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.form-disclosure summary{border:1.5px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;min-height:40px;margin-bottom:14px;padding:9px 14px;font-weight:700;list-style:none;display:inline-flex}.form-disclosure summary::-webkit-details-marker{display:none}.form-disclosure summary:hover{border-color:var(--ink);background:#f4f4f1}.inline-form{margin-top:14px}.filter-bar,.filters{border:1px solid var(--line);background:#fafaf8;border-radius:10px;grid-template-columns:2fr repeat(3,minmax(130px,1fr)) auto auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:grid}.compact-filter{grid-template-columns:2fr 1fr 1.4fr auto auto}.attendance-filter{grid-template-columns:repeat(5,minmax(120px,1fr)) auto auto}.report-filter,.audit-filter{grid-template-columns:repeat(6,minmax(110px,1fr)) auto auto}.calendar-filter{grid-template-columns:repeat(3,minmax(130px,1fr)) 2fr auto auto}.check-filter{align-items:center;padding-bottom:11px;flex-direction:row!important}.filter-launch-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filter-active-badge{color:#fff;background:#171917;border-radius:999px;place-items:center;min-height:20px;padding:2px 7px;font-size:9px;font-weight:750;display:inline-grid}.modal-filter-shell{gap:12px;display:grid}.modal-filter-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:13px;display:grid}.modal-filter-form label{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:11.5px;font-weight:650;display:flex}.modal-filter-form .type-filter{border:1px solid var(--line);background:#fafaf8;border-radius:10px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:9px 13px;padding:11px;display:flex}.modal-filter-form .type-filter legend{width:100%;color:var(--ink-soft);margin-bottom:2px;font-size:10px;font-weight:700}.modal-filter-form .type-filter label,.modal-filter-form .check-filter{flex-direction:row;align-items:center;margin:0}.modal-filter-form input[type=checkbox],.modal-filter-form input[type=radio]{width:16px;min-height:16px}.modal-filter-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:9px;margin-top:2px;display:grid}.modal-filter-actions .button,.modal-filter-actions .btn{width:100%}.status-filter-options label{min-width:120px}.table-wrap{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:11px}table{font-variant-numeric:tabular-nums}thead th{color:#555852;border-bottom:1px solid var(--line);letter-spacing:.06em;background:#f0f0ec;padding:12px 14px;font-size:9.5px}tbody td{border-bottom:1px solid #e8e8e3;padding:13px 14px}tbody tr:nth-child(2n){background:#fafaf8}td small{color:var(--ink-soft);margin-top:2px;font-size:10px;display:block}.text-link,.text-button{color:#313431;text-underline-offset:3px;font-weight:700;-webkit-text-decoration:underline #bfc1bb;text-decoration:underline #bfc1bb}.text-button{cursor:pointer;background:0 0;border:0;padding:0}.pagination{margin-top:14px}.pagination nav>div:first-child{display:none}.pagination nav>div:last-child{justify-content:space-between;align-items:center;gap:14px;display:flex}.pagination svg{width:16px}.pagination span[aria-current=page] span{color:#fff!important;background:#171917!important}.pagination a,.pagination span{border-color:var(--line)!important}.badge{font-size:10px}.badge-success{color:var(--success);background:var(--success-bg);border-color:#a9c3b2}.badge-warning{color:var(--warning);background:var(--warning-bg);border-color:#d9c88f}.badge-danger{color:var(--danger);background:var(--danger-bg);border-color:#cba7a7}.badge-info{color:#465963;background:#edf2f4;border-color:#b8c7cc}.tab-nav,.status-tabs{border:1px solid var(--line);background:#ecece8;border-radius:8px;gap:4px;width:max-content;max-width:100%;margin-bottom:16px;padding:4px;display:flex;overflow-x:auto}.tab-nav a,.status-tabs a{white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:8px 13px;font-size:11.5px;font-weight:650}.tab-nav a:hover,.status-tabs a:hover,.status-tabs a.active{color:#fff;background:#171917}.setting-head{margin-bottom:16px}.setting-value{font-variant-numeric:tabular-nums;margin:4px 0;font-size:28px;display:block}.setting-head p,.history-list small{color:var(--ink-soft);display:block}.history-list{border-top:1px solid var(--line);margin-top:14px}.weekday-field{border:0;flex-wrap:wrap;gap:8px;padding:0;display:flex}.weekday-field legend{margin-bottom:7px;font-size:11px;font-weight:700}.weekday-field label{flex-direction:row;align-items:center}.schedule-staff-options{border:1px solid var(--line);background:#fafaf8;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;padding:10px;display:grid;overflow:auto}.schedule-staff-options label{align-items:flex-start;gap:8px;font-weight:600;display:flex}.schedule-staff-options input{width:auto;margin-top:2px}.mini-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.mini-metrics div{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:3px;padding:14px;display:flex}.mini-metrics span{color:var(--ink-soft);font-size:10px}.calendar-legend{color:var(--ink-soft);flex-wrap:wrap;gap:12px;margin:14px 0;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:flex}.event-dot{background:#64748b;border-radius:50%;width:8px;height:8px}.dot-present{background:#557965}.dot-late{background:#a78840}.dot-alpha{background:#965757}.dot-leave{background:#607582}.dot-holiday{background:#6e657c}.dot-special{background:#4c7470}.calendar-grid{border:1px solid var(--line);border-radius:11px;gap:0;width:100%;min-width:0;overflow:hidden}.calendar-toolbar-main{align-items:center;gap:8px;display:flex}.calendar-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-toolbar .filter-launch-row{margin:0}.calendar-toolbar+.page-intro{display:none}.calendar-surface{margin-top:14px;margin-bottom:14px;padding:0;overflow:auto}.calendar-note-panel{margin-top:14px}.calendar-filter .type-filter{border:1px solid var(--line-strong);border-radius:9px;flex-wrap:wrap;align-content:center;align-items:center;gap:8px 12px;min-width:260px;padding:7px 10px;display:flex}.calendar-filter .type-filter legend{width:100%;color:var(--ink-soft);font-size:10px;font-weight:700}.calendar-filter .type-filter label{flex-direction:row;align-items:center;gap:5px;margin:0;font-size:10px;display:flex}.calendar-filter .type-filter input{width:15px;height:15px;min-height:auto}.calendar-weekday{color:var(--ink-soft);text-align:center;background:#f0f0ec;padding:9px;font-size:10px;font-weight:700}.calendar-day{border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff;min-height:120px;padding:8px}.calendar-day.outside{color:#aaa;background:#fafaf8}.calendar-day.today time{color:#fff;background:#171917;border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.day-events{flex-direction:column;gap:3px;margin-top:5px;display:flex}.calendar-event{white-space:nowrap;text-overflow:ellipsis;background:#f0f0ec;border-radius:5px;padding:3px 5px;font-size:9px;overflow:hidden}.calendar-event.event-schedule{color:#343a32;background:#eef0e9;border:1px solid #d3d8ca;font-weight:700}.calendar-event.event-present{color:#345c47;background:#edf5f0;border:1px solid #d2e4d8}.calendar-event.event-late{color:#765d22;background:#faf4e5;border:1px solid #eadfbf}.calendar-event.event-alpha{color:#7a4141;background:#f8eeee;border:1px solid #ead0d0}.calendar-event.event-leave{color:#4d6170;background:#eef3f6;border:1px solid #d4e0e7}.calendar-event.event-holiday{color:#635975;background:#f3eff7;border:1px solid #ded5e8}.calendar-event.event-special{color:#3f6864;background:#edf5f4;border:1px solid #cfe1df}.calendar-event.event-note{color:#555;background:#f0f0ec;border:1px dashed #c9cac4}.dot-schedule{background:#68715f}.schedule-overview{justify-content:space-between;align-items:center;gap:16px;margin:14px 0;padding:18px;display:flex}.schedule-overview>div{gap:4px;display:grid}.schedule-overview strong{font-size:16px}.schedule-overview p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:12px}.request-list{gap:14px;display:grid}.request-card{padding:18px}.request-card header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.request-card header div{flex-direction:column;gap:3px;display:flex}.request-card header span,.request-card>p{color:var(--ink-soft)}.request-facts{grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0;display:grid}.request-facts div{background:#f4f4f1;border-radius:8px;flex-direction:column;gap:3px;padding:10px;display:flex}.request-facts span{color:var(--ink-soft);font-size:10px}.request-facts strong{font-size:12px}.request-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.request-actions summary{list-style:none}.request-actions summary::-webkit-details-marker{display:none}.action-form{width:100%}.decision-note,.impact-note,.privacy-note{background:#f4f4f1;border-radius:8px;padding:10px;font-size:11px;line-height:1.55}.reset-warning{border:1px solid var(--danger-border);border-radius:10px;align-items:flex-start;gap:11px;margin-bottom:16px;padding:14px;display:flex!important}.reset-warning .icon{flex:none;margin-top:2px}.reset-warning p{margin:4px 0 0;line-height:1.55}.reset-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reset-scope-grid>div{border:1px solid var(--line);background:#fafaf8;border-radius:9px;padding:14px}.reset-scope-grid p{color:var(--ink-soft);margin:5px 0 0;font-size:11px;line-height:1.6}.reset-row-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.reset-row-actions .form-disclosure{border:0;margin:0;padding:0}.danger-text{color:var(--danger)}.danger-note{color:var(--danger);background:var(--danger-bg);border:1px solid #dfc0c0}.row-menu summary,.table-actions summary{cursor:pointer;color:#313431;font-weight:700}.popover{width:100%}.report-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px;display:grid}.report-card{flex-direction:column;min-height:170px;padding:17px;display:flex}.report-card strong{margin:6px 0;font-size:14px}.report-card p{color:var(--ink-soft);font-size:11px;line-height:1.55}.report-card>span:last-child{margin-top:auto;font-size:11px;font-weight:700}.definition-list{grid-template-columns:repeat(2,1fr);gap:14px;margin:0;display:grid}.definition-list div{border-bottom:1px solid var(--line);padding-bottom:11px}.definition-list dt{color:var(--ink-soft);font-size:10px}.definition-list dd{margin:3px 0 0;font-weight:700}.detail-grid{grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px;display:grid}.profile-facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:14px;display:grid}.profile-facts[hidden]{display:none!important}.profile-facts div{gap:4px;display:grid}.personal-profile-card{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;padding:18px;display:flex}.personal-profile-main{align-items:center;gap:14px;min-width:0;display:flex}.personal-profile-main>div:last-child{gap:3px;min-width:0;display:grid}.personal-profile-main h3,.personal-profile-main p{margin:0}.personal-profile-main p,.personal-profile-main small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.personal-profile-actions,.table-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-actions .text-link,.table-actions .text-button,.table-actions>a,.table-actions>button,.table-actions summary{border:1px solid var(--line-strong);min-height:34px;color:var(--ink);white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:7px 11px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.table-actions .text-link:hover,.table-actions .text-button:hover,.table-actions>a:hover,.table-actions>button:hover,.table-actions summary:hover{border-color:var(--ink);background:#f1f1ed}td>details>summary,.row-menu>summary{border:1px solid var(--line-strong);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:7px 11px;font-size:11px;font-weight:700;list-style:none;display:inline-flex}td>details>summary::-webkit-details-marker{display:none}.row-menu>summary::-webkit-details-marker{display:none}td>details>summary:hover,.row-menu>summary:hover{border-color:var(--ink);background:#f1f1ed}.profile-avatar{border:1px solid var(--line);color:#fff;background:#111311;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar-large{width:62px;height:62px;font-size:22px}.profile-avatar-xl{width:88px;height:88px;font-size:30px}.biodata-preview{gap:18px;display:grid}.biodata-preview-head{border:1px solid var(--line);background:#fafaf8;border-radius:12px;align-items:center;gap:15px;padding:14px;display:flex}.biodata-preview-head>div:last-child{gap:3px;display:grid}.biodata-preview-head h3,.biodata-preview-head p{margin:0}.biodata-preview-head p,.biodata-preview-head small{color:var(--ink-soft)}.biodata-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.biodata-grid>div{border:1px solid var(--line);background:#fff;border-radius:9px;gap:4px;min-width:0;padding:11px;display:grid}.biodata-grid dt{color:var(--ink-soft);font-size:10px}.biodata-grid dd{overflow-wrap:anywhere;margin:0;font-weight:700}.profile-section-head,.account-security-card{justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.profile-section-head h3,.profile-section-head p,.account-security-card h3,.account-security-card p{margin:0}.profile-section-head p,.account-security-card p{color:var(--ink-soft);margin-top:4px;font-size:11px}.payment-profile-list{gap:10px;padding:0 18px 18px;display:grid}.payment-profile-card{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;display:grid}.payment-profile-icon,.modal-action-icon{width:38px;height:38px;color:var(--ink);background:#f0f0ec;border-radius:9px;flex:none;place-items:center;display:grid}.payment-profile-copy{gap:3px;min-width:0;display:grid}.payment-profile-copy>span,.payment-profile-copy>small{white-space:nowrap;text-overflow:ellipsis;color:var(--ink-soft);overflow:hidden}.payment-profile-title{align-items:center;gap:8px;display:flex}.payment-profile-actions,.modal-form-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.payment-profile-actions form{margin:0}.account-security-card{margin-top:14px}.upload-preview-card{border:1px solid var(--line);background:#fafaf8;border-radius:10px;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:14px;padding:12px;display:grid}.upload-preview-card img,.upload-preview-empty{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:8px;width:108px;height:108px}.upload-preview-empty{color:var(--ink-soft);text-align:center;align-content:center;place-items:center;gap:5px;font-size:9px;display:grid}.upload-preview-empty[hidden],.upload-preview-card img[hidden]{display:none}.upload-preview-card>div:last-child{gap:4px;display:grid}.transfer-proof-field{gap:10px;display:grid}.field-optional{color:var(--ink-soft);font-size:10px;font-weight:500;display:inline!important}.payment-destination-preview{border:1px solid var(--line);background:#fafaf8;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.payment-destination-preview>div{gap:3px;min-width:0;display:grid}.payment-destination-preview span,.payment-data-strip span{color:var(--ink-soft);font-size:9.5px}.payment-destination-preview strong,.payment-data-strip strong{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.payment-destination-preview>a{grid-column:1/-1}.payment-data-strip{background:#f4f4f1;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:12px;margin:14px 0 0;padding:11px;display:grid}.payment-data-strip>div{gap:3px;min-width:0;display:grid}.decision-payment-fields{gap:12px;display:grid}.payment-result,.staff-payment-summary{border:1px solid var(--line);background:#fafaf8;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.payment-result>div,.staff-payment-summary>div{gap:4px;display:grid}.payment-result span,.staff-payment-summary p,.staff-payment-summary small{color:var(--ink-soft);margin:0;font-size:11px}.staff-payment-summary{margin-bottom:14px;padding:18px}.staff-payment-summary h3{margin:0}.modal-form-actions{margin-top:4px}.modal-form-actions .btn{min-width:120px;width:auto!important}.empty-action{border:1px dashed var(--line-strong);background:#fafaf8;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:15px;display:flex}.empty-action p{color:var(--ink-soft);margin:0}.panel-action-row{border:1px solid var(--line);background:#fafaf8;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.panel-action-row>div:first-child{gap:4px;min-width:0;display:grid}.panel-action-row small{color:var(--ink-soft);overflow-wrap:anywhere}.modal-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.modal-action-card{border:1px solid var(--line);min-height:224px;box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:13px;padding:18px;display:flex}.modal-action-card>div:nth-child(2){gap:5px;display:grid}.modal-action-card h3,.modal-action-card p{margin:0}.modal-action-card p{color:var(--ink-soft);font-size:11px;line-height:1.55}.modal-action-card>.btn{width:100%;margin-top:auto}.modal-action-grid-single{grid-template-columns:minmax(0,1fr);margin-bottom:18px}.modal-action-grid-single .modal-action-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:0;display:grid}.modal-action-grid-single .modal-action-card>.btn{width:auto;min-width:170px;margin:0}.modal-action-grid-single .action-hint{color:var(--ink-soft);grid-column:2/-1;margin:0;font-size:11px}.modal-form .field-error{color:var(--danger);margin-top:5px;font-size:10px;display:block}.private-image-dialog{gap:14px;display:grid}.private-image-frame{border:1px solid var(--line);background:#f6f6f3;border-radius:12px;place-items:center;min-height:260px;padding:12px;display:grid}.private-image-frame img{object-fit:contain;border-radius:8px;max-width:100%;max-height:58dvh;display:block}.private-image-error{color:var(--danger);text-align:center;margin:0}.modal-list{max-height:52dvh;overflow:auto}.modal-list article{flex-wrap:wrap}.modal-list article>form{flex-basis:100%}.modal-filters{grid-template-columns:1.5fr 1fr 1fr auto;margin:0 0 14px}.modal-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.report-export-modal{gap:10px;display:grid}.report-export-modal>form{margin:0}.report-export-option{border:1px solid var(--line-strong);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:13px;text-decoration:none;display:grid}.report-export-option:hover{border-color:var(--ink);background:#f6f6f3}.report-export-option>.icon{justify-self:center;width:20px;height:20px}.report-export-option span{gap:3px;display:grid}.report-export-option small{color:var(--ink-soft);font-size:10px;line-height:1.4}.audit-detail-modal{gap:12px;min-width:0;display:grid}.audit-detail-modal pre{border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f6f3;border-radius:9px;max-height:52dvh;margin:0;padding:12px;font-size:10px;overflow:auto}.card-list{gap:9px;display:grid}.card-list article,.list-link{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;padding:13px;text-decoration:none;display:flex}.card-list article>div,.list-link>div{gap:3px;display:grid}.card-list p{flex-basis:100%}.card-actions{border-top:1px solid var(--line);flex-basis:100%;justify-content:flex-end;align-items:center;padding-top:10px;flex-direction:row!important;gap:8px!important;display:flex!important}.card-actions .btn{width:auto}.unread{border-left:4px solid #171917!important}.positive{color:var(--success)}.negative,.negative-text{color:var(--danger);font-weight:700}.finalize-box{background:var(--warning-bg);border:1px solid #d9c88f;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:14px;display:flex}.final-state{color:var(--success);background:var(--success-bg);border-radius:8px;margin-top:14px;padding:14px}pre{color:#e5e7e5;white-space:pre-wrap;background:#171917;border-radius:7px;max-width:480px;max-height:260px;padding:10px;font-size:10px;overflow:auto}code{background:#f0f0ec;border-radius:4px;padding:2px 4px}.flash{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:9px;align-items:flex-start;gap:9px;margin-bottom:14px;padding:11px 13px;display:flex}.flash.success{color:var(--success);background:var(--success-bg);border-color:#a9c3b2}.flash.warning{color:var(--warning);background:var(--warning-bg);border-color:#d9c88f}.flash.error{color:var(--danger);background:var(--danger-bg);border-color:#cba7a7}.flash .icon{margin-top:1px}.flash ul{margin:5px 0 0;padding-left:18px}.hero{color:#fff;box-shadow:var(--shadow-soft);background:#171917;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;padding:24px;display:flex}.hero h2{margin:4px 0;font-size:23px}.hero p{color:#aeb2ac}.hero .eyebrow{color:#d9dcd7}.balance-grid,.stat-grid,.quick-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:18px;display:grid}.balance-card{color:#fff;background:#171917;padding:18px}.balance-card span,.balance-card small,.panel span,.panel small{color:#8e928c;display:block}.balance-card strong{font-variant-numeric:tabular-nums;margin:7px 0;font-size:27px;display:block}.balance-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.balance-card-head>span{min-width:0}.balance-visibility-toggle{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;flex:none;place-items:center;width:32px;height:32px;padding:0;display:grid}.balance-visibility-toggle:hover{background:#ffffff17}.balance-visibility-toggle:focus-visible{outline-offset:2px;outline:2px solid #fff}.balance-visibility-toggle .icon{width:16px;height:16px}.attendance-panel{margin-bottom:18px}.quick-grid a{gap:5px;text-decoration:none;display:grid}.panel>h3,.panel>p,.panel>form,.panel>.card-list,.panel>.table-wrap,.panel>.profile-facts,.panel>.form-between,.panel>.pagination{margin-left:18px;margin-right:18px}.panel>h3:first-child,.panel>.form-between:first-child{margin-top:18px}.panel>p{color:var(--ink-soft)}.panel>form:last-child,.panel>.card-list:last-child,.panel>.table-wrap:last-child,.panel>.pagination:last-child{margin-bottom:18px}.panel>.table-wrap{margin-top:14px}.balance-card.panel>*{margin-left:0;margin-right:0}.app-dialog{background:0 0;border:0;max-width:none;max-height:none;padding:0;overflow:visible}.app-dialog::backdrop{background:#0000008c}.app-dialog[open]{place-items:center;width:100%;height:100%;display:grid}.app-dialog .modal-box{overflow:auto}.app-dialog .action-form,.app-dialog .popover{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:static}.app-dialog .modal-body>form{width:100%}.app-dialog .modal-body .button{width:100%;margin-top:4px}.app-dialog[data-mode=form] [data-dialog-footer]{display:none}.confirm-message{border:1px solid var(--line);background:#f6f6f3;border-radius:10px;align-items:flex-start;gap:12px;padding:14px;display:flex}.confirm-message .icon{flex:none;margin-top:1px}.confirm-message p{color:var(--ink-soft);margin:0;line-height:1.6}.tutorial-list{gap:12px;display:grid}.tutorial-list>div{border:1px solid var(--line);background:#fafaf8;border-radius:10px;align-items:flex-start;gap:12px;padding:12px;display:flex}.tutorial-list>div>span{color:#fff;background:#171917;border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.tutorial-list p{gap:3px;margin:0;display:grid}.tutorial-list small{color:var(--ink-soft);line-height:1.5}.tutorial-list .btn{width:100%}.topbar-menu{position:relative}.topbar-menu>summary{cursor:pointer;list-style:none}.topbar-menu>summary::-webkit-details-marker{display:none}.topbar-menu[open]>summary{background:#f0f0ec}.topbar-menu .user-chip{cursor:pointer}.topbar-menu .user-chip>.icon{width:15px;height:15px;color:var(--ink-soft)}.topbar-popover{z-index:40;border:1px solid var(--line);width:min(360px,100vw - 28px);box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;position:absolute;top:calc(100% + 9px);right:0;overflow:hidden}.topbar-popover header,.account-popover-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.topbar-popover header span,.account-popover-head span{color:var(--ink-soft);font-size:9.5px}.topbar-feed{max-height:330px;display:grid;overflow:auto}.topbar-feed article{border-bottom:1px solid var(--line);gap:3px;padding:11px 14px;display:grid}.topbar-feed article.unread{background:#fafaf8;box-shadow:inset 3px 0 #171917}.topbar-feed article strong{padding-right:12px;font-size:11.5px}.topbar-feed article p{color:var(--ink-soft);margin:0;font-size:10px;line-height:1.5}.topbar-feed article small{color:#8a8d87;font-size:9px}.topbar-feed article>a{color:var(--ink);text-underline-offset:2px;margin-top:4px;font-size:10px;font-weight:750;text-decoration:underline}.topbar-empty{color:var(--ink-soft);text-align:center;padding:22px 14px;font-size:11px}.topbar-popover-link{text-align:center;background:#f4f4f1;padding:11px 14px;font-size:10.5px;font-weight:700;display:block}.account-popover{width:260px;padding-bottom:6px}.account-popover-head{flex-direction:column;align-items:flex-start;gap:3px}.account-popover>a,.account-popover form button{width:calc(100% - 12px);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;margin:6px 6px 0;padding:10px;font-size:11px;font-weight:650;text-decoration:none;display:flex}.account-popover>a:hover,.account-popover form button:hover{background:#f0f0ec}.account-popover .icon{width:16px;height:16px}.topbar-menu .notification-dot{top:5px;right:6px}#loginScreen .form-stack{gap:14px;display:grid}#loginScreen .form-between{margin:0}#loginScreen .full{width:100%}#loginScreen .login-note{margin-top:16px;padding:12px}#loginScreen .eyebrow{color:var(--ink-soft);letter-spacing:.06em;margin:0 0 7px;font-size:10px;font-weight:800}.guest-body{background:#111311;place-items:center;min-height:100dvh;padding:20px;display:grid}.guest-card{width:min(100%,420px);box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;padding:34px 30px}.guest-brand{align-items:center;gap:9px;margin-bottom:22px;display:flex}.guest-brand span{color:#fff;background:#171917;border-radius:9px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.guest-heading h1{margin:4px 0;font-size:23px}.guest-heading>p:last-child{color:var(--ink-soft);margin:4px 0 18px;font-size:12px}@media(max-width:1100px){.metric-grid,.report-grid{grid-template-columns:repeat(2,1fr)}.filter-bar,.filters,.attendance-filter,.report-filter,.audit-filter,.calendar-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid{min-width:0}.calendar-day{min-height:104px;padding:7px}}@media(max-width:860px){.dashboard-grid,.detail-grid{grid-template-columns:1fr}.topbar-context .context-pill:first-child{display:none}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block}.form-grid{grid-template-columns:1fr}.form-grid .span-2,.span-2{grid-column:auto}.definition-list{grid-template-columns:1fr}.request-facts{grid-template-columns:1fr 1fr}.modal-action-grid{grid-template-columns:1fr}.modal-action-card{min-height:0}.modal-action-grid-single .modal-action-card{align-items:flex-start;display:flex}.modal-action-grid-single .modal-action-card>.btn{width:100%;min-width:0;margin-top:auto}.modal-action-grid-single .action-hint{margin:0}}@media(max-width:640px){.schedule-staff-options{grid-template-columns:1fr}.page-intro,.page-head{flex-direction:column;align-items:flex-start}.topbar-context{display:none}.page-intro h2,.page-head h2{font-size:19px}.actions{width:100%}.actions .button{flex:1}.metric-grid,.mini-metrics,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:128px;padding:14px}.metric strong{font-size:24px}.filter-bar,.filters,.attendance-filter,.report-filter,.audit-filter,.calendar-filter,.compact-filter{grid-template-columns:1fr;padding:10px}.table-wrap{overflow-x:auto}.request-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.request-card{padding:14px}.app-dialog[open]{align-items:end}.app-dialog .modal-box{border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:92dvh}.guest-body{background:#fff;padding:0}.guest-card{width:100%;min-height:100dvh;box-shadow:none;border-radius:0;flex-direction:column;justify-content:center;padding:28px 20px;display:flex}.hero{flex-direction:column;padding:20px}.modal-filter-form{grid-template-columns:1fr}.modal-filter-form .type-filter,.modal-filter-actions{grid-column:auto}.calendar-toolbar{gap:9px;padding:10px}.calendar-toolbar-main{grid-template-columns:40px 62px minmax(0,1fr) 40px;gap:6px;width:100%;display:grid}.calendar-toolbar-main .btn{width:100%;min-width:0;padding-inline:5px}.calendar-period-trigger{white-space:nowrap;text-overflow:ellipsis;place-items:center;width:100%;min-width:0;min-height:40px;padding:5px 3px;font-size:14px;display:grid;overflow:hidden}.calendar-toolbar-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;display:grid}.calendar-toolbar-actions .btn,.calendar-toolbar-actions .filter-launch-row,.calendar-toolbar-actions .filter-launch-row .btn{width:100%;min-width:0}.calendar-toolbar-actions .btn{white-space:normal;padding:7px 4px;font-size:10.5px;line-height:1.2}.calendar-toolbar-actions .filter-launch-row{display:block}.panel-heading{align-items:stretch}.panel-heading-actions{width:100%;margin-left:0}.panel-heading-actions .btn,.panel-heading-actions .button{width:100%}.modal-action-buttons{grid-template-columns:1fr}.calendar-legend{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.calendar-summary span{border:1px solid var(--line);text-align:center;background:#fafaf8;border-radius:8px;gap:2px;min-width:0;padding:7px;font-size:8px;display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;min-width:0}.calendar-weekday{padding:8px 1px;font-size:7px;overflow:hidden}.calendar-day{align-items:center;min-width:0;min-height:72px;padding:5px 2px;overflow:hidden}.calendar-day>time{font-size:10px}.calendar-day.today time{width:24px;height:24px}.day-events{flex-flow:wrap;place-content:flex-start center;gap:3px;width:100%;min-height:18px}.calendar-event{border-radius:50%;flex:0 0 7px;width:7px;height:7px;padding:0;font-size:0;display:block;border-width:0!important}.day-events small{display:none}.reset-scope-grid{grid-template-columns:1fr}.profile-section-head,.account-security-card,.personal-profile-card{flex-direction:column;align-items:flex-start}.personal-profile-actions{width:100%}.personal-profile-actions .btn{flex:1}.biodata-grid{grid-template-columns:1fr}.biodata-grid .span-2{grid-column:auto}.profile-section-head .btn,.account-security-card .btn{width:100%}.payment-profile-card{grid-template-columns:auto minmax(0,1fr)}.payment-profile-actions{grid-column:1/-1;justify-content:flex-start}.payment-profile-actions .btn{flex:1}.upload-preview-card{grid-template-columns:82px minmax(0,1fr)}.upload-preview-card img,.upload-preview-empty{width:82px;height:82px}.modal-form-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.modal-form-actions .btn{min-width:0;width:100%!important}.payment-data-strip{grid-template-columns:1fr 1fr}.payment-data-strip>a{grid-column:1/-1}.payment-result,.staff-payment-summary{flex-direction:column;align-items:flex-start}.payment-result .btn,.staff-payment-summary .btn{width:100%}.panel-action-row{flex-direction:column;align-items:stretch}.panel-action-row .actions,.panel-action-row .actions .btn{width:100%}.topbar-popover{width:auto;position:fixed;top:66px;left:10px;right:10px}.account-popover{width:min(260px,100vw - 20px);left:auto}.table-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;display:grid}.table-actions>*,.table-actions>form,.table-actions>form>button{width:100%}.table-actions .text-link,.table-actions .text-button,.table-actions>a,.table-actions>button,.table-actions summary{width:100%;min-height:40px}td>details>summary,.row-menu>summary{min-height:40px}.card-actions{justify-content:stretch}.card-actions .btn,.card-actions form,.card-actions form .btn{width:100%}}@media(max-width:420px){.metric-grid,.mini-metrics,.report-grid{grid-template-columns:1fr 1fr}.balance-card strong{font-size:23px}.topbar{padding-right:max(8px,env(safe-area-inset-right));padding-left:max(8px,env(safe-area-inset-left))}.topbar-left{flex:1;gap:7px;overflow:hidden}.topbar-left>div:last-child{min-width:0}.page-title{max-width:none}.topbar-right{flex:none;gap:5px}.topbar-context{display:none}.topbar .user-chip{background:0 0;border:0;gap:3px;padding:2px}.topbar .user-chip>.icon{display:none}.topbar .user-avatar{width:36px;height:36px}}body{font-size:14px;line-height:1.5}.content{width:100%;max-width:1360px;padding:28px 28px 56px;animation:none}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.page-title{text-wrap:balance;font-size:18px;font-weight:750}.page-sub{text-wrap:pretty;margin-top:2px;font-size:12.5px}.nav-section-label{padding:18px 12px 7px;font-size:10px}.nav-item{min-height:44px;padding:10px 12px;font-size:13px;transition:none}.nav-item:hover{transform:none}.page-intro,.page-head{margin-bottom:22px}.page-intro h2,.page-head h2{letter-spacing:normal;text-wrap:balance;font-size:24px}.page-intro p,.page-head p,.muted{text-wrap:pretty;font-size:13px;line-height:1.55}.panel,.request-card,.report-card,.metric,.balance-card,.table-wrap{box-shadow:none}.panel{border-radius:14px}.panel-heading{padding:17px 20px}.panel-heading h2{text-wrap:balance;font-size:16px;line-height:1.35}.panel-body{padding:20px}.panel+.panel{margin-top:20px}.button,.vimobe-button,.btn{min-height:42px;font-size:13px;transition:none}.button:hover,.vimobe-button:hover,.btn:hover,.button:active,.btn:active{transform:none}.form-stack label,.form-grid label,.filter-bar label,.filters label,.modal-filter-form label{color:var(--ink);gap:7px;font-size:12.5px;line-height:1.4}.form-stack input,.form-stack select,.form-stack textarea,.form-grid input,.form-grid select,.form-grid textarea,.filter-bar input,.filter-bar select,.filters input,.filters select,.filters textarea,input,select,textarea{border-width:1px;border-radius:9px;min-height:44px;padding:10px 12px;font-size:14px}label small,.field-optional{color:var(--ink-soft);font-size:11.5px;font-weight:500}.table-wrap{border-radius:12px}thead th{padding:12px 14px;font-size:10.5px}tbody td{padding:14px;font-size:13px;line-height:1.45}td small,.panel small{font-size:11px;line-height:1.45}.metric{min-height:140px;padding:18px}.metric span{font-size:12px}.metric small{font-size:11.5px;line-height:1.45}.metric:after{display:none}.empty-state{text-align:center;place-content:center;min-height:128px;padding:28px 20px}.empty-state strong{font-size:14px}.empty-state p{max-width:420px;color:var(--ink-soft);text-wrap:pretty;margin:6px auto 0;font-size:12.5px}.calendar-event{min-height:21px;padding:3px 6px;font-size:10px;line-height:1.35}button.calendar-day{width:100%;color:inherit;cursor:pointer}button.calendar-day:focus-visible{z-index:1;outline:2px solid var(--ink);outline-offset:-2px}.calendar-period-trigger{min-width:250px;min-height:48px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:14px;padding:6px 12px;display:grid}.calendar-period-trigger:hover{border-color:var(--line);background:#f7f7f4}.calendar-period-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.calendar-period-trigger>.icon{width:16px;height:16px;color:var(--ink-soft);flex:none}.calendar-period-copy{min-width:0;line-height:1.2;display:grid}.calendar-period-copy small{color:var(--ink-soft);font-size:10px;font-weight:650}.calendar-period-copy strong{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.calendar-date-picker{gap:18px;display:grid}.calendar-picker-current{border:1px solid var(--line);background:#f7f7f4;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;margin:0;padding:14px;display:grid}.calendar-picker-current>div{gap:3px;min-width:0;display:grid}.calendar-picker-current>div>small,.calendar-picker-current>div>span{color:var(--ink-soft);font-size:11px;line-height:1.4}.calendar-picker-current>div>strong{text-wrap:balance;font-size:15px;line-height:1.35}.calendar-picker-date-icon{border:1px solid var(--line-strong);text-align:center;background:#fff;border-radius:10px;width:52px;display:grid;overflow:hidden}.calendar-picker-date-icon small{color:#fff;background:var(--ink);text-transform:uppercase;padding:4px 6px;font-size:9px;font-weight:750}.calendar-picker-date-icon strong{font-variant-numeric:tabular-nums;padding:6px;font-size:20px}.calendar-date-picker-form{gap:14px;display:grid}.calendar-date-picker-field{gap:7px;display:grid}.calendar-date-picker-field>span{font-size:12px;font-weight:700}.calendar-date-picker-field input{font-variant-numeric:tabular-nums;min-height:48px;font-size:14px}.calendar-date-picker-field small{color:var(--ink-soft);text-wrap:pretty;font-size:11px;line-height:1.5}.calendar-day.selected{z-index:1;box-shadow:inset 0 0 0 2px var(--ink);background:#f7f7f4}.calendar-day.selected>time:after{content:"Dipilih";color:var(--ink-soft);margin-left:7px;font-size:8px;font-weight:700}.calendar-help{color:var(--ink-soft);text-wrap:pretty;align-items:center;gap:7px;margin:0 0 12px;font-size:12px;display:flex}.calendar-help .icon{width:16px;height:16px}.holiday-manager{gap:16px;display:grid}.modal-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-section-heading>div{gap:3px;min-width:0;display:grid}.modal-section-heading strong{text-wrap:balance;font-size:14px;line-height:1.4}.modal-section-heading p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:11.5px;line-height:1.5}.holiday-manager-table{margin:0}.holiday-manager-table table{min-width:600px}.holiday-manager>.modal-form-actions{margin-top:0}.calendar-day-detail{gap:16px;display:grid}.day-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.day-detail-summary>div{border:1px solid var(--line);background:#fafaf8;border-radius:10px;gap:3px;padding:13px;display:grid}.day-detail-summary span,.day-detail-list dt{color:var(--ink-soft);font-size:11px}.day-detail-summary strong{font-variant-numeric:tabular-nums;font-size:18px}.day-detail-summary .day-detail-holiday{grid-column:1/-1}.day-detail-summary .day-detail-holiday strong{font-size:13px}.day-detail-list{gap:10px;display:grid}.day-detail-list article{border:1px solid var(--line);border-radius:11px;gap:12px;padding:14px;display:grid}.day-detail-list article>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.day-detail-list article>header small{color:var(--ink-soft);margin-top:2px;display:block}.day-detail-list dl{grid-template-columns:2fr 1.4fr .7fr .7fr;gap:10px;margin:0;display:grid}.day-detail-list dl>div{min-width:0}.day-detail-list dt,.day-detail-list dd{margin:0}.day-detail-list dd{font-variant-numeric:tabular-nums;margin-top:3px;font-size:12px}.calendar-summary span,.calendar-legend{font-size:11px}.hero,.balance-hero{background-image:none}.attendance-earning-detail,.finance-setting-modal{gap:16px;display:grid}.attendance-earning-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.attendance-earning-detail dl>div,.settings-summary-grid>div{border:1px solid var(--line);background:#fafaf8;border-radius:10px;gap:4px;padding:13px;display:grid}.attendance-earning-detail dt,.attendance-earning-detail dd{margin:0}.attendance-earning-detail dt,.settings-summary-grid span{color:var(--ink-soft);font-size:11px}.attendance-earning-detail dd,.settings-summary-grid strong{font-variant-numeric:tabular-nums;font-size:13px}.attendance-earning-detail .staff-schedule-days{grid-column:1/-1}.attendance-earning-detail .staff-schedule-note,.finance-setting-modal .staff-schedule-note{border:1px solid var(--line);background:#f7f7f4;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.attendance-earning-detail .staff-schedule-note .icon,.finance-setting-modal .staff-schedule-note .icon{flex:none;width:17px;height:17px;margin-top:1px}.attendance-earning-detail .staff-schedule-note p,.finance-setting-modal .staff-schedule-note p{color:var(--ink-soft);margin:0;font-size:11.5px;line-height:1.55}.settings-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.money-line{white-space:nowrap;display:block}@media(max-width:860px){.content{padding:20px 16px calc(84px + env(safe-area-inset-bottom))}.settings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.page-intro h2,.page-head h2{font-size:21px}.calendar-period-trigger{gap:5px;min-width:0;min-height:44px;padding:4px 7px}.calendar-period-copy small{font-size:8px}.calendar-period-copy strong{font-size:11px}.calendar-period-trigger>.icon{width:13px;height:13px}.calendar-day.selected>time:after{display:none}.admin-calendar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-section-heading{flex-direction:column;align-items:stretch}.modal-section-heading .btn{width:100%}.panel-heading,.panel-body{padding:16px}.schedule-overview{flex-direction:column;align-items:flex-start}.day-detail-list dl{grid-template-columns:1fr 1fr}.attendance-earning-detail dl,.settings-summary-grid{grid-template-columns:1fr}.attendance-earning-detail .staff-schedule-days{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.staff-shell .sidebar{background:#111311}.staff-shell .sidebar-nav{padding-top:22px}.staff-shell .sidebar-backdrop{display:none}.staff-shell.nav-open .sidebar{transform:translate(0)}.staff-shell.nav-open .sidebar-backdrop{display:block}.staff-dashboard{gap:20px;display:grid}.staff-dashboard>*{margin:0}.staff-dashboard-hero{align-items:center}.staff-dashboard-hero .btn{flex:none}.staff-dashboard-balances{margin:0}.staff-dashboard-attendance{justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.staff-dashboard-attendance>div,.staff-dashboard-attendance>form{margin:0}.staff-dashboard-attendance form{flex:none}.attendance-copy{align-items:center;gap:12px;min-width:0;display:flex}.attendance-copy h3,.attendance-copy p{margin:0}.attendance-copy p{color:var(--ink-soft);margin-top:4px}.dashboard-section{gap:12px;display:grid}.dashboard-section-head{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.dashboard-section-head h3,.dashboard-section-head p{margin:0}.dashboard-section-head h3{font-size:15px}.dashboard-section-head p{color:var(--ink-soft);margin-top:3px;font-size:11px}.staff-request-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.staff-request-status-grid a{border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;gap:5px;padding:14px;text-decoration:none;display:grid}.staff-request-status-grid a:hover{border-color:var(--line-strong);background:#fafaf8}.staff-request-status-grid span,.staff-request-status-grid small{color:var(--ink-soft);font-size:10px}.staff-request-status-grid strong{font-size:13px}.staff-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.staff-quick-card{border:1px solid var(--line);min-height:82px;color:var(--ink);box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;text-decoration:none;display:grid}.staff-quick-card:hover{border-color:var(--line-strong);background:#fafaf8}.staff-quick-card>span:nth-child(2){gap:3px;min-width:0;display:grid}.staff-quick-card strong{font-size:12.5px;line-height:1.3}.staff-quick-card small{color:var(--ink-soft);text-overflow:ellipsis;font-size:10px;line-height:1.35;overflow:hidden}.staff-quick-card>.icon:first-child{width:18px;height:18px}.staff-quick-card .quick-chevron{width:16px;height:16px;color:var(--ink-soft)}.dashboard-card-icon{width:34px;height:34px;color:var(--ink);background:#f0f0ec;border-radius:9px;flex:none;justify-content:center;align-items:center;line-height:0;display:flex}.dashboard-card-icon .icon{width:17px;height:17px;margin:0;display:block}.staff-dashboard-attendance .dashboard-card-icon{justify-content:center;align-items:center;display:flex}.leave-balance-card{flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:16px 18px;display:flex}.leave-balance-card strong{font-variant-numeric:tabular-nums;font-size:14px}.leave-balance-card span,.leave-balance-card small{margin:0;line-height:1.4}.payroll-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;padding:24px;display:flex}.payroll-empty-state>div{gap:5px;display:grid}.payroll-empty-state strong,.payroll-empty-state p{margin:0}.payroll-empty-state p{max-width:330px;color:var(--ink-soft);line-height:1.5}.staff-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.staff-stat-grid article{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;display:grid}.staff-stat-grid article>span:not(.dashboard-card-icon){color:var(--ink-soft);font-size:11px;font-weight:650}.staff-stat-grid strong{font-variant-numeric:tabular-nums;font-size:22px}.staff-dashboard-alert{margin:0}.staff-dashboard-tutorial{justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.staff-dashboard-tutorial>div,.staff-dashboard-tutorial>form,.staff-dashboard-tutorial h3,.staff-dashboard-tutorial p{margin:0}.staff-dashboard-tutorial p{color:var(--ink-soft);margin-top:5px}.staff-calendar-panel{margin:14px 0;padding:16px;overflow:hidden}.staff-calendar-panel .calendar-legend{margin:0 0 14px}.staff-calendar-panel .calendar-summary{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:14px}.staff-calendar-panel .calendar-summary span{border:1px solid var(--line);min-width:0;color:var(--ink-soft);background:#fafaf8;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:9px;display:flex}.staff-calendar-panel .calendar-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px}.staff-calendar-panel .calendar-grid{margin:0}.staff-schedule-detail{gap:16px;display:grid}.staff-schedule-status{border:1px solid var(--line);background:#fafaf8;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.staff-schedule-status-icon,.staff-schedule-empty-icon{width:38px;height:38px;color:var(--ink);background:#eceee9;border-radius:10px;place-items:center;display:grid}.staff-schedule-status-icon .icon,.staff-schedule-empty-icon .icon{width:19px;height:19px}.staff-schedule-status>div:nth-child(2){gap:2px;min-width:0;display:grid}.staff-schedule-status span:not(.badge){color:var(--ink-soft);font-size:10.5px}.staff-schedule-status strong{text-wrap:balance;font-size:13px;line-height:1.4}.staff-schedule-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.staff-schedule-facts>div{border:1px solid var(--line);background:#fff;border-radius:10px;align-content:start;gap:4px;min-width:0;padding:13px;display:grid}.staff-schedule-facts dt,.staff-schedule-facts dd{margin:0}.staff-schedule-facts dt{color:var(--ink-soft);font-size:10.5px}.staff-schedule-facts dd{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;line-height:1.45}.staff-schedule-facts .staff-schedule-days{grid-column:1/-1}.staff-schedule-days dd{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.staff-schedule-days dd span{border:1px solid var(--line);background:#f4f4f1;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:700}.staff-schedule-note{border:1px solid var(--line);background:#f7f7f4;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.staff-schedule-note .icon{flex:none;width:17px;height:17px;margin-top:1px}.staff-schedule-note p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:11.5px;line-height:1.55}.staff-schedule-empty{text-align:center;justify-items:center;gap:14px;padding:12px 0 0;display:grid}.staff-schedule-empty>div:nth-child(2){gap:5px;max-width:420px;display:grid}.staff-schedule-empty strong{text-wrap:balance;font-size:14px}.staff-schedule-empty p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:12px;line-height:1.55}.staff-schedule-empty .modal-form-actions{width:100%}@media(max-width:860px){.staff-shell .sidebar-backdrop.open{display:block}.staff-main .content{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.staff-quick-grid,.staff-request-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.staff-dashboard{gap:16px}.staff-dashboard-hero{align-items:flex-start;padding:20px}.staff-dashboard-hero .btn{width:auto}.staff-dashboard-attendance{flex-direction:column;align-items:stretch;padding:16px}.staff-dashboard-attendance .attendance-copy{align-items:center}.staff-dashboard-attendance form,.staff-dashboard-attendance .btn{width:100%}.dashboard-section-head{align-items:flex-start}.staff-quick-grid{gap:10px}.staff-quick-card{grid-template-columns:auto minmax(0,1fr);min-height:88px;padding:13px}.staff-quick-card .quick-chevron{display:none}.staff-stat-grid{gap:8px}.staff-stat-grid article{grid-template-columns:1fr;gap:5px;min-height:114px;padding:12px}.staff-stat-grid article>span:not(.dashboard-card-icon){margin-top:4px}.staff-stat-grid strong{font-size:21px}.staff-dashboard-tutorial{flex-direction:column;align-items:stretch;padding:16px}.staff-dashboard-tutorial .btn{width:100%}.leave-balance-grid{gap:10px}.leave-balance-card{min-height:84px;padding:16px}.staff-calendar-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-schedule-status{grid-template-columns:auto minmax(0,1fr)}.staff-schedule-status>.badge{grid-column:2;justify-self:start}.staff-calendar-panel{border-radius:12px;margin-top:12px;padding:12px}.staff-calendar-panel .calendar-legend{margin-bottom:10px}.staff-calendar-panel .calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px}.staff-calendar-panel .calendar-summary span{text-align:center;justify-items:center;gap:2px;padding:7px 4px;font-size:8px;display:grid}.staff-calendar-panel .calendar-summary strong{font-size:11px}.staff-calendar-panel .calendar-date{font-variant-numeric:tabular-nums}.payroll-empty-state{min-height:220px;padding:24px 18px}.staff-top .topbar-right{gap:6px}.staff-top [data-tutorial-open]{display:none}}@media(max-width:420px){.staff-quick-grid,.staff-request-status-grid{grid-template-columns:1fr}.staff-quick-card{min-height:72px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
