.toast-stack{top:calc(var(--navbar-height) + var(--spacing-md));right:var(--spacing-lg);z-index:var(--z-tooltip);gap:var(--spacing-sm);max-width:380px;width:calc(100vw - var(--spacing-xl));flex-direction:column;display:flex;position:fixed}.toast-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:3px solid #0000;align-items:flex-start;gap:12px;padding:14px 40px 14px 16px;animation:.2s cubic-bezier(.22,1,.36,1) toastSlideIn;display:flex;position:relative;overflow:hidden}.toast-item.toast-leaving{animation:.18s ease-in forwards toastSlideOut}.toast-icon{flex-shrink:0;margin-top:1px;display:flex}.toast-text{flex:1;min-width:0}.toast-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.toast-description{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:3px 0 0}.toast-close{cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:3px;position:absolute;top:12px;right:12px}.toast-close:hover{color:var(--color-text-primary);background:var(--color-gray-100)}.toast-success{border-left-color:var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-error .toast-icon{color:var(--color-danger)}.toast-warning{border-left-color:var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-progress-track{background:var(--color-gray-100);height:2px;position:absolute;bottom:0;left:0;right:0}.toast-progress-bar{transform-origin:0;width:100%;height:100%;animation-name:toastProgressShrink;animation-timing-function:linear;animation-fill-mode:forwards}.toast-success .toast-progress-bar{background:var(--color-success)}.toast-error .toast-progress-bar{background:var(--color-danger)}.toast-warning .toast-progress-bar{background:var(--color-warning)}.toast-item:hover .toast-progress-bar{animation-play-state:paused}@keyframes toastProgressShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(16px)}}@media (width<=480px){.toast-stack{left:var(--spacing-md);right:var(--spacing-md);width:auto;max-width:none}}@media (prefers-reduced-motion:reduce){.toast-item,.toast-item.toast-leaving,.toast-progress-bar{animation:none}}.loader-fullpage{z-index:var(--z-modal);background-color:#ffffffe6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loader-content{align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.loader-container{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);flex-direction:column;display:flex}.loader{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:.8s linear infinite loader-spin}.loader-sm{border-width:2px;width:20px;height:20px}.loader-md{border-width:3px;width:40px;height:40px}.loader-lg{border-width:4px;width:60px;height:60px}.loader-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}@keyframes loader-spin{to{transform:rotate(360deg)}}.avatar{border-radius:var(--radius-full);object-fit:cover;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-sm)}.avatar-lg{width:56px;height:56px;font-size:var(--font-size-base)}.avatar-xl{width:80px;height:80px;font-size:var(--font-size-xl)}.avatar-placeholder{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.dropdown{display:inline-block;position:relative}.dropdown-trigger{cursor:pointer;align-items:center;display:flex}.dropdown-menu{top:calc(100% + var(--spacing-xs));background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:200px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:dropdown-fade-in var(--transition-fast);position:absolute;overflow:hidden}.dropdown-menu-left{left:0}.dropdown-menu-right{right:0}.dropdown-item{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background-color var(--transition-fast);color:var(--color-text-primary);font-size:var(--font-size-sm);align-items:center;gap:var(--spacing-sm);display:flex}.dropdown-item:hover{background-color:var(--color-background-secondary)}.dropdown-item-danger{color:var(--color-danger)}.dropdown-item-danger:hover{background-color:var(--color-danger-light)}.dropdown-item-disabled{color:var(--color-text-tertiary);cursor:not-allowed}.dropdown-item-disabled:hover{background-color:#0000}.dropdown-divider{background-color:var(--color-border);height:1px;margin:var(--spacing-xs) 0}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mobile-drawer-overlay,.mobile-drawer{display:none}@media (width<=1024px){.mobile-drawer-overlay{z-index:var(--z-modal-backdrop);opacity:0;pointer-events:none;transition:opacity var(--transition-fast);background:#0f172a73;display:block;position:fixed;inset:0}.mobile-drawer-overlay.open{opacity:1;pointer-events:auto}.mobile-drawer{background:var(--color-surface);width:min(300px,84vw);z-index:var(--z-modal);box-shadow:var(--shadow-xl);transition:transform var(--transition-fast);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.mobile-drawer.open{transform:translate(0)}}.mobile-drawer-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.mobile-drawer-user-info{flex:1;min-width:0}.mobile-drawer-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-drawer-user-role{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.mobile-drawer-user-tenant{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.mobile-drawer-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-drawer-close:active{background:var(--color-gray-100)}.mobile-drawer-body{padding:var(--spacing-sm) 0;flex:1;overflow-y:auto}.mobile-drawer-link{align-items:center;gap:var(--spacing-sm);padding:10px var(--spacing-md);min-height:44px;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;text-decoration:none;display:flex}.mobile-drawer-link svg{color:var(--color-text-tertiary);flex-shrink:0}.mobile-drawer-link-label{flex:1;min-width:0}.mobile-drawer-link:active{background:var(--color-gray-50)}.mobile-drawer-link.active{background:var(--color-primary-light);color:var(--color-primary)}.mobile-drawer-link.active svg{color:var(--color-primary)}.mobile-drawer-group{font-weight:var(--font-weight-semibold)}.mobile-drawer-group-chevron{color:var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.mobile-drawer-group.expanded .mobile-drawer-group-chevron{transform:rotate(90deg)}.mobile-drawer-depth-0{padding-left:var(--spacing-md)}.mobile-drawer-depth-1{padding-left:calc(var(--spacing-md) + 18px)}.mobile-drawer-depth-2{padding-left:calc(var(--spacing-md) + 36px);font-size:var(--font-size-sm)}.mobile-drawer-subgroup{background:var(--color-background)}.mobile-drawer-footer{border-top:1px solid var(--color-border);padding:var(--spacing-sm) 0;padding-bottom:calc(var(--spacing-sm) + env(safe-area-inset-bottom,0));flex-shrink:0}.mobile-drawer-footer button{align-items:center;gap:var(--spacing-sm);width:100%;padding:10px var(--spacing-md);min-height:44px;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.mobile-drawer-footer button:active{background:var(--color-gray-50)}.mobile-drawer-footer button.danger,.mobile-drawer-footer button.danger svg{color:var(--color-danger)}.navbar{height:var(--navbar-height);background-color:var(--color-navbar-bg);border-bottom:1px solid var(--color-navbar-border);z-index:var(--z-sticky);position:sticky;top:0}.navbar-container{max-width:100%;height:100%;padding:0 var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-lg);margin:0;display:flex}.navbar-left{flex-shrink:0;align-items:center;display:flex}.navbar-brand{align-items:center;gap:var(--spacing-sm);color:var(--color-navbar-text);font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);transition:opacity var(--transition-fast);text-decoration:none;display:flex}.navbar-brand:hover{opacity:.8}.navbar-logo{background:var(--color-primary);width:30px;height:30px;color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.navbar-logo-badge{background:var(--color-background);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.navbar-logo-img{object-fit:contain;width:26px;height:26px}.navbar-brand-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);white-space:nowrap}.navbar-center{margin-left:var(--spacing-lg);flex:1;align-items:center;gap:2px;display:flex}.nav-link{color:var(--color-navbar-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;padding:6px 10px;text-decoration:none}.nav-link:hover{color:var(--color-navbar-text);background-color:var(--color-navbar-bg-hover)}.nav-dropdown{position:relative}.nav-dropdown-trigger{color:var(--color-navbar-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:6px 10px;display:flex}.nav-dropdown-trigger:hover,.nav-dropdown-trigger.active{color:var(--color-navbar-text);background-color:var(--color-navbar-bg-hover)}.nav-dropdown-icon{transition:transform var(--transition-fast);flex-shrink:0}.nav-dropdown-trigger.active .nav-dropdown-icon{transform:rotate(180deg)}.nav-dropdown-menu{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:210px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:dropdown-fade-in var(--transition-fast);padding:4px;position:absolute;top:calc(100% + 4px);left:0}.nav-cascade-menu{min-width:220px;padding:4px}.nav-cascade-group{position:relative}.nav-cascade-group-trigger{width:100%;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.nav-cascade-group.active>.nav-cascade-group-trigger,.nav-cascade-group-trigger:hover{background-color:var(--color-gray-50);color:var(--color-primary)}.nav-cascade-group-icon{color:var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.nav-cascade-group.active .nav-cascade-group-icon{color:var(--color-primary)}.nav-cascade-submenu{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:dropdown-fade-in var(--transition-fast);padding:4px;position:absolute;top:-5px;left:calc(100% + 4px)}.nav-dropdown-item{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:background-color var(--transition-fast);white-space:nowrap;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:flex}.nav-dropdown-item-icon{color:var(--color-text-tertiary);transition:color var(--transition-fast);flex-shrink:0}.nav-dropdown-item:hover{background-color:var(--color-gray-50);color:var(--color-primary)}.nav-dropdown-item.active{background-color:var(--color-primary-light);color:var(--color-primary)}.nav-dropdown-item:hover .nav-dropdown-item-icon,.nav-dropdown-item.active .nav-dropdown-item-icon{color:var(--color-primary)}.navbar-right{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.navbar-user-trigger{border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);align-items:center;gap:6px;padding:4px 6px;display:flex}.navbar-user-trigger:hover{background-color:var(--color-navbar-bg-hover)}.navbar-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-navbar-text)}.navbar-dropdown-icon{color:var(--color-navbar-text-muted);flex-shrink:0}.navbar-user-info{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);display:flex}.navbar-user-details{flex-direction:column;gap:1px;display:flex}.navbar-user-fullname{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.navbar-user-role{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.navbar-user-tenant{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.navbar-mobile-toggle{cursor:pointer;width:32px;height:32px;color:var(--color-navbar-text);background:0 0;border:none;justify-content:center;align-items:center;display:none}@media (width>=1440px){.navbar-container{padding:0 var(--spacing-xl)}}@media (width<=1024px){.navbar-center{display:none}.navbar-mobile-toggle{display:flex}.navbar-user-name{display:none}}@media (width<=768px){.navbar-logo{width:26px;height:26px}.navbar-logo-badge{width:30px;height:30px}.navbar-logo-img{width:22px;height:22px}}@media (width<=480px){.navbar-brand-text{display:none}.navbar-container{padding:0 var(--spacing-sm);gap:var(--spacing-sm)}}.main-layout{background-color:var(--color-background-page);flex-direction:column;min-height:100vh;display:flex}.main-content{width:100%;max-width:100%;padding:var(--spacing-md) var(--spacing-lg);flex:1;margin:0}@media (width<=1024px){.main-content{padding:var(--spacing-md)}}@media (width<=768px){.main-content{padding:var(--spacing-sm) var(--spacing-md)}}@media (width<=480px){.main-content{padding:var(--spacing-sm)}}.input-wrapper{flex-direction:column;gap:4px;width:100%;display:flex}.input-wrapper-full-width{width:100%}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:block}.input-required{color:var(--color-danger);margin-left:2px}.input-field{width:100%;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-fast);min-height:34px;padding:7px 10px}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.input-field::placeholder{color:var(--color-text-tertiary)}.input-field:disabled{background-color:var(--color-background-tertiary);cursor:not-allowed;opacity:.6}.input-error{border-color:var(--color-danger);background-color:var(--color-danger-light)}.input-error:focus{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.input-error-text{font-size:var(--font-size-xs);color:var(--color-danger);display:block}.input-helper-text{font-size:var(--font-size-xs);color:var(--color-text-tertiary);display:block}.input-full-width{width:100%}.password-field-wrapper{width:100%;position:relative}.password-field-wrapper input{width:100%;padding-right:36px}.password-field-toggle{cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-field-toggle:hover{color:var(--color-text-primary)}.password-field-toggle:disabled{cursor:not-allowed;opacity:.5}.btn{font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;letter-spacing:0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;display:inline-flex;position:relative}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{font-size:var(--font-size-xs);min-height:28px;padding:4px 10px}.btn-md{font-size:var(--font-size-sm);min-height:34px;padding:6px 14px}.btn-lg{font-size:var(--font-size-base);min-height:38px;padding:8px 18px}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-background);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-300)}.btn-danger{background-color:var(--color-danger);color:var(--color-text-inverse);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.btn-success{background-color:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:#047857;border-color:#047857}.btn-outline{color:var(--color-text-primary);border-color:var(--color-border);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-300)}.btn-dark{background-color:var(--color-gray-600);color:var(--color-text-inverse);border-color:var(--color-gray-600)}.btn-dark:hover:not(:disabled){background-color:var(--color-gray-700);border-color:var(--color-gray-700)}.btn.btn-secondary.btn-back{background-color:var(--color-warning-light);color:var(--color-warning);border-color:#fde68a}.btn.btn-secondary.btn-back:hover:not(:disabled){border-color:var(--color-warning);background-color:#fef3c7}.btn-warning{background-color:var(--color-warning);color:var(--color-text-inverse);border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background-color:#b45309;border-color:#b45309}.btn-confirm{color:var(--color-text-inverse);background-color:#7c3aed;border-color:#7c3aed}.btn-confirm:hover:not(:disabled){background-color:#6d28d9;border-color:#6d28d9}.btn-icon{border-radius:var(--radius-md);width:30px;height:30px;min-height:auto;color:var(--color-gray-400);transition:all var(--transition-fast);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--color-gray-100);color:var(--color-gray-700)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-icon.btn-icon-view{color:var(--color-action-view)}.btn-icon.btn-icon-view:hover:not(:disabled){background:var(--color-action-view-light)}.btn-icon.btn-icon-edit{color:var(--color-action-edit)}.btn-icon.btn-icon-edit:hover:not(:disabled){background:var(--color-action-edit-light)}.btn-icon.btn-icon-danger{color:var(--color-action-delete)}.btn-icon.btn-icon-danger:hover:not(:disabled){background:var(--color-action-delete-light)}.btn-icon.btn-icon-print{color:var(--color-action-print)}.btn-icon.btn-icon-print:hover:not(:disabled){background:var(--color-action-print-light)}.btn-icon.btn-icon-complete{color:var(--color-action-complete)}.btn-icon.btn-icon-complete:hover:not(:disabled){background:var(--color-action-complete-light)}.btn-full-width{width:100%}.btn-loading{pointer-events:none}.btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite btn-spin;display:inline-block}.btn-content-loading{opacity:.6}@keyframes btn-spin{to{transform:rotate(360deg)}}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.card-bordered{border:1px solid var(--color-border)}.card-hoverable{cursor:pointer}.card-hoverable:hover{box-shadow:var(--shadow-md)}.card-padding-sm{padding:var(--spacing-sm)}.card-padding-md{padding:var(--spacing-md)}.card-padding-lg{padding:var(--spacing-xl)}.login-page{background:linear-gradient(160deg, var(--color-gray-50) 0%, var(--color-primary-light) 100%);min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.login-container{width:100%;max-width:400px}.login-card{box-shadow:var(--shadow-xl);animation:.3s ease-out login-fade-in}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{background:var(--color-primary);width:44px;height:44px;color:var(--color-text-inverse);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);margin:0 auto var(--spacing-md);justify-content:center;align-items:center;display:flex}.login-logo-img{width:auto;max-width:100%;height:72px;margin:0 auto var(--spacing-sm);display:block}.login-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 4px}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.login-password-field{flex-direction:column;gap:4px;width:100%;display:flex}.login-checkbox{font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:6px;display:flex}.login-checkbox input{cursor:pointer;accent-color:var(--color-primary)}.login-signup-prompt{margin-top:var(--spacing-md);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.login-signup-link{color:var(--color-text-link);font-weight:var(--font-weight-medium);text-decoration:none}.login-signup-link:hover{color:var(--color-text-link-hover);text-decoration:underline}.login-trial-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:4px 0 0}.login-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);text-align:center}.login-footer-text{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}@keyframes login-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.login-page{padding:var(--spacing-sm)}}.promo-panel{padding:var(--spacing-2xl);background:linear-gradient(160deg, #fff 0%, var(--color-primary-light) 60%, #fff 100%);border-right:1px solid var(--color-border);flex:45%;order:-1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.promo-panel:before,.promo-panel:after{content:"";filter:blur(70px);pointer-events:none;border-radius:50%;position:absolute}.promo-panel:before{background:radial-gradient(circle, var(--color-primary) 0%, transparent 70%);opacity:.22;width:380px;height:380px;top:-120px;left:-120px}.promo-panel:after{background:radial-gradient(circle, var(--color-info) 0%, transparent 70%);opacity:.18;width:300px;height:300px;bottom:-100px;right:-80px}.promo-panel-content{z-index:1;max-width:380px;position:relative}.promo-panel-badge{border-radius:var(--radius-full);background:linear-gradient(120deg, var(--color-primary) 0%, #7c3aed 55%, #06b6d4 100%);color:var(--color-text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--spacing-lg);align-items:center;gap:6px;padding:6px 16px;display:inline-flex;box-shadow:0 6px 16px -4px #4f46e573}.promo-panel-badge svg{flex-shrink:0}.promo-panel-heading{font-family:var(--font-family-heading);letter-spacing:-.01em;margin:0 0 var(--spacing-md) 0;background:linear-gradient(120deg, var(--color-primary) 0%, #7c3aed 50%, #06b6d4 100%);color:#0000;filter:drop-shadow(0 6px 18px #4f46e54d);-webkit-background-clip:text;background-clip:text;font-size:clamp(34px,4.8vw,56px);font-weight:800;line-height:1.08}.promo-panel-tagline{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.promo-panel-tagline svg{color:var(--color-primary);flex-shrink:0}.promo-panel-tagline-highlight{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.promo-panel-tagline-sep{color:var(--color-border-dark)}.promo-panel-features{gap:var(--spacing-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.promo-panel-features li{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:flex}.promo-panel-feature-icon{border-radius:var(--radius-full);background:var(--color-success-light);width:24px;height:24px;color:var(--color-success);flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=960px){.promo-panel{display:none}}.signup-page{background:var(--color-background);min-height:100vh;display:flex}.signup-form-pane{padding:var(--spacing-lg);flex:55%;display:flex;overflow-y:auto}.signup-container{width:100%;max-width:660px;margin:auto}.signup-card{box-shadow:var(--shadow-xl);animation:.3s ease-out signup-fade-in}.signup-header{text-align:center;margin-bottom:var(--spacing-md)}.signup-logo-img{width:auto;max-width:100%;height:52px;margin:0 auto var(--spacing-xs);display:block}.signup-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 4px}.signup-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.signup-form{gap:var(--spacing-md);flex-direction:column;display:flex}.signup-section{gap:var(--spacing-sm);flex-direction:column;display:flex}.signup-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border-light);margin:0}.signup-form-row{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.signup-manual-field{flex-direction:column;gap:4px;width:100%;display:flex}.signup-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);text-align:center}.signup-footer-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.signup-login-link{color:var(--color-text-link);font-weight:var(--font-weight-medium);text-decoration:none}.signup-login-link:hover{color:var(--color-text-link-hover);text-decoration:underline}@keyframes signup-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.signup-form-pane{flex:100%}}@media (width<=640px){.signup-form-row{grid-template-columns:1fr}}@media (width<=480px){.signup-form-pane{padding:var(--spacing-sm)}.signup-form{gap:var(--spacing-md)}.signup-header{margin-bottom:var(--spacing-md)}}.status-page{background-color:var(--color-background-secondary);min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.status-page-card{width:100%;max-width:480px}.status-page-content{text-align:center;padding:var(--spacing-xl)}.status-page-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex}.status-page-icon-warning{background:var(--color-warning-light);color:var(--color-warning)}.status-page-icon-danger{background:var(--color-danger-light);color:var(--color-danger)}.status-page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.status-page-text{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0}.status-page-contact-placeholder{font-size:var(--font-size-sm);color:var(--color-text-tertiary);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-xl)}.status-page-actions{justify-content:center;display:flex}@media (width<=480px){.status-page-title{font-size:var(--font-size-xl)}}.page-header{margin-bottom:var(--spacing-md)}.page-header-content{max-width:100%;margin:0;padding:0}.page-breadcrumbs{align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);font-size:var(--font-size-xs);flex-wrap:wrap;display:flex}.breadcrumb-item{align-items:center;gap:var(--spacing-xs);display:flex}.breadcrumb-link{color:var(--color-text-secondary);transition:color var(--transition-fast);text-decoration:none}.breadcrumb-link:hover{color:var(--color-primary)}.breadcrumb-current{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.breadcrumb-separator{color:var(--color-text-tertiary)}.page-header-main{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.page-header-text{flex:1;min-width:0}.page-title{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.page-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:2px 0 0}.page-header-actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}@media (width<=768px){.page-header-main{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.page-header-actions{width:100%}.page-header .btn.btn-secondary.btn-back{width:40px;height:40px;min-height:40px;color:var(--color-text-secondary);background:0 0;border:none;flex-shrink:0;padding:0}.page-header .btn.btn-secondary.btn-back:hover:not(:disabled){background:var(--color-gray-100)}.page-header .btn-back-label{display:none}}.modal-overlay{z-index:var(--z-modal);padding:var(--spacing-md);background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);flex-direction:column;max-height:90vh;animation:.15s ease-out modalSlideIn;display:flex}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.modal-sm{width:100%;max-width:380px}.modal-md{width:100%;max-width:560px}.modal-lg{width:100%;max-width:800px}.modal-xl{width:100%;max-width:1100px}.modal-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-close{color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-md);width:28px;height:28px;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;display:flex}.modal-close:hover{background-color:var(--color-gray-100);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-md);overflow-y:auto}@media (width<=768px){.modal-sm,.modal-md,.modal-lg,.modal-xl{max-width:100%}}.date-picker{position:relative}.date-picker-input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-background);cursor:pointer;min-height:34px;transition:border-color var(--transition-fast);justify-content:space-between;align-items:center;padding:7px 10px;font-family:inherit;display:flex}.date-picker-input:hover:not(:disabled){border-color:var(--color-gray-300)}.date-picker-input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.date-picker-input:disabled{background-color:var(--color-background-secondary);cursor:not-allowed;opacity:.6}.date-picker-input svg{color:var(--color-text-tertiary);flex-shrink:0}.date-picker-placeholder{color:var(--color-text-tertiary)}.date-picker-popup{z-index:9999;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:260px;box-shadow:var(--shadow-lg);padding:var(--spacing-sm);animation:.12s ease-out datePickerFadeIn}.date-picker-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.date-picker-month-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.date-picker-nav{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.date-picker-nav:hover{background-color:var(--color-gray-100);color:var(--color-text-primary)}.date-picker-weekdays,.date-picker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker-weekdays span{text-align:center;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);padding:4px 0}.date-picker-day{aspect-ratio:1;border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-xs);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.date-picker-day:hover{background-color:var(--color-gray-100)}.date-picker-day.today{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.date-picker-day.active{background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.date-picker-day:disabled{color:var(--color-text-tertiary);opacity:.4;cursor:not-allowed}.date-picker-day:disabled:hover{background:0 0}.date-picker-today-btn{width:100%;margin-top:var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-background);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);padding:6px}.date-picker-today-btn:hover{background-color:var(--color-primary-light)}@keyframes datePickerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.widget-card{flex-direction:column;height:100%;display:flex;overflow:hidden}.widget-card-header{align-items:center;gap:var(--spacing-xs);padding-bottom:var(--spacing-sm);display:flex;position:relative}.widget-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.widget-card-info{color:var(--color-text-tertiary);cursor:help;border-radius:var(--radius-full);transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.widget-card-info:hover,.widget-card-info:focus-visible{color:var(--color-text-secondary)}.widget-card-info-tip{z-index:var(--z-tooltip);max-width:100%;padding:var(--spacing-sm);border-radius:var(--radius-md);background-color:var(--color-gray-800);color:var(--color-text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);text-transform:none;letter-spacing:normal;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-fast), visibility var(--transition-fast);position:absolute;top:100%;left:0}.widget-card-info:hover~.widget-card-info-tip,.widget-card-info:focus-visible~.widget-card-info-tip{opacity:1;visibility:visible}.widget-card-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.widget-card-message{padding:var(--spacing-md) 0;font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;margin:auto}.widget-card-subtitle{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:2px 0 0}.widget-card-refreshing{border-radius:var(--radius-sm);background-color:#fff9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.kpi-tile{justify-content:center;gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.kpi-tile-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.kpi-tile-trend{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);align-self:flex-start;align-items:center;gap:2px;display:inline-flex}.kpi-tile-trend-up{color:var(--color-success);background-color:var(--color-success-light)}.kpi-tile-trend-down{color:var(--color-danger);background-color:var(--color-danger-light)}.kpi-tile-caption{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}.chart-widget-canvas{flex:1;width:100%;min-height:0;overflow:hidden}.period-filter{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);scrollbar-width:none;align-items:center;max-width:100%;display:flex;overflow:auto hidden}.period-filter::-webkit-scrollbar{display:none}.period-filter-option{padding:var(--spacing-xs) var(--spacing-md);border:none;border-left:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;flex:none}.period-filter-option:first-child{border-left:none}.period-filter-option:hover:not(.period-filter-option-active){background-color:var(--color-background);color:var(--color-text-primary)}.period-filter-option-active{background-color:var(--color-primary);color:#fff}.period-filter-option:focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary);outline:none}.period-filter-option-active:focus-visible{box-shadow:inset 0 0 0 2px #fff}.dashboard-page{width:100%}.dashboard-tiles{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;display:grid}.todo-tile{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;display:flex}.todo-tile-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.todo-tile-heading{align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);display:flex}.todo-tile-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.todo-tile-count{border-radius:var(--radius-full);background-color:var(--color-primary-light);min-width:22px;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:center;padding:1px 7px}.todo-tile-state{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) 0;flex-direction:column;display:flex}.todo-tile-empty{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin:0}.todo-tile-error{color:var(--color-danger);font-size:var(--font-size-sm);margin:0}.todo-tile-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.todo-tile-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);display:flex}.todo-tile-item:last-child{border-bottom:none}.todo-tile-check{border:1.5px solid var(--color-border);border-radius:var(--radius-full);color:#0000;cursor:pointer;width:24px;height:24px;transition:all var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.todo-tile-check:hover:not(:disabled){border-color:var(--color-success);background-color:var(--color-success-light);color:var(--color-success)}.todo-tile-check:disabled{opacity:.5;cursor:default}.todo-tile-body{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;min-width:0;padding:0;display:flex}.todo-tile-item-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.todo-tile-body:hover .todo-tile-item-title{text-decoration:underline}.todo-tile-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.todo-tile-due{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.todo-tile-viewall{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);width:100%;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border-bottom:none;border-left:none;border-right:none;justify-content:center;align-items:center;gap:4px;display:flex}.todo-tile-viewall:hover{text-decoration:underline}.dashboard-kpi-row{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.dashboard-chart-toolbar{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.dashboard-chart-toolbar-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.dashboard-chart-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(2,1fr);grid-auto-rows:340px;display:grid}.dashboard-kpi-row>*,.dashboard-chart-grid>*{min-width:0}@media (width<=1024px){.dashboard-chart-grid{grid-template-columns:1fr}}@media (width<=640px){.dashboard-chart-toolbar{flex-direction:column;align-items:stretch}}@media (width<=768px){.dashboard-kpi-row,.dashboard-chart-grid{grid-template-columns:1fr}}@media (width<=480px){.todo-tile{padding:var(--spacing-md)}}.profile-page{width:100%}.profile-content{gap:var(--spacing-lg);flex-direction:column;display:flex}.profile-header-card{padding:var(--spacing-xl);justify-content:space-between;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.profile-avatar-section{align-items:center;gap:var(--spacing-xl);display:flex}.profile-header-info{gap:var(--spacing-xs);flex-direction:column;display:flex}.profile-name{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.profile-email{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.profile-status{padding:4px var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);margin-top:var(--spacing-xs);width:fit-content;display:inline-block}.status-active{background-color:var(--color-success-light);color:var(--color-success)}.status-inactive{background-color:var(--color-danger-light);color:var(--color-danger)}.profile-details-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.profile-detail-card{padding:var(--spacing-lg)}.profile-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.profile-info-list{gap:var(--spacing-md);flex-direction:column;display:flex}.profile-info-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.profile-info-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.profile-info-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.badge{padding:4px var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);display:inline-block}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-danger{background-color:var(--color-danger-light);color:var(--color-danger)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}@media (width<=768px){.profile-avatar-section{text-align:center;flex-direction:column}.profile-details-grid{grid-template-columns:1fr}}.print-options-section{margin-bottom:var(--spacing-lg)}.print-options-section-head{justify-content:space-between;align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex}.print-options-label{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:block}.print-options-section-head .print-options-label{margin-bottom:0}.print-options-bulk{align-items:center;gap:var(--spacing-xs);color:var(--color-text-tertiary);font-size:var(--font-size-xs);display:flex}.print-options-bulk button{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:none;padding:0}.print-options-bulk button:hover{text-decoration:underline}.print-options-orientation{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.print-options-radio{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);display:flex;position:relative}.print-options-radio input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.print-options-radio:hover{border-color:var(--color-primary)}.print-options-radio.is-selected{border-color:var(--color-primary);background-color:var(--color-primary-light);box-shadow:inset 0 0 0 1px var(--color-primary)}.print-options-radio:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.print-options-radio-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex-direction:column;gap:2px;display:flex}.print-options-radio-text small{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary)}.print-options-columns{gap:var(--spacing-xs) var(--spacing-md);max-height:320px;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid;overflow-y:auto}.print-options-checkbox{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;min-width:0;padding:4px 2px;display:flex}.print-options-checkbox span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.print-options-checkbox input{cursor:pointer;flex-shrink:0}.print-options-fixed{margin-top:var(--spacing-md)}.print-options-fixed-note{margin-bottom:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary);display:block}.print-options-fixed-list{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.print-options-fixed-chip{padding:2px var(--spacing-sm);border-radius:var(--radius-sm);background-color:var(--color-background-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.print-options-hint{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background-color:var(--color-background-secondary);color:var(--color-text-secondary);font-size:var(--font-size-xs);display:flex}.print-options-hint.is-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.print-options-hint.is-error{background-color:var(--color-danger-light);color:var(--color-danger)}.print-options-hint svg{flex-shrink:0}.print-options-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}@media (width<=600px){.print-options-orientation{grid-template-columns:1fr}.print-options-actions{flex-direction:column-reverse}.print-options-actions button{width:100%}}.month-picker{position:relative}.month-picker-input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-background);cursor:pointer;min-height:34px;transition:border-color var(--transition-fast);justify-content:space-between;align-items:center;padding:7px 10px;font-family:inherit;display:flex}.month-picker-input:hover:not(:disabled){border-color:var(--color-gray-300)}.month-picker-input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.month-picker-input:disabled{background-color:var(--color-background-secondary);cursor:not-allowed;opacity:.6}.month-picker-input svg{color:var(--color-text-tertiary);flex-shrink:0}.month-picker-placeholder{color:var(--color-text-tertiary)}.month-picker-popup{z-index:9999;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:260px;box-shadow:var(--shadow-lg);padding:var(--spacing-sm);animation:.12s ease-out monthPickerFadeIn}.month-picker-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.month-picker-year-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.month-picker-nav{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.month-picker-nav:hover{background-color:var(--color-gray-100);color:var(--color-text-primary)}.month-picker-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.month-picker-cell{border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:8px 4px;display:flex}.month-picker-cell:hover{background-color:var(--color-gray-100)}.month-picker-cell.current{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.month-picker-cell.active{background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.month-picker-cell:disabled{color:var(--color-text-tertiary);opacity:.4;cursor:not-allowed}.month-picker-cell:disabled:hover{background:0 0}.month-picker-footer{margin-top:var(--spacing-sm);justify-content:space-between;display:flex}.month-picker-footer-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-background);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);padding:6px 10px}.month-picker-footer-btn:hover{background-color:var(--color-primary-light)}@keyframes monthPickerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.datatable-toolbar{justify-content:flex-end;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-md);flex-wrap:wrap;display:flex}.datatable-toolbar-primary,.datatable-toolbar-actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.datatable-toolbar-left{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-right:auto;display:flex}.datatable-btn-label{display:inline}.dropdown.datatable-toolbar-more{display:none}.datatable-container{border:1px solid var(--color-border-dark);border-radius:var(--radius-md);overflow:auto hidden}.datatable{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.datatable--wide{table-layout:auto;width:max-content;min-width:100%}.datatable--wide th,.datatable--wide td{white-space:nowrap;min-width:100px}.datatable--wide th:first-child,.datatable--wide td:first-child{min-width:60px}.datatable--wide thead th{background-color:var(--color-primary-light)}.datatable--wide .datatable-filter-row th{background-color:var(--color-background)}.datatable--wide tbody td{background-color:var(--color-surface)}.datatable--wide tbody tr:hover td{background-color:var(--color-primary-light)}.datatable--noshrink{table-layout:auto;width:100%}.datatable--noshrink th,.datatable--noshrink td{white-space:normal;overflow-wrap:anywhere;word-break:normal}.datatable thead{background-color:var(--color-primary-light)}.datatable th{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-gray-800);border-bottom:1px solid var(--color-border-dark);border-right:1px solid var(--color-border-dark);vertical-align:middle;overflow-wrap:break-word;word-break:break-word;padding:8px 12px}.datatable th:last-child{border-right:none}.header-label{align-items:center;display:flex}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;width:100%;display:inline-flex}.sortable-header:hover{color:var(--color-primary)}.sort-icon{color:var(--color-primary);flex-shrink:0}.datatable-filter-row th{background-color:var(--color-background);border-bottom:1px solid var(--color-border-dark);border-right:1px solid var(--color-border-dark);vertical-align:middle;padding:8px 10px}.datatable-filter-row th:last-child{border-right:none}.column-filter-input,.column-filter-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:32px;font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-background);transition:border-color var(--transition-fast);padding:6px 8px}.column-filter-input:focus,.column-filter-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.column-filter-input::placeholder{color:var(--color-gray-400)}.datatable td{border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-primary);overflow-wrap:break-word;word-break:break-word;padding:5px 12px;line-height:1.35}.datatable td:last-child{border-right:none}.datatable tbody tr{transition:background-color var(--transition-fast)}.datatable tbody tr:hover{background-color:var(--color-primary-light)}.datatable tbody tr:last-child td{border-bottom:none}.datatable-empty{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:32px!important}.datatable-totals-row td{background:var(--color-primary-light);border-top:1px solid var(--color-border);font-weight:600;font-size:var(--font-size-sm)}.datatable th:last-child,.datatable td:last-child{width:110px}.datatable-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);display:flex}.pagination-controls{align-items:center;gap:4px;display:flex}.pagination-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);width:30px;height:30px;color:var(--color-gray-600);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.pagination-btn:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-300);color:var(--color-gray-800)}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-page{min-width:30px;height:30px;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.pagination-page:hover{background:var(--color-gray-100);color:var(--color-text-primary)}.pagination-page.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.pagination-ellipsis{color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:0 4px}.page-size-select{min-width:130px}@media print{body.datatable-printing,body.datatable-printing *{visibility:visible!important}body.datatable-printing .main-layout>:not(.main-content),body.datatable-printing .page-header,body.datatable-printing .datatable-toolbar,body.datatable-printing .datatable-pagination,body.datatable-printing .datatable-filter-row{display:none!important}body.datatable-printing .main-layout,body.datatable-printing .main-content{background:0 0;max-width:none;margin:0;padding:0;display:block}body.datatable-printing .datatable-container{border:none;border-radius:0;overflow:visible}body.datatable-printing .datatable{table-layout:auto;font-size:8pt}body.datatable-printing .datatable th{-webkit-print-color-adjust:exact;print-color-adjust:exact;white-space:normal;border:.5px solid #555;padding:3px 5px;font-size:8pt;background:#e5e5e5!important}body.datatable-printing .datatable td{white-space:normal;border:.5px solid #555;padding:2px 5px;font-size:8pt}body.datatable-printing .datatable thead{display:table-header-group}body.datatable-printing .datatable tbody tr{page-break-inside:avoid}body.datatable-printing .datatable th:last-child,body.datatable-printing .datatable td:last-child{display:none}body.datatable-printing .datatable tbody tr:hover{background:0 0}body.datatable-printing .datatable--wide th,body.datatable-printing .datatable--wide td{white-space:normal;min-width:auto;position:static!important}}@media (width<=768px){.datatable-toolbar{align-items:stretch;gap:var(--spacing-xs);flex-direction:column}.datatable-toolbar-left{width:100%;margin-right:0}.datatable-toolbar-primary{gap:var(--spacing-xs);flex-wrap:nowrap;justify-content:flex-end}.datatable-toolbar-filter-btn{display:none}.datatable-toolbar-clear-btn{flex-shrink:0;justify-content:center;width:36px;padding:0}.dropdown.datatable-toolbar-more{flex-shrink:0;display:inline-flex}.datatable-toolbar-more-btn{justify-content:center;width:36px;padding:0}.datatable-toolbar-actions,.datatable-btn-label{display:none}.datatable-pagination{flex-wrap:wrap}.datatable th,.datatable td{padding:5px 6px;font-size:10px}.datatable-filter-row th{padding:6px}.column-filter-input,.column-filter-select{min-height:28px;padding:4px 6px;font-size:11px}}.mobile-tab-bar{z-index:var(--z-sticky);background-color:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000000f}.mobile-tab-bar-item{min-height:56px;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:8px 4px;text-decoration:none;display:flex}.mobile-tab-bar-item.active{color:var(--color-primary)}.mm-page{padding:var(--spacing-sm) var(--spacing-sm) 76px}.mm-page.mm-no-tabbar{padding-bottom:var(--spacing-md)}.mm-page-title{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.mm-search-row{align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);display:flex}.mm-search-input{align-items:center;gap:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0 var(--spacing-sm);height:44px;color:var(--color-text-tertiary);flex:1;display:flex}.mm-search-input input{font-size:var(--font-size-sm);color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%}.mm-search-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.mm-search-input input:focus-visible{outline:none}.mm-icon-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mm-icon-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.mm-sort-active{font-weight:var(--font-weight-semibold);color:var(--color-primary)!important}.mm-filter-panel{gap:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.mm-filter-input{height:40px;padding:0 var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-background)}.mm-center-pad{align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl) var(--spacing-md);flex-direction:column;display:flex}.mm-error-text{color:var(--color-danger);text-align:center}.mm-empty-text{color:var(--color-text-tertiary);text-align:center}.mm-card-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.mm-card{align-items:center;gap:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);cursor:pointer;display:flex}.mm-card-thumb{border-radius:var(--radius-md);background:var(--color-primary-light);width:44px;height:44px;color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.mm-card-info{flex:1;min-width:0}.mm-card-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mm-card-subtitle{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.mm-card-tag{font-size:10px;font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);margin-top:2px}.mm-card-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.mm-card-actions{align-items:center;gap:2px;display:flex}.mm-card-actions .mm-icon-btn{background:0 0;border:none;width:36px;height:36px}.mm-card-actions .mm-icon-btn:active{background:var(--color-gray-100)}.mm-pagination{padding:var(--spacing-sm) 2px;justify-content:space-between;align-items:center;display:flex}.mm-page-btn{min-height:40px;padding:0 var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;align-items:center;gap:4px;display:flex}.mm-page-btn:disabled{opacity:.4;cursor:not-allowed}.mm-page-indicator{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mm-detail-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.mm-back-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mm-back-btn:active{background:var(--color-gray-100)}.mm-detail-header-info{flex:1;min-width:0}.mm-detail-header-title{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;display:flex;overflow:hidden}.mm-detail-header-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:2px}.mm-detail-image{object-fit:contain;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-height:200px;margin-bottom:var(--spacing-md)}.mm-detail-image-empty{height:140px;color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.mm-tabs{background:var(--color-background);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);padding:3px;display:flex}.mm-tabs button{border-radius:var(--radius-md);min-height:40px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex:1}.mm-tabs button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.mm-detail-fields{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.mm-detail-row{justify-content:space-between;gap:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);display:flex}.mm-detail-row>span:first-child{color:var(--color-text-tertiary);flex-shrink:0}.mm-detail-row>span:last-child{color:var(--color-text-primary);font-weight:var(--font-weight-medium);text-align:right;overflow-wrap:break-word;min-width:0}.mm-detail-actions{margin-top:var(--spacing-md);gap:var(--spacing-sm);display:flex}.mm-detail-actions>*{flex:1}.mm-field{margin-bottom:var(--spacing-md)}.mm-field .form-label{margin-bottom:4px;display:block}.mm-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:var(--spacing-lg) 0 var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.mm-section-title-row{justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);margin:var(--spacing-lg) 0 var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);display:flex}.mm-section-title-row .mm-section-title{border-top:none;margin:0;padding-top:0}.mm-section-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.mm-picker-card{cursor:pointer}.mm-picker-card-checked{border-color:var(--color-primary);background:var(--color-primary-light)}.mm-add-subitem-btn{border:1px dashed var(--color-border-dark);border-radius:var(--radius-lg);width:100%;min-height:44px;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;margin-bottom:var(--spacing-sm);background:0 0;justify-content:center;align-items:center;gap:6px;display:flex}.mm-subitem-form{gap:var(--spacing-sm);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.mm-subitem-form-actions{gap:var(--spacing-sm);display:flex}.mm-subitem-form-actions>*{flex:1}.mm-subitem-list{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.mm-subitem-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm)}.mm-subitem-card.modified{border-color:var(--color-warning,#d97706);background:var(--color-warning-light,#fffbeb)}.mm-subitem-card.removed{opacity:.55}.mm-subitem-header{align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:4px;display:flex}.mm-subitem-badge{font-size:10px;font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);padding:1px 6px}.mm-subitem-badge.removed{background:var(--color-danger-light,#fee2e2);color:var(--color-danger)}.mm-subitem-grid{gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:pre-wrap;flex-wrap:wrap;margin-bottom:4px;display:flex}.mm-subitem-actions{gap:var(--spacing-md);border-top:1px solid var(--color-border-light);padding-top:6px;display:flex}.mm-subitem-actions button{min-height:32px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:flex}.mm-subitem-actions button:disabled{opacity:.4;cursor:not-allowed}.mm-subitem-actions button.danger{color:var(--color-danger)}.mm-dropdown-item-note{font-size:var(--font-size-xs);color:var(--color-warning);white-space:normal;max-width:220px;line-height:var(--line-height-normal);margin-top:2px;display:block}.users-page{width:100%}.user-name-cell{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.role-text{font-size:var(--font-size-sm)}.date-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.create-user-page{width:100%}.create-user-form{gap:var(--spacing-lg);padding:var(--spacing-md);flex-direction:column;display:flex}.form-section-title{font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);margin:0;padding-bottom:10px}.form-input,.form-select{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-background);transition:border-color var(--transition-fast);min-height:34px;padding:7px 10px}.form-input:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.form-input:disabled,.form-select:disabled{background-color:var(--color-background-secondary);cursor:not-allowed;opacity:.6}.form-input::placeholder{color:var(--color-text-tertiary)}@media (width<=1024px){.form-row{grid-template-columns:1fr 1fr}}@media (width<=768px){.create-user-form{padding:var(--spacing-sm)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.coming-soon{justify-content:center;align-items:center;min-height:400px;padding:2rem;display:flex}.coming-soon-content{text-align:center;max-width:500px}.coming-soon-icon{margin-bottom:1.5rem;font-size:4rem;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.coming-soon-title{color:var(--color-text-primary);margin:0 0 1rem;font-size:2rem;font-weight:600}.coming-soon-description{color:var(--color-text-secondary);margin:0 0 1rem;font-size:1.1rem}.coming-soon-message{color:var(--color-text-tertiary);margin:0;font-size:.95rem}@media (width<=1024px) and (width>=769px){.coming-soon{min-height:350px}}@media (width<=768px){.coming-soon{min-height:300px;padding:var(--spacing-md)}.coming-soon-icon{margin-bottom:1rem;font-size:3rem}.coming-soon-title{font-size:1.5rem}.coming-soon-description{font-size:1rem}}@media (width<=480px){.coming-soon{min-height:250px;padding:var(--spacing-sm)}.coming-soon-content{max-width:100%}.coming-soon-icon{font-size:2.5rem}.coming-soon-title{font-size:1.25rem}.coming-soon-description{font-size:.9rem}.coming-soon-message{font-size:.85rem}}.settings-page{width:100%;height:100%}.not-found-page{background-color:var(--color-background-secondary);min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.not-found-card{width:100%;max-width:500px}.not-found-content{text-align:center;padding:var(--spacing-xl)}.not-found-title{font-size:120px;font-weight:var(--font-weight-bold);color:var(--color-primary);margin:0;line-height:1}.not-found-subtitle{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:var(--spacing-md) 0}.not-found-text{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.not-found-actions{gap:var(--spacing-md);justify-content:center;display:flex}@media (width<=480px){.not-found-title{font-size:80px}.not-found-actions{flex-direction:column}}.confirm-dialog-body{align-items:flex-start;gap:var(--spacing-sm);display:flex}.confirm-dialog-icon{color:var(--color-warning);flex-shrink:0;margin-top:2px}.confirm-dialog-message{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.confirm-dialog-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.lightbox-overlay{z-index:var(--z-modal);padding:var(--spacing-xl);cursor:zoom-out;background:#0f172ad9;justify-content:center;align-items:center;animation:.15s ease-out lightboxFadeIn;display:flex;position:fixed;inset:0}.lightbox-image{object-fit:contain;border-radius:var(--radius-md);max-width:90vw;max-height:90vh;box-shadow:var(--shadow-xl);cursor:default;animation:.15s ease-out lightboxZoomIn}.lightbox-close{top:var(--spacing-lg);right:var(--spacing-lg);border-radius:var(--radius-full);color:#fff;cursor:pointer;width:40px;height:40px;transition:background-color var(--transition-fast);background:#ffffff26;border:none;justify-content:center;align-items:center;display:flex;position:fixed}.lightbox-close:hover{background:#ffffff4d}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lightboxZoomIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.item-mobile-page{padding:var(--spacing-sm) var(--spacing-sm) 76px}.item-mobile-page.item-mobile-no-tabbar{padding-bottom:var(--spacing-md)}.item-mobile-detail-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.item-mobile-back-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.item-mobile-back-btn:active{background:var(--color-gray-100)}.item-mobile-detail-header-info{flex:1;min-width:0}.item-mobile-detail-header-title{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex}.item-mobile-detail-header-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:2px}.item-mobile-detail-image{object-fit:contain;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-height:260px;margin-bottom:var(--spacing-md)}.item-mobile-detail-image-empty{height:180px;color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.item-mobile-tabs{background:var(--color-background);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);padding:3px;display:flex}.item-mobile-tabs button{border-radius:var(--radius-md);min-height:40px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex:1}.item-mobile-tabs button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.item-mobile-detail-fields{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.item-mobile-detail-row{justify-content:space-between;gap:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);display:flex}.item-mobile-detail-row>span:first-child{color:var(--color-text-tertiary);flex-shrink:0}.item-mobile-detail-row>span:last-child{color:var(--color-text-primary);font-weight:var(--font-weight-medium);text-align:right;overflow-wrap:break-word;min-width:0}.item-mobile-detail-actions{margin-top:var(--spacing-md)}.item-mobile-scope-wrapper{margin-bottom:var(--spacing-md)}.item-mobile-scope-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:11px}.item-mobile-scope-table th,.item-mobile-scope-table td{text-align:left;border-bottom:1px solid var(--color-border-light);text-overflow:ellipsis;white-space:nowrap;padding:6px 4px;overflow:hidden}.item-mobile-scope-table th{color:var(--color-text-tertiary);font-weight:var(--font-weight-semibold);text-transform:uppercase;font-size:10px}.item-mobile-scope-table th:first-child,.item-mobile-scope-table td:first-child{width:30%}.item-mobile-scope-table th:nth-child(2),.item-mobile-scope-table td:nth-child(2),.item-mobile-scope-table th:nth-child(3),.item-mobile-scope-table td:nth-child(3){width:20%}.item-mobile-scope-table th:nth-child(4),.item-mobile-scope-table td:nth-child(4){width:30%}.item-mobile-scope-instruction{color:var(--color-text-secondary);white-space:pre-wrap;text-align:left}.item-mobile-field{margin-bottom:var(--spacing-md)}.item-mobile-field .form-label{margin-bottom:4px;display:block}.item-mobile-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:var(--spacing-lg) 0 var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.item-mobile-add-scope-btn{border:1px dashed var(--color-border-dark);border-radius:var(--radius-lg);width:100%;min-height:44px;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;margin-bottom:var(--spacing-sm);background:0 0;justify-content:center;align-items:center;gap:6px;display:flex}.item-mobile-scope-form{gap:var(--spacing-sm);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.item-mobile-scope-form-actions{gap:var(--spacing-sm);display:flex}.item-mobile-scope-form-actions>*{flex:1}.item-mobile-scope-list{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.item-mobile-scope-row-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm)}.item-mobile-scope-row-card.modified{border-color:var(--color-warning,#d97706);background:var(--color-warning-light,#fffbeb)}.item-mobile-scope-row-card.removed{opacity:.55}.item-mobile-scope-row-header{align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:4px;display:flex}.item-mobile-scope-badge{font-size:10px;font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);padding:1px 6px}.item-mobile-scope-badge.removed{background:var(--color-danger-light,#fee2e2);color:var(--color-danger)}.item-mobile-scope-row-grid{gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:4px;display:flex}.item-mobile-scope-row-instruction{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:6px}.item-mobile-scope-row-actions{gap:var(--spacing-md);border-top:1px solid var(--color-border-light);padding-top:6px;display:flex}.item-mobile-scope-row-actions button{min-height:32px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:flex}.item-mobile-scope-row-actions button:disabled{opacity:.4;cursor:not-allowed}.item-mobile-scope-row-actions button.danger{color:var(--color-danger)}.item-mobile-page-title{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.item-mobile-search-row{align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);display:flex}.item-mobile-search-input{align-items:center;gap:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0 var(--spacing-sm);height:44px;color:var(--color-text-tertiary);flex:1;display:flex}.item-mobile-search-input input{font-size:var(--font-size-sm);color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%}.item-mobile-search-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.item-mobile-search-input input:focus-visible{outline:none}.item-mobile-icon-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.item-mobile-icon-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.item-mobile-sort-active{font-weight:var(--font-weight-semibold);color:var(--color-primary)!important}.item-mobile-filter-panel{gap:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.item-mobile-filter-input{height:40px;padding:0 var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-background)}.item-mobile-center-pad{align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl) var(--spacing-md);flex-direction:column;display:flex}.item-mobile-error-text{color:var(--color-danger);text-align:center}.item-mobile-empty-text{color:var(--color-text-tertiary);text-align:center}.item-mobile-card-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.item-mobile-card{align-items:center;gap:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);cursor:pointer;display:flex}.item-mobile-card-thumb{border-radius:var(--radius-md);object-fit:cover;background:var(--color-background);flex-shrink:0;width:52px;height:52px}.item-mobile-card-thumb-empty{color:var(--color-text-tertiary);border:1px dashed var(--color-border-dark);justify-content:center;align-items:center;display:flex}.item-mobile-card-info{flex:1;min-width:0}.item-mobile-card-code{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-mobile-card-name{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.item-mobile-card-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.item-mobile-card-actions{align-items:center;gap:2px;display:flex}.item-mobile-card-actions .item-mobile-icon-btn{background:0 0;border:none;width:36px;height:36px}.item-mobile-card-actions .item-mobile-icon-btn:active{background:var(--color-gray-100)}.item-mobile-pagination{padding:var(--spacing-sm) 2px;justify-content:space-between;align-items:center;display:flex}.item-mobile-page-btn{min-height:40px;padding:0 var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;align-items:center;gap:4px;display:flex}.item-mobile-page-btn:disabled{opacity:.4;cursor:not-allowed}.item-mobile-page-indicator{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.item-mobile-scope-seq{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.item-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:zoom-in;width:32px;height:32px;transition:transform var(--transition-fast);display:inline-block}.item-thumb:hover{transform:scale(1.15)}.item-thumb-placeholder{border-radius:var(--radius-sm);border:1px dashed var(--color-border-dark);width:32px;height:32px;color:var(--color-text-tertiary);justify-content:center;align-items:center;display:inline-flex}.item-details-layout{gap:var(--spacing-lg);align-items:flex-start;display:flex}.item-details-fields{gap:var(--spacing-md);flex-direction:column;flex:1;min-width:0;display:flex}.item-details-fields .form-row{grid-template-columns:1fr 1fr}@media (width<=768px){.item-details-layout{flex-direction:column}.item-details-fields .form-row{grid-template-columns:1fr}}.item-scope-table .sub-table-seq-col{text-align:center;width:48px;color:var(--color-text-secondary)}.item-scope-table .sub-table-removed-row td:first-child{text-decoration:none}.item-scope-table .sub-table-removed-row td:nth-child(2){text-decoration:line-through}.item-scope-table td .form-textarea{width:100%;display:block}.image-upload-field-wrapper{flex-direction:column;gap:6px;display:flex}.image-upload-field{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-background-secondary);position:relative;overflow:hidden}.image-upload-preview{object-fit:cover;cursor:zoom-in;width:100%;height:100%;display:block}.image-upload-placeholder{width:100%;height:100%;color:var(--color-text-tertiary);border:1px dashed var(--color-border-dark);border-radius:var(--radius-md);font-size:var(--font-size-xs);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.image-upload-actions{gap:6px;display:flex}.image-upload-action-btn{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background-color:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 8px;display:flex}.image-upload-action-btn:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}.image-upload-remove-btn{color:var(--color-danger);background-color:var(--color-danger-light,#fee2e2);border-color:var(--color-danger)}.image-upload-remove-btn:hover{background-color:var(--color-danger);color:var(--color-text-inverse)}.admin-edit-note{align-items:flex-start;gap:var(--spacing-sm);margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);display:flex}.admin-edit-note svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.jo-mobile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);cursor:pointer;flex-direction:column;gap:6px;display:flex}.jo-mobile-card-top{align-items:center;gap:var(--spacing-sm);display:flex}.jo-mobile-card-thumb{border-radius:var(--radius-md);object-fit:cover;background:var(--color-background);border:1px solid var(--color-border);flex-shrink:0;width:48px;height:48px}.jo-mobile-card-thumb-empty{color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.jo-mobile-card-info{flex:1;min-width:0}.jo-mobile-card-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jo-mobile-card-subtitle{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.jo-mobile-card-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.jo-mobile-card-meta-row{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex}.jo-mobile-card-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.jo-scheduler-header-card{gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.jo-scheduler-header-image{border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--color-border);flex-shrink:0;width:84px;height:84px}.jo-scheduler-header-image-empty{color:var(--color-text-tertiary);text-align:center;justify-content:center;align-items:center;font-size:10px;display:flex}.jo-scheduler-header-fields{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.jo-scheduler-header-fields .jo-field-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);overflow-wrap:break-word}.jo-scheduler-header-fields .jo-field-sub{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.jo-stat-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.jo-stat-card{align-items:center;gap:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);display:flex}.jo-stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.jo-stat-blue{background:#eef2ff;border-color:#e0e7ff}.jo-stat-blue .jo-stat-icon{color:#4f46e5;background:#e0e7ff}.jo-stat-orange{background:#fff7ed;border-color:#ffedd5}.jo-stat-orange .jo-stat-icon{color:#ea580c;background:#ffedd5}.jo-stat-teal{background:#ecfeff;border-color:#cffafe}.jo-stat-teal .jo-stat-icon{color:#0891b2;background:#cffafe}.jo-stat-purple{background:#faf5ff;border-color:#f3e8ff}.jo-stat-purple .jo-stat-icon{color:#9333ea;background:#f3e8ff}.jo-stat-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.jo-stat-value{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.jo-scheduler-actions{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.jo-process-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.jo-process-card-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:6px;display:flex}.jo-process-card-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary)}.jo-process-card-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);justify-content:space-between;margin-bottom:6px;display:flex}.jo-process-card-actions{gap:var(--spacing-sm);border-top:1px solid var(--color-border-light);padding-top:6px;display:flex}.jo-process-card-actions button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);min-height:36px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.jo-process-card-actions button:disabled{opacity:.4;cursor:not-allowed}.jo-worker-row{justify-content:space-between;align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border-light);padding:10px 0;display:flex}.jo-worker-row-name{font-size:var(--font-size-sm);color:var(--color-text-primary)}.jo-detail-matrix-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.jo-detail-matrix{border-collapse:collapse;font-size:var(--font-size-xs);white-space:nowrap}.jo-detail-matrix th,.jo-detail-matrix td{text-align:right;border-bottom:1px solid var(--color-border-light);padding:8px 10px}.jo-detail-matrix th:first-child,.jo-detail-matrix td:first-child{text-align:left;background:var(--color-surface);position:sticky;left:0}.jo-detail-matrix th{color:var(--color-text-tertiary);font-weight:var(--font-weight-semibold);text-transform:uppercase;font-size:10px}.mm-subitem-seq{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.jo-mobile-card-meta-main{white-space:normal;overflow-wrap:anywhere;min-width:0}.jo-mobile-card-meta-qty{flex-shrink:0}.job-order-flow-table .sub-table-seq-col{text-align:center;width:48px;color:var(--color-text-secondary)}.job-order-flow-table .sub-table-removed-row td:first-child{text-decoration:none}.job-order-flow-table .sub-table-removed-row td:nth-child(2){text-decoration:line-through}.job-order-flow-table td .form-textarea{width:100%;display:block}.mobile-sheet{z-index:var(--z-modal);background:var(--color-background);flex-direction:column;display:flex;position:fixed;inset:0}.mobile-sheet-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-sm);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;display:flex}.mobile-sheet-header-info{flex:1;min-width:0}.mobile-sheet-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-sheet-subtitle{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:1px}.mobile-sheet-body{padding:var(--spacing-sm);flex:1;overflow-y:auto}.mobile-sheet-footer{padding:var(--spacing-sm);border-top:1px solid var(--color-border);padding-bottom:calc(var(--spacing-sm) + env(safe-area-inset-bottom,0));background:var(--color-surface);flex-shrink:0}@page{size:A4;margin:12mm}.job-card-canvas{color:#1a1a1a}.job-card-header-box{border:1pt solid #000;margin-bottom:5mm}.job-card-masthead{box-sizing:border-box;border-bottom:1pt solid #000;align-items:center;min-height:15mm;padding:0 3mm;display:flex}.job-card-logo-slot{flex-shrink:0;justify-content:center;align-items:center;width:18mm;height:13mm;display:flex}.job-card-logo-slot img{object-fit:contain;max-width:100%;max-height:100%}.job-card-masthead-title{text-align:center;letter-spacing:.5pt;flex:1;font-size:16pt;font-weight:800}.job-card-detail-row{box-sizing:border-box;grid-template-columns:46mm 1.2fr 1fr;min-height:52mm;display:grid}.job-card-image-col{border-right:1pt solid #000;justify-content:center;align-items:center;padding:2mm;display:flex}.job-card-image,.job-card-image-placeholder{width:42mm;height:48mm}.job-card-image{object-fit:cover;border:1pt solid #ccc}.job-card-image-placeholder{color:#999;text-align:center;border:1pt dashed #999;justify-content:center;align-items:center;font-size:8pt;display:flex}.job-card-fields-col{border-right:1pt solid #000;flex-direction:column;justify-content:center;gap:2mm;min-width:0;padding:3mm 4mm;display:flex}.job-card-field-row{gap:2mm;font-size:9.5pt;display:flex}.job-card-field-label{overflow-wrap:anywhere;flex:0 0 26mm;font-weight:700}.job-card-field-value{overflow-wrap:anywhere;word-break:break-word;flex:1;min-width:0}.job-card-process-col{flex-direction:column;min-width:0;display:flex}.job-card-process-banner{overflow-wrap:anywhere;text-align:center;letter-spacing:.3pt;border-bottom:1pt solid #000;padding:2mm;font-size:13pt;font-weight:800}.job-card-process-rate{overflow-wrap:anywhere;text-align:center;border-bottom:1pt solid #000;padding:2mm;font-size:10pt}.job-card-process-instruction{flex:1;min-width:0;padding:2mm 3mm}.job-card-instruction-label{margin-bottom:1.5mm;font-size:9pt;font-weight:700}.job-card-instruction-list{overflow-wrap:anywhere;word-break:break-word;margin:0;padding-left:4mm;font-size:9pt;line-height:1.5;list-style:outside}.job-card-instruction-list li{overflow-wrap:anywhere;word-break:break-word}.job-card-instruction-empty{color:#666;font-size:9pt}.job-card-grid{border-collapse:collapse;table-layout:fixed;width:100%;font-size:9pt}.job-card-grid thead{display:table-header-group}.job-card-grid tr{break-inside:avoid;page-break-inside:avoid}.job-card-grid th,.job-card-grid td{text-align:left;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word;border:1pt solid #000;height:11mm;padding:2mm}.job-card-grid th{text-align:center;background:#ececec;font-weight:700}.job-card-grid th:first-child,.job-card-grid td:first-child{width:30%}.job-card-footer{text-align:right;color:#000;margin-top:3mm;font-size:9pt}@media print{.job-card-grid th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@page{size:A4;margin:12mm}.batch-card-canvas{color:#1a1a1a;flex-direction:column;display:flex}.batch-card-masthead{text-align:center;border-bottom:1pt solid #000;margin-bottom:5mm;padding-bottom:3mm}.batch-card-masthead-title{letter-spacing:.5pt;font-size:16pt;font-weight:800}.batch-card-masthead-subtitle{margin-top:1.5mm;font-size:10pt;font-weight:600}.batch-card-detail-block{border:1pt solid #000;gap:5mm;margin-bottom:4mm;padding:4mm;display:flex}.batch-card-image-col{flex-shrink:0}.batch-card-image,.batch-card-image-placeholder{width:32mm;height:32mm}.batch-card-image{object-fit:cover;border:1pt solid #ccc}.batch-card-image-placeholder{color:#999;text-align:center;border:1pt dashed #999;justify-content:center;align-items:center;font-size:8pt;display:flex}.batch-card-fields-grid{flex:1;grid-template-columns:repeat(3,1fr);align-content:start;gap:3mm 5mm;min-width:0;display:grid}.batch-card-field{flex-direction:column;gap:.5mm;min-width:0;display:flex}.batch-card-field-label{text-transform:uppercase;letter-spacing:.2pt;overflow-wrap:anywhere;font-size:7.5pt;font-weight:700}.batch-card-field-value{overflow-wrap:anywhere;word-break:break-word;border-bottom:.5pt solid #999;min-width:0;padding-bottom:.5mm;font-size:9pt;font-weight:600}.batch-card-stat-row{grid-template-columns:repeat(4,1fr);gap:3mm;min-width:0;margin-bottom:4mm;display:grid}.batch-card-stat{overflow-wrap:anywhere;border:1pt solid #000;flex-direction:column;align-items:center;gap:.5mm;min-width:0;padding:2mm;display:flex}.batch-card-stat-label{text-transform:uppercase;letter-spacing:.2pt;text-align:center;font-size:7.5pt;font-weight:700}.batch-card-stat-value{overflow-wrap:anywhere;font-size:14pt;font-weight:800}.batch-card-process-banner{text-align:center;letter-spacing:.3pt;overflow-wrap:anywhere;border:1pt solid #000;border-bottom:none;padding:2mm;font-size:11pt;font-weight:800}.batch-card-grid{border-collapse:collapse;table-layout:fixed;width:100%;font-size:8pt}.batch-card-grid thead{display:table-header-group}.batch-card-grid tr{break-inside:avoid;page-break-inside:avoid}.batch-card-grid th,.batch-card-grid td{text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:break-word;border:1pt solid #000;padding:1.5mm 2mm}.batch-card-grid th{text-align:center;background:#ececec;font-weight:700}.batch-card-grid th:first-child,.batch-card-grid td:first-child{width:15%}.batch-card-grid th:nth-child(2),.batch-card-grid td:nth-child(2){width:10%}.batch-card-grid th:nth-child(3),.batch-card-grid td:nth-child(3){width:25%}.batch-card-grid th:nth-child(4),.batch-card-grid td:nth-child(4){width:22%}.batch-card-grid th:nth-child(5),.batch-card-grid td:nth-child(5){width:10%}.batch-card-grid th:nth-child(6),.batch-card-grid td:nth-child(6){width:8%}.batch-card-grid th:nth-child(7),.batch-card-grid td:nth-child(7){width:10%}.batch-card-grid-strong{font-weight:700}.batch-card-grid-empty{text-align:center;color:#666;padding:8mm}.batch-card-status{letter-spacing:.2pt;text-transform:uppercase;border:.75pt solid #000;padding:.5mm 1.5mm;font-size:7.5pt;font-weight:700;display:inline-block}.batch-card-footer{justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:8mm;font-size:9pt;display:flex}.batch-card-footer>div{text-align:right;flex-direction:column;gap:2mm;display:flex}@media print{.batch-card-grid th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.adjust-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-md);line-height:var(--line-height-normal)}.adjust-row-changed{background-color:var(--color-warning-light)}.adjust-unbalanced{color:var(--color-danger);font-weight:var(--font-weight-bold)}.adjust-balance-warning{align-items:center;gap:var(--spacing-sm);margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background-color:var(--color-danger-light);color:var(--color-danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex}.adjust-row-locked{background-color:var(--color-background-secondary);color:var(--color-text-tertiary)}.adjust-locked-cell{color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);align-items:center;gap:4px;display:inline-flex}.adjust-defect-current{font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.cancel-reason-dialog-body{align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.cancel-reason-dialog-icon{color:var(--color-danger);flex-shrink:0;margin-top:2px}.cancel-reason-dialog-message{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.cancel-reason-dialog-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.print-watermark{z-index:10;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.print-watermark-text{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:800;line-height:1;transform:rotate(-45deg)}.print-watermark-default .print-watermark-text{font-size:32mm}.print-watermark-compact .print-watermark-text{font-size:16mm}.print-watermark-muted .print-watermark-text{color:#6b7280;opacity:.16}.print-watermark-danger .print-watermark-text{color:#dc2626;opacity:.16}@page{size:A4;margin:12mm}.dc-canvas{color:#000}.dc-toolbar-actions{align-items:center;gap:16px;display:flex}.dc-copy{break-inside:avoid;page-break-inside:avoid;position:relative}.dc-copy-label{text-transform:uppercase;letter-spacing:.5pt;border:.75pt solid #000;padding:.5mm 2mm;font-size:7pt;font-weight:700}.dc-cut-line{text-align:center;color:#666;letter-spacing:.5pt;break-inside:avoid;margin:3mm 0;font-size:8pt}.dc-wrap-text{overflow-wrap:break-word;word-break:break-word}.dc-header-box{border:1pt solid #000}.dc-header-top{grid-template-columns:92px 1fr 92px;align-items:start;gap:8px;padding:.5mm 3mm 1mm;display:grid}.dc-header-logo{justify-content:center;align-self:center;align-items:center;width:88px;height:88px;display:flex}.dc-header-logo img{object-fit:contain;max-width:100%;max-height:100%}.dc-header-info{text-align:center}.dc-header-title-slot{flex-direction:column;align-items:flex-end;gap:1mm;margin-top:6pt;display:flex}.dc-title{text-align:right;white-space:nowrap;letter-spacing:.3pt;font-size:10pt;font-weight:700}.dc-firm-name{letter-spacing:.5pt;font-size:18pt;font-weight:800}.dc-firm-address{margin-top:1pt;font-size:9pt}.dc-firm-contact{flex-wrap:wrap;justify-content:center;gap:6pt;margin-top:1pt;font-size:8pt;display:flex}.dc-two-col{border:1pt solid #000;border-top:none;grid-template-columns:1fr 1fr;display:grid}.dc-buyer-box{border-right:1pt solid #000;flex-direction:column;gap:1mm;padding:1.5mm 2mm;font-size:9pt;display:flex}.dc-buyer-title{font-size:11pt;font-weight:700}.dc-doc-info-box{flex-direction:column;gap:2mm;padding:1.5mm 2mm;font-size:9pt;display:flex}.dc-doc-info-row{gap:6pt;display:flex}.dc-doc-info-date{white-space:nowrap}.dc-doc-info-label{flex:0 0 70pt;font-weight:700}.dc-doc-info-value{font-size:9.5pt}.dc-doc-info-strong{font-size:10pt;font-weight:700}.dc-section-title{text-align:center;margin:2mm 0;font-size:9.5pt;font-weight:700}.dc-table{border-collapse:collapse;table-layout:fixed;border:1pt solid #000;width:100%;font-size:9.5pt}.dc-table th,.dc-table td{text-align:center;overflow-wrap:break-word;word-break:break-word;border:1pt solid #000;padding:1.2mm 1.5mm}.dc-table thead th{background:#e5e5e5;font-weight:700}.dc-item-cell{height:9mm;font-size:11pt}.dc-qty-strong{font-weight:700}.dc-summary-label{text-align:right;font-weight:600}.dc-summary-value{font-size:11pt;font-weight:700}.dc-table tbody tr{min-height:6mm}.dc-remark{min-height:6mm;margin-top:3mm;font-size:9pt}.dc-signature-row{justify-content:space-between;margin-top:12mm;padding:0 2mm;display:flex}.dc-signature-block{text-align:center;font-size:8pt}.dc-signature-line{border-top:1pt solid #000;width:55mm;margin-bottom:1mm}@media print{.dc-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media screen and (width<=839px){.dc-toolbar-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;width:100%}}@page{size:A4;margin:12mm}.inv-canvas{color:#000;--inv-col-main:51%;--inv-col-side:49%;--inv-col-side-a:29%;--inv-col-side-b:20%;font-size:9pt;position:relative}.inv-toolbar-actions{align-items:center;gap:12px;display:flex}.invoice-format-toggle{border:1px solid #ccc;border-radius:6px;display:inline-flex;overflow:hidden}.invoice-format-btn{color:#444;cursor:pointer;background:#fff;border:none;padding:8px 14px;font-size:13px;font-weight:600}.invoice-format-btn:disabled{color:#bbb;cursor:not-allowed}.invoice-format-btn-active{color:#fff;background:#1e3a5f}.inv-copy-label{text-transform:uppercase;letter-spacing:.5pt;z-index:1;border:.75pt solid #000;padding:.5mm 2mm;font-size:7pt;font-weight:700;position:absolute;top:2mm;right:2mm}.dc-duplicate-toggle{color:#444;cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.dc-page-break{break-after:page;page-break-after:always}.inv-frame{border:1pt solid #000;border-bottom:none}.inv-frame-bottom{border:1pt solid #000;border-top:none}.inv-masthead-grid{border-bottom:1pt solid #000;grid-template-columns:92px 1fr 92px;align-items:center;gap:8px;padding:.5mm 3mm 1.5mm;display:grid}.inv-logo-slot{justify-content:center;align-items:center;width:88px;height:88px;display:flex}.inv-logo-slot img{object-fit:contain;max-width:100%;max-height:100%}.inv-masthead-center{text-align:center}.inv-firm-name{letter-spacing:.5pt;font-size:18pt;font-weight:800}.inv-firm-address{color:#000;margin-top:1pt;font-size:8pt}.inv-firm-contact{color:#000;justify-content:center;gap:6pt;margin-top:1pt;font-size:8pt;display:flex}.inv-two-col{grid-template-columns:var(--inv-col-main) var(--inv-col-side);display:grid}.inv-box{border:1pt solid #000;padding:1.2mm 2mm;font-size:8pt}.inv-buyer-box{border-top:none;border-left:none;border-right:none;flex-direction:column;gap:.8mm;display:flex}.inv-buyer-title{font-size:9.5pt;font-weight:700}.inv-inline-fields{flex-wrap:wrap;gap:10pt;display:flex}.inv-doc-info-box{border-top:none;border-right:none;flex-direction:column;gap:.8mm;display:flex}.inv-doc-info-row{gap:6pt;display:flex}.inv-doc-info-label{flex:0 0 62pt;font-weight:700}.inv-doc-info-value{font-size:8.5pt}.inv-doc-info-strong{font-size:10pt;font-weight:700}.inv-items{border-collapse:collapse;table-layout:fixed;width:100%;font-size:9pt}.inv-items th,.inv-items td{text-align:center;vertical-align:middle;overflow-wrap:break-word;word-break:break-word;border:1pt solid #000;padding:1mm 1.5mm}.inv-items th:first-child,.inv-items td:first-child{border-left:none}.inv-items th:last-child,.inv-items td:last-child{border-right:none}.inv-items thead th{background:#e5e5e5;border-top:none;font-weight:700}.inv-items td.inv-num,.inv-table td.inv-num{text-align:right}.inv-items tbody td:not(.inv-item-desc):not(:first-child){font-size:9.5pt}.inv-items tbody tr{break-inside:avoid;page-break-inside:avoid}.inv-items td.inv-item-desc{text-align:left;vertical-align:top;padding-top:1.2mm;padding-bottom:1.2mm;font-size:8.5pt;line-height:1.4}.inv-item-desc>div+div{margin-top:1pt}.inv-item-desc-primary{font-size:9.5pt;font-weight:700}.inv-total-row td{font-weight:700}.inv-summary-block{break-inside:avoid;page-break-inside:avoid}.inv-divided-section{position:relative}.inv-vertical-divider{top:0;bottom:0;left:var(--inv-col-main);border-left:1pt solid #000;width:0;position:absolute}.inv-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:8.5pt}.inv-table th,.inv-table td{text-align:center;overflow-wrap:break-word;border:1pt solid #000;padding:1.4mm 1.7mm}.inv-summary-row{grid-template-columns:var(--inv-col-main) var(--inv-col-side);gap:0;display:grid}.inv-sac-table{font-size:7.5pt}.inv-sac-table th,.inv-sac-table td{padding:1mm 1.1mm}.inv-sac-table thead th{background:#e5e5e5;border-top:none;padding:.9mm .6mm;font-size:6.5pt}.inv-sac-table th:first-child,.inv-sac-table td:first-child{border-left:none}.inv-table th.inv-sac-total-col,.inv-table td.inv-sac-total-col{border-right:none}.inv-charges-table{border-left:none}.inv-charges-table tr:first-child td{border-top:none}.inv-charges-table td:last-child{border-right:none}.inv-charges-table td:first-child{text-align:left;font-weight:600}.inv-charges-table td:last-child{text-align:right}.inv-words-row{grid-template-columns:var(--inv-col-main) var(--inv-col-side);display:grid}.inv-amount-words{border:none;border-bottom:1pt solid #000;align-items:center;padding:2mm 2.5mm;font-size:10pt;font-weight:700;display:flex}.inv-roundoff-box{border:none;border-bottom:1pt solid #000;font-size:9pt}.inv-roundoff-row{justify-content:space-between;gap:6pt;padding:1.2mm 2mm;display:flex}.inv-roundoff-row+.inv-roundoff-row{border-top:1pt solid #000}.inv-roundoff-total{font-size:11pt;font-weight:700}.inv-bottom-signature{grid-template-columns:var(--inv-col-main) var(--inv-col-side);display:grid}.inv-terms-box{border:none;font-size:7.5pt;line-height:1.4}.inv-remark-space{height:8mm}.inv-terms-text{white-space:pre-wrap;color:#000;overflow-wrap:break-word;word-break:break-word}.inv-bottom-signature-right{flex-direction:column;display:flex}.inv-bank-qr-row{grid-template-columns:59.18% 40.82%;display:grid}.inv-bank-box{border-top:none;border-left:none;border-right:none;flex-direction:column;gap:.8mm;font-size:7.5pt;display:flex}.inv-bank-title{text-align:center;margin-bottom:1mm;font-weight:700}.inv-qr-box{border-top:none;border-right:none;flex-direction:column;justify-content:center;align-items:center;gap:1mm;display:flex}.inv-qr-slot{justify-content:center;align-items:center;width:26mm;height:26mm;display:flex}.inv-signature-row{justify-content:space-between;align-items:flex-end;padding:2mm 6mm 3mm;display:flex}.inv-receiver-signatory{font-size:7.5pt;font-weight:600}.inv-signatory-col{text-align:right}.inv-signatory{font-size:7.5pt;font-weight:600}.inv-signature-block{margin-top:12mm;font-size:8pt;font-weight:600}.inv-footer{color:#333;margin-top:2mm;font-size:8pt}.inv-footer-pagination{text-align:right;display:block}@media print{.inv-items thead th,.inv-sac-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media screen and (width<=839px){.inv-toolbar-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;width:100%}}@page{size:A4;margin:12mm}.ps-canvas{color:#1a1a1a}.payslip-print-header{border-bottom:2px solid #000;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;padding-bottom:10px;display:flex}.payslip-print-main-title{letter-spacing:.5px;white-space:nowrap;font-size:26px;font-weight:800}.payslip-print-header-right{text-align:right}.payslip-print-table th,.payslip-print-table td{text-align:center;padding:3px 6px;font-size:11px}.payslip-print-table tbody tr{height:auto}.payslip-fixed-block{border-top:none;grid-template-columns:repeat(2,1fr);gap:8px 24px;font-size:13px;display:grid}.payslip-fixed-block>div{justify-content:space-between;display:flex}.payslip-fixed-block>div>span:first-child{color:#5a6b7d;font-weight:600}.payslip-summary-block{width:320px;margin-top:14px;margin-bottom:14px;margin-left:auto;font-size:13px}.payslip-summary-block>div{justify-content:space-between;padding:4px 0;display:flex}.payslip-net-payable-row{border-top:2px solid #000;margin-top:4px;font-size:16px;font-weight:800;padding-top:6px!important}.payslip-print-remark{white-space:pre-wrap;word-break:break-word;border:1px solid #000;border-top:none;padding:8px 10px;font-size:13px;line-height:1.4}.ps-canvas .print-section-title{break-after:avoid;page-break-after:avoid}.payslip-print-remark,.payslip-summary-block,.payslip-fixed-block,.ps-canvas .print-table tr{break-inside:avoid;page-break-inside:avoid}@page{size:A4;margin:12mm}.payment-received-print-page{background:#e9edf2;min-height:100vh;padding:24px 16px 48px}.payment-received-print-toolbar{justify-content:space-between;align-items:center;gap:12px;max-width:210mm;margin:0 auto 16px;display:flex}.payment-received-print-toolbar-back{color:#1e3a5f;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 4px;font-size:14px;font-weight:600;display:inline-flex}.payment-received-print-toolbar-back:hover{text-decoration:underline}.payment-received-print{color:#1a1a1a;background:#fff;border:1px solid #000;max-width:210mm;margin:0 auto;padding:20px;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.payment-received-print-header{border-bottom:2px solid #000;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;padding-bottom:10px;display:flex}.payment-received-print-main-title{letter-spacing:.5px;white-space:nowrap;font-size:24px;font-weight:800}.payment-received-print-header-right{text-align:right}.payment-received-print-table th,.payment-received-print-table td{text-align:center}.payment-received-summary-block{width:320px;margin-top:14px;margin-bottom:14px;margin-left:auto;font-size:13px}.payment-received-summary-block>div{justify-content:space-between;padding:4px 0;display:flex}.payment-received-net-row{border-top:2px solid #000;margin-top:4px;font-size:16px;font-weight:800;padding-top:6px!important}.payment-received-remark{border-top:1px solid #ccc;margin-top:10px;padding-top:10px;font-size:12px}@media print{body *{visibility:hidden}.payment-received-print,.payment-received-print *{visibility:visible}.payment-received-print-toolbar{display:none}.payment-received-print-page{background:0 0;min-height:0;padding:0}.payment-received-print{box-shadow:none;border:none;padding:12px}}@page{size:A4;margin:12mm}.payment-release-supplier-print-page{background:#e9edf2;min-height:100vh;padding:24px 16px 48px}.payment-release-supplier-print-toolbar{justify-content:space-between;align-items:center;gap:12px;max-width:210mm;margin:0 auto 16px;display:flex}.payment-release-supplier-print-toolbar-back{color:#1e3a5f;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 4px;font-size:14px;font-weight:600;display:inline-flex}.payment-release-supplier-print-toolbar-back:hover{text-decoration:underline}.payment-release-supplier-print{color:#1a1a1a;background:#fff;border:1px solid #000;max-width:210mm;margin:0 auto;padding:20px;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.payment-release-supplier-print-header{border-bottom:2px solid #000;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;padding-bottom:10px;display:flex}.payment-release-supplier-print-main-title{letter-spacing:.5px;white-space:nowrap;font-size:24px;font-weight:800}.payment-release-supplier-print-header-right{text-align:right}.payment-release-supplier-print-table th,.payment-release-supplier-print-table td{text-align:center}.payment-release-supplier-summary-block{width:320px;margin-top:14px;margin-bottom:14px;margin-left:auto;font-size:13px}.payment-release-supplier-summary-block>div{justify-content:space-between;padding:4px 0;display:flex}.payment-release-supplier-net-row{border-top:2px solid #000;margin-top:4px;font-size:16px;font-weight:800;padding-top:6px!important}.payment-release-supplier-remark{border-top:1px solid #ccc;margin-top:10px;padding-top:10px;font-size:12px}@media print{body *{visibility:hidden}.payment-release-supplier-print,.payment-release-supplier-print *{visibility:visible}.payment-release-supplier-print-toolbar{display:none}.payment-release-supplier-print-page{background:0 0;min-height:0;padding:0}.payment-release-supplier-print{box-shadow:none;border:none;padding:12px}}.date-range-picker{position:relative}.date-range-picker-input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-background);cursor:pointer;min-height:34px;transition:border-color var(--transition-fast);justify-content:space-between;align-items:center;padding:7px 10px;font-family:inherit;display:flex}.date-range-picker-input:hover:not(:disabled){border-color:var(--color-gray-300)}.date-range-picker-input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.date-range-picker-input:disabled{background-color:var(--color-background-secondary);cursor:not-allowed;opacity:.6}.date-range-picker-input svg{color:var(--color-text-tertiary);flex-shrink:0}.date-range-picker-placeholder{color:var(--color-text-tertiary)}.date-range-picker-popup{z-index:9999;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:280px;box-shadow:var(--shadow-lg);padding:var(--spacing-sm);animation:.12s ease-out dateRangePickerFadeIn}.date-range-picker-hint{text-align:center;font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.date-range-picker-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.date-range-picker-nav{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.date-range-picker-nav:hover{background-color:var(--color-gray-100);color:var(--color-text-primary)}.date-range-picker-weekdays,.date-range-picker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-range-picker-weekdays span{text-align:center;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);padding:4px 0}.date-range-picker-day{aspect-ratio:1;border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-xs);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.date-range-picker-day:hover{background-color:var(--color-gray-100)}.date-range-picker-day.today{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.date-range-picker-day.range-start,.date-range-picker-day.range-end{background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.date-range-picker-day.in-range{background-color:var(--color-primary-light);color:var(--color-primary);border-radius:0}.date-range-picker-day.range-start{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.date-range-picker-day.range-end{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.date-range-picker-day.range-start.range-end{border-radius:var(--radius-sm)}.date-range-picker-year-grid{padding:var(--spacing-xs) 0;grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.date-range-picker-year{border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:8px 4px}.date-range-picker-year:hover{background-color:var(--color-gray-100)}.date-range-picker-year.today{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.date-range-picker-year.active{background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.date-range-picker-month-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);background:0 0;border:none;padding:2px 6px}.date-range-picker-month-label:hover{background-color:var(--color-gray-100)}.date-range-picker-today-btn{width:100%;margin-top:var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-background);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);padding:6px}.date-range-picker-today-btn:hover{background-color:var(--color-primary-light)}@keyframes dateRangePickerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.report-entry-card{width:100%}.report-entry-form{flex-direction:column;gap:1.5rem;display:flex}.report-entry-filters{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.report-entry-field{flex-direction:column;gap:.375rem;display:flex}.report-entry-field label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.report-entry-field>input,.report-entry-field>select{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text-primary);padding:.5rem .75rem;transition:border-color .15s}.report-entry-field>input:focus,.report-entry-field>select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.report-entry-field--wide{grid-column:span 2}.date-range-picker-wrapper.field-error .date-range-picker-input{background-color:var(--color-danger-light);border-color:var(--color-danger)!important}.report-entry-field .field-error .react-select__control{border-color:var(--color-danger)!important;background-color:var(--color-danger-light)!important}.month-range-picker{align-items:center;gap:.5rem;display:flex}.month-range-picker .month-picker{flex:1}.month-range-separator{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-shrink:0}.month-range-picker-wrapper.field-error .month-picker-input{background-color:var(--color-danger-light);border-color:var(--color-danger)!important}.report-entry-actions{gap:.75rem;display:flex}@media (width<=768px){.report-entry-filters{grid-template-columns:1fr}.report-entry-field--wide{grid-column:span 1}}.report-summary-section{margin-bottom:var(--spacing-md)}.report-summary-toolbar{justify-content:flex-end;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-md);flex-wrap:wrap;display:flex}.report-summary-grid{border:1px solid var(--color-border-dark);border-radius:var(--radius-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.report-summary-cell{border-right:1px solid var(--color-border-dark);min-width:0}.report-summary-cell:last-child{border-right:none}.report-summary-cell-label{padding:var(--spacing-sm) var(--spacing-md);text-align:center;background-color:var(--color-primary-light);border-bottom:1px solid var(--color-border-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.report-summary-cell-value{padding:var(--spacing-sm) var(--spacing-md);text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow-wrap:anywhere}@media (width<=768px){.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-cell:nth-child(2n){border-right:none}.report-summary-cell:nth-last-child(n+3){border-bottom:1px solid var(--color-border-dark)}}@media (width<=400px){.report-summary-grid{grid-template-columns:minmax(0,1fr)}.report-summary-cell{border-right:none}.report-summary-cell:not(:last-child){border-bottom:1px solid var(--color-border-dark)}}.report-view-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.report-detail-header-card{align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.report-detail-header-label{color:var(--color-text-secondary);font-weight:600}.report-detail-header-value{color:var(--color-text-primary);font-weight:600}.report-summary-card{max-width:360px;margin-top:1rem;margin-left:auto}@media (width<=576px){.report-summary-card{max-width:100%;margin-left:0}}.report-summary-table{border-collapse:collapse;width:100%}.report-summary-table td{font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border);padding:.5rem 1rem}.report-summary-table tr:last-child td{border-bottom:none}.report-summary-label{color:var(--color-text-secondary);font-weight:600}.report-summary-value{text-align:right;color:var(--color-text-primary);font-weight:600}.report-summary-highlight td{background-color:var(--color-warning-light,#fff9e6)}.report-summary-highlight .report-summary-value{color:var(--color-primary);font-size:var(--font-size-base)}.grouped-row-border>td{border-top:2px solid var(--color-border-dark)}.report-section-tabs{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.report-section-tab{border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);background-color:var(--color-background-secondary);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);padding:6px 14px}.report-section-tab:hover:not(.is-active){background-color:var(--color-background);color:var(--color-text-primary)}.report-section-tab.is-active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.report-section-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=768px){.report-section-tabs{gap:var(--spacing-sm);width:100%}.report-section-tab{flex:1 1 calc(50% - var(--spacing-sm));text-align:center;white-space:normal;min-width:0;padding:8px 10px}}.report-print-shell{background:#e9edf2;min-height:100vh;padding:24px 16px 48px;overflow-x:hidden}.report-print-toolbar{justify-content:space-between;align-items:center;gap:12px;max-width:297mm;margin:0 auto 16px;display:flex}.report-print-toolbar-back{color:#1e3a5f;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 4px;font-size:14px;font-weight:600;display:inline-flex}.report-print-toolbar-back:hover{text-decoration:underline}@media screen and (width<=768px){.report-print-shell{padding:12px 8px 32px}.report-print-toolbar{max-width:100%}}.report-print-canvas{box-sizing:border-box;background:#fff;border:1px solid #ccc;width:297mm;min-height:190mm;margin:0 auto 24px;padding:10mm;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;box-shadow:0 2px 8px #0000001f}.report-print-canvas.rpt-portrait{width:210mm;min-height:277mm}.report-print-toolbar.rpt-portrait{max-width:210mm}.report-print-header{border-bottom:1.5px solid #000;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding-bottom:6px;display:flex}.report-print-title{font-size:12pt;font-weight:700}.report-print-company{font-size:9pt;font-weight:600}.report-print-meta{color:#444;font-size:7pt}.report-print-footer{color:#666;border-top:.5px solid #999;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:6px;padding-top:4px;font-size:6.5pt;display:grid}.report-print-footer>:last-child{text-align:right}.report-print-table{border-collapse:collapse;table-layout:fixed;width:100%}.report-print-table th,.report-print-table td{text-align:left;word-wrap:break-word;overflow-wrap:break-word;border:.5px solid #555;padding:2px 3px}.report-print-table thead th{text-align:center;background:#e5e5e5;font-weight:700}.report-print-table .rpt-cell-right{text-align:right}.report-print-table .rpt-cell-center{text-align:center}.report-print-table .rpt-total-row td{border-top:1.5px solid #000;font-weight:700}.report-print-table .rpt-group-border tr:first-child td{border-top:1.5px solid #000}.report-print-canvas.rpt-tier-normal{font-size:8pt}.report-print-canvas.rpt-tier-compact{font-size:7pt}.report-print-canvas.rpt-tier-dense{font-size:6pt}.report-print-canvas.rpt-tier-dense .report-print-table th,.report-print-canvas.rpt-tier-dense .report-print-table td{padding:1px 2px}.report-print-canvas.rpt-tier-compact .report-print-table th,.report-print-canvas.rpt-tier-compact .report-print-table td{padding:1.5px 2px}@media print{.report-print-shell,.report-print-shell *{visibility:visible}.report-print-toolbar{display:none!important}.report-print-shell{background:0 0;min-height:0;margin:0;padding:0}.report-print-canvas{width:277mm;min-height:0;box-shadow:none;page-break-after:always;border:none;margin:0;padding:0;zoom:1!important}.report-print-canvas.rpt-portrait{width:190mm}.report-print-canvas:last-child{page-break-after:auto}.report-print-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media screen and (width<=839px){.report-print-shell{flex-direction:column;align-items:center;padding:12px 8px 32px;display:flex}.report-print-toolbar{width:100%;max-width:297mm}.report-print-canvas{--rpt-scale:calc(var(--sheet-scale,.38) * 210 / 297);transform:scale(var(--rpt-scale));transform-origin:0 0;margin:0;margin-right:calc(-297mm * (1 - var(--rpt-scale)));margin-bottom:calc(16px - 190mm * (1 - var(--rpt-scale)))}.report-print-canvas.rpt-portrait{--rpt-scale:var(--sheet-scale,.38);margin-right:calc(-210mm * (1 - var(--rpt-scale)));margin-bottom:calc(16px - 277mm * (1 - var(--rpt-scale)))}.report-print-toolbar.rpt-portrait{max-width:210mm}}@page{size:A4;margin:12mm}.payment-release-worker-print-page{background:#e9edf2;min-height:100vh;padding:24px 16px 48px}.payment-release-worker-print-toolbar{justify-content:space-between;align-items:center;gap:12px;max-width:210mm;margin:0 auto 16px;display:flex}.payment-release-worker-print-toolbar-back{color:#1e3a5f;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 4px;font-size:14px;font-weight:600;display:inline-flex}.payment-release-worker-print-toolbar-back:hover{text-decoration:underline}.payment-release-worker-print{color:#1a1a1a;background:#fff;border:1px solid #000;max-width:210mm;margin:0 auto;padding:20px;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.payment-release-worker-print-header{border-bottom:2px solid #000;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;padding-bottom:10px;display:flex}.payment-release-worker-print-main-title{letter-spacing:.5px;white-space:nowrap;font-size:24px;font-weight:800}.payment-release-worker-print-header-right{text-align:right}.payment-release-worker-print-table th,.payment-release-worker-print-table td{text-align:center}.payment-release-worker-advance-note{text-align:center;border:1px solid #000;margin-top:4px;padding:14px;font-size:13px}.payment-release-worker-summary-block{width:320px;margin-top:14px;margin-bottom:14px;margin-left:auto;font-size:13px}.payment-release-worker-summary-block>div{justify-content:space-between;padding:4px 0;display:flex}.payment-release-worker-net-row{border-top:2px solid #000;margin-top:4px;font-size:16px;font-weight:800;padding-top:6px!important}.payment-release-worker-remark{border-top:1px solid #ccc;margin-top:10px;padding-top:10px;font-size:12px}@media print{body *{visibility:hidden}.payment-release-worker-print,.payment-release-worker-print *{visibility:visible}.payment-release-worker-print-toolbar{display:none}.payment-release-worker-print-page{background:0 0;min-height:0;padding:0}.payment-release-worker-print{box-shadow:none;border:none;padding:12px}}:root{--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-light:#eef2ff;--color-primary-dark:#3730a3;--color-navbar-bg:#0f172a;--color-navbar-bg-hover:#1e293b;--color-navbar-border:#1e293b;--color-navbar-text:#e2e8f0;--color-navbar-text-muted:#94a3b8;--color-action-view:#334155;--color-action-view-light:#f1f5f9;--color-action-edit:#d97706;--color-action-edit-light:#fffbeb;--color-action-delete:#dc2626;--color-action-delete-light:#fef2f2;--color-action-print:#0891b2;--color-action-print-light:#ecfeff;--color-action-complete:#059669;--color-action-complete-light:#ecfdf5;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-success:#059669;--color-success-light:#ecfdf5;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-info:#2563eb;--color-info-light:#eff6ff;--color-secondary:var(--color-gray-500);--color-secondary-hover:var(--color-gray-600);--color-secondary-light:var(--color-gray-100);--color-background:#fff;--color-background-page:var(--color-gray-100);--color-background-secondary:var(--color-gray-50);--color-background-tertiary:var(--color-gray-100);--color-surface:#fff;--color-surface-hover:var(--color-gray-50);--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-500);--color-text-tertiary:var(--color-gray-400);--color-text-inverse:#fff;--color-text-link:var(--color-primary);--color-text-link-hover:var(--color-primary-hover);--color-border:var(--color-gray-200);--color-border-light:var(--color-gray-100);--color-border-dark:var(--color-gray-300);--color-border-focus:var(--color-primary);--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000000f, 0 1px 2px -1px #0000000f;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000f;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--font-family-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-heading:"Poppins", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono:"Fira Code", "Courier New", monospace;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-size-4xl:30px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:600;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--navbar-height:48px;--sidebar-width:260px;--container-max-width:1440px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}.master-page{width:100%}.status-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.status-active{color:var(--color-success)}.status-inactive{color:var(--color-danger)}.status-pill-active{background-color:var(--color-success-light);color:var(--color-success)}.status-pill-inactive{background-color:var(--color-danger-light);color:var(--color-danger)}.actions-cell{justify-content:center;align-items:center;gap:2px;display:flex}.error-card{padding:var(--spacing-xl);text-align:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.confirm-overlay{z-index:var(--z-modal);background:#0006;justify-content:center;align-items:center;animation:.15s ease-out confirmFadeIn;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;width:100%;max-width:360px;box-shadow:var(--shadow-xl);animation:.15s ease-out confirmSlideIn}.confirm-icon-wrap{border-radius:var(--radius-full);background:var(--color-danger-light);width:40px;height:40px;color:var(--color-danger);margin:0 auto var(--spacing-md);justify-content:center;align-items:center;display:flex}.confirm-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.confirm-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.confirm-actions{gap:var(--spacing-sm);justify-content:center;display:flex}.master-form{gap:var(--spacing-lg);padding:var(--spacing-md);flex-direction:column;display:flex}.form-error{background-color:var(--color-danger-light);color:var(--color-danger);border-radius:var(--radius-md);font-size:var(--font-size-sm);border-left:3px solid var(--color-danger);padding:8px 12px}.form-section{gap:var(--spacing-md);flex-direction:column;display:flex}.form-section-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);border-bottom:1px solid var(--color-border);padding-bottom:10px;display:flex}.form-section-title{font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.form-row{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.form-row-logo{grid-template-columns:160px 1fr 1fr}.form-row-type-flags{grid-template-columns:1fr 1fr auto auto}.form-row-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.form-group{flex-direction:column;gap:4px;display:flex}.form-group-checkbox{justify-content:flex-end}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.required{color:var(--color-danger)}.form-input.field-error,.form-textarea.field-error,.date-picker.field-error .date-picker-input{background-color:var(--color-danger-light);border-color:var(--color-danger)!important}.field-error .react-select__control{border-color:var(--color-danger)!important}.form-input,.form-select,.form-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-background);transition:border-color var(--transition-fast);min-height:34px;padding:7px 10px;font-family:inherit}.form-textarea{resize:vertical;min-height:72px}.form-textarea-highlight,.form-textarea-highlight:disabled{border-color:var(--color-warning);background-color:var(--color-warning-light)}.form-textarea-highlight:disabled{opacity:1;color:var(--color-text-secondary)}.form-textarea-highlight:focus{border-color:var(--color-warning);box-shadow:0 0 0 1px var(--color-warning)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--color-background-secondary);cursor:not-allowed;opacity:.6}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.checkbox-label{align-items:center;gap:var(--spacing-sm);cursor:pointer;min-height:34px;font-size:var(--font-size-sm);display:flex}.form-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary)}.form-checkbox:disabled{cursor:not-allowed}.form-actions{justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);display:flex}.sub-table-wrapper{border:1px solid var(--color-border-dark);border-radius:var(--radius-md);overflow-x:auto}.sub-table-wrapper-compact{max-width:420px}.sub-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--font-size-sm)}.sub-table thead{background-color:var(--color-primary-light)}.sub-table th{text-align:center;font-weight:var(--font-weight-semibold);color:var(--color-gray-800);border-bottom:1px solid var(--color-border-dark);border-right:1px solid var(--color-border-dark);white-space:nowrap;padding:8px 10px}.sub-table th:last-child{border-right:none}.sub-table td{text-align:center;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);color:var(--color-text-primary);word-wrap:break-word;overflow-wrap:break-word;padding:7px 10px}.sub-table td.instruction-cell{white-space:pre-wrap;text-align:left;min-width:250px;max-width:400px}.sub-table td.remark-cell{min-width:240px}.sub-table td.remark-cell .form-textarea{width:100%;display:block}.sub-table td:last-child{border-right:none}.sub-table tbody tr:last-child td{border-bottom:none}.sub-table tbody tr:hover{background-color:var(--color-primary-light)}.sub-table-empty{text-align:center;color:var(--color-text-secondary);padding:20px!important}.sub-table-total-row{background-color:var(--color-background-secondary)}.sub-table-total-row td{border-top:2px solid var(--color-border-dark)}.sub-table-actions{justify-content:center;align-items:center;gap:4px;display:flex}.sub-table-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--spacing-md);text-align:center;background-color:var(--color-background-secondary);border-radius:var(--radius-md)}.sub-table-input-row{background-color:var(--color-background-secondary)}.sub-table-input-row td{vertical-align:middle;padding:6px 8px}.sub-table-input-row .form-input,.sub-table-input-row .form-select,.sub-table-input-row select{min-height:30px;font-size:var(--font-size-xs);padding:5px 8px}.sub-table-input-row .react-select__control{min-height:30px!important;font-size:var(--font-size-xs)!important}.sub-table-input-row .react-select__value-container{padding:0 6px!important}.sub-table-input-row .react-select__indicator{padding:4px!important}.sub-table-input-row .form-textarea{min-height:50px;font-size:var(--font-size-xs);resize:vertical;padding:5px 8px}.sub-table-draft-row{background-color:var(--color-primary-light)}.sub-table-row-editing{background-color:var(--color-warning-light)}.sub-table-draft-badge{font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.3px;color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-full);vertical-align:middle;margin-left:6px;padding:1px 6px;display:inline-block}.sub-table-removed-row{background-color:var(--color-danger-light);opacity:.7}.sub-table-removed-row td:first-child{text-decoration:line-through}.sub-table-removed-badge{color:var(--color-danger);border-color:var(--color-danger);text-decoration:none}.dispatch-item-table{table-layout:fixed;min-width:1100px}.dispatch-item-table th{white-space:normal;line-height:1.3}.dispatch-item-table th:first-child,.dispatch-item-table td:first-child{width:6%}.dispatch-item-table th:nth-child(2),.dispatch-item-table td:nth-child(2){width:8%}.dispatch-item-table th:nth-child(3),.dispatch-item-table td:nth-child(3){width:7%}.dispatch-item-table th:nth-child(4),.dispatch-item-table td:nth-child(4){width:6%}.dispatch-item-table th:nth-child(5),.dispatch-item-table td:nth-child(5){width:7%}.dispatch-item-table th:nth-child(6),.dispatch-item-table td:nth-child(6),.dispatch-item-table th:nth-child(7),.dispatch-item-table td:nth-child(7){width:8%}.dispatch-item-table th:nth-child(8),.dispatch-item-table td:nth-child(8){width:7%}.dispatch-item-table th:nth-child(9),.dispatch-item-table td:nth-child(9){width:9%}.dispatch-item-table th:nth-child(10),.dispatch-item-table td:nth-child(10){width:8%}.dispatch-item-table th:nth-child(11),.dispatch-item-table td:nth-child(11){width:9%}.dispatch-item-table th:nth-child(12),.dispatch-item-table td:nth-child(12){width:8%}.dispatch-item-table th:nth-child(13),.dispatch-item-table td:nth-child(13){width:9%}.dispatch-item-table th,.dispatch-item-table td{white-space:normal;word-break:break-word;overflow-wrap:break-word}.dispatch-item-table .form-input{box-sizing:border-box;width:100%}.process-detail-table-wrapper{max-height:55vh;overflow-y:auto}.process-detail-table{table-layout:fixed}.process-detail-table th:first-child,.process-detail-table td:first-child{white-space:normal;width:150px}.process-detail-table th:not(:first-child):not(:last-child),.process-detail-table td:not(:first-child):not(:last-child){width:100px}.process-detail-table th:last-child,.process-detail-table td:last-child{width:90px}.process-detail-table thead th{z-index:2;background-color:var(--color-primary-light);position:sticky;top:0}.process-detail-total-row td{z-index:1;background-color:var(--color-background-secondary);position:sticky;bottom:0}@media (width<=1024px){.form-row,.form-row-logo,.form-row-type-flags{grid-template-columns:1fr 1fr}}@media (width<=768px){.master-form{padding:var(--spacing-sm)}.form-row,.form-row-logo,.form-row-type-flags,.form-row-pair{grid-template-columns:1fr}.form-group-checkbox{justify-content:flex-start}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.todo-overdue{color:var(--color-danger);font-weight:var(--font-weight-semibold)}.todo-status-filter{align-items:center;gap:var(--spacing-lg);display:flex}.todo-status-filter-option{white-space:nowrap;color:var(--color-text-primary);margin:0}.todo-status-filter-option input{cursor:pointer;accent-color:var(--color-primary)}.todo-status-filter-mobile{padding:0 var(--spacing-md) var(--spacing-sm)}.item-detail-row{gap:var(--spacing-md);border:1px solid var(--color-border-dark);border-radius:var(--radius-md);padding:var(--spacing-md);flex-wrap:wrap;align-items:flex-start;display:flex}.item-detail-field{flex-direction:column;gap:4px;min-width:0;display:flex}.item-code-hover-trigger{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0}.item-code-hover-trigger:disabled{color:inherit;cursor:default}.invoice-firm-bar{align-items:center;gap:var(--spacing-sm);background:var(--color-primary-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);padding:8px 14px;display:flex}.invoice-firm-bar-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-dark)}.invoice-summary-grid{gap:var(--spacing-md);grid-template-columns:1.6fr 1fr;align-items:start;display:grid}@media (width<=900px){.invoice-summary-grid{grid-template-columns:1fr}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.hyperlink-cell{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0}.hyperlink-cell:hover{text-decoration:underline}.item-code-hover-preview-portal{z-index:50;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px;box-shadow:0 8px 24px #0003}.item-code-hover-preview-portal img{object-fit:cover;border-radius:var(--radius-sm);width:200px;height:200px;display:block}.log-type-toggle{gap:var(--spacing-sm);display:inline-flex}.btn-icon-inline{color:var(--color-primary);cursor:pointer;vertical-align:middle;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-left:4px;padding:0;display:inline-flex}.btn-icon-inline:hover{color:var(--color-primary-dark)}.search-jo-dialog{gap:var(--spacing-md);flex-direction:column;min-height:480px;display:flex}.search-jo-filters{gap:var(--spacing-md);flex-shrink:0;grid-template-columns:1fr 1fr;display:grid}.search-jo-table-section{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);flex-direction:column;flex:1;display:flex;overflow:hidden}.search-jo-table-scroll{flex:1;max-height:320px;overflow-y:auto}.search-jo-table-scroll .sub-table thead{z-index:1;position:sticky;top:0}.search-jo-row{cursor:pointer;transition:background-color var(--transition-fast)}.search-jo-row:hover{background-color:var(--color-gray-50)}.search-jo-row-selected{background-color:var(--color-primary-light)!important}.search-jo-table-scroll .sub-table td{word-break:break-word;white-space:normal}.search-jo-table-section .datatable-pagination{border-top:1px solid var(--color-gray-200);padding:var(--spacing-sm) var(--spacing-md);flex-shrink:0}.search-jo-actions{justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-gray-100);flex-shrink:0;display:flex}@media (width<=768px){.search-jo-dialog{height:70vh;min-height:70vh}.search-jo-filters{grid-template-columns:1fr}.search-jo-table-scroll{flex:1;max-height:none}.search-jo-table-section{flex:1;min-height:0}.search-jo-table-section .datatable-pagination{gap:var(--spacing-sm);flex-direction:column;align-items:center}.search-jo-actions{justify-content:stretch}.search-jo-actions .btn{flex:1}}.status-pill{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;padding:3px 10px;display:inline-flex}.status-pill-pending{background-color:var(--color-gray-100);color:var(--color-gray-700)}.status-pill-wip{background-color:var(--color-warning-light);color:var(--color-warning)}.status-pill-confirm{background-color:var(--color-primary-light);color:var(--color-primary)}.status-pill-completed{background-color:var(--color-success-light);color:var(--color-success)}.status-pill-cancelled,.status-pill-scheduler-pending{background-color:var(--color-danger-light);color:var(--color-danger)}.status-pill-clickable{cursor:pointer;transition:all var(--transition-fast);gap:3px}.status-pill-clickable:hover{filter:brightness(.95);text-decoration:underline;transform:translateY(-1px)}.scheduler-header{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);align-items:stretch;display:flex}.scheduler-header-image{border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--color-border);flex-shrink:0;width:180px;height:180px}.scheduler-header-image-button{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-shrink:0;padding:0;transition:transform .15s,box-shadow .15s}.scheduler-header-image-button:hover{box-shadow:var(--shadow-md,0 4px 12px #00000026);transform:scale(1.03)}.scheduler-header-image-button:disabled{cursor:default}.scheduler-header-image-button:disabled:hover{box-shadow:none;transform:none}.scheduler-header-info{justify-content:space-between;gap:var(--spacing-md);flex-direction:column;flex:1;display:flex}.scheduler-header-fields{justify-content:space-between;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.scheduler-header-fields>*{flex:0 auto;min-width:0;max-width:240px}.scheduler-field{background:0 0;border:none;flex-direction:column;gap:3px;display:flex}.scheduler-field-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px}.scheduler-field-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);overflow-wrap:break-word;word-break:break-word}.scheduler-stat-row{gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);display:grid}.scheduler-stat-card{align-items:center;gap:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);display:flex}.scheduler-stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.scheduler-stat-card-blue{background-color:#eef2ff;border-color:#e0e7ff}.scheduler-stat-card-blue .scheduler-stat-icon{color:#4f46e5;background-color:#e0e7ff}.scheduler-stat-card-orange{background-color:#fff7ed;border-color:#ffedd5}.scheduler-stat-card-orange .scheduler-stat-icon{color:#ea580c;background-color:#ffedd5}.scheduler-stat-card-teal{background-color:#ecfeff;border-color:#cffafe}.scheduler-stat-card-teal .scheduler-stat-icon{color:#0891b2;background-color:#cffafe}.scheduler-stat-card-purple{background-color:#faf5ff;border-color:#f3e8ff}.scheduler-stat-card-purple .scheduler-stat-icon{color:#9333ea;background-color:#f3e8ff}.scheduler-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px}.scheduler-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-top:2px}.scheduler-stat-unit{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.progress-bar-row{align-items:center;gap:var(--spacing-sm);display:flex}.progress-bar-track{border-radius:var(--radius-full);background-color:var(--color-gray-100);flex:1;width:100%;height:10px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--color-primary-light) 0%, var(--color-primary) 100%);border-radius:var(--radius-full);height:100%;transition:width var(--transition-fast)}.progress-bar-fill-complete{background:linear-gradient(90deg, var(--color-success-light) 0%, var(--color-success) 100%)}.progress-bar-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-align:right;min-width:34px}@media (width<=1024px){.scheduler-header{flex-direction:column}.scheduler-header-fields>*{flex:1 1 calc(50% - var(--spacing-lg))}.scheduler-stat-row{grid-template-columns:1fr 1fr}}@media (width<=640px){.scheduler-header-fields>*{flex:100%}.scheduler-stat-row{grid-template-columns:1fr}}.payslip-summary-list{flex-direction:column;max-width:460px;margin-left:auto;display:flex}.payslip-summary-row{justify-content:space-between;gap:var(--spacing-lg);border-bottom:1px solid var(--color-border);font-size:var(--font-size-md);padding:8px 0;display:flex}.payslip-summary-row span:first-child{color:var(--color-text-secondary)}.payslip-summary-row span:last-child{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.payslip-summary-net-row{border-bottom:none;border-top:2px solid var(--color-text-primary);margin-top:4px;padding-top:12px}.payslip-summary-net-row span{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)!important}.print-header-grid{grid-template-columns:110px 1fr 110px;align-items:center;gap:12px;padding-bottom:10px;display:grid}.print-header-logo{justify-content:center;align-items:center;display:flex}.print-header-logo img{object-fit:contain;max-width:100px;max-height:100px}.print-header-center{text-align:center}.print-title{letter-spacing:1px;font-size:22px;font-weight:800}.print-firm-name{margin-top:4px;font-size:18px;font-weight:700}.print-firm-address{color:#333;margin-top:4px;font-size:12px}.print-firm-contact{color:#333;justify-content:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.print-header-meta{border-top:2px solid #000;border-bottom:2px solid #000;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:8px 0;font-size:12px;display:flex}.print-two-col{grid-template-columns:1fr 1fr;display:grid}.print-box{border:1px solid #000;padding:10px 12px;font-size:12px}.print-buyer-box{border-right:none;flex-direction:column;gap:4px;display:flex}.print-buyer-title{font-size:13px;font-weight:700}.print-inline-fields{flex-wrap:wrap;gap:16px;display:flex}.print-doc-info-box{flex-direction:column;gap:6px;display:flex}.print-doc-info-row{gap:8px;display:flex}.print-doc-info-label{flex:0 0 130px;font-weight:600}.print-doc-info-value{font-size:13px}.print-doc-info-strong{font-size:15px;font-weight:700}.print-section-title{text-align:center;border:1px solid #000;border-top:none;padding:8px 0;font-size:15px;font-weight:700}.print-table{border-collapse:collapse;width:100%;font-size:12px}.print-table th,.print-table td{text-align:left;border:1px solid #000;padding:6px 8px}.print-table thead th{text-align:center;background:#e5e5e5;font-weight:700}@media print{.print-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.print-table tbody tr{height:24px}.print-table tfoot td,.print-total-row td{font-weight:700}.print-cell-right{text-align:right!important}.print-cell-center{text-align:center!important}.print-remark-box{border-top:none;min-height:40px}.print-signature-row{justify-content:flex-start;margin-top:40px;display:flex}.print-signature-block{text-align:center;font-size:12px}.print-signature-line{border-top:1px solid #000;width:200px;margin-bottom:4px}.print-amount-words{border:1px solid #000;border-top:none;padding:10px 12px;font-size:15px;font-weight:700}@media screen and (width<=839px){.payment-received-print-page,.payment-release-supplier-print-page,.payment-release-worker-print-page{padding:12px 8px 32px}.payment-received-print,.payment-release-supplier-print,.payment-release-worker-print{box-sizing:border-box;zoom:.38;width:210mm;max-width:none}}@media screen and (width>=360px) and (width<=839px){.payment-received-print,.payment-release-supplier-print,.payment-release-worker-print{zoom:.43}}@media screen and (width>=390px) and (width<=839px){.payment-received-print,.payment-release-supplier-print,.payment-release-worker-print{zoom:.47}}@media screen and (width>=414px) and (width<=839px){.payment-received-print,.payment-release-supplier-print,.payment-release-worker-print{zoom:.5}}@media screen and (width>=480px) and (width<=839px){.payment-received-print,.payment-release-supplier-print,.payment-release-worker-print{zoom:.58}}@media screen and (width>=600px) and (width<=839px){.payment-received-print,.payment-release-supplier-print,.payment-release-worker-print{zoom:.73}}@media screen and (width>=768px) and (width<=839px){.payment-received-print,.payment-release-supplier-print,.payment-release-worker-print{zoom:.94}}.print-page-shell{background:#e9edf2;min-height:100vh;padding:24px 16px 48px}.print-toolbar{justify-content:space-between;align-items:center;gap:12px;max-width:210mm;margin:0 auto 16px;display:flex}.print-toolbar-back{color:#1e3a5f;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 4px;font-size:14px;font-weight:600;display:inline-flex}.print-toolbar-back:hover{text-decoration:underline}.print-canvas{box-sizing:border-box;background:#fff;outline:1px solid #000;width:210mm;min-height:297mm;margin:0 auto 24px;padding:12mm;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media print{body *{visibility:hidden}.print-canvas,.print-canvas *{visibility:visible}.print-toolbar{display:none}.print-page-shell{background:0 0;min-height:0;padding:0}.print-canvas{outline:none;width:186mm;min-height:0;margin:0;padding:0}}@media screen and (width<=839px){:root{--sheet-scale:.38}.print-page-shell{flex-direction:column;align-items:center;padding:12px 8px 32px;display:flex}.print-page-shell>.print-toolbar{flex-wrap:wrap;gap:10px;width:100%;max-width:210mm}.print-page-shell .print-canvas{transform:scale(var(--sheet-scale));transform-origin:0 0;margin:0;margin-right:calc(-210mm * (1 - var(--sheet-scale)));margin-bottom:calc(16px - 297mm * (1 - var(--sheet-scale)))}}@media screen and (width>=360px) and (width<=839px){:root{--sheet-scale:.43}}@media screen and (width>=390px) and (width<=839px){:root{--sheet-scale:.47}}@media screen and (width>=414px) and (width<=839px){:root{--sheet-scale:.5}}@media screen and (width>=480px) and (width<=839px){:root{--sheet-scale:.58}}@media screen and (width>=600px) and (width<=839px){:root{--sheet-scale:.73}}@media screen and (width>=768px) and (width<=839px){:root{--sheet-scale:.94}}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}a{color:var(--color-text-link);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-text-link-hover)}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,textarea,select{font-family:inherit;font-size:inherit;outline:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.container{max-width:var(--container-max-width);padding:0 var(--spacing-lg);margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-column{flex-direction:column}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.react-select__control{border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;background-color:var(--color-background)!important;min-height:34px!important;box-shadow:none!important;font-size:var(--font-size-sm)!important}.react-select__control:hover{border-color:var(--color-gray-300)!important}.react-select__control--is-focused{border-color:var(--color-primary)!important;box-shadow:0 0 0 1px var(--color-primary)!important}.react-select__control--is-disabled{background-color:var(--color-background-secondary)!important;cursor:not-allowed!important;opacity:.6!important}.react-select__menu{background-color:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;z-index:var(--z-dropdown)!important}.react-select__option{color:var(--color-text-primary)!important;font-size:var(--font-size-sm)!important;padding:6px 12px!important}.react-select__option--is-focused{background-color:var(--color-gray-50)!important}.react-select__option--is-selected{background-color:var(--color-primary)!important;color:#fff!important}.react-select__single-value,.react-select__input-container{color:var(--color-text-primary)!important;font-size:var(--font-size-sm)!important}.react-select__placeholder{color:var(--color-text-tertiary)!important;font-size:var(--font-size-sm)!important}.react-select__indicator-separator{display:none!important}.react-select__dropdown-indicator{color:var(--color-gray-400)!important;padding:4px 6px!important}.react-select__value-container{padding:0 8px!important}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background-color:var(--color-gray-800);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:var(--z-tooltip);padding:4px 8px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tooltip]:hover:after{opacity:1}.actions-cell [data-tooltip]:after{left:auto;right:0;transform:none}@media print{html,body,#root{height:auto;min-height:0}}
