.notification-dropdown{width:380px;max-height:500px;background:var(--color-bg-container);border-radius:8px;box-shadow:0 6px 16px var(--color-shadow);display:flex;flex-direction:column}.notification-dropdown-header{padding:16px 20px;border-bottom:1px solid var(--color-border-secondary);display:flex;justify-content:space-between;align-items:center}.notification-dropdown-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text)}.notification-dropdown-content{flex:1;overflow-y:auto;max-height:400px}.notification-loading{display:flex;justify-content:center;align-items:center;padding:48px 0}.notification-item{padding:12px 20px!important;cursor:pointer;transition:background .2s ease;border-bottom:1px solid var(--color-border-secondary);display:flex;gap:12px}.notification-item:hover{background:var(--color-bg-spotlight)}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:var(--color-primary-bg, #f0f7ff)}.notification-item.unread:hover{background:var(--color-primary-active, #e6f4ff)}.notification-item.unread .notification-item-title{font-weight:600}.notification-item-icon{font-size:20px;flex-shrink:0;margin-top:2px}.notification-item-content{flex:1;min-width:0}.notification-item-title{font-size:14px;color:var(--color-text);margin-bottom:4px;line-height:1.4}.notification-item-message{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-item-time{font-size:12px;color:var(--color-text-tertiary)}.notification-dropdown-footer{padding:8px;border-top:1px solid var(--color-border-secondary)}body.dark-mode .notification-item.unread{background:#111d2c}body.dark-mode .notification-item.unread:hover{background:#15395b}.notification-dropdown-content::-webkit-scrollbar{width:6px}.notification-dropdown-content::-webkit-scrollbar-track{background:transparent}.notification-dropdown-content::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.notification-dropdown-content::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.notification-badge-container{display:flex;align-items:center;justify-content:center;cursor:pointer;padding:8px;border-radius:4px;transition:all .3s ease}.notification-badge-container:hover{background:var(--color-fill)}.notification-bell-icon{font-size:20px;color:var(--color-text-secondary);transition:color .3s ease}.notification-badge-container:hover .notification-bell-icon{color:var(--color-primary)}@media(max-width:768px){.notification-badge-container{padding:6px}.notification-bell-icon{font-size:18px}}@media(max-width:480px){.notification-badge-container{padding:4px}.notification-bell-icon{font-size:16px}}.dashboard-layout{min-height:100vh;background:var(--color-bg-layout);overflow:hidden;height:100vh}.dashboard-header{background:var(--color-bg-container);padding:0 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px var(--color-shadow);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-left .logo-container{display:flex;align-items:center;gap:12px;transition:opacity .2s}.header-left .logo-container:hover{opacity:.8}.header-left .logo-image{height:40px;width:auto}.header-left .logo{margin:0;font-size:20px;font-weight:600;color:#0d9488}body.dark-mode .header-left .logo{color:#14b8a6}.header-right{display:flex;align-items:center;gap:16px}@media(max-width:768px){.dashboard-header{padding:0 16px}.header-left .logo{font-size:18px}.header-right{gap:8px}.theme-toggle-btn{font-size:16px}}@media(max-width:480px){.dashboard-header{padding:0 12px}.header-left .logo{font-size:16px}.header-right{gap:4px}.user-avatar .ant-avatar{width:32px!important;height:32px!important}}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--color-text-secondary);transition:all .3s ease}.theme-toggle-btn:hover{color:var(--color-primary);background:var(--color-primary-hover)!important}.theme-toggle-btn:active{transform:scale(.95)}.user-avatar{cursor:pointer}.dashboard-content{padding:24px;min-height:calc(100vh - 64px);height:calc(100vh - 64px);overflow:hidden;background:var(--color-bg-layout)}.ant-btn{box-shadow:none!important}.ant-btn:focus,.ant-btn:active{box-shadow:none!important;outline:none!important}.ant-btn-default{border:1px solid var(--color-border)!important}.ant-btn-default:hover{border-color:#0d9488!important;color:#0d9488!important}body.dark-mode .ant-btn-default:hover{border-color:#14b8a6!important;color:#14b8a6!important}.ant-input:focus,.ant-input-focused,.ant-input:active{box-shadow:none!important;outline:none!important}.ant-input,.ant-input-affix-wrapper{border:1px solid var(--color-border)!important}.ant-input-affix-wrapper .ant-input{border:none!important}.ant-input:hover,.ant-input-affix-wrapper:hover{border-color:#0d9488!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused{border-color:#0d9488!important}.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:active{box-shadow:none!important;outline:none!important}.ant-input-number,.ant-picker{border:1px solid var(--color-border)!important}.ant-input-number:hover,.ant-picker:hover{border-color:#0d9488!important}.ant-input-number:focus,.ant-input-number-focused,.ant-picker:focus,.ant-picker-focused{border-color:#0d9488!important}.ant-input-number:focus,.ant-input-number-focused,.ant-input-number:active{box-shadow:none!important;outline:none!important}.ant-picker:focus,.ant-picker-focused,.ant-picker:active{box-shadow:none!important;outline:none!important}.ant-select-selector{border:1px solid var(--color-border)!important}.ant-select-selector:hover,.ant-select-focused .ant-select-selector{border-color:#0d9488!important}.ant-select-selector:focus,.ant-select-focused .ant-select-selector,.ant-select-selector:active{box-shadow:none!important;outline:none!important}textarea.ant-input:focus,textarea.ant-input:active{box-shadow:none!important;outline:none!important}body.dark-mode .project-card{background:var(--color-bg-elevated);border-color:var(--color-border)}body.dark-mode .project-card:hover{border-color:#177ddc}body.dark-mode .project-card .ant-card-meta-title{color:var(--color-text)}body.dark-mode .project-card .ant-card-meta-description,body.dark-mode .project-description{color:var(--color-text-secondary)}body.dark-mode .project-dates{color:var(--color-text-tertiary)}body.dark-mode .project-list-header h1{color:var(--color-text)}body.dark-mode .ant-input:hover,body.dark-mode .ant-input-affix-wrapper:hover{border-color:#14b8a6!important}body.dark-mode .ant-input:focus,body.dark-mode .ant-input-focused,body.dark-mode .ant-input-affix-wrapper:focus,body.dark-mode .ant-input-affix-wrapper-focused{border-color:#14b8a6!important}body.dark-mode .ant-input-number:hover,body.dark-mode .ant-picker:hover{border-color:#14b8a6!important}body.dark-mode .ant-input-number:focus,body.dark-mode .ant-input-number-focused,body.dark-mode .ant-picker:focus,body.dark-mode .ant-picker-focused{border-color:#14b8a6!important}body.dark-mode .ant-select-selector:hover,body.dark-mode .ant-select-focused .ant-select-selector{border-color:#14b8a6!important}.maintenance-alert-banner{width:100%;padding:10px 24px;display:flex;justify-content:center;align-items:center;text-align:center;font-size:14px;font-weight:500;transition:all .3s ease;z-index:1000;box-shadow:0 4px 12px #0000001a;position:relative}.maintenance-alert-banner.scheduled{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;animation:pulse-orange 3s infinite ease-in-out}.maintenance-alert-banner.restoring{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;animation:pulse-red 2s infinite ease-in-out}.maintenance-alert-banner .countdown-timer{background:#ffffff40;padding:2px 8px;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:15px;font-weight:700;margin:0 4px;border:1px solid rgba(255,255,255,.4);display:inline-block}@keyframes pulse-orange{0%{box-shadow:0 2px 8px #ea580c33}50%{box-shadow:0 4px 20px #ea580c66}to{box-shadow:0 2px 8px #ea580c33}}@keyframes pulse-red{0%{box-shadow:0 2px 8px #ef44444d}50%{box-shadow:0 4px 20px #ef444499}to{box-shadow:0 2px 8px #ef44444d}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #ffffff;--color-bg-elevated: #ffffff;--color-bg-layout: #f0f2f5;--color-bg-container: #ffffff;--color-bg-spotlight: #fafafa;--color-text: rgba(0, 0, 0, .88);--color-text-secondary: rgba(0, 0, 0, .65);--color-text-tertiary: rgba(0, 0, 0, .45);--color-text-quaternary: rgba(0, 0, 0, .25);--color-border: #e8e8e8;--color-border-secondary: #f0f0f0;--color-fill: rgba(0, 0, 0, .06);--color-fill-secondary: rgba(0, 0, 0, .04);--color-primary: #1677ff;--color-primary-hover: rgba(22, 119, 255, .08);--color-primary-active: rgba(22, 119, 255, .12);--color-primary-bg: rgba(22, 119, 255, .06);--color-primary-border: rgba(22, 119, 255, .25);--color-shadow: rgba(0, 0, 0, .08);--color-shadow-heavy: rgba(0, 0, 0, .15);--color-overlay: rgba(255, 255, 255, .85);--color-overlay-heavy: rgba(255, 255, 255, .95);--color-scrollbar: rgba(0, 0, 0, .15);--color-scrollbar-hover: rgba(0, 0, 0, .25)}body.dark-mode{--color-bg: #141414;--color-bg-elevated: #1f1f1f;--color-bg-layout: #000000;--color-bg-container: #141414;--color-bg-spotlight: #1f1f1f;--color-text: rgba(255, 255, 255, .85);--color-text-secondary: rgba(255, 255, 255, .65);--color-text-tertiary: rgba(255, 255, 255, .65);--color-text-quaternary: rgba(255, 255, 255, .25);--color-border: #303030;--color-border-secondary: #252525;--color-fill: rgba(255, 255, 255, .12);--color-fill-secondary: rgba(255, 255, 255, .08);--color-primary: #818cf8;--color-primary-hover: rgba(129, 140, 248, .12);--color-primary-active: rgba(129, 140, 248, .18);--color-shadow: rgba(0, 0, 0, .3);--color-shadow-heavy: rgba(0, 0, 0, .45);--color-overlay: rgba(20, 20, 20, .85);--color-overlay-heavy: rgba(31, 31, 31, .95);--color-scrollbar: rgba(255, 255, 255, .15);--color-scrollbar-hover: rgba(255, 255, 255, .25);--color-primary-bg: rgba(129, 140, 248, .12);--color-primary-border: rgba(129, 140, 248, .35)}body.dark-mode .ant-btn-primary{background:linear-gradient(135deg,#818cf8,#6366f1);border-color:transparent;box-shadow:0 2px 8px #6366f159}body.dark-mode .ant-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#a5b4fc,#818cf8);box-shadow:0 4px 14px #6366f173}body.dark-mode .ant-btn-primary:active:not(:disabled){background:linear-gradient(135deg,#6366f1,#4f46e5)}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden;background:var(--color-bg-layout);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .25s,color .25s}#root{width:100%;min-height:100vh}.bim-teal-badge-sparkle{background:linear-gradient(135deg,#0d9488,#14b8a6)!important;color:#fff!important;border:none!important;border-radius:4px!important;padding:2px 8px!important;font-weight:700!important;font-size:11px!important;letter-spacing:.5px!important;box-shadow:0 2px 4px #0d948833;transition:all .2s ease-in-out!important;position:relative;overflow:hidden}.bim-teal-badge-sparkle:before{content:"";position:absolute;top:0;left:-150%;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#fff6,#fff0);transform:skew(-20deg);transition:all .75s ease}.bim-teal-badge-sparkle:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 10px #0d948866!important}.bim-teal-badge-sparkle:hover:before{left:150%}.app-route-loading{min-height:100vh;display:grid;place-items:center;background:var(--app-bg, #f5f7fa)}
