@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_3c557b;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:__JetBrains_Mono_3c557b,__JetBrains_Mono_Fallback_3c557b;font-style:normal}.__variable_3c557b{--font-mono-jb:"__JetBrains_Mono_3c557b","__JetBrains_Mono_Fallback_3c557b"}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:var(--font-sans)}body{color:var(--text);background:var(--bg-canvas)}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-surface-2)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.ant-layout{min-height:100vh}.ant-card{border-radius:var(--radius-lg)}.ant-btn{border-radius:var(--radius-md)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.p-4{padding:32px}.w-100{width:100%}.h-100{height:100%}.d-flex{display:flex}.flex-column{flex-direction:column}.justify-center{justify-content:center}.align-center{align-items:center}.justify-between{justify-content:space-between}.att-matrix-page{padding:var(--space-4) var(--space-6) var(--space-8)}.att-matrix-legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:16px}.att-matrix-legend .att-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.att-matrix-legend .att-legend-dot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;border-radius:4px;font-size:10px;font-weight:600}.att-matrix-outer{overflow-x:auto;overflow-y:visible;border:1px solid var(--border);border-radius:8px;background:var(--bg-base)}.att-matrix-outer::-webkit-scrollbar{height:6px}.att-matrix-outer::-webkit-scrollbar-track{background:var(--bg-subtle);border-radius:3px}.att-matrix-outer::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.att-matrix-table{display:flex;flex-direction:column}.att-matrix-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.att-matrix-row:last-child{border-bottom:none}.att-matrix-row--alt,.att-matrix-row--header{background:var(--bg-subtle)}.att-matrix-row--header{position:-webkit-sticky;position:sticky;top:0;z-index:3}.att-matrix-row:not(.att-matrix-row--header):hover{background:rgba(0,0,0,.02)}.att-name-cell{display:flex;flex-direction:column;justify-content:center;padding:0 12px;flex-shrink:0;overflow:hidden;border-right:2px solid var(--border)}.att-name-cell--sticky{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:inherit}.att-name-cell--header{height:52px;justify-content:flex-end;padding-bottom:8px;background:var(--bg-subtle)}.att-name-cell:not(.att-name-cell--header){height:40px}.att-day-header{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;height:52px;border-right:1px solid var(--border);cursor:default}.att-day-header:last-child{border-right:none}.att-day-header .att-day-num{font-size:13px;font-weight:600;line-height:1.2;color:var(--text-primary)}.att-day-header .att-day-dow{font-size:10px;color:var(--text-tertiary);line-height:1}.att-day-header.weekend .att-day-num{color:var(--text-tertiary)}.att-day-header.today{background:rgba(91,91,214,.06)}.att-day-header.today .att-day-num{background:var(--accent);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px}.att-day-header.holiday .att-day-dow,.att-day-header.holiday .att-day-num{color:var(--text-tertiary)}.att-cell{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:40px;border-right:1px solid var(--border);cursor:default}.att-cell:last-child{border-right:none}.att-cell.weekend{background:#fafafa!important}.att-cell.today{box-shadow:inset 0 0 0 2px var(--accent);position:relative;z-index:1}.att-status-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;border-radius:4px;font-weight:700;letter-spacing:-.3px;border:1px solid;line-height:1}[data-theme=dark] .att-cell.weekend,[data-theme=dark] .att-matrix-row--alt{background:var(--bg-subtle)!important}[data-theme=dark] .att-name-cell--header{background:var(--bg-subtle)}[data-theme=dark] .att-status-badge{opacity:.9}@media(max-width:768px){.ant-btn{min-height:44px;padding:8px 20px;font-size:16px}.ant-btn-sm{min-height:36px;padding:6px 16px}.ant-btn-lg{min-height:52px;padding:10px 24px}.ant-input,.ant-input-password,.ant-picker,.ant-select-selector{min-height:44px;font-size:16px}.ant-select-selection-search-input{font-size:16px}.ant-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.ant-table{min-width:600px}.ant-card{margin-bottom:16px}.ant-modal{max-width:100%!important;margin:0;top:0;padding-bottom:0}.ant-modal-content{border-radius:0;min-height:100vh}.ant-drawer-content-wrapper{max-width:100%!important}}@media(max-width:480px){.ant-btn{min-height:48px;font-size:16px}.ant-row{flex-direction:column}.ant-row .ant-col{width:100%!important;max-width:100%!important}}@media(max-width:768px){.main-layout-container{margin:0!important;padding:0!important}.main-layout-container .layout-content-area{padding:16px!important;margin:0!important}.layout-header{padding:0 12px!important;min-height:56px;height:auto!important;line-height:1.2!important}.layout-header .header-left,.layout-header .header-right{gap:8px}.layout-header .org-name,.layout-header .user-profile .user-info{display:none}.ant-layout-sider{position:fixed!important;left:0;top:56px;bottom:0;z-index:999;box-shadow:2px 0 8px rgba(0,0,0,.15)}.ant-layout-sider.ant-layout-sider-collapsed{left:-200px}.breadcrumbs-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.breadcrumbs-container .ant-breadcrumb{white-space:nowrap}.stat-card .ant-card-body{padding:16px}.stat-card .stat-icon{font-size:32px}.stat-card .stat-value{font-size:24px}.analytics-page .page-header{flex-direction:column;align-items:flex-start;gap:16px}.analytics-page .page-header .ant-space,.analytics-page .page-header .ant-space .ant-btn,.analytics-page .page-header .ant-space .ant-picker-range{width:100%}.analytics-page .stats-row .ant-col{margin-bottom:12px}.analytics-page .charts-grid{grid-template-columns:1fr!important;gap:16px}.analytics-page .full-width-chart{grid-column:1}.chart-container{height:250px!important}.analytics-chart-card .ant-card-body{padding:16px}.ant-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.ant-table-wrapper .ant-table{min-width:600px}.ant-table-wrapper .ant-table-tbody>tr>td,.ant-table-wrapper .ant-table-thead>tr>th{white-space:nowrap}.ant-pagination .ant-pagination-item{display:none}.ant-pagination .ant-pagination-item.ant-pagination-item-active{display:inline-block}.ant-pagination .ant-pagination-options{display:none}.ant-form .ant-form-item{margin-bottom:20px}.ant-form .ant-form-item-label{text-align:left;padding-bottom:4px}.ant-form .ant-input,.ant-form .ant-input-number,.ant-form .ant-input-password,.ant-form .ant-picker,.ant-form .ant-picker-range,.ant-form .ant-select{width:100%!important}.ant-form .ant-form-item-control-input-content{display:flex;flex-direction:column;gap:8px}.ant-form .ant-form-item-control-input-content .ant-btn{width:100%}.ant-modal .ant-form .ant-form-item{margin-bottom:16px}.notification-dropdown-content{width:90vw!important;max-width:400px}.notification-item{padding:12px}.notification-item .notification-details .notification-message{font-size:13px}.settings-page .ant-tabs .ant-tabs-nav .ant-tabs-tab{padding:12px 16px;font-size:14px}.settings-page .switch-item{flex-direction:column;align-items:flex-start;gap:8px}.settings-page .switch-item .switch-info{margin-bottom:8px}.admin-page .page-actions{flex-direction:column;align-items:stretch}.admin-page .page-actions .ant-btn,.admin-page .page-actions .ant-input-search,.admin-page .page-actions .ant-select{width:100%}.ant-space-vertical{gap:12px!important}.ant-space-horizontal{gap:8px!important}.mobile-p-0{padding:0!important}.mobile-p-1{padding:8px!important}.mobile-p-2{padding:16px!important}.mobile-m-0{margin:0!important}.mobile-m-1{margin:8px!important}.mobile-m-2{margin:16px!important}.mobile-touch-target{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.mobile-no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pull-to-refresh{overscroll-behavior-y:contain}}@supports(padding:env(safe-area-inset-top)){.layout-header{padding-top:env(safe-area-inset-top)}.pwa-install-banner{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.layout-content-area{padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:768px)and (orientation:landscape){.layout-header{min-height:48px;height:auto!important}.stat-card .ant-card-body{padding:12px}.chart-container{height:200px!important}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.ant-btn,.ant-card{border-width:2px}}@media print{.ant-back-top,.layout-header,.layout-sidebar,.pwa-install-banner{display:none!important}.layout-content-area{margin:0!important;padding:0!important}.chart-container{page-break-inside:avoid}.ant-table{page-break-inside:auto}.ant-table tr{page-break-inside:avoid;page-break-after:auto}}.layout-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6)!important;background:var(--bg-surface);border-bottom:1px solid var(--border);height:var(--header-height);line-height:var(--header-height);position:-webkit-sticky;position:sticky;top:0;z-index:10}.layout-header .header-left{display:flex;align-items:center;gap:var(--space-4)}.layout-header .toggle-btn{font-size:18px;cursor:pointer;transition:color .2s,background .2s;padding:0 var(--space-3);line-height:var(--header-height);height:var(--header-height);display:flex;align-items:center;color:var(--text-secondary)}.layout-header .toggle-btn:hover{color:var(--accent);background:var(--bg-hover)}.layout-header .org-info .org-name{font-size:var(--fs-h4);font-weight:var(--fw-semibold);color:var(--text)}.layout-header .header-right{display:flex;align-items:center;justify-content:flex-end;flex:1 1;min-width:0}.layout-header .header-actions-space.ant-space{row-gap:8px}.layout-header .header-icon{font-size:18px;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:all .2s;display:flex;align-items:center;justify-content:center}.layout-header .header-icon:hover{background:var(--bg-hover);color:var(--accent)}.layout-header .theme-toggle-btn.ant-btn{color:var(--text-secondary)}.layout-header .theme-toggle-btn.ant-btn:hover{color:var(--accent);background:var(--bg-hover)}.layout-header .user-profile{cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:background .2s}.layout-header .user-profile:hover{background:var(--bg-hover)}.layout-header .user-profile .user-info{display:flex;flex-direction:column;line-height:1.5;text-align:left}.layout-header .user-profile .user-info .user-name{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text)}.layout-header .user-profile .user-info .user-role{font-size:var(--fs-caption);color:var(--text-tertiary)}.layout-header .user-avatar{background:var(--accent)}.notification-item{display:flex;flex-direction:column;padding:4px 0;min-width:250px}.notification-item .notification-time{font-size:12px;margin-top:2px}@media(max-width:768px){.layout-header{padding:0 12px!important;line-height:1.2!important;min-height:56px;height:auto!important;gap:8px}.layout-header .header-left{flex-shrink:0;min-width:0}.layout-header .org-info,.layout-header .user-info{display:none}.layout-header .toggle-btn{padding:0 8px;height:48px;line-height:48px}.layout-header .header-actions-space.ant-space{gap:6px 8px!important}.layout-header .header-attendance-btn.ant-btn{font-size:14px;min-height:44px;height:44px;padding:0 14px}}@media(max-width:480px){.layout-header{padding:0 8px!important}.layout-header .header-attendance-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.layout-header .header-attendance-btn.ant-btn{padding:0 12px;min-width:44px;width:auto}.layout-header .header-attendance-btn-wrap{display:inline-block;vertical-align:middle}.header-checkout-confirm-wrap .ant-modal{max-width:calc(100vw - 24px)!important;margin:12px auto!important}}.layout-sidebar{overflow:auto;height:100vh;position:fixed!important;left:0;top:0;bottom:0;z-index:11;background:var(--bg-surface)!important;border-right:1px solid var(--border)}.layout-sidebar::-webkit-scrollbar{width:6px}.layout-sidebar::-webkit-scrollbar-track{background:transparent}.layout-sidebar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm)}.layout-sidebar:hover::-webkit-scrollbar-thumb{background:var(--text-tertiary)}.layout-sidebar .ant-layout-sider-children{display:flex;flex-direction:column}.layout-sidebar .sidebar-logo{height:var(--header-height);flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border)}.layout-sidebar .sidebar-logo .logo-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent);color:var(--on-accent);font-size:var(--fs-h4)}.layout-sidebar .sidebar-logo .logo-text{display:flex;flex-direction:column;line-height:1.25;overflow:hidden}.layout-sidebar .sidebar-logo .logo-text .logo-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text);white-space:nowrap}.layout-sidebar .sidebar-logo .logo-text .logo-subtitle{font-size:var(--fs-caption);color:var(--text-tertiary);white-space:nowrap}.layout-sidebar.ant-layout-sider-collapsed .sidebar-logo{padding:0;justify-content:center}.layout-sidebar .sidebar-menu{border-right:none!important;background:transparent!important;padding:var(--space-2);flex:1 1}.layout-sidebar .sidebar-menu.ant-menu-inline-collapsed{padding:var(--space-2) var(--space-1)}.layout-sidebar .sidebar-menu .ant-menu-item,.layout-sidebar .sidebar-menu .ant-menu-submenu-title{width:100%;margin:2px 0!important;height:38px;line-height:38px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:var(--fw-medium);transition:background .15s ease,color .15s ease}.layout-sidebar .sidebar-menu .ant-menu-item .anticon,.layout-sidebar .sidebar-menu .ant-menu-submenu-title .anticon{font-size:var(--fs-h4);color:var(--text-tertiary);transition:color .15s ease}.layout-sidebar .sidebar-menu .ant-menu-item:hover,.layout-sidebar .sidebar-menu .ant-menu-submenu-title:hover{background:var(--bg-hover)!important;color:var(--text)!important}.layout-sidebar .sidebar-menu .ant-menu-item:hover .anticon,.layout-sidebar .sidebar-menu .ant-menu-submenu-title:hover .anticon{color:var(--text-secondary)}.layout-sidebar .sidebar-menu .ant-menu-item:after,.layout-sidebar .sidebar-menu .ant-menu-submenu-title:after{display:none!important}.layout-sidebar .sidebar-menu .ant-menu-item-selected{background:var(--accent-subtle)!important;color:var(--accent)!important;font-weight:var(--fw-semibold)}.layout-sidebar .sidebar-menu .ant-menu-item-selected .anticon{color:var(--accent)!important}.layout-sidebar .sidebar-menu .ant-menu-item-selected:hover{background:var(--accent-subtle)!important;color:var(--accent)!important}.layout-sidebar .sidebar-menu .ant-menu-sub.ant-menu-inline{background:transparent!important}.layout-sidebar .sidebar-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--text)}.layout-sidebar .sidebar-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon{color:var(--accent)}.layout-sidebar .ant-layout-sider-trigger{background:var(--bg-surface);color:var(--text-secondary);border-top:1px solid var(--border)}.layout-sidebar .ant-layout-sider-trigger:hover{background:var(--bg-hover);color:var(--text)}.ant-menu-submenu-popup .ant-menu-item-selected{background:var(--accent-subtle)!important;color:var(--accent)!important}@media(max-width:992px){.layout-sidebar{position:fixed!important;z-index:100}.layout-sidebar:not(.ant-layout-sider-collapsed):after{content:"";position:fixed;top:0;right:0;bottom:0;left:var(--sidebar-width,240px);background:rgba(0,0,0,.45);z-index:-1}}.pinned-project-icon{color:var(--warning)!important;font-size:var(--fs-caption)}.breadcrumbs-container{padding:var(--space-3) 0;margin-bottom:var(--space-4)}.breadcrumbs-container .ant-breadcrumb{font-size:var(--fs-body)}.breadcrumbs-container .ant-breadcrumb a{color:var(--text-tertiary);transition:color .3s}.breadcrumbs-container .ant-breadcrumb a:hover{color:var(--accent)}.breadcrumbs-container .ant-breadcrumb .ant-breadcrumb-link{display:flex;align-items:center;gap:var(--space-1)}.breadcrumbs-container .ant-breadcrumb .anticon{font-size:var(--fs-body)}.main-layout{min-height:100vh;background:var(--bg-canvas)}.layout-content-wrapper{min-height:100vh;display:flex;flex-direction:column;transition:margin-left .2s}.main-content{flex:1 1;padding:var(--space-6);background:var(--bg-canvas);min-height:calc(100vh - var(--header-height))}.main-content .content-inner{height:100%;width:100%}.main-content .page-content{min-height:400px;height:100%}.main-footer{background:var(--bg-surface);padding:var(--space-4) var(--space-6);text-align:center;border-top:1px solid var(--border)}.main-footer .footer-content{display:flex;justify-content:space-between;align-items:center;max-width:var(--content-max);margin:0 auto;color:var(--text-tertiary);font-size:var(--fs-body-sm)}@media(max-width:1024px){.layout-content-wrapper{margin-left:0!important}}@media(max-width:768px){.main-content{padding:var(--space-4)}.main-footer{padding:var(--space-3) var(--space-4)}.main-footer .footer-content{flex-direction:column;gap:var(--space-2)}}@media(max-width:640px){.main-content{padding:var(--space-3)}}.notification-dropdown{min-width:380px;max-width:420px}.notification-dropdown .notification-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--background-color)}.notification-dropdown .notification-item{padding:12px 16px;cursor:pointer;transition:all .2s;border-left:3px solid transparent}.notification-dropdown .notification-item.unread{background:var(--background-secondary);border-left-color:var(--primary-color)}.notification-dropdown .notification-item.read:hover,.notification-dropdown .notification-item.unread:hover{background:var(--background-hover)}.notification-dropdown .notification-item .notification-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.notification-dropdown .notification-item .notification-header .notification-icon{font-size:18px;margin-right:8px}.notification-dropdown .notification-item .notification-header .notification-title{flex:1 1;font-size:14px;line-height:1.4}.notification-dropdown .notification-item .notification-header .unread-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--background-hover);color:var(--primary-color);font-size:12px;cursor:pointer;transition:all .2s;margin-left:8px}.notification-dropdown .notification-item .notification-header .unread-indicator:hover{background:var(--primary-color);color:#fff}.notification-dropdown .notification-item .notification-message{display:block;font-size:13px;line-height:1.5;margin-bottom:8px;margin-left:26px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-dropdown .notification-item .notification-footer{display:flex;justify-content:space-between;align-items:center;margin-left:26px}.notification-dropdown .notification-item .notification-footer .notification-time{font-size:12px;color:var(--text-tertiary)}.notification-dropdown .notification-item .notification-footer .notification-type{font-size:11px;text-transform:capitalize;margin:0}.notification-dropdown .notification-empty,.notification-dropdown .notification-loading{padding:20px;text-align:center}.header-icon.notification-bell{cursor:pointer;font-size:18px;padding:8px;border-radius:8px;transition:all .2s;color:var(--text-primary)}.header-icon.notification-bell:hover{background:var(--background-hover);color:var(--primary-color)}.ant-dropdown-menu{padding:0;max-height:480px;overflow-y:auto}.ant-dropdown-menu .ant-dropdown-menu-item{padding:0}.ant-dropdown-menu .ant-dropdown-menu-item:hover{background:transparent}.analytics-chart-card{margin-bottom:var(--space-6)}.analytics-chart-card .ant-card-head{border-bottom:1px solid var(--border)}.analytics-chart-card .ant-card-body{padding:var(--space-6)}.bar-chart-embedded{width:100%}.bar-chart-embedded .chart-container{padding:var(--space-1) 0 0}.chart-container{position:relative;width:100%}.chart-loading{display:flex;align-items:center;justify-content:center;height:100%}.analytics-page .page-header{margin-bottom:var(--space-6);display:flex;justify-content:space-between;align-items:center}.analytics-page .page-header h1{margin:0;font-size:var(--fs-h2);font-weight:var(--fw-semibold)}.analytics-page .filters-section{margin-bottom:var(--space-6);padding:var(--space-4);background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.analytics-page .stats-row{margin-bottom:var(--space-6)}.analytics-page .charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));grid-gap:var(--space-6);gap:var(--space-6);margin-bottom:var(--space-6)}@media(max-width:768px){.analytics-page .charts-grid{grid-template-columns:1fr}}.analytics-page .full-width-chart{grid-column:1/-1}.export-actions,.export-actions .ant-btn{display:flex;gap:var(--space-2)}.export-actions .ant-btn{align-items:center}.analytics-summary-card .summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.analytics-summary-card .summary-item:last-child{border-bottom:none}.analytics-summary-card .summary-item .summary-label{font-size:var(--fs-body);color:var(--text-secondary)}.analytics-summary-card .summary-item .summary-value{font-size:var(--fs-h4);font-weight:var(--fw-semibold);color:var(--text)}.analytics-summary-card .summary-item .summary-value.success{color:var(--success)}.analytics-summary-card .summary-item .summary-value.warning{color:var(--warning)}.analytics-summary-card .summary-item .summary-value.error{color:var(--error)}.analytics-summary-card .summary-item .summary-value.info{color:var(--info)}.analytics-table .ant-table{background:var(--bg-surface);border-radius:var(--radius-md)}.analytics-table .ant-table .ant-table-thead>tr>th{background:var(--bg-surface-2);font-weight:var(--fw-semibold)}.analytics-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-canvas);opacity:.9;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal,1000)}.notifications-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg)}.notifications-page .page-header .header-left{display:flex;gap:var(--spacing-md);align-items:flex-start}.notifications-page .page-header .header-left .page-icon{font-size:32px;color:var(--primary-color);margin-top:4px}.notifications-page .page-header .header-left h2{margin-bottom:4px}.notifications-page .page-header .header-right .ant-btn{margin-left:var(--spacing-sm)}.notifications-page .notifications-card .notifications-filters{padding:16px 24px;background:var(--background-secondary);border-bottom:1px solid var(--border-color);margin:-24px -24px 16px}.notifications-page .notifications-card .notifications-tabs .ant-tabs-nav{margin-bottom:0}.notifications-page .notifications-card .notifications-list .notification-list-item{padding:20px 24px;border-bottom:1px solid var(--border-color);transition:all .2s;border-left:4px solid transparent}.notifications-page .notifications-card .notifications-list .notification-list-item.unread{background:var(--background-secondary);border-left-color:var(--primary-color)}.notifications-page .notifications-card .notifications-list .notification-list-item:hover{background:var(--background-hover)}.notifications-page .notifications-card .notifications-list .notification-list-item:last-child{border-bottom:none}.notifications-page .notifications-card .notifications-list .notification-list-item .notification-avatar{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--background-hover);border-radius:50%}.notifications-page .notifications-card .notifications-list .notification-list-item .notification-avatar .notification-icon{font-size:24px}.notifications-page .notifications-card .notifications-list .notification-list-item .notification-title-wrapper{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.notifications-page .notifications-card .notifications-list .notification-list-item .notification-title-wrapper .unread-text{color:var(--text-primary);font-weight:600}.notifications-page .notifications-card .notifications-list .notification-list-item .notification-title-wrapper .ant-tag{text-transform:capitalize;margin:0}.notifications-page .notifications-card .notifications-list .notification-list-item .notification-content .notification-meta{display:flex;gap:var(--spacing-xs);margin-top:8px}.notifications-page .notifications-card .notifications-list .notification-list-item .notification-content .notification-meta .notification-time{font-size:13px}.notifications-page .notifications-card .notifications-list .notification-list-item .notification-content .notification-meta .notification-relative-time{font-size:13px;color:var(--text-tertiary)}.notifications-page .notifications-card .notifications-list .notification-list-item .ant-list-item-action{margin-left:24px}.notifications-page .notifications-card .notifications-list .notification-list-item .ant-list-item-action li{padding:0 4px}@media(max-width:768px){.notifications-page .page-header{flex-direction:column;gap:var(--spacing-md)}.notifications-page .page-header .header-left,.notifications-page .page-header .header-right{width:100%}.notifications-page .page-header .header-right .ant-space{width:100%;justify-content:flex-start}.notifications-page .page-header .header-right .ant-btn{margin-left:0;margin-right:var(--spacing-sm)}.notifications-page .notifications-card .notifications-filters{padding:12px 16px;margin:-16px -16px 0}.notifications-page .notifications-card .notifications-filters .ant-space{flex-wrap:wrap}.notifications-page .notifications-card .notifications-list .notification-list-item{padding:16px}.notifications-page .notifications-card .notifications-list .notification-list-item .notification-title-wrapper{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.notifications-page .notifications-card .notifications-list .notification-list-item .ant-list-item-action{margin-left:8px}}.settings-page .switch-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);background:var(--bg-surface-2);border-radius:var(--radius-md);margin-bottom:var(--space-3);transition:background .15s ease}.settings-page .switch-item:last-child{margin-bottom:0}.settings-page .switch-item:hover{background:var(--bg-hover)}.settings-page .switch-item .switch-info{flex:1 1;margin-right:var(--space-4)}.settings-page .switch-item .switch-info .ant-typography{display:block}.settings-page .switch-item .switch-info .ant-typography:first-child{margin-bottom:var(--space-1)}.settings-page .switch-item .switch-info .ant-typography:last-child{font-size:var(--fs-body-sm);line-height:1.4}.settings-page .switch-item .ant-switch{flex-shrink:0}.settings-page .quiet-hours-inputs{padding:var(--space-5);background:var(--bg-surface-2);border-radius:var(--radius-md);margin-top:var(--space-4)}.settings-page .quiet-hours-inputs .ant-form-item{margin-bottom:0}@media(max-width:768px){.settings-page .switch-item{flex-direction:column;align-items:flex-start;padding:var(--space-3) var(--space-4)}.settings-page .switch-item .switch-info{margin-right:0;margin-bottom:var(--space-3)}.settings-page .quiet-hours-inputs .ant-space{width:100%;flex-direction:column}.settings-page .quiet-hours-inputs .ant-space .ant-form-item{width:100%}.settings-page .quiet-hours-inputs .ant-space .ant-form-item .ant-picker{width:100%!important}}.pwa-install-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,var(--accent) 0,var(--accent-active) 100%);color:var(--on-accent);padding:var(--space-3) var(--space-5);box-shadow:0 -2px 8px rgba(0,0,0,.15);z-index:1000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-install-banner .banner-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.pwa-install-banner .banner-content .ant-typography{color:var(--on-accent);margin:0}@media(max-width:768px){.pwa-install-banner{padding:var(--space-3) var(--space-4)}.pwa-install-banner .banner-content{flex-direction:column;gap:var(--space-3);text-align:center}}.pwa-install-modal .ant-modal-content{border-radius:var(--radius-lg)}.pwa-install-modal .ant-card{background:var(--bg-surface-2);border:none}.pwa-offline-indicator{position:fixed;top:0;left:0;right:0;background:var(--warning);color:var(--on-accent);padding:var(--space-2) var(--space-5);text-align:center;z-index:1001;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media(max-width:768px){.pwa-install-banner{padding:var(--space-4)}.pwa-install-banner .banner-content{flex-direction:column;text-align:center;gap:var(--space-3)}}@supports(-webkit-touch-callout:none){.pwa-install-banner{padding-bottom:env(safe-area-inset-bottom)}}