.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:calc(100vw - 40px);max-width:380px;display:flex;position:fixed;top:20px;right:20px}.toast-card{pointer-events:auto;background-color:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:12px 16px;transition:all .2s;animation:.25s cubic-bezier(.16,1,.3,1) toastSlideIn;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.toast--success{border-color:#a7f3d0}.toast--error{border-color:#fecaca}.toast--warning{border-color:#fde68a}.toast--info{border-color:#bfdbfe}.toast-icon{flex-shrink:0;margin-top:1px}.toast-content{flex-direction:column;flex:1;gap:2px;display:flex}.toast-title{color:var(--color-ink);font-size:13px;font-weight:600}.toast-message{color:var(--color-ink-muted);font-size:12px;line-height:1.4}.toast-close-btn{color:var(--color-ink-subtle);border-radius:var(--radius-xs);justify-content:center;align-items:center;padding:2px;transition:all .15s;display:flex}.toast-close-btn:hover{color:var(--color-ink);background-color:var(--color-surface-2)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(30px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.skeleton-shimmer{border-radius:var(--radius-sm,2px);background:linear-gradient(90deg,#eaecef 25%,#dadde3 50%,#eaecef 75%) 0 0/200% 100%;animation:1.35s ease-in-out infinite skeletonPulse;display:block}[data-theme=dark] .skeleton-shimmer{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff24 50%,#ffffff0f 75%) 0 0/200% 100%}@keyframes skeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.page-content-skeleton{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;max-width:1440px;min-height:100%;margin:0 auto;padding:24px 24px 36px;display:flex}.page-content-skeleton-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton-header-card{background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:18px 20px;display:flex}.skeleton-header-left{flex-direction:column;display:flex}.skeleton-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.skeleton-cards-grid{box-sizing:border-box;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;display:grid}.skeleton-section-card{background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);box-sizing:border-box;overflow:hidden}.skeleton-card-header{border-bottom:1px solid var(--color-hairline);box-sizing:border-box;justify-content:space-between;align-items:center;padding:11px 18px;display:flex}.skeleton-card-body{box-sizing:border-box;flex-direction:column;gap:12px;padding:14px 18px;display:flex}.skeleton-kv-row{box-sizing:border-box;justify-content:space-between;align-items:center;gap:12px;display:flex}.skeleton-table-card{background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);box-sizing:border-box;width:100%;overflow:hidden}.skeleton-table-body{box-sizing:border-box;width:100%}.skeleton-table-row-item{border-bottom:1px dashed var(--color-hairline);box-sizing:border-box;grid-template-columns:1.2fr 1.5fr 1fr 1fr 1.2fr .8fr;align-items:center;gap:16px;padding:13px 18px;display:grid}.skeleton-table-row-item:last-child{border-bottom:none}@media (width<=1024px){.skeleton-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.page-content-skeleton{gap:12px;padding:16px 16px 32px}.skeleton-header-card{flex-direction:column;align-items:flex-start}.skeleton-cards-grid{grid-template-columns:1fr;gap:12px}.skeleton-table-card{overflow-x:auto}.skeleton-table-row-item{min-width:600px}}@media (prefers-reduced-motion:reduce){.page-content-skeleton,.page-content-skeleton *,.page-content-skeleton :before,.page-content-skeleton :after{transition:none!important;animation:none!important}}.app-shell-skeleton{background-color:var(--color-canvas);box-sizing:border-box;width:100%;max-width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.app-shell-skeleton-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell-skeleton-layout{width:100%;height:100%;display:flex;overflow:hidden}.app-shell-skeleton-sidebar{background-color:var(--color-canvas);border-right:1px solid var(--color-hairline);box-sizing:border-box;flex-direction:column;flex-shrink:0;width:240px;display:flex;position:relative;overflow:hidden}.app-shell-skeleton-sidebar-header{border-bottom:1px solid var(--color-hairline);box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;height:62px;min-height:62px;padding:0 16px;display:flex;overflow:hidden}.app-shell-skeleton-sidebar-nav{box-sizing:border-box;flex-direction:column;flex:1;gap:3px;padding:14px 10px;display:flex;overflow:hidden}.app-shell-skeleton-nav-group{flex-direction:column;gap:3px;display:flex}.app-shell-skeleton-nav-heading{box-sizing:border-box;align-items:center;height:26px;padding:6px 12px 3px;display:flex}.app-shell-skeleton-nav-group:not(:first-of-type) .app-shell-skeleton-nav-heading{margin-top:14px}.app-shell-skeleton-nav-item{border-radius:var(--radius-md);box-sizing:border-box;align-items:center;gap:12px;height:40px;min-height:40px;padding:0 14px;display:flex}.app-shell-skeleton-sidebar-footer{border-top:1px solid var(--color-hairline);background-color:var(--color-canvas);box-sizing:border-box;justify-content:space-between;align-items:center;gap:6px;height:60px;min-height:60px;padding:0 10px 0 12px;display:flex;overflow:hidden}.app-shell-skeleton-user-widget{box-sizing:border-box;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.app-shell-skeleton-user-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.app-shell-skeleton-main{background-color:var(--color-canvas);box-sizing:border-box;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-shell-skeleton-topbar{background-color:var(--color-canvas);border-bottom:1px solid var(--color-hairline);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;min-width:0;height:52px;padding:0 20px 0 24px;display:flex;position:relative}.app-shell-skeleton-breadcrumbs{align-items:center;gap:6px;height:26px;display:flex}.app-shell-skeleton-bc-sep{color:var(--color-hairline-strong);-webkit-user-select:none;user-select:none;padding:0 2px;font-size:12px}.app-shell-skeleton-topbar-actions{align-items:center;gap:8px;display:flex}.app-shell-skeleton-content{box-sizing:border-box;flex:1;width:100%;min-width:0;max-width:100%;padding:0;overflow:hidden}.app-shell-skeleton-content>*{box-sizing:border-box;width:100%;min-width:0;min-height:100%}@media (width<=768px){.app-shell-skeleton-sidebar{display:none}}@media (width<=640px){.app-shell-skeleton-topbar{padding:0 16px}}@media (prefers-reduced-motion:reduce){.app-shell-skeleton,.app-shell-skeleton *,.app-shell-skeleton :before,.app-shell-skeleton :after{transition:none!important;animation:none!important}}.error-page-container{box-sizing:border-box;background-color:var(--color-canvas);width:100vw;min-height:100vh;font-family:var(--font-family);color:var(--color-ink);justify-content:center;align-items:center;padding:24px;display:flex}.error-page-card{background-color:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--radius-md,4px);box-sizing:border-box;text-align:left;width:100%;max-width:480px;padding:36px 32px 24px;box-shadow:0 12px 36px #0000000f}[data-theme=dark] .error-page-card{border-color:#ffffff1a;box-shadow:0 20px 48px #00000073}.error-page-header{margin-bottom:28px}.error-code-badge{letter-spacing:.6px;color:var(--color-primary);align-items:center;gap:6px;margin-bottom:12px;font-size:11px;font-weight:700;display:inline-flex}.error-code-icon{color:var(--color-primary)}.error-page-title{letter-spacing:-.5px;color:var(--color-ink);margin:0 0 10px;font-size:22px;font-weight:700}.error-page-description{color:var(--color-ink-muted);margin:0;font-size:13.5px;line-height:1.55}.error-path-tag{background-color:var(--color-surface-2);border:1px solid var(--color-hairline);color:var(--color-ink);border-radius:3px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.error-page-actions{gap:10px;margin-bottom:24px;display:flex}.error-btn-primary{color:#fff;background-color:var(--color-primary);border-radius:var(--radius-md,4px);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:8px;height:40px;font-size:13px;font-weight:600;transition:background-color .15s;display:inline-flex}.error-btn-primary:hover{background-color:var(--color-primary-hover)}.error-btn-secondary{height:40px;color:var(--color-ink);background-color:var(--color-surface-2);border:1px solid var(--color-hairline);border-radius:var(--radius-md,4px);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}.error-btn-secondary:hover{background-color:var(--color-surface-3);border-color:var(--color-hairline-strong)}.error-page-footer{border-top:1px solid var(--color-hairline);color:var(--color-ink-tertiary);text-align:center;padding-top:16px;font-size:11px}.notif-dropdown-wrapper{align-items:center;display:inline-flex;position:relative}.notif-bell-btn{width:36px;height:36px;color:var(--color-ink-muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex;position:relative}.notif-bell-btn:hover{background-color:var(--color-surface-2);color:var(--color-ink)}.notif-badge{background-color:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-xs);justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.notif-popover{background-color:var(--color-surface-1);border:1px solid var(--color-hairline-strong);border-radius:var(--radius-md);z-index:1000;flex-direction:column;width:360px;max-height:480px;animation:.2s cubic-bezier(.16,1,.3,1) notifSlideIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d}.notif-popover-header{border-bottom:1px solid var(--color-hairline);background-color:var(--color-surface-1);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notif-header-title{align-items:center;gap:8px;display:flex}.notif-header-title h4{color:var(--color-ink);margin:0;font-size:13px;font-weight:600}.unread-tag{color:var(--color-primary);border-radius:var(--radius-xs);background-color:#ed1c241a;border:1px solid #0000;padding:2px 6px;font-size:10px;font-weight:600}[data-theme=dark] .unread-tag{color:#f85149;background-color:#f8514924;border-color:#f8514947}.mark-all-btn{color:var(--color-ink-subtle);align-items:center;gap:4px;font-size:11px;transition:color .15s;display:flex}.mark-all-btn:hover{color:var(--color-primary)}.notif-list{flex:1;max-height:380px;overflow-y:auto}.notif-empty{color:var(--color-ink-subtle);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;font-size:12px;display:flex}.notif-item{border-bottom:1px solid var(--color-hairline);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 16px;transition:background-color .15s;display:flex;position:relative}.notif-item:last-child{border-bottom:none}.notif-item:hover{background-color:var(--color-surface-2)}.notif-item.unread{background-color:#ed1c2405}[data-theme=dark] .notif-item.unread{background-color:#ed1c240f}.notif-text-col{flex-direction:column;flex:1;gap:2px;display:flex}.notif-title{color:var(--color-ink);font-size:12px;font-weight:600}.notif-desc{color:var(--color-ink-muted);margin:0;font-size:11px;line-height:1.4}.notif-time{color:var(--color-ink-subtle);align-items:center;gap:4px;margin-top:4px;font-size:10px;display:flex}.unread-dot{background-color:var(--color-primary);border-radius:50%;width:6px;height:6px;position:absolute;top:14px;right:14px}.notif-popover-footer{border-top:1px solid var(--color-hairline);background-color:var(--color-surface-2);justify-content:center;align-items:center;padding:10px 16px;display:flex}.notif-view-all-btn{width:100%;color:var(--color-primary);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.notif-view-all-btn:hover{color:var(--color-primary-hover);background-color:#ed1c2414}@keyframes notifSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.notif-popover{width:auto;max-height:calc(100dvh - 72px);position:fixed;top:56px;left:8px;right:8px}}.modal-overlay{-webkit-backdrop-filter:none;z-index:1000;padding:var(--spacing-lg);background-color:#00000080;justify-content:center;align-items:center;animation:.2s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:fixed;inset:0}.modal-container{background-color:var(--color-surface-1);border:1px solid var(--color-hairline-strong);border-radius:var(--radius-lg);box-shadow:none;flex-direction:column;width:100%;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) modalSlideUp;display:flex;overflow:hidden}.modal--sm{max-width:400px}.modal--md{max-width:560px}.modal--lg{max-width:768px}.modal--xl{max-width:1024px}.modal--full{max-width:95vw;height:90vh}.modal-header{border-bottom:1px solid var(--color-hairline);background-color:var(--color-surface-1);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--color-ink);margin:0;font-size:16px;font-weight:600}.modal-close-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-ink-subtle);justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.modal-close-btn:hover{background-color:var(--color-surface-2);color:var(--color-ink)}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-hairline);background-color:var(--color-surface-2);justify-content:flex-end;align-items:center;gap:12px;padding:14px 20px;display:flex}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-overlay.modal-overlay--drawer{-webkit-backdrop-filter:none;background-color:#00000080;justify-content:flex-end;align-items:stretch;padding:0}.modal-container.modal--drawer,.modal-container.modal-container--drawer{border-top:none;border-bottom:none;border-right:none;border-left:1px solid var(--color-hairline-strong);width:50vw;min-width:480px;max-width:50vw;height:100vh;max-height:100vh;box-shadow:none;border-radius:0;animation:.24s cubic-bezier(.16,1,.3,1) modalSlideFromRight}.modal-container.modal--drawer.modal--panel{width:34rem;min-width:0;max-width:100vw}.modal-container.modal--drawer.modal--form{width:40rem;min-width:0;max-width:100vw}@media (width<=768px){.modal-container.modal--drawer,.modal-container.modal-container--drawer{width:100vw;min-width:0;max-width:100vw}}@keyframes modalSlideFromRight{0%{opacity:.6;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.modal-container.modal--drawer .modal-header{padding:16px 24px}.modal-container.modal--drawer .modal-body{padding:24px}.modal-container.modal--drawer .modal-footer{background-color:var(--color-surface-1);border-top:1px solid var(--color-hairline);padding:14px 24px}.modal-body .form-field{flex-direction:column;gap:6px;display:flex}.modal-body .form-label{color:var(--color-ink);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.modal-body .form-label-required,.modal-body .form-label .required{color:var(--color-primary)}.modal-body .clean-input{border:none;border-bottom:1px solid var(--color-hairline-strong);width:100%;height:38px;color:var(--color-ink);box-sizing:border-box;background-color:#0000;border-radius:0;outline:none;padding:0 2px;font-family:inherit;font-size:13px;transition:border-color .15s}.modal-body .clean-input:hover{border-bottom-color:var(--color-ink-muted)}.modal-body .clean-input:focus{border-bottom:2px solid var(--color-primary)}.modal-body .clean-input::placeholder{color:var(--color-ink-subtle)}.modal-body .date-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.modal-body .date-input-wrapper .clean-input{padding-right:28px}.modal-body .date-input-wrapper .clean-input::-webkit-calendar-picker-indicator{opacity:0;width:0;height:0;position:absolute}.modal-body .date-icon-btn{cursor:pointer;color:var(--color-ink-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;right:2px}.modal-body .date-icon-btn:hover,.modal-body .date-input-wrapper:focus-within .date-icon-btn{color:var(--color-primary)}.modal-body .custom-select-trigger{border:none;border-bottom:1px solid var(--color-hairline-strong);background-color:#0000;border-radius:0;height:38px;padding:0 2px;font-size:13px}.modal-body .custom-select-trigger:hover{border-bottom-color:var(--color-ink-muted);background-color:#0000}.modal-body .custom-select-trigger.open{border-color:#0000;border-bottom:2px solid var(--color-primary);background-color:#0000}.confirm-modal-title{align-items:center;gap:8px;display:flex}.confirm-modal-body p{color:var(--color-ink-muted);margin:0;font-size:13px;line-height:1.5}.user-avatar-wrapper{-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex;position:relative;overflow:hidden}.user-avatar-wrapper .avatar-svg{width:100%;height:100%;display:block}.user-avatar-xs{width:24px;height:24px}.user-avatar-sm{width:32px;height:32px}.user-avatar-md{width:40px;height:40px}.user-avatar-lg{width:56px;height:56px}.user-avatar-xl{width:88px;height:88px}.user-avatar-wrapper.is-clickable{cursor:pointer}.user-avatar-wrapper.is-clickable:hover{transform:scale(1.05)}.user-avatar-wrapper.is-selected{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px #e11d4833}.topbar-progress-container{pointer-events:none;z-index:200;opacity:1;width:100%;height:2.5px;transition:opacity .2s ease-out;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.topbar-progress-container.is-fading{opacity:0}.topbar-progress-bar{background:linear-gradient(90deg, var(--color-primary,#ed1c24) 0%, #ff6b6b 50%, var(--color-primary,#ed1c24) 100%);background-size:200% 100%;height:100%;transition:width .25s cubic-bezier(.16,1,.3,1);animation:1.2s linear infinite topbarProgressShimmer;position:relative}@keyframes topbarProgressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.topbar-progress-glow{pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff80 100%);width:40px;height:100%;position:absolute;top:0;bottom:0;right:0}.bottom-tab-bar{z-index:45;box-sizing:border-box;height:calc(var(--bottom-tab-height,56px) + env(safe-area-inset-bottom,0px));padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background-color:var(--color-canvas);border-top:1px solid var(--color-hairline);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab{min-width:0;color:var(--color-ink-muted);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:6px 2px 4px;font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;display:flex}.bottom-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-tab:active{background-color:var(--color-surface-2)}.bottom-tab.active{color:var(--color-primary);font-weight:600}.bottom-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.admin-layout{background-color:var(--color-canvas);overscroll-behavior:none;width:100%;max-width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.sidebar-rail-placeholder{background-color:var(--color-canvas);border-right:1px solid var(--color-hairline);pointer-events:none;flex-shrink:0;width:64px;min-width:64px;height:100%}.sidebar{width:var(--sidebar-width,240px);background-color:var(--color-canvas);border-right:1px solid var(--color-hairline);z-index:40;overscroll-behavior:contain;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.sidebar.is-resizing{-webkit-user-select:none;user-select:none;transition:none!important}.sidebar.is-collapsed{z-index:100;width:64px;box-shadow:none;transition:width .22s cubic-bezier(.16,1,.3,1),box-shadow .22s;position:absolute;top:0;bottom:0;left:0}.sidebar-resizer{cursor:col-resize;z-index:50;touch-action:none;background-color:#0000;width:6px;height:100%;transition:background-color .15s;position:absolute;top:0;right:0}.sidebar-resizer:after{content:"";background-color:#0000;width:2px;height:100%;transition:background-color .15s;position:absolute;top:0;right:0}.sidebar-resizer:hover:after,.sidebar.is-resizing .sidebar-resizer:after{background-color:var(--color-primary,#ed1c24)}.sidebar-resizer:hover,.sidebar.is-resizing .sidebar-resizer{background-color:#ed1c2414}.sidebar-header{border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:center;gap:8px;height:62px;min-height:62px;padding:0 16px;transition:padding .2s;display:flex;overflow:hidden}.sidebar.is-collapsed .sidebar-header{justify-content:center;padding:0}.sidebar-brand{white-space:nowrap;opacity:1;align-items:center;gap:8px;max-width:180px;transition:opacity .16s,max-width .2s,transform .16s;display:flex;transform:translate(0)}.sidebar.is-collapsed .sidebar-brand{opacity:0;pointer-events:none;max-width:0;transform:translate(-8px)}.sidebar-brand h2{color:var(--color-ink);letter-spacing:-.3px;margin:0;font-size:16px;font-weight:700}.sidebar-brand .brand-name-accent{color:var(--color-primary,#ed1c24)}.brand-version{border-radius:var(--radius-xs);background-color:var(--color-surface-2);color:var(--color-ink-subtle);padding:2px 6px;font-size:10px}.sidebar-toggle-btn{border-radius:var(--radius-xs);width:34px;min-width:34px;height:34px;color:var(--color-ink-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s,margin .2s;display:flex}.sidebar-toggle-btn:hover{background-color:var(--color-surface-2);color:var(--color-ink)}.sidebar.is-collapsed .sidebar-toggle-btn{margin:0 auto}.sidebar-nav{flex-direction:column;flex:1;gap:3px;padding:14px 10px;display:flex;overflow:hidden auto}.nav-section-label{color:var(--color-ink-tertiary);letter-spacing:.5px;white-space:nowrap;opacity:1;max-height:26px;padding:6px 12px 3px;font-size:10px;font-weight:600;transition:opacity .15s,max-height .2s,padding .2s}.nav-section-label:not(:first-of-type){margin-top:14px}.sidebar.is-collapsed .nav-section-label{opacity:0;max-height:0;padding:0 12px;overflow:hidden;margin-top:0!important}.nav-item{height:40px;min-height:40px;color:var(--color-ink-muted);border-radius:var(--radius-md);cursor:pointer;text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;width:100%;padding:0 14px;font-size:13.5px;transition:background-color .15s,color .15s,padding .2s,transform .1s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.sidebar.is-collapsed .nav-item{justify-content:flex-start;padding:0 13px}.nav-item-icon{flex-shrink:0;width:18px;height:18px}.nav-item-text{white-space:nowrap;opacity:1;max-width:calc(100% - 24px);transition:opacity .15s,max-width .2s,transform .15s;transform:translate(0)}.sidebar.is-collapsed .nav-item-text{opacity:0;pointer-events:none;max-width:0;transform:translate(-6px)}.nav-item:hover{background-color:var(--color-surface-2);color:var(--color-ink)}.nav-item:active{background-color:#ed1c2414;transform:scale(.98)}.nav-item.active{background-color:var(--color-surface-2);color:var(--color-primary);font-weight:600}.sidebar-footer{border-top:1px solid var(--color-hairline);background-color:var(--color-canvas);align-items:center;height:60px;min-height:60px;padding:0;display:flex;overflow:hidden}.sidebar-user-row{justify-content:space-between;align-items:center;gap:6px;width:100%;height:100%;padding:0 10px 0 12px;transition:padding .24s;display:flex;overflow:hidden}.sidebar-user-widget{border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;transition:background-color .15s;display:flex}.sidebar-user-widget:hover{background-color:var(--color-surface-2)}.sidebar.is-collapsed .sidebar-user-row{justify-content:flex-start;padding:0 14px}.sidebar.is-collapsed .sidebar-user-widget{padding:6px 0}.topbar-profile-dropdown{align-items:center;display:inline-flex;position:relative}.topbar-avatar-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:2px;transition:transform .15s,border-color .15s,background-color .15s;display:flex}.topbar-avatar-btn:hover{transform:scale(1.06)}.topbar-avatar-btn.is-open{border-color:var(--color-primary);background-color:#ed1c2414;transform:scale(1.04)}.topbar-profile-menu{background-color:var(--color-surface-1);border:1px solid var(--color-hairline-strong);border-radius:var(--radius-md);z-index:250;flex-direction:column;min-width:230px;padding:6px;animation:.15s cubic-bezier(.16,1,.3,1) profileMenuFadeIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 25px -5px #0000001f,0 8px 10px -6px #0000000f}@keyframes profileMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.topbar-profile-header{align-items:center;gap:10px;padding:8px 8px 10px;display:flex}.topbar-profile-info{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar-profile-name{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.topbar-profile-email{color:var(--color-ink-subtle);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11.5px;line-height:1.3;overflow:hidden}.topbar-profile-role{text-transform:uppercase;letter-spacing:.3px;color:var(--color-primary);margin-top:3px;font-size:10px;font-weight:600;line-height:1.2;display:inline-block}.topbar-profile-divider{background-color:var(--color-hairline);height:1px;margin:4px 0}.topbar-profile-item{border-radius:var(--radius-xs);width:100%;color:var(--color-ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:8px 10px;font-size:12.5px;font-weight:500;transition:background-color .12s,color .12s;display:flex}.topbar-profile-item:hover{background-color:var(--color-surface-2);color:var(--color-primary)}.topbar-profile-item.is-danger{color:var(--color-ink-muted)}.topbar-profile-item.is-danger:hover{color:var(--color-primary);background-color:#e11d4814}[data-theme=dark] .topbar-profile-item.is-danger:hover{color:#f87171;background-color:#ef444426}.user-info{opacity:1;flex-direction:column;min-width:0;max-width:calc(100% - 36px);line-height:1.25;transition:opacity .16s,max-width .24s;display:flex}.sidebar.is-collapsed .user-info{opacity:0;pointer-events:none;max-width:0}.user-name{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role{color:var(--color-ink-subtle);margin-top:2px;font-size:11px}.sidebar-user-logout-btn{width:32px;height:32px;color:var(--color-ink-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s,opacity .16s,transform .15s;display:flex}.sidebar-user-logout-btn:hover{color:var(--color-primary);background-color:#e11d481a;transform:scale(1.05)}[data-theme=dark] .sidebar-user-logout-btn{color:var(--color-ink-muted)}[data-theme=dark] .sidebar-user-logout-btn:hover{color:#f87171;background-color:#ef444429}.sidebar.is-collapsed .sidebar-user-logout-btn{opacity:0;pointer-events:none;width:0;height:0;margin:0;padding:0}.main-content{background-color:var(--color-canvas);box-sizing:border-box;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{background-color:var(--color-canvas);border-bottom:1px solid var(--color-hairline);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;min-width:0;height:52px;padding:0 20px 0 24px;transition:background-color .2s,border-color .2s;display:flex;position:relative}.topbar-breadcrumb{letter-spacing:.2px;align-items:center;gap:4px;height:26px;font-size:12px;line-height:1;display:flex}.breadcrumb-root,.breadcrumb-link{border-radius:var(--radius-xs);height:24px;color:var(--color-ink-subtle);cursor:pointer;align-items:center;padding:0 4px;font-weight:500;line-height:1;text-decoration:none;transition:color .15s,background-color .15s,transform .1s cubic-bezier(.16,1,.3,1);display:inline-flex}.breadcrumb-root{color:var(--color-ink-muted);font-weight:600}.breadcrumb-root:hover,.breadcrumb-link:hover{color:var(--color-primary);background-color:var(--color-surface-2)}.breadcrumb-link:active,.breadcrumb-root:active{transform:scale(.96)}.breadcrumb-segment{align-items:center;gap:4px;height:24px;line-height:1;display:inline-flex}.breadcrumb-separator{height:24px;color:var(--color-hairline-strong);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 2px;font-size:12px;line-height:1;display:inline-flex}.breadcrumb-item{height:24px;color:var(--color-ink-subtle);align-items:center;padding:0 4px;font-weight:400;line-height:1;display:inline-flex}.breadcrumb-item.active{color:var(--color-ink);font-weight:600}.breadcrumb-dropdown-container{align-items:center;height:24px;display:inline-flex;position:relative}.breadcrumb-category-btn{border-radius:var(--radius-xs);height:24px;color:var(--color-ink-subtle);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;padding:0 6px;font-size:12px;font-weight:500;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.breadcrumb-category-btn:hover,.breadcrumb-category-btn.is-open{background-color:var(--color-surface-2);color:var(--color-primary);border-color:var(--color-hairline)}.breadcrumb-popover-menu{background-color:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--radius-md);z-index:200;min-width:195px;padding:5px;animation:.15s cubic-bezier(.16,1,.3,1) breadcrumbMenuFadeIn;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000024,0 2px 6px #0000000d}@keyframes breadcrumbMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.breadcrumb-popover-header{text-transform:uppercase;letter-spacing:.5px;color:var(--color-ink-tertiary);border-bottom:1px solid var(--color-hairline);white-space:nowrap;margin-bottom:4px;padding:5px 8px 4px;font-size:10px;font-weight:600}.breadcrumb-popover-items{flex-direction:column;gap:2px;display:flex}.breadcrumb-popover-item{border-radius:var(--radius-xs);width:100%;color:var(--color-ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:7px 9px;font-size:12.5px;transition:background-color .12s,color .12s;display:flex}.breadcrumb-popover-item:hover{background-color:var(--color-surface-2);color:var(--color-primary)}.breadcrumb-popover-item.current{background-color:var(--color-surface-2);font-weight:600}.breadcrumb-popover-icon{color:var(--color-ink-muted);flex-shrink:0}.breadcrumb-popover-item:hover .breadcrumb-popover-icon,.breadcrumb-popover-item.current .breadcrumb-popover-icon{color:var(--color-primary)}.breadcrumb-popover-label{white-space:nowrap;flex:1}.breadcrumb-popover-tag{border-radius:var(--radius-xs);color:var(--color-primary);background-color:#ed1c2414;padding:2px 6px;font-size:9.5px;font-weight:600}[data-theme=dark] .breadcrumb-popover-tag{background-color:#f8514926}.topbar-right{align-items:center;gap:4px;display:flex}.theme-toggle-btn{width:36px;height:36px;color:var(--color-ink-muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex}.theme-toggle-btn:hover{background-color:var(--color-surface-2);color:var(--color-ink)}.page-content{box-sizing:border-box;overscroll-behavior-y:contain;overscroll-behavior-x:none;flex:1;width:100%;min-width:0;max-width:100%;padding:0;overflow:hidden auto}@keyframes pageContentEnter{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.page-content>:not(.app-pull-refresh-bar){box-sizing:border-box;width:100%;min-width:0;min-height:100%;animation:.16s cubic-bezier(.16,1,.3,1) pageContentEnter}.topbar-menu-btn{width:40px;height:40px;color:var(--color-ink);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;padding:0;display:inline-flex}.topbar-menu-btn:hover{background:var(--color-surface-2)}.topbar-menu-btn:focus-visible{outline:2px solid var(--color-primary,#ed1c24);outline-offset:2px}.admin-layout.is-mobile .topbar-left{flex:1;align-items:center;min-width:0;display:flex}.sidebar.is-mobile{z-index:60;visibility:hidden;width:min(280px,86vw);transition:transform .25s cubic-bezier(.22,1,.36,1),visibility 0s linear .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-mobile.is-open{visibility:visible;transition:transform .25s cubic-bezier(.22,1,.36,1);transform:none;box-shadow:0 0 48px #0006}.sidebar-backdrop{z-index:50;background:#00000080;animation:.2s both sidebarBackdropIn;position:fixed;inset:0}@keyframes sidebarBackdropIn{0%{opacity:0}to{opacity:1}}@media (width<=768px){.topbar{gap:8px;padding:0 12px 0 8px}.topbar-left{flex:1;align-items:center;min-width:0;display:flex}.topbar-breadcrumb{min-width:0}:is(.topbar-breadcrumb .breadcrumb-root,.topbar-breadcrumb .breadcrumb-separator,.topbar-breadcrumb .breadcrumb-segment:not(:has(.breadcrumb-item.active))){display:none}.topbar-breadcrumb .breadcrumb-item.active{text-overflow:ellipsis;white-space:nowrap;max-width:52vw;font-size:14px;font-weight:600;display:block;overflow:hidden}.topbar-right{flex-shrink:0}.topbar-right .theme-toggle-btn,.topbar-right .topbar-avatar-btn,.topbar-right .notif-bell-btn{width:44px;height:44px}.topbar{box-sizing:border-box;height:calc(52px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:calc(8px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px))}.admin-layout.has-bottom-nav .page-content{padding-bottom:calc(var(--bottom-tab-height,56px) + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.sidebar.is-mobile,.sidebar.is-mobile.is-open{transition:none}.sidebar-backdrop{animation:none}}.pattern-waves{width:100%;height:100%;position:relative;overflow:hidden}.login-fullscreen-layout{width:100vw;min-height:100vh;font-family:var(--font-family);color:#fff;background-color:#060102;position:relative;overflow:hidden}.login-fullscreen-layout #lights{z-index:1;width:110%;height:100%;position:absolute;top:0;left:0;overflow:hidden;transform:translate(8%)}.login-fullscreen-layout #lights canvas{width:100%;height:100%;display:block}.login-ambient-vignette{pointer-events:none;z-index:2;background:radial-gradient(circle at 35%,#0601021a 0%,#06010273 70%,#060102bf 100%);position:absolute;inset:0}.login-glow-overlay{pointer-events:none;z-index:3;background:radial-gradient(65% 45% at 50% 15%,#c4161e24 0%,#b40a120f 45%,#0000 70%);position:absolute;inset:0}.login-top-bar{z-index:10;box-sizing:border-box;justify-content:space-between;align-items:center;height:76px;padding:0 48px;display:flex;position:absolute;top:0;left:0;right:0}.login-brand-logo{align-items:center;text-decoration:none;display:inline-flex}.brand-name{letter-spacing:-.5px;color:#fff;font-size:20px;font-weight:700}.brand-name-accent{color:#ed1c24}.login-top-actions{align-items:center;gap:16px;display:flex}.login-theme-btn{border-radius:var(--radius-md,6px);color:#ffffffd9;-webkit-backdrop-filter:blur(10px);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:inline-flex}.login-theme-btn:hover{color:#fff;background:#ffffff24;border-color:#ffffff40;transform:translateY(-1px)}.login-clock-label{letter-spacing:1px;color:#fffc;font-variant-numeric:tabular-nums;text-shadow:0 1px 8px #000000e6;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:600}.login-main-stage{z-index:5;box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;min-height:100vh;padding:88px 64px 80px;display:flex;position:relative}.login-card-wrapper{flex:0 0 430px;width:100%;max-width:430px}.login-card{-webkit-backdrop-filter:blur(28px)saturate(180%);box-sizing:border-box;text-align:left;background:#120e10c7;border:1px solid #ffffff1f;border-radius:4px;width:100%;padding:34px 32px 22px;transition:border-color .25s;box-shadow:0 24px 64px -12px #000000bf,inset 0 0 0 1px #ffffff0d}.login-card:hover{border-color:#ed1c2459}.login-card:focus-within,.login-card:active{border-color:#ed1c248c}.login-title-group{margin-bottom:22px}.login-heading{color:#fff;letter-spacing:-.5px;margin:0 0 6px;font-size:22px;font-weight:700}.login-subheading{color:#ffffffa6;margin:0;font-size:13px;line-height:1.45}.login-form{text-align:left;flex-direction:column;gap:16px;display:flex}.form-group{text-align:left;flex-direction:column;gap:6px;display:flex}.form-label{color:#ffffffd1;letter-spacing:.2px;font-size:12px;font-weight:600}.required{color:#ed1c24;margin-left:2px}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:#ffffff73;pointer-events:none;position:absolute;left:2px}.input-with-icon .form-input{color:#fff;-webkit-text-fill-color:#fff;caret-color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;box-sizing:border-box;background-color:#0000;border:none;border-bottom:1px solid #fff3;border-radius:0;width:100%;height:40px;padding:0 8px 0 28px;font-size:13.5px;transition:border-color .2s}.input-with-icon .form-input:focus{box-shadow:none;border-bottom:1px solid #ed1c24;outline:none}.input-with-icon .form-input.has-toggle{padding-right:32px}.password-toggle-btn{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:color .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle-btn:hover{color:#fff}.form-input::-ms-reveal{pointer-events:none!important;width:0!important;height:0!important;display:none!important}.form-input::-ms-clear{pointer-events:none!important;width:0!important;height:0!important;display:none!important}.input-with-icon .form-input:-webkit-autofill{-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border-bottom:1px solid #fff3!important;transition:background-color 500000s ease-in-out!important;box-shadow:inset 0 0 0 1000px #140e11!important}.input-with-icon .form-input:-webkit-autofill:hover{-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border-bottom:1px solid #fff3!important;transition:background-color 500000s ease-in-out!important;box-shadow:inset 0 0 0 1000px #140e11!important}.input-with-icon .form-input:-webkit-autofill:focus{-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border-bottom:1px solid #fff3!important;transition:background-color 500000s ease-in-out!important;box-shadow:inset 0 0 0 1000px #140e11!important}.input-with-icon .form-input:-webkit-autofill:active{-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border-bottom:1px solid #fff3!important;transition:background-color 500000s ease-in-out!important;box-shadow:inset 0 0 0 1000px #140e11!important}.input-with-icon .form-input:-webkit-autofill:focus{border-bottom:1px solid #ed1c24!important}.login-polished .input-with-icon .form-input:-webkit-autofill{-webkit-text-fill-color:#fff!important;caret-color:#fff!important}.login-polished .input-with-icon .form-input:-webkit-autofill:hover{-webkit-text-fill-color:#fff!important;caret-color:#fff!important}.login-polished .input-with-icon .form-input:-webkit-autofill:focus{-webkit-text-fill-color:#fff!important;caret-color:#fff!important}.forgot-password-row{justify-content:center;margin-top:-4px;display:flex}.forgot-password-btn{color:#ff5a60;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:500;transition:opacity .15s}.forgot-password-btn:hover{text-decoration:underline}.login-submit-btn{color:#fff;cursor:pointer;background-color:#ed1c24;border:none;border-radius:4px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;margin-top:4px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.login-submit-btn:hover:not(:disabled){box-shadow:none;background-color:#d0181f;transform:translateY(-1px)}.login-submit-btn:active:not(:disabled){transform:scale(.99)}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed}.back-to-login-btn{color:#ffffffbf;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:4px;justify-content:center;align-items:center;gap:6px;width:100%;height:40px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex}.back-to-login-btn:hover{color:#fff;background:#ffffff1a;border-color:#fff3}.login-alert-error{color:#fca5a5;background-color:#ef444429;border:1px solid #ef444459;border-radius:4px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;line-height:1.45;display:flex}.login-alert-success{color:#6ee7b7;background-color:#10b98129;border:1px solid #10b98159;border-radius:4px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;line-height:1.45;display:flex}.login-card-footer{text-align:center;border-top:1px solid #ffffff14;margin-top:24px;padding-top:14px}.login-footer-attribution{color:#ffffff73;letter-spacing:.2px;font-size:11px;font-weight:500}.login-footer-link{color:#ffffffb3;text-underline-offset:2px;-webkit-text-decoration:underline #ffffff40;text-decoration:underline #ffffff40;transition:color .15s,text-decoration-color .15s}.login-footer-link:hover{color:#ed1c24;text-decoration-color:#ed1c24}.stack-pill{z-index:10;-webkit-backdrop-filter:blur(14px);color:#ffffffc7;font-size:12px;font-family:var(--font-family);-webkit-user-select:none;user-select:none;cursor:default;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:7px;padding:7px 16px;transition:border-color .2s cubic-bezier(.16,1,.3,1),background .2s,transform .2s,box-shadow .2s;display:inline-flex;position:absolute;bottom:36px;right:48px;box-shadow:0 4px 16px #0000004d}.stack-pill:hover{background:#ffffff17;border-color:#ed1c2473;transform:translateY(-1px);box-shadow:0 6px 20px #00000073}.stack-pill-label{color:#ffffff73;letter-spacing:.2px;font-size:11.5px;font-weight:400}.stack-pill-value{color:#fff;letter-spacing:.3px;font-weight:600;transition:opacity .3s,transform .3s;display:inline-block}.stack-pill-value.stack-fading{opacity:0;transform:translateY(3px)}.login-bottom-bar{z-index:10;position:absolute;bottom:36px;left:48px}.github-glass-pill{-webkit-backdrop-filter:blur(14px);color:#ffffffc7;font-size:12px;font-weight:500;font-family:var(--font-family);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:8px;padding:7px 14px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 16px #0000004d}.github-glass-pill:hover{color:#fff;background:#ffffff1f;border-color:#ed1c2473;transform:translateY(-1px);box-shadow:0 6px 20px #00000073}.github-svg-icon{color:#ffffffd9;flex-shrink:0}.github-pill-text{letter-spacing:.2px}.github-ext-icon{color:#ffffff73;transition:color .15s}.github-glass-pill:hover .github-ext-icon{color:#fff}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-skeleton-shimmer{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1c 50%,#ffffff0a 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite skeletonPulse}.login-card-loaded-content{animation:.32s cubic-bezier(.16,1,.3,1) loginCardFadeIn}@keyframes loginCardFadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.login-polished{transition:opacity .22s}.login-polished.login-leaving{opacity:0}.login-polished #lights{transform:translate(calc(8% + var(--login-parallax-x,0px)), var(--login-parallax-y,0px));height:calc(100% + 16px);transition:transform .7s cubic-bezier(.22,1,.36,1);animation:.8s ease-out both loginPolishBackground;top:-8px}.login-polished .login-glow-overlay{transform:translate(var(--login-parallax-x,0px), var(--login-parallax-y,0px));transition:transform .9s ease-out}.login-polished .login-panel-height{overflow:clip}.login-polished .login-card-wrapper{animation:.58s cubic-bezier(.22,1,.36,1) both loginPolishCard}.login-polished .login-card-wrapper:focus-within{animation-duration:0s}.login-polished .login-card-loaded-content{animation:none;display:flow-root}.login-polished .login-top-bar,.login-polished .login-title-group,.login-polished .login-form>:not(.login-sr-status),.login-polished .login-card-footer{animation:.46s cubic-bezier(.22,1,.36,1) both loginPolishEntrance}.login-polished .login-title-group{animation-delay:35ms}.login-polished .login-form>:first-child{animation-delay:65ms}.login-polished .login-form>:nth-child(2){animation-delay:.1s}.login-polished .login-form>:nth-child(3){animation-delay:.135s}.login-polished .login-form>:nth-child(4){animation-delay:.17s}.login-polished .login-card-footer{animation-delay:.2s}.login-polished .login-form>:focus-within{animation-duration:0s;animation-delay:0s}.login-polished.login-mode-switched .login-title-group,.login-polished.login-mode-switched .login-form>:not(.login-sr-status),.login-polished.login-mode-switched .login-card-footer{animation:none}.login-polished .password-toggle-btn{height:28px;margin-block:auto;top:0;bottom:0;transform:none}.login-polished .input-with-icon:after{content:"";transform-origin:0;pointer-events:none;background:#ed1c24;height:2px;transition:transform .22s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.login-polished .form-label{color:#ffffffd1}.login-polished .input-with-icon:focus-within:after{transform:scaleX(1)}.login-polished .input-icon{transition:color .18s,transform .18s}.login-polished .input-with-icon:focus-within .input-icon{color:#ff5a60;transform:translateY(-1px)}.login-polished .login-password-icons{width:16px;height:16px;display:grid}.login-polished .login-password-icons svg{grid-area:1/1;transition:opacity .16s,transform .16s}.login-polished .login-eye-off,.login-polished .is-visible .login-eye{opacity:0;transform:scale(.8)}.login-polished .is-visible .login-eye-off{opacity:1;transform:scale(1)}.login-polished .login-submit-btn:active:not(:disabled),.login-polished .back-to-login-btn:active:not(:disabled){transform:translateY(1px)scale(.985)}.login-polished button:focus-visible,.login-polished a:focus-visible{outline-offset:4px;outline:2px solid #ff7379}.login-polished .login-alert-error,.login-polished .login-alert-success{animation:.24s ease-out both loginPolishFeedback}.login-polished .login-success-check{animation:.28s ease-out both loginPolishFeedback}.login-polished .login-success-check :is(polyline,path){stroke-dasharray:24;stroke-dashoffset:0;animation:.36s ease-out both loginPolishCheck}.login-polished .login-sr-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.login-polished .github-glass-pill,.login-polished .stack-pill{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;transform:none}@keyframes loginPolishEntrance{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes loginPolishBackground{0%{opacity:0}to{opacity:1}}@keyframes loginPolishCard{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes loginPolishFeedback{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes loginPolishCheck{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.login-polished,.login-polished *,.login-polished :after{transition:none!important;animation:none!important}.login-polished .stack-fading{opacity:1;transform:none}.login-polished .login-glow-overlay{transform:none}}@media (width<=960px){.login-top-bar{height:64px;padding:0 24px}.login-main-stage{justify-content:center;padding:80px 20px}.login-card-wrapper{flex:1;max-width:420px;margin:0 auto}.stack-pill{display:none}.login-bottom-bar{bottom:20px;left:50%;transform:translate(-50%)}}.login-patternwaves-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.login-css-background{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.login-ambient-shape{border-radius:var(--radius-full);filter:blur(80px);will-change:transform;position:absolute}.login-ambient-shape--1{background-color:var(--color-primary);opacity:.18;width:500px;height:500px;animation:22s ease-in-out infinite alternate loginDriftOne;top:-10%;right:15%}.login-ambient-shape--2{background-color:var(--color-primary-hover);opacity:.14;width:600px;height:600px;animation:28s ease-in-out infinite alternate loginDriftTwo;bottom:5%;right:5%}.login-ambient-shape--3{background-color:var(--color-primary-focus);opacity:.12;width:450px;height:450px;animation:25s ease-in-out infinite alternate loginDriftThree;top:35%;left:30%}@keyframes loginDriftOne{0%{transform:translate(0,0)scale(1)}50%{transform:translate(-60px,40px)scale(1.08)}to{transform:translate(40px,70px)scale(.95)}}@keyframes loginDriftTwo{0%{transform:translate(0,0)scale(1)}50%{transform:translate(50px,-50px)scale(1.12)}to{transform:translate(-30px,30px)scale(.92)}}@keyframes loginDriftThree{0%{transform:translate(0,0)scale(1)}50%{transform:translate(40px,-40px)scale(.9)}to{transform:translate(-50px,50px)scale(1.05)}}@media (prefers-reduced-motion:reduce){.login-ambient-shape,.login-ambient-shape--1,.login-ambient-shape--2,.login-ambient-shape--3{animation:none!important}}.login-forgot-link{color:#ffffffb3;align-self:flex-end;margin-top:-4px;font-size:12px;text-decoration:none}.login-forgot-link:hover,.login-forgot-link:focus-visible{color:#fff;text-decoration:underline}.auth-view{animation:.28s cubic-bezier(.22,1,.36,1) both authViewIn}@keyframes authViewIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.auth-view{animation:none}}.auth-field-hint{color:#ffffff8c;margin:6px 0 0;font-size:11.5px;line-height:1.5}:root{--color-primary:#ed1c24;--color-on-primary:#fff;--color-primary-hover:#d0181f;--color-primary-focus:#f25459;--color-ink:#111;--color-ink-muted:#4a4a4a;--color-ink-subtle:#717171;--color-ink-tertiary:#a0a0a0;--color-canvas:#fafafa;--color-surface-1:#fff;--color-surface-2:#f4f4f5;--color-surface-3:#efefef;--color-surface-4:#e4e4e7;--color-hairline:#e5e5e5;--color-hairline-strong:#d4d4d8;--color-hairline-tertiary:#a1a1aa;--color-inverse-canvas:#111;--color-inverse-surface-1:#1f1f1f;--color-inverse-surface-2:#2a2a2a;--color-inverse-ink:#fff;--color-semantic-success:#10b981;--color-semantic-warning:#f59e0b;--color-semantic-error:#ef4444;--color-semantic-overlay:#00000080;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--radius-xs:2px;--radius-sm:2px;--radius-md:4px;--radius-lg:4px;--radius-xl:6px;--radius-full:9999px;--elevation-subtle:0 1px 2px #00000005;--elevation-card:0 1px 3px #00000005;--elevation-tooltip:0 4px 12px #00000014;--elevation-popover:0 8px 24px #0000001f;--elevation-accent-soft:0 4px 14px #ed1c240f;--elevation-accent-rest:0 4px 14px #ed1c2414;--elevation-accent-hover:0 4px 14px #ed1c2433;--elevation-accent-lift:0 6px 18px #ed1c2447;--accent-orange:#e8710a;--accent-blue:#0b6bcb;--accent-green:#1a9b43;--accent-purple:#9333ea;--badge-success-bg:#dcfce7;--badge-success-border:#bbf7d0;--badge-success-text:#15803d;--badge-warning-bg:#fef3c7;--badge-warning-border:#fde68a;--badge-warning-text:#b45309;--badge-danger-bg:#fee2e2;--badge-danger-border:#fecaca;--badge-danger-text:#b91c1c;--badge-info-bg:#e0f2fe;--badge-info-border:#bae6fd;--badge-info-text:#0369a1;--badge-blue-bg:#eff6ff;--badge-blue-border:#bfdbfe;--badge-blue-text:#1d4ed8;--badge-purple-bg:#f3e8ff;--badge-purple-border:#e9d5ff;--badge-purple-text:#7e22ce;--badge-neutral-bg:var(--color-surface-2);--badge-neutral-border:var(--color-hairline-strong);--badge-neutral-text:var(--color-ink-muted);--font-family:"Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}[data-theme=dark]{--bg-primary:#0a0a0a;--bg-card:#0a0a0a;--bg-card-hover:#16171a;--bg-input:#16171a;--bg-pill:#1e1f23;--color-canvas:#0a0a0a;--color-surface-1:#0a0a0a;--color-surface-2:#16171a;--color-surface-3:#1c1d21;--color-surface-4:#222328;--border-subtle:#26272b;--color-hairline:#26272b;--color-hairline-strong:#33343a;--color-hairline-tertiary:#44454d;--text-primary:#f5f5f5;--text-secondary:#a0a0a5;--text-muted:#6b6c70;--color-ink:#f5f5f5;--color-ink-muted:#a0a0a5;--color-ink-subtle:#6b6c70;--color-ink-tertiary:#4e4f54;--color-primary:#f85149;--color-primary-hover:#e0413a;--color-primary-focus:#ff6b64;--accent-orange:#f6821f;--accent-blue:#3b9eff;--accent-green:#35c759;--accent-red:#f85149;--accent-purple:#a855f7;--icon-default:#8a8b90;--color-semantic-success:#35c759;--color-semantic-warning:#f6821f;--color-semantic-error:#f85149;--color-semantic-overlay:#000000bf;--badge-success-bg:#35c75924;--badge-success-border:#35c75947;--badge-success-text:#35c759;--badge-warning-bg:#f6821f24;--badge-warning-border:#f6821f47;--badge-warning-text:#f6821f;--badge-danger-bg:#f8514924;--badge-danger-border:#f8514947;--badge-danger-text:#f85149;--badge-info-bg:#3b9eff24;--badge-info-border:#3b9eff47;--badge-info-text:#3b9eff;--badge-blue-bg:#3b9eff24;--badge-blue-border:#3b9eff47;--badge-blue-text:#3b9eff;--badge-purple-bg:#a855f724;--badge-purple-border:#a855f747;--badge-purple-text:#c084fc;--badge-neutral-bg:var(--bg-pill,#1e1f23);--badge-neutral-border:var(--border-subtle,#26272b);--badge-neutral-text:var(--text-secondary,#a0a0a5)}button,.btn,.button-primary,.button-secondary,.button-danger,.button-outline,.btn-ghost,.back-link,.back-link-btn{transition:transform .1s cubic-bezier(.16,1,.3,1),background-color .15s,border-color .15s,color .15s,opacity .15s}button:not(:disabled):active,.btn:not(:disabled):active,.button-primary:not(:disabled):active,.button-secondary:not(:disabled):active,.button-danger:not(:disabled):active,.button-outline:not(:disabled):active,.btn-ghost:not(:disabled):active,.back-link:active,.back-link-btn:active{transform:scale(.97)}.button-primary,.button-secondary,.button-danger,.button-outline{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:500;line-height:1.4;display:inline-flex}.button-primary{background-color:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary);box-shadow:0 1px 2px #ed1c2426}.button-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button-secondary{background-color:var(--color-surface-1);color:var(--color-ink);border:1px solid var(--color-hairline-strong);box-shadow:0 1px 2px #00000008}.button-secondary:hover:not(:disabled){background-color:var(--color-surface-2);border-color:var(--color-ink-subtle)}.button-danger{background-color:var(--color-semantic-error);color:#fff;border:1px solid var(--color-semantic-error)}.button-danger:hover:not(:disabled){background-color:#dc2626}.button-outline{color:var(--color-primary);border:1px solid var(--color-primary);background-color:#0000}.button-outline:hover:not(:disabled){background-color:#ed1c240d}.button-sm{padding:4px 10px;font-size:12px}.button-lg{padding:9px 18px;font-size:14px}button:disabled,.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}@keyframes btnBusyPulse{0%,to{opacity:.72}50%{opacity:.95}}button.is-loading,button[aria-busy=true],.btn.is-loading,.button-primary.is-loading,.button-secondary.is-loading{animation:1.1s ease-in-out infinite btnBusyPulse;cursor:wait!important}.btn{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 14px;font-family:inherit;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn-sm{height:28px;padding:0 10px;font-size:11.5px}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){opacity:.92}.btn-secondary{background-color:var(--color-surface-1);color:var(--color-ink);border-color:var(--color-hairline)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-2);border-color:var(--color-hairline-strong)}.btn-danger{background-color:var(--color-semantic-error);color:#fff;border-color:var(--color-semantic-error)}.btn-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.btn-danger-outline{color:#dc2626;background-color:#0000;border-color:#fecaca}.btn-danger-outline:hover:not(:disabled){color:#b91c1c;background-color:#fef2f2;border-color:#f87171}[data-theme=dark] .btn-danger-outline{color:#f87171;border-color:#ef44444d}[data-theme=dark] .btn-danger-outline:hover:not(:disabled){color:#fca5a5;background-color:#ef444424}.btn-ghost{color:var(--color-ink);background-color:#0000;border-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-2)}.clickable-row{cursor:pointer;transition:background-color .12s,transform 80ms}.clickable-row:active{transform:scale(.997);background-color:#ed1c240f!important}.text-danger{color:var(--color-semantic-error)!important}.text-success{color:var(--color-semantic-success)!important}.text-warning{color:var(--color-semantic-warning)!important}.text-primary{color:var(--color-primary)!important}.text-muted{color:var(--color-ink-muted)!important}.text-center{text-align:center}.py-6{padding-top:24px;padding-bottom:24px}.form-group{margin-bottom:var(--spacing-md);flex-direction:column;gap:6px;display:flex}.form-label{color:var(--color-ink-muted);font-size:12px;font-weight:500}.form-label .required{color:var(--color-semantic-error);margin-left:2px}.form-input,.form-select,.form-textarea,.form-control{background-color:var(--color-surface-1);border:1px solid var(--color-hairline-strong);border-radius:var(--radius-md);width:100%;color:var(--color-ink);box-sizing:border-box;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus,.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #ed1c2426}.form-input::placeholder,.form-textarea::placeholder,.form-control::placeholder{color:var(--color-ink-tertiary)}.form-grid-2{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=640px){.form-grid-2{grid-template-columns:1fr}}.form-error{color:var(--color-semantic-error);margin-top:2px;font-size:11px}.form-hint{color:var(--color-ink-subtle);margin-top:2px;font-size:11px}.content-card{background-color:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:0 1px 3px #00000005}.card-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.card-title{color:var(--color-ink);letter-spacing:-.01em;font-size:15px;font-weight:600}.page-container{box-sizing:border-box;background-color:var(--color-canvas);flex-direction:column;gap:0;width:100%;min-width:0;max-width:100%;min-height:100%;padding:0;display:flex}.page-header{border-bottom:1px solid var(--color-hairline);background-color:var(--color-canvas);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:flex-end;width:100%;min-width:0;max-width:100%;padding:24px 24px 16px;display:flex}.page-title-group{flex-direction:column;gap:4px;display:flex}.page-title-group h1{color:var(--color-ink);letter-spacing:-.3px;margin:0 0 4px;font-size:20px;font-weight:700;line-height:1.2}.page-subtitle{color:var(--color-ink-muted);margin:0;font-size:13px;line-height:1.4}.page-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.page-body{box-sizing:border-box;flex-direction:column;flex:1;gap:16px;width:100%;min-width:0;max-width:100%;padding:20px 24px 24px;display:flex}.unified-filter-bar{background:var(--color-surface-1);border:1px solid var(--color-hairline-strong);border-radius:var(--radius-md);box-sizing:border-box;z-index:50;align-items:center;width:100%;min-width:0;max-width:100%;height:42px;transition:box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 1px 3px #00000005}.unified-filter-bar:hover{border-color:var(--color-primary)!important}.unified-filter-bar:focus-within{border-color:var(--color-primary)!important;outline:none!important;box-shadow:0 0 0 3px #ed1c2414!important}[data-theme=dark] .unified-filter-bar:focus-within{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px #f8514929!important}.unified-search{flex:1;align-items:center;min-width:0;height:100%;display:flex;position:relative}.unified-icon{color:var(--color-ink-muted);pointer-events:none;position:absolute;left:14px}.unified-toggle{height:100%;color:var(--color-ink);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;padding:0 14px;font-size:12.5px;font-weight:500;transition:background-color .15s;display:inline-flex}.unified-toggle:hover{background-color:var(--color-surface-2)}.unified-toggle input{opacity:0;pointer-events:none;position:absolute}.unified-toggle:has(input:checked){background-color:var(--color-surface-2);color:var(--color-primary,#ed1c24);font-weight:600}.unified-toggle:has(input:focus-visible){outline:2px solid var(--color-primary,#ed1c24);outline-offset:-2px}.unified-search .unified-input{box-sizing:border-box;min-width:0;padding-left:40px}.unified-filter-dropdowns{flex-shrink:0;align-items:center;height:100%;display:flex}.unified-select-wrapper{flex-shrink:0;align-items:center;width:165px;min-width:140px;height:100%;display:flex;position:relative}.unified-input{box-sizing:border-box;width:100%;min-width:0;height:100%;color:var(--color-ink);outline:none;padding:0 12px;font-size:13px;font-weight:500;background:0 0!important;border:none!important}.unified-input::placeholder{color:var(--color-ink-subtle);font-weight:400}.unified-input:focus,.unified-input:active,.unified-input:focus-visible{box-shadow:none!important;outline:none!important}.unified-divider{background-color:var(--color-hairline-strong);flex-shrink:0;width:1px;height:20px}.content-card,.card,.card-box,.stat-card,.metric-card-modern,.kpi-card:not(.hero-primary),.chart-card-modern,.spectrum-card-modern,.donut-card-modern,.action-center-modern,.recent-activity-card,.recent-activities-container,.month-tab-card,.datatable-container,.table-box,.reports-metric-card:not(.hero-primary),.reports-detail-header-card,.detail-header-card,.detail-metrics-bar,.comparison-box,.reports-discrepancy-card,.reports-props-group,.contract-document-card,.create-form-card,.profile-hero-card,.profile-section-card,.notif-list-container,.file-dropzone,.file-preview-item,.ocr-progress-card,.ocr-progress-dock,.billing-info-banner,.result-stat-box,.recon-summary-box{transition:border-color .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1)}.content-card:hover,.card:hover,.card-box:hover,.stat-card:hover,.metric-card-modern:hover,.kpi-card:not(.hero-primary):hover,.chart-card-modern:hover,.spectrum-card-modern:hover,.donut-card-modern:hover,.action-center-modern:hover,.recent-activity-card:hover,.recent-activities-container:hover,.month-tab-card:hover,.datatable-container:hover,.table-box:hover,.reports-metric-card:not(.hero-primary):hover,.reports-detail-header-card:hover,.detail-header-card:hover,.detail-metrics-bar:hover,.comparison-box:hover,.reports-discrepancy-card:hover,.reports-props-group:hover,.contract-document-card:hover,.create-form-card:hover,.profile-hero-card:hover,.profile-section-card:hover,.notif-list-container:hover,.file-dropzone:hover,.file-preview-item:hover,.ocr-progress-card:hover,.ocr-progress-dock:hover,.billing-info-banner:hover,.result-stat-box:hover,.recon-summary-box:hover{box-shadow:0 4px 16px #ed1c240f;border-color:var(--color-primary)!important}[data-theme=dark] .content-card:hover,[data-theme=dark] .card:hover,[data-theme=dark] .card-box:hover,[data-theme=dark] .stat-card:hover,[data-theme=dark] .metric-card-modern:hover,[data-theme=dark] .kpi-card:not(.hero-primary):hover,[data-theme=dark] .chart-card-modern:hover,[data-theme=dark] .spectrum-card-modern:hover,[data-theme=dark] .donut-card-modern:hover,[data-theme=dark] .action-center-modern:hover,[data-theme=dark] .recent-activity-card:hover,[data-theme=dark] .recent-activities-container:hover,[data-theme=dark] .month-tab-card:hover,[data-theme=dark] .datatable-container:hover,[data-theme=dark] .table-box:hover,[data-theme=dark] .reports-metric-card:not(.hero-primary):hover,[data-theme=dark] .reports-detail-header-card:hover,[data-theme=dark] .detail-header-card:hover,[data-theme=dark] .detail-metrics-bar:hover,[data-theme=dark] .comparison-box:hover,[data-theme=dark] .reports-discrepancy-card:hover,[data-theme=dark] .reports-props-group:hover,[data-theme=dark] .contract-document-card:hover,[data-theme=dark] .create-form-card:hover,[data-theme=dark] .profile-hero-card:hover,[data-theme=dark] .profile-section-card:hover,[data-theme=dark] .notif-list-container:hover,[data-theme=dark] .file-dropzone:hover,[data-theme=dark] .file-preview-item:hover,[data-theme=dark] .ocr-progress-card:hover,[data-theme=dark] .ocr-progress-dock:hover,[data-theme=dark] .billing-info-banner:hover,[data-theme=dark] .result-stat-box:hover,[data-theme=dark] .recon-summary-box:hover{box-shadow:0 0 0 1px #f8514940,0 8px 24px -6px #0009;border-color:var(--color-primary)!important}.spinner,.spin{animation:.8s linear infinite spin}@media (width<=720px){.table-cards thead{display:none}.table-cards,.table-cards tbody{width:100%;display:block}.table-cards tbody tr{border-bottom:1px solid var(--color-hairline);flex-direction:column;gap:2px;padding:12px 16px;display:flex}.table-cards tbody tr:last-child{border-bottom:none}.table-cards td{text-align:right;justify-content:space-between;align-items:baseline;gap:12px;display:flex;border:none!important;padding:4px 0!important}.table-cards td[data-label]:before{content:attr(data-label);letter-spacing:.3px;text-transform:uppercase;color:var(--color-ink-muted);text-align:left;flex-shrink:0;font-size:11.5px;font-weight:500}.table-cards td[data-primary]{text-align:left;order:-1;font-size:14px;font-weight:700;display:block}.table-cards td[data-wide]{text-align:left;white-space:normal;display:block;max-width:none!important;padding:2px 0 8px!important}.table-cards td[data-actions]{justify-content:flex-end;padding-top:8px!important}.table-cards td[data-hide-mobile]{display:none}.table-cards td[colspan]{text-align:center;display:block}.table-cards tbody tr.empty-state-row{padding:0}}@media (width<=768px){.admin-layout .page-header{flex-direction:column;align-items:stretch;gap:12px;padding:16px 16px 12px!important}.admin-layout .page-actions{flex-wrap:wrap;flex-shrink:1;gap:8px;width:100%;min-width:0}.page-body{gap:12px;padding:12px 16px 20px}}@media (width<=1140px){.unified-filter-bar{flex-direction:column;align-items:stretch;height:auto}.unified-filter-bar .unified-search,.unified-filter-bar .unified-toggle,.unified-filter-bar .unified-select-wrapper{box-sizing:border-box;flex:none;width:100%;min-width:0;height:42px}.unified-filter-bar .unified-divider{display:none}.unified-filter-bar .unified-filter-dropdowns{flex-direction:column;align-items:stretch;width:100%;height:auto}.unified-filter-bar .unified-toggle,.unified-filter-bar .unified-select-wrapper{border-top:1px solid var(--color-hairline);border-left:none;border-right:none}}@media (prefers-reduced-motion:reduce){.spinner,.spin{animation-duration:1.2s}}.is-dimmed{opacity:.6!important;pointer-events:none!important;transition:opacity .15s!important}.table-fetching-bar{background:linear-gradient(90deg, transparent, var(--color-primary), transparent);z-index:10;background-size:200% 100%;height:2.5px;animation:1.2s ease-in-out infinite tableProgressGlow;position:absolute;top:0;left:0;right:0}@keyframes tableProgressGlow{0%{background-position:-150% 0}to{background-position:150% 0}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;height:100%;font-size:14px}body{font-family:var(--font-family);background-color:var(--color-canvas);color:var(--color-ink);caret-color:var(--color-primary);overscroll-behavior:none;height:100%;min-height:100vh;line-height:1.5}#root{flex-direction:column;height:100%;min-height:100vh;display:flex}::selection{color:var(--color-ink);background-color:#ed1c242e}[data-theme=dark] ::selection{color:#fff;background-color:#ed1c2459}*{scrollbar-width:thin;scrollbar-color:var(--color-hairline-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-hairline-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-ink-subtle)}.font-mono,.datatable td,.kpi-value,.kpi-hint,.item-count-badge,.treg-badge,.segment-badge,.stat-matched-tag,.stat-unmatched-tag,.stat-pending-tag,.result-stat-value,.progress-bar-label{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}svg,svg *,.recharts-wrapper,.recharts-wrapper *{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:none!important;outline:none!important}svg:focus,svg:focus-visible,svg :focus,svg :focus-visible,.recharts-wrapper:focus,.recharts-wrapper:focus-visible,.recharts-surface:focus,.recharts-surface:focus-visible,.recharts-sector:focus,.recharts-pie:focus,.recharts-bar-rectangle:focus,.recharts-rectangle:focus,.recharts-dot:focus,.recharts-active-dot:focus{box-shadow:none!important;outline:none!important}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}input::-ms-reveal{pointer-events:none!important;width:0!important;height:0!important;display:none!important}input::-ms-clear{pointer-events:none!important;width:0!important;height:0!important;display:none!important}input::-webkit-contacts-auto-fill-button{visibility:hidden!important;pointer-events:none!important;width:0!important;height:0!important;margin:0!important;display:none!important}input::-webkit-credentials-auto-fill-button{visibility:hidden!important;pointer-events:none!important;width:0!important;height:0!important;margin:0!important;display:none!important}input[type=date],input[type=month],input[type=time],input[type=datetime-local]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;transition:opacity .15s}input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;transition:opacity .15s}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;transition:opacity .15s}input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;transition:opacity .15s}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=month]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}[data-theme=dark] input[type=date],[data-theme=dark] input[type=month],[data-theme=dark] input[type=time],[data-theme=dark] input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{opacity:.75}[data-theme=dark] input[type=month]::-webkit-calendar-picker-indicator{opacity:.75}[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{opacity:.75}[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.75}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}[data-theme=dark] input[type=month]::-webkit-calendar-picker-indicator:hover{opacity:1}[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}@media (width<=768px){html.phone-native :is(.button-primary,.button-secondary,.button-outline,.button-danger,.button-sm,.button-lg,.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-sm,.btn-icon,.back-link-btn,.btn-rail-submit,.btn-rail-cancel,.btn-rail-delete,.btn-save-profile,.btn-add-item-clean,.btn-viewer-submit,.btn-viewer-cancel,.dashboard-treg-dropdown-btn,.dashboard-refresh-btn,.footer-tab-btn,.notif-category-tab,.pagination-nav-btn,.copy-btn,.date-icon-btn,.btn-toggle-eye,.toast-close-btn,.table-edge-action,.action-icon-button,.table-delete-btn){min-height:44px}html.phone-native :is(.btn-icon,.back-link-btn,.copy-btn,.date-icon-btn,.btn-toggle-eye,.toast-close-btn,.table-edge-action,.action-icon-button,.table-delete-btn,.pagination-nav-btn){min-width:44px}html.phone-native :is(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=hidden]),select){min-height:44px;font-size:16px}html.phone-native textarea{font-size:16px}html.phone-native :is(.custom-select-trigger,.multi-select-header){min-height:44px}html.phone-native :is(.custom-select-item,.multi-select-item){align-items:center;min-height:44px;display:flex}html.phone-native .auth-field-hint,html.phone-native .badge-doc-type,html.phone-native .banner-text code,html.phone-native .batch-status-error,html.phone-native .batch-time,html.phone-native .billing-detail-container .section-subtitle,html.phone-native .brand-version,html.phone-native .breadcrumb-popover-header,html.phone-native .breadcrumb-popover-tag,html.phone-native .btn-ratio-preset,html.phone-native .btn-ref-pill,html.phone-native .btn-ref-primary-compact,html.phone-native .btn-sm,html.phone-native .btn-switch-primary,html.phone-native .bundle-attachment-strip,html.phone-native .bundle-slot-badge,html.phone-native .bundle-slot-file-size,html.phone-native .bundle-tag,html.phone-native .card-note,html.phone-native .cell-customer-sub,html.phone-native .cell-edit-box .uf-error,html.phone-native .cell-recommendation,html.phone-native .comparison-hint,html.phone-native .comparison-label,html.phone-native .confirm-tooltip,html.phone-native .contract-doc-meta,html.phone-native .contract-type,html.phone-native .contracts-page .customer-account,html.phone-native .count-badge,html.phone-native .counter-label,html.phone-native .create-workspace-split.split-view-active .currency-prefix,html.phone-native .create-workspace-split.split-view-active .flat-table-input,html.phone-native .create-workspace-split.split-view-active .form-label,html.phone-native .create-workspace-split.split-view-active .premium-table th,html.phone-native .create-workspace-split.split-view-active .section-heading,html.phone-native .customer-account,html.phone-native .customers-page .customer-account,html.phone-native .datatable td:before,html.phone-native .datatable th,html.phone-native .decision-table th,html.phone-native .decision-tag,html.phone-native .detail-invoices-table thead th,html.phone-native .detail-table thead th,html.phone-native .doc-time,html.phone-native .documents-table thead th,html.phone-native .drawer-customer-badge,html.phone-native .drawer-customer-badge.copyable,html.phone-native .drawer-doc-sub,html.phone-native .drawer-group-count,html.phone-native .drawer-group-label,html.phone-native .drawer-items-count,html.phone-native .drawer-items-table th,html.phone-native .drawer-sid-more-hint,html.phone-native .dropzone-hint,html.phone-native .edited-badge,html.phone-native .error-code-badge,html.phone-native .error-page-footer,html.phone-native .exec-card-subtitle,html.phone-native .exec-chart-legend-custom,html.phone-native .exec-chart-tooltip,html.phone-native .exec-kpi-hint,html.phone-native .exec-spectrum-kasus,html.phone-native .exec-spectrum-name,html.phone-native .exec-spectrum-pct,html.phone-native .exec-table thead th,html.phone-native .field-hint,html.phone-native .file-add-more-btn,html.phone-native .file-clear-all-btn,html.phone-native .file-size,html.phone-native .footer-blocker-warning,html.phone-native .form-error,html.phone-native .form-hint,html.phone-native .form-section-title,html.phone-native .health-bar-row,html.phone-native .hint-body,html.phone-native .hint-header,html.phone-native .import-tab-pill,html.phone-native .invoices-count-badge,html.phone-native .items-table th,html.phone-native .kbd-shortcut,html.phone-native .kpi-label,html.phone-native .kpi-subtext,html.phone-native .lifecycle-chip,html.phone-native .login-footer-attribution,html.phone-native .mapping-col-label,html.phone-native .mark-all-btn,html.phone-native .metric-card-subtext,html.phone-native .metric-chip-label,html.phone-native .metric-chip-val,html.phone-native .multi-select-badge,html.phone-native .multi-select-clear-all-btn,html.phone-native .multi-select-toolbar,html.phone-native .nav-section-label,html.phone-native .nominal-old,html.phone-native .notif-desc,html.phone-native .notif-time,html.phone-native .notifications-page .notif-meta-dot,html.phone-native .notifications-page .notif-meta-row,html.phone-native .notifications-page .page-indicator,html.phone-native .notifications-page .pagination-nav-btn,html.phone-native .notifications-page .per-page-label,html.phone-native .notifications-page .per-page-select,html.phone-native .notifications-page .tab-count-badge,html.phone-native .nukbc-compact-sub,html.phone-native .obligation-clause,html.phone-native .obligation-pill,html.phone-native .ocr-card-filename,html.phone-native .ocr-log-box,html.phone-native .ocr-log-time,html.phone-native .password-requirements-title,html.phone-native .pdf-loading-bytes,html.phone-native .premium-table th,html.phone-native .profile-role-badge,html.phone-native .progress-pct,html.phone-native .prop-label,html.phone-native .property-label,html.phone-native .quick-prop-badge,html.phone-native .quick-prop-label,html.phone-native .rail-complete-box,html.phone-native .rail-discrepancy-box,html.phone-native .rail-doc-meta,html.phone-native .rail-durasi-helper,html.phone-native .rail-prorata-row,html.phone-native .rail-prorata-row .rail-metric-value,html.phone-native .rail-proyeksi-subtitle,html.phone-native .rail-total-label,html.phone-native .recon-badge,html.phone-native .recon-diff-text,html.phone-native .recon-header-tooltip,html.phone-native .recon-reason-text,html.phone-native .record-drawer-quote-label,html.phone-native .record-drawer-section-title,html.phone-native .reference-doc-meta-compact,html.phone-native .reference-empty-hint,html.phone-native .reference-size,html.phone-native .reference-tag-clean,html.phone-native .reports-baso-complete,html.phone-native .reports-baso-missing,html.phone-native .reports-period-badge,html.phone-native .reports-segment-tag,html.phone-native .reports-service-name,html.phone-native .reports-treg-tag,html.phone-native .req-list,html.phone-native .req-title,html.phone-native .result-stat-label,html.phone-native .row-num-tag,html.phone-native .row-reason-text,html.phone-native .row-sheet-tag,html.phone-native .section-heading,html.phone-native .section-subtitle,html.phone-native .sid-inline-edit-box .uf-error,html.phone-native .sid-pill,html.phone-native .sid-th-col,html.phone-native .skipped-table thead th,html.phone-native .stack-pill-label,html.phone-native .status-badge,html.phone-native .status-badge--md,html.phone-native .status-badge--sm,html.phone-native .status-card-title,html.phone-native .status-pill,html.phone-native .status-toggle-btn,html.phone-native .sub-services-table thead th,html.phone-native .sub-toolbar-btn,html.phone-native .summary-block-desc,html.phone-native .tab-indicator-attached,html.phone-native .table-cards td[data-label]:before,html.phone-native .td-row-num,html.phone-native .text-monospace,html.phone-native .th-row-num,html.phone-native .tile-text,html.phone-native .topbar-profile-email,html.phone-native .topbar-profile-role,html.phone-native .uf-error,html.phone-native .unfilled-alert-desc,html.phone-native .unfilled-tag-badge,html.phone-native .unread-tag,html.phone-native .upload-info-box code,html.phone-native .user-role,html.phone-native .viewer-filled-indicator,html.phone-native .viewer-tab,html.phone-native .viewer-unfilled-indicator{font-size:12px!important}}@media (width<=720px){html.phone-native .datatable td:before{text-transform:none;letter-spacing:0;color:var(--color-ink-muted);font-size:12px;font-weight:400}html.phone-native .datatable td[data-label]:not(.datatable-primary-cell):not(.datatable-check-cell):not([data-col=actions]):not([data-col=action]):not([data-label=Aksi]){padding:2px 0}html.phone-native .datatable tbody tr.is-clickable:active{background-color:var(--color-surface-2)!important}}@media (width<=768px){html.phone-native .unified-filter-bar{flex-direction:column;align-items:stretch;height:auto}html.phone-native .unified-filter-bar .unified-search{flex:none;width:100%;height:42px}html.phone-native .unified-filter-bar .unified-divider{display:none}html.phone-native .unified-filter-bar .unified-filter-dropdowns{box-sizing:border-box;border-top:1px solid var(--color-hairline);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;flex-flow:row;align-items:center;gap:8px;width:100%;height:auto;padding:8px 12px;display:flex;overflow:auto hidden}html.phone-native .unified-filter-bar .unified-filter-dropdowns::-webkit-scrollbar{display:none}html.phone-native .unified-filter-bar .unified-select-wrapper{border:1px solid var(--color-hairline-strong);box-sizing:border-box;scroll-snap-align:start;border-radius:999px;flex:none;width:auto;min-width:128px;height:34px;padding:0 4px}html.phone-native .unified-filter-bar .unified-toggle{border-top:none;border-left:none;border-right:none;flex:none;height:34px}html.phone-native .page-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}html.phone-native .page-actions>.button-primary,html.phone-native .page-actions>:only-child{grid-column:1/-1}html.phone-native .page-actions>*{box-sizing:border-box;justify-content:center;min-height:44px}html.phone-native .modal-overlay{justify-content:center;align-items:flex-end;padding:0}html.phone-native .modal-container{border-bottom:none;border-left:none;border-right:none;border-radius:16px 16px 0 0;width:100%;min-width:0;height:auto;max-height:90dvh;animation:.24s cubic-bezier(.16,1,.3,1) mobileSheetUp;position:relative;max-width:100%!important}html.phone-native .modal-container:before{content:"";background-color:var(--color-hairline-strong);z-index:1;pointer-events:none;border-radius:2px;width:36px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}html.phone-native .modal-container .modal-header{padding-top:22px}html.phone-native .modal-container .modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}html.phone-native .modal-container .modal-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));flex-shrink:0}html.phone-native .modal-container .modal-footer>*{flex:1 1 0;min-width:0}html.phone-native .rail-actions-pinned{left:0;right:0;bottom:calc(var(--bottom-tab-height,56px) + env(safe-area-inset-bottom,0px));z-index:44;box-sizing:border-box;background-color:var(--color-canvas);border-top:1px solid var(--color-hairline);gap:8px;margin:0;padding:12px 16px;position:fixed}html.phone-native .rail-actions-pinned .btn-rail-submit{width:100%;height:48px}html.phone-native .rail-actions-pinned .btn-rail-cancel{width:100%;height:44px;min-height:44px}html.phone-native .admin-layout .page-content:has(.rail-actions-pinned){padding-bottom:calc(var(--bottom-tab-height,56px) + env(safe-area-inset-bottom,0px) + 116px)}html.phone-native .form-actions-row{flex-direction:column-reverse;align-items:stretch;gap:8px}html.phone-native .form-actions-row>*{box-sizing:border-box;justify-content:center;min-height:44px}.login-fullscreen-layout .form-input{min-height:44px;font-size:16px}.login-fullscreen-layout .login-submit-btn{height:48px}.login-fullscreen-layout .login-footer-link{align-items:center;min-height:44px;padding:0 8px;display:inline-flex}}@keyframes mobileSheetUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){html.phone-native :is(.pagination-right,.pagination-nav-group,.pagination-segmented-group,.pagination-controls,.pagination-buttons){flex-wrap:wrap;row-gap:6px;max-width:100%;height:auto}html.phone-native .pagination-nav-group{justify-content:center}html.phone-native .dashboard-filter-area{flex-wrap:wrap;max-width:100%}html.phone-native :is(.dashboard-treg-select-wrapper,.dashboard-refresh-btn){flex:auto;min-width:0}}
