.app-pull-refresh-bar{opacity:0;background-color:var(--color-surface-1);box-sizing:border-box;border-bottom:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:0;min-height:0;max-height:0;transition:height .2s cubic-bezier(.16,1,.3,1),opacity .2s,border-color .2s;display:flex;overflow:hidden}.app-pull-refresh-bar.is-pulling{border-bottom-color:var(--color-hairline);transition:none}.app-pull-refresh-bar.is-refreshing{opacity:1;border-bottom-color:var(--color-hairline);background-color:var(--color-surface-2);height:42px;min-height:42px;max-height:42px}.app-pull-refresh-content{color:var(--color-ink-muted);justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.app-pull-refresh-icon{color:var(--color-primary);flex-shrink:0;transition:transform .1s linear}.app-pull-refresh-icon.spinner{animation:.8s linear infinite spin}.app-pull-refresh-bar.is-refreshing .app-pull-refresh-text{color:var(--color-ink);font-weight:600}.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;padding:2px 6px;font-size:10px;font-weight:600}.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)}}.modal-overlay{background-color:var(--color-semantic-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--spacing-lg);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);flex-direction:column;width:100%;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) modalSlideUp;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.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)}}.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:100;opacity:1;width:100%;height:1.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-color:var(--color-primary,#ed1c24);height:100%;transition:width .25s cubic-bezier(.16,1,.3,1);position:relative}.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}.global-dropzone-overlay{z-index:9999;background-color:var(--color-semantic-overlay,#0009);-webkit-backdrop-filter:blur(4px);padding:var(--spacing-lg,24px);-webkit-user-select:none;user-select:none;pointer-events:all;justify-content:center;align-items:center;animation:.15s cubic-bezier(.16,1,.3,1) dropzoneModalFadeIn;display:flex;position:fixed;inset:0}@keyframes dropzoneModalFadeIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.global-dropzone-modal{background-color:var(--color-surface-1,#fff);border:1px solid var(--color-hairline-strong,#d4d4d8);border-radius:var(--radius-lg,4px);flex-direction:column;width:100%;max-width:880px;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.global-dropzone-header{border-bottom:1px solid var(--color-hairline,#e5e5e5);background-color:var(--color-surface-1,#fff);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.global-dropzone-title-group{flex-direction:column;gap:2px;display:flex}.global-dropzone-title{color:var(--color-ink,#111);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.global-dropzone-subtitle{color:var(--color-ink-muted,#4a4a4a);font-size:12px}.global-dropzone-header-actions{align-items:center;gap:10px;display:flex}.dropzone-esc-badge{font-size:10.5px;font-family:var(--font-mono,monospace);color:var(--color-ink-subtle,#717171);background-color:var(--color-surface-2,#f4f4f5);border:1px solid var(--color-hairline,#e5e5e5);border-radius:var(--radius-xs,2px);padding:2px 8px}.dropzone-close-btn{border-radius:var(--radius-sm,2px);width:28px;height:28px;color:var(--color-ink-subtle,#717171);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.dropzone-close-btn:hover{background-color:var(--color-surface-2,#f4f4f5);border-color:var(--color-hairline,#e5e5e5);color:var(--color-ink,#111)}.global-dropzone-grid{background-color:var(--color-canvas,#fafafa);grid-template-columns:1fr 1fr;gap:16px;padding:20px;display:grid}@media (width<=680px){.global-dropzone-grid{grid-template-columns:1fr}}.global-dropzone-card{border:2px dashed var(--color-hairline-strong,#cbd5e1);border-radius:var(--radius-md,4px);background-color:var(--color-surface-1,#fff);cursor:pointer;flex-direction:column;justify-content:space-between;min-height:220px;padding:22px 24px;transition:border-color .15s,background-color .15s;display:flex;position:relative;overflow:hidden}.global-dropzone-card *{pointer-events:none}.zone-watermark-icon{opacity:.035;color:var(--color-ink,#111);transition:opacity .2s,color .2s;position:absolute;bottom:-15px;right:-10px}.zone-card-inner{z-index:1;flex-direction:column;justify-content:space-between;gap:16px;height:100%;display:flex;position:relative}.zone-top-row{justify-content:space-between;align-items:center;display:flex}.zone-category-tag{letter-spacing:.08em;font-size:10.5px;font-weight:700;font-family:var(--font-mono,monospace);text-transform:uppercase}.zone-ext-badge{font-size:10.5px;font-family:var(--font-mono,monospace);color:var(--color-ink-subtle,#717171);background-color:var(--color-surface-2,#f4f4f5);border:1px solid var(--color-hairline,#e5e5e5);border-radius:var(--radius-xs,2px);padding:2px 7px;font-weight:600}.zone-text-block{text-align:left;flex-direction:column;gap:6px;display:flex}.zone-title{color:var(--color-ink,#111);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.zone-desc{color:var(--color-ink-muted,#4a4a4a);margin:0;font-size:12.5px;line-height:1.55}.zone-drop-prompt{border-top:1px dashed var(--color-hairline,#e5e5e5);align-items:center;padding-top:14px;display:flex}.zone-prompt-text{color:var(--color-ink-subtle,#717171);font-size:12px;font-weight:500;transition:color .15s,font-weight .15s}.contract-zone .zone-category-tag{color:var(--color-primary,#ed1c24)}.contract-zone.is-active,.contract-zone:hover{border-color:var(--color-primary,#ed1c24);background-color:#ed1c2408}.contract-zone.is-active .zone-watermark-icon,.contract-zone:hover .zone-watermark-icon{opacity:.08;color:var(--color-primary,#ed1c24)}.contract-zone.is-active .zone-prompt-text{color:var(--color-primary,#ed1c24);font-weight:600}.billing-zone .zone-category-tag{color:var(--color-semantic-success,#10b981)}.billing-zone.is-active,.billing-zone:hover{border-color:var(--color-semantic-success,#10b981);background-color:#10b98108}.billing-zone.is-active .zone-watermark-icon,.billing-zone:hover .zone-watermark-icon{opacity:.08;color:var(--color-semantic-success,#10b981)}.billing-zone.is-active .zone-prompt-text{color:var(--color-semantic-success,#10b981);font-weight:600}.global-dropzone-footer{background-color:var(--color-surface-1,#fff);border-top:1px solid var(--color-hairline,#e5e5e5);text-align:center;padding:12px 20px}.dropzone-footer-note{color:var(--color-ink-subtle,#717171);font-size:11.5px}[data-theme=dark] .global-dropzone-modal{box-shadow:0 20px 30px -5px #000000b3, 0 0 0 1px var(--color-hairline-strong)}[data-theme=dark] .contract-zone.is-active,[data-theme=dark] .contract-zone:hover{background-color:#f8514914}[data-theme=dark] .billing-zone.is-active,[data-theme=dark] .billing-zone:hover{background-color:#35c75914}[data-theme=dark] .zone-watermark-icon{opacity:.05;color:var(--color-ink,#f5f5f5)}[data-theme=dark] .contract-zone.is-active .zone-watermark-icon,[data-theme=dark] .contract-zone:hover .zone-watermark-icon,[data-theme=dark] .billing-zone.is-active .zone-watermark-icon,[data-theme=dark] .billing-zone:hover .zone-watermark-icon{opacity:.12}.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{background-color:var(--color-canvas);border-right:1px solid var(--color-hairline);z-index:40;overscroll-behavior:contain;flex-direction:column;flex-shrink:0;width:240px;display:flex;position:relative;overflow:hidden}.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.is-collapsed:not(.is-hover-suppressed):hover{background-color:var(--color-surface-1);width:240px;box-shadow:0 12px 36px #00000029,0 2px 8px #0000000d}.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.is-collapsed:not(.is-hover-suppressed):hover .sidebar-header{justify-content:space-between;padding:0 16px}.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.is-collapsed:not(.is-hover-suppressed):hover .sidebar-brand{opacity:1;pointer-events:auto;max-width:180px;transform:translate(0)}.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.is-collapsed:not(.is-hover-suppressed):hover .sidebar-toggle-btn{margin:0}.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}.sidebar.is-collapsed:not(.is-hover-suppressed):hover .nav-section-label{opacity:1;max-height:26px;padding:6px 12px 3px}.sidebar.is-collapsed:not(.is-hover-suppressed):hover .nav-section-label:not(:first-of-type){margin-top:14px!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;display:flex;overflow:hidden}.sidebar.is-collapsed .nav-item{justify-content:flex-start;padding:0 13px}.sidebar.is-collapsed:not(.is-hover-suppressed):hover .nav-item{padding:0 14px}.nav-item-icon{flex-shrink:0;width:18px;height:18px}.nav-item-text{white-space:nowrap;opacity:1;max-width:200px;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)}.sidebar.is-collapsed:not(.is-hover-suppressed):hover .nav-item-text{opacity:1;pointer-events:auto;max-width:200px;transform:translate(0)}.nav-item:hover{background-color:var(--color-surface-2);color:var(--color-ink)}.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:not(.is-hover-suppressed):hover .sidebar-user-row{justify-content:space-between;padding:0 10px 0 12px}.sidebar.is-collapsed .sidebar-user-widget{padding:6px 0}.sidebar.is-collapsed:not(.is-hover-suppressed):hover .sidebar-user-widget{padding:6px 8px}.topbar-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;transition:transform .15s;display:flex}.topbar-avatar-btn:hover{transform:scale(1.06)}.user-info{opacity:1;flex-direction:column;min-width:0;max-width:180px;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}.sidebar.is-collapsed:not(.is-hover-suppressed):hover .user-info{opacity:1;pointer-events:auto;max-width:180px}.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}.sidebar.is-collapsed:not(.is-hover-suppressed):hover .sidebar-user-logout-btn{opacity:1;pointer-events:auto;width:32px;height:32px}.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;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-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}.page-content>:not(.app-pull-refresh-bar){box-sizing:border-box;width:100%;min-width:0;min-height:100%}.skeleton-shimmer{background:linear-gradient(90deg, var(--color-surface-2) 25%, var(--color-surface-3) 50%, var(--color-surface-2) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s ease-in-out infinite skeletonPulse;display:block}[data-theme=dark] .skeleton-shimmer{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1f 50%,#ffffff0d 75%) 0 0/200% 100%}@keyframes skeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.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%,#06010259 0%,#060102bf 75%,#060102eb 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}@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%)}}: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;--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}.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;transition:background-color .15s,border-color .15s,transform 80ms,box-shadow .15s;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-primary:active:not(:disabled){transform:scale(.98)}.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-secondary:active:not(:disabled){transform:scale(.98)}.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-danger:active:not(:disabled){transform:scale(.98)}.button-outline{color:var(--color-primary);border:1px solid var(--color-primary);background-color:#0000}.button-outline:hover:not(:disabled){background-color:#ed1c240d}.button-outline:active:not(:disabled){transform:scale(.98)}.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}.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;transition:all .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.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}.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}.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-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,.services-metric-card,.service-location-box,.contract-link-card,.timeline-card,.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,.services-metric-card:hover,.service-location-box:hover,.contract-link-card:hover,.timeline-card: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] .services-metric-card:hover,[data-theme=dark] .service-location-box:hover,[data-theme=dark] .contract-link-card:hover,[data-theme=dark] .timeline-card: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{animation:.8s linear infinite spin}*,: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}
