.notification-bell[data-v-e247458b]{cursor:pointer;position:relative}.bell-btn[data-v-e247458b]{color:#64748b;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:relative}.bell-btn[data-v-e247458b]:hover,.bell-btn.active[data-v-e247458b]{color:#6366f1;background:#6366f11a}.bell-btn.ringing svg[data-v-e247458b]{transform-origin:top;animation:2s ease-in-out infinite ring-e247458b}@keyframes ring-e247458b{0%,to{transform:rotate(0)}5%{transform:rotate(15deg)}10%{transform:rotate(-14deg)}15%{transform:rotate(12deg)}20%{transform:rotate(-10deg)}25%{transform:rotate(0)}}.unread-badge[data-v-e247458b]{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;animation:.3s cubic-bezier(.36,.07,.19,.97) badge-pop-e247458b;display:flex;position:absolute;top:-4px;right:-4px}.unread-badge.urgent[data-v-e247458b]{background:linear-gradient(135deg,#ef4444,#dc2626);animation:.3s badge-pop-e247458b,1.5s ease-in-out infinite urgent-pulse-e247458b;box-shadow:0 0 0 2px #ef44444d}@keyframes badge-pop-e247458b{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes urgent-pulse-e247458b{0%,to{box-shadow:0 0 0 2px #ef44444d}50%{box-shadow:0 0 0 6px #ef444400}}.notif-overlay[data-v-e247458b]{z-index:1998;position:fixed;inset:0}.notif-panel[data-v-e247458b]{z-index:1999;background:#fff;border:1px solid #e2e8f0cc;border-radius:16px;flex-direction:column;width:380px;max-height:calc(100vh - 80px);display:flex;position:fixed;top:58px;right:16px;overflow:hidden;box-shadow:0 8px 40px #00000026,0 2px 8px #00000014}.notif-slide-enter-active[data-v-e247458b],.notif-slide-leave-active[data-v-e247458b]{transform-origin:100% 0;transition:all .25s cubic-bezier(.4,0,.2,1)}.notif-slide-enter-from[data-v-e247458b],.notif-slide-leave-to[data-v-e247458b]{opacity:0;transform:scale(.96)translateY(-8px)}.notif-header[data-v-e247458b]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex}.notif-title[data-v-e247458b]{color:#1e293b;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.count-tag[data-v-e247458b]{color:#ef4444;background:#ef44441a;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.notif-header-actions[data-v-e247458b]{align-items:center;gap:8px;display:flex}.btn-text[data-v-e247458b]{color:#6366f1;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:12px;transition:background .15s}.btn-text[data-v-e247458b]:hover{background:#6366f114}.btn-icon[data-v-e247458b]{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:all .2s;display:flex}.btn-icon[data-v-e247458b]:hover{color:#1e293b;background:#f1f5f9}.btn-icon.spinning[data-v-e247458b]{animation:1s linear infinite spin-e247458b}@keyframes spin-e247458b{to{transform:rotate(360deg)}}.notif-filter[data-v-e247458b]{scrollbar-width:none;border-bottom:1px solid #f1f5f9;gap:6px;padding:10px 16px;display:flex;overflow-x:auto}.notif-filter[data-v-e247458b]::-webkit-scrollbar{display:none}.filter-tag[data-v-e247458b]{color:#64748b;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:11px;transition:all .15s}.filter-tag[data-v-e247458b]:hover{color:#6366f1;border-color:#6366f1}.filter-tag.active[data-v-e247458b]{color:#fff;background:#6366f1;border-color:#6366f1}.notif-list[data-v-e247458b]{flex:1;padding:8px 0;overflow-y:auto}.notif-empty[data-v-e247458b]{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 0;font-size:13px;display:flex}.empty-icon[data-v-e247458b]{font-size:32px}.loading-spinner[data-v-e247458b]{border:2px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin-e247458b}.notif-item[data-v-e247458b]{cursor:pointer;border-radius:0;align-items:flex-start;gap:10px;padding:10px 16px;transition:background .15s;display:flex;position:relative}.notif-item[data-v-e247458b]:hover{background:#f8fafc}.notif-item.unread[data-v-e247458b]{background:#6366f108}.notif-item.unread[data-v-e247458b]:hover{background:#6366f112}.notif-item.urgent[data-v-e247458b]{border-left:3px solid #ef4444}.notif-item.high[data-v-e247458b]{border-left:3px solid #f97316}.notif-icon[data-v-e247458b]{background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.notif-icon.cat-approval[data-v-e247458b]{background:#22c55e1a}.notif-icon.cat-order[data-v-e247458b]{background:#6366f11a}.notif-icon.cat-finance[data-v-e247458b]{background:#f59e0b1a}.notif-icon.cat-sla[data-v-e247458b]{background:#ef44441a}.notif-icon.cat-sample[data-v-e247458b]{background:#0ea5e91a}.notif-icon.cat-contract[data-v-e247458b]{background:#a855f71a}.notif-body[data-v-e247458b]{flex:1;min-width:0}.notif-row-top[data-v-e247458b]{align-items:center;gap:6px;margin-bottom:3px;display:flex}.notif-item-title[data-v-e247458b]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:600;overflow:hidden}.unread-dot[data-v-e247458b]{background:#6366f1;border-radius:50%;flex-shrink:0;width:7px;height:7px}.notif-content[data-v-e247458b]{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:12px;overflow:hidden}.notif-meta[data-v-e247458b]{align-items:center;gap:6px;display:flex}.ref-tag[data-v-e247458b]{color:#6366f1;background:#6366f114;border-radius:4px;padding:1px 6px;font-family:Courier New,monospace;font-size:10px}.notif-time[data-v-e247458b]{color:#94a3b8;font-size:11px}.mark-read-btn[data-v-e247458b]{cursor:pointer;color:#94a3b8;opacity:0;background:0 0;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;transition:all .15s;display:flex}.notif-item:hover .mark-read-btn[data-v-e247458b]{opacity:1}.mark-read-btn[data-v-e247458b]:hover{color:#fff;background:#22c55e;border-color:#22c55e}.notif-footer[data-v-e247458b]{text-align:center;border-top:1px solid #f1f5f9;padding:12px 16px}.view-all-btn[data-v-e247458b]{color:#6366f1;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s}.view-all-btn[data-v-e247458b]:hover{color:#4f46e5}.layout-wrapper{background:linear-gradient(135deg,#f0f4ff 0%,#e8f0fe 50%,#f0f7ff 100%);flex-direction:column;width:100vw;height:100vh;display:flex}.layout-wrapper .top-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;background:#ffffffd9;border-bottom:1px solid #3b82f61f;align-items:center;gap:8px;height:64px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 20px #3b82f614}.layout-wrapper .header-brand{border-right:1px solid #3b82f61f;flex-shrink:0;align-items:center;gap:8px;padding-right:16px;display:flex}.layout-wrapper .brand-logo-image{object-fit:contain;height:54px}.layout-wrapper .main-nav{flex:1;align-items:center;gap:2px;display:flex}.layout-wrapper .nav-item{color:#475569;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.layout-wrapper .nav-item:hover{color:#2563eb;background:#3b82f614}.layout-wrapper .nav-item.active{color:#2563eb;background:#3b82f61a;font-weight:600}.layout-wrapper .nav-arrow{color:#94a3b8;flex-shrink:0;transition:transform .2s}.layout-wrapper .nav-dropdown-wrapper{position:relative}.layout-wrapper .nav-dropdown-wrapper:hover .nav-arrow{color:#2563eb;transform:rotate(180deg)}.layout-wrapper .nav-dropdown{z-index:9999;min-width:180px;padding-top:8px;animation:.18s dropIn;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes dropIn{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.layout-wrapper .dropdown-inner{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff7;border:1px solid #3b82f626;border-radius:12px;padding:6px;box-shadow:0 8px 32px #3b82f626,0 2px 8px #0000000f}.layout-wrapper .dropdown-item{color:#374151;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.layout-wrapper .dropdown-item:hover{color:#2563eb;background:#3b82f614}.layout-wrapper .dropdown-item.active{color:#2563eb;background:#3b82f61a;font-weight:600}.layout-wrapper .item-icon{text-align:center;flex-shrink:0;width:20px;font-size:14px}.layout-wrapper .item-icon-svg{color:#64748b;flex-shrink:0;width:14px;height:14px}.layout-wrapper .dropdown-item:hover .item-icon-svg,.layout-wrapper .dropdown-item.active .item-icon-svg{color:#2563eb}.layout-wrapper .dropdown-separator{border-top:1px solid #3b82f614;align-items:center;gap:6px;margin-top:4px;padding:6px 12px 2px;display:flex}.layout-wrapper .dropdown-separator:first-child{border-top:none;margin-top:0}.layout-wrapper .dropdown-separator .separator-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:11px;font-weight:600}.layout-wrapper .header-tools{border-left:1px solid #3b82f61f;flex-shrink:0;align-items:center;gap:12px;padding-left:12px;display:flex}.layout-wrapper .tool-btn{color:#64748b;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:relative}.layout-wrapper .tool-btn:hover{color:#2563eb;background:#3b82f614}.layout-wrapper .badge{color:#fff;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.layout-wrapper .user-profile{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;transition:all .2s;display:flex}.layout-wrapper .user-profile:hover{background:#3b82f614}.layout-wrapper .avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:flex}.layout-wrapper .username{color:#374151;font-size:13px;font-weight:500}.layout-wrapper .user-dropdown-wrapper{position:relative}.layout-wrapper .nav-dropdown.right-align{animation:.18s dropInRight;left:auto;right:0;transform:translate(0)}@keyframes dropInRight{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.layout-wrapper .logout-btn{color:#ef4444;cursor:pointer}.layout-wrapper .logout-btn:hover{color:#dc2626;background:#ef444414}.layout-wrapper .main-content{flex:1;padding:20px 24px;overflow:hidden auto}.layout-wrapper.portal-shell{background:#f6f8fb}.layout-wrapper.portal-shell .main-content{padding:0}.layout-wrapper .fade-enter-active,.layout-wrapper .fade-leave-active{transition:all .2s}.layout-wrapper .fade-enter-from{opacity:0;transform:translateY(6px)}.layout-wrapper .fade-leave-to{opacity:0;transform:translateY(-6px)}:root{--primary-color:#3b82f6;--primary-hover:#2563eb;--bg-gradient-start:#f8fafc;--bg-gradient-end:#e2e8f0;--surface-color:#ffffffb3;--surface-border:#fff6;--text-main:#1e293b;--text-muted:#64748b;--radius-lg:16px;--radius-md:12px;--shadow-glass:0 8px 32px 0 #1f268712}body{background:linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;overflow-x:hidden}.el-card.glass-card{-webkit-backdrop-filter:blur(16px);transition:all .3s;background:var(--surface-color)!important;border:1px solid var(--surface-border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-glass)!important}.el-card.glass-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f26871a!important}.el-button{border-radius:8px!important;font-weight:500!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}.el-button:hover{transform:translateY(-1px)}.el-button:active{transform:translateY(1px)}.permission-disabled,.permission-disabled:hover,.permission-disabled:focus{filter:grayscale(.15);cursor:not-allowed!important;opacity:.48!important;transform:none!important}h1,h2,h3,h4,h5{color:var(--text-main);margin:0;font-weight:600}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}.fade-enter-active,.fade-leave-active{transition:opacity .3s,transform .3s}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(10px)}.bi-reports-container .el-table,.bi-tab-content .el-table{font-size:13px}@media screen and (width<=1600px){.bi-reports-container .el-table,.bi-tab-content .el-table,.cockpit-body .el-table{font-size:12px!important}.bi-reports-container .el-table .el-table__header th,.bi-tab-content .el-table .el-table__header th,.cockpit-body .el-table .el-table__header th{padding:6px 0!important;font-size:12px!important}.bi-reports-container .el-table .el-table__body td,.bi-tab-content .el-table .el-table__body td,.cockpit-body .el-table .el-table__body td{padding:4px 0!important}}@media screen and (width<=1440px){.bi-reports-container .el-table,.bi-tab-content .el-table,.cockpit-body .el-table{font-size:11px!important}.bi-reports-container .el-table .el-table__header th,.bi-tab-content .el-table .el-table__header th,.cockpit-body .el-table .el-table__header th{padding:4px 0!important;font-size:11px!important}.bi-reports-container .el-table .el-table__body td,.bi-tab-content .el-table .el-table__body td,.cockpit-body .el-table .el-table__body td{padding:3px 0!important}.bi-reports-container .el-table .cell,.bi-tab-content .el-table .cell,.cockpit-body .el-table .cell{padding-left:6px!important;padding-right:6px!important}}#app{width:100vw;height:100vh}
