:root{--bg-base:#f8fafc;--glass-bg:#ffffffb8;--glass-bg-strong:#ffffffdb;--glass-border:#fffc;--glass-radius:24px;--glass-shadow:0 8px 32px -8px #00000014;--glass-shadow-hover:0 16px 48px -8px #0000001f;--grad-title:linear-gradient(135deg, #0284c7, #0ea5e9, #06b6d4, #10b981);--grad-primary:linear-gradient(135deg, #0ea5e9, #06b6d4);--glow-primary:0 8px 24px -6px #0ea5e973;--ease:cubic-bezier(.4, 0, .2, 1);--dur:.45s;--status-inuse:#10b981;--status-idle:#f59e0b;--status-scrapped:#94a3b8;--status-normal:#10b981;--status-near:#fb923c;--status-warn:#f97316;--status-due:#ef4444;--status-overdue:#dc2626;--status-done:#3b82f6;--text-main:#0f172a;--text-sub:#64748b}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-base);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}.bg-blobs{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-blobs .blob{filter:blur(80px);will-change:transform;border-radius:50%;width:480px;height:480px;position:absolute}.blob-1{opacity:.3;background:#38bdf8;animation:26s ease-in-out infinite blobFloat1;top:-120px;left:-80px}.blob-2{opacity:.25;background:#22d3ee;animation:30s ease-in-out infinite blobFloat2;top:30%;right:-140px}.blob-3{opacity:.22;background:#34d399;animation:28s ease-in-out infinite blobFloat3;bottom:-160px;left:28%}.blob-4{opacity:.2;background:#a78bfa;animation:34s ease-in-out infinite reverse blobFloat1;top:8%;left:45%}@keyframes blobFloat1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(60px,40px)scale(1.08)}}@keyframes blobFloat2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-50px,-60px)scale(1.05)}}@keyframes blobFloat3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(40px,-50px)scale(1.1)}}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px)saturate(1.8);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease)}.glass-card.hoverable:hover{box-shadow:var(--glass-shadow-hover);border-color:#fffffff2;transform:translateY(-4px)}.glass-card.stat-active{border-color:var(--color-primary,#0ea5e9);box-shadow:0 0 0 2px #0ea5e940}.gradient-title{background:var(--grad-title);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.btn-primary.ant-btn{background:var(--grad-primary);box-shadow:var(--glow-primary);transition:all var(--dur) var(--ease);background-size:150% 150%;border:none;border-radius:999px}.btn-primary.ant-btn:hover{background-position:100%;transform:translateY(-2px);box-shadow:0 12px 32px -6px #0ea5e98c}.btn-ghost.ant-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);background:#ffffff80;border-radius:999px}.status-light{color:var(--text-sub);align-items:center;gap:6px;font-size:12px;display:inline-flex}.status-light .dot{background:var(--c,#94a3b8);width:9px;height:9px;box-shadow:0 0 8px 1px color-mix(in srgb, var(--c,#94a3b8) 60%, transparent);border-radius:50%}.status-light.breath .dot{animation:2.6s ease-in-out infinite breath}.status-light.pulse .dot{animation:1.2s ease-in-out infinite pulse}.status-pill{color:var(--c,#64748b);background:color-mix(in srgb, var(--c,#94a3b8) 12%, transparent);border:1px solid color-mix(in srgb, var(--c,#94a3b8) 30%, transparent);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;line-height:1;display:inline-flex}.status-pill .anticon{font-size:12px}.status-pill.pulse{animation:1.3s ease-in-out infinite pillPulse}@keyframes pillPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--c) 35%, transparent)}50%{box-shadow:0 0 6px 2px color-mix(in srgb, var(--c) 45%, transparent)}}.cycle-timeline{align-items:flex-start;padding:6px 4px 2px;display:flex;overflow-x:auto}.cycle-timeline .ct-node{flex-direction:column;flex:1 1 0;align-items:center;min-width:78px;display:flex;position:relative}.cycle-timeline .ct-line{z-index:0;border-radius:2px;width:100%;height:3px;position:absolute;top:6px;right:50%}.cycle-timeline .ct-dot{background:var(--c,#cbd5e1);width:14px;height:14px;box-shadow:0 0 0 2px color-mix(in srgb, var(--c,#cbd5e1) 35%, transparent);z-index:1;border:2px solid #fff;border-radius:50%}.cycle-timeline .ct-dot.ct-pulse{animation:1.4s ease-in-out infinite ctPulse}@keyframes ctPulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb, var(--c) 35%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--c) 18%, transparent)}}.cycle-timeline .ct-label{text-align:center;margin-top:6px;font-size:12px;line-height:1.4}.cycle-timeline .ct-date{color:var(--text-sub);font-size:11px}.tn-dot{background:var(--c,#cbd5e1);width:16px;height:16px;box-shadow:0 0 0 2px color-mix(in srgb, var(--c,#cbd5e1) 30%, transparent);border-radius:50%;display:inline-block}@keyframes breath{0%,to{box-shadow:0 0 4px 0 color-mix(in srgb, var(--c) 40%, transparent)}50%{box-shadow:0 0 10px 3px color-mix(in srgb, var(--c) 70%, transparent)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.35)}}.shimmer{background:#e2e8f099;border-radius:12px;position:relative;overflow:hidden}.shimmer:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.ant-layout{background:0 0!important}.ant-layout-sider{-webkit-backdrop-filter:blur(24px)saturate(1.8);backdrop-filter:blur(24px)saturate(1.8);border-right:1px solid #e2e8f0cc;background:var(--glass-bg-strong)!important}.app-sider-menu{flex:1;min-height:0;padding-bottom:12px;overflow:hidden auto}.ant-layout-header{-webkit-backdrop-filter:blur(24px)saturate(1.8);backdrop-filter:blur(24px)saturate(1.8);border-bottom:1px solid #e2e8f0b3;background:var(--glass-bg)!important}.ant-menu{background:0 0!important;border-inline-end:none!important}.ant-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px)saturate(1.8);backdrop-filter:blur(24px)saturate(1.8);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px}.ant-modal .ant-modal-content,.ant-drawer .ant-drawer-content{-webkit-backdrop-filter:blur(28px)saturate(1.8);backdrop-filter:blur(28px)saturate(1.8);background:#ffffffeb;border-radius:20px}.ant-table{background:0 0!important}.ant-table-wrapper .ant-table-thead>tr>th{background:#f1f5f9b3!important}.page-wrap{z-index:1;max-width:1500px;margin:0 auto;padding:20px 24px 40px;position:relative}.kpi-number{font-size:30px;font-weight:700;line-height:1.1}.text-sub{color:var(--text-sub);font-size:12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:4px}::-webkit-scrollbar-track{background:0 0}@media (width<=767px){.page-wrap{padding:12px 12px 28px}.page-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:14px;display:flex}.page-title{margin:0;font-size:20px;line-height:1.3}.page-header-extra{width:100%;overflow:visible}.page-toolbar{flex-direction:column;gap:12px;width:100%;display:flex}.page-toolbar-primary,.page-toolbar-primary .ant-segmented{width:100%}.page-toolbar-actions{flex-direction:column;gap:10px;width:100%;display:flex}.page-toolbar-actions .ant-btn{height:40px;margin:0}.dashboard-kpi-groups{flex-direction:column;gap:20px;display:flex}.dashboard-kpi-section-title{color:var(--text-sub);letter-spacing:.02em;margin-bottom:10px;font-size:13px;font-weight:600}.dashboard-kpi-card{text-align:center;flex-direction:column;justify-content:center;min-height:88px;display:flex;padding:14px 8px!important}.dashboard-kpi-card .ant-card-body{padding:14px 10px!important}.dashboard-kpi-value{font-size:26px;font-weight:700;line-height:1.1}.dashboard-kpi-label{color:var(--text-sub);margin-top:8px;font-size:12px;line-height:1.35}.dashboard-task-stat{cursor:pointer;background:#f1f5f9a6;border:1px solid #e2e8f0e6;border-radius:14px;padding:14px 16px}.dashboard-task-stat-label{color:var(--text-sub);margin-bottom:6px;font-size:12px}.dashboard-task-stat-value{font-size:28px;font-weight:700;line-height:1}.kpi-number{font-size:24px}.glass-card,.ant-card{border-radius:16px}.login-card-wrap{width:100%;max-width:400px;padding:0 16px}.app-header{z-index:3;align-items:center;gap:10px;display:flex;position:sticky;top:0;height:52px!important;padding-inline:12px!important;line-height:52px!important}.app-header-menu-btn{width:36px;height:36px;color:var(--text-main);cursor:pointer;background:#ffffffa6;border:1px solid #e2e8f0e6;border-radius:10px;justify-content:center;align-items:center;margin:0;padding:0;font-size:18px;display:inline-flex}.app-header-spacer{flex:1;min-width:0}.app-header-icon{cursor:pointer;padding:6px;font-size:18px}.app-content{z-index:1;min-width:0;position:relative;overflow-x:hidden}.filter-bar{width:100%}.filter-bar .filter-search,.filter-bar .ant-select,.filter-bar .ant-input,.filter-bar .ant-picker{width:100%!important;min-width:0!important}.ant-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.ant-modal{max-width:calc(100vw - 24px)!important;margin:12px auto!important}.ant-modal .ant-modal-content{border-radius:16px}.ant-drawer .ant-drawer-content{border-radius:0}.ant-segmented{max-width:100%}.ant-pagination{flex-wrap:wrap;justify-content:center;row-gap:8px}.ant-form .ant-col-2,.ant-form .ant-col-4,.ant-form .ant-col-5,.ant-form .ant-col-8,.ant-form .ant-col-12{flex:0 0 100%!important;max-width:100%!important}.bg-blobs .blob{width:280px;height:280px}}@media (width>=768px){.app-header{z-index:3;justify-content:flex-end;align-items:center;gap:16px;height:56px;padding-inline:24px;line-height:56px;display:flex;position:sticky;top:0}.app-header-menu-btn,.app-header-spacer{display:none}.app-header-impersonate{width:180px}.app-header-icon{cursor:pointer;font-size:17px}.page-title{font-size:24px}.page-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.page-toolbar{flex-flow:wrap;align-items:center;gap:10px;display:flex}.page-toolbar-actions{flex-direction:row;gap:8px;display:flex}.dashboard-kpi-groups{flex-direction:column;gap:18px;display:flex}.dashboard-kpi-section-title{color:var(--text-sub);margin-bottom:10px;font-size:14px;font-weight:600}.dashboard-kpi-card{text-align:center;cursor:default}.dashboard-kpi-card.hoverable{cursor:pointer}.dashboard-kpi-value{font-size:30px;font-weight:700;line-height:1.1}.dashboard-kpi-label{color:var(--text-sub);margin-top:6px;font-size:12px}.dashboard-task-stat{cursor:pointer;transition:transform var(--dur) var(--ease);background:#f1f5f98c;border:1px solid #e2e8f0cc;border-radius:14px;padding:12px 14px}.dashboard-task-stat:hover{transform:translateY(-2px)}.dashboard-task-stat-label{color:var(--text-sub);margin-bottom:4px;font-size:12px}.dashboard-task-stat-value{font-size:32px;font-weight:700}}.equip-doc-sections{flex-direction:column;gap:14px;margin-top:20px;display:flex}.equip-section-card{overflow:hidden;border:1px solid #e2e8f0e6!important;border-radius:16px!important;box-shadow:0 2px 12px -4px #0f172a0f!important}.equip-section-card .ant-card-body{padding:0!important}.equip-section-head{border-bottom:1px solid #e2e8f0d9;align-items:center;gap:12px;padding:14px 16px;display:flex}.equip-section-sop .equip-section-head{background:linear-gradient(135deg,#6366f11a,#6366f108);border-left:4px solid #6366f1}.equip-section-report .equip-section-head{background:linear-gradient(135deg,#8b5cf61a,#8b5cf608);border-left:4px solid #8b5cf6}.equip-section-icon{border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.equip-section-sop .equip-section-icon{color:#4f46e5;background:#6366f126}.equip-section-report .equip-section-icon{color:#7c3aed;background:#8b5cf626}.equip-section-title{color:var(--text-main);font-size:15px;font-weight:600;line-height:1.3}.equip-section-desc{color:var(--text-sub);margin-top:2px;font-size:12px}.equip-section-count{flex-shrink:0;margin-left:auto}.equip-section-body{padding:0 4px 4px}.equip-section-body .ant-table-wrapper .ant-table{margin:0!important}.equip-section-empty{color:var(--text-sub);padding:20px 16px;font-size:13px}.equip-section-flow{color:var(--text-sub);justify-content:center;align-items:center;gap:8px;padding:2px 0;font-size:12px;display:flex}.equip-section-flow:before,.equip-section-flow:after{content:"";background:linear-gradient(90deg,#0000,#94a3b873,#0000);flex:1;max-width:120px;height:1px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
